]> git.ipfire.org Git - thirdparty/gcc.git/commit
x86: Don't align destination for a single instruction
authorH.J. Lu <hjl.tools@gmail.com>
Sat, 13 Sep 2025 13:38:44 +0000 (06:38 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 15 Sep 2025 12:02:46 +0000 (05:02 -0700)
commit32b8d1312382e3f179df4f76eca840486d6608e8
treed5cc6c483a351c690c607d99f0c1f1f2f121c6ad
parent290851e63a5b99c99eb196f2823ea3051c0f0214
x86: Don't align destination for a single instruction

If a single instruction can store or move the whole block of memory, use
vector instruction and don't align destination.

gcc/

PR target/121934
* config/i386/i386-expand.cc (ix86_expand_set_or_cpymem): If a
single instruction can store or move the whole block of memory,
use vector instruction and don't align destination.

gcc/testsuite/

PR target/121934
* gcc.target/i386/pr121934-1a.c: New test.
* gcc.target/i386/pr121934-1b.c: Likewise.
* gcc.target/i386/pr121934-2a.c: Likewise.
* gcc.target/i386/pr121934-2b.c: Likewise.
* gcc.target/i386/pr121934-3a.c: Likewise.
* gcc.target/i386/pr121934-3b.c: Likewise.
* gcc.target/i386/pr121934-4a.c: Likewise.
* gcc.target/i386/pr121934-4b.c: Likewise.
* gcc.target/i386/pr121934-5a.c: Likewise.
* gcc.target/i386/pr121934-5b.c: Likewise.

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
gcc/config/i386/i386-expand.cc
gcc/testsuite/gcc.target/i386/pr121934-1a.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr121934-1b.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr121934-2a.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr121934-2b.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr121934-3a.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr121934-3b.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr121934-4a.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr121934-4b.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr121934-5a.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr121934-5b.c [new file with mode: 0644]