https://gcc.gnu.org/g:bde7cf998666c449f353d928c9cb70de776c7555
commit r16-5953-gbde7cf998666c449f353d928c9cb70de776c7555 Author: H.J. Lu <[email protected]> Date: Mon Dec 8 13:32:55 2025 +0800 x86: Compile avx2-vpcmpgtq-1.c with -fno-fuse-ops-with-volatile-access When -march=cascadelake is added, we generate vmovdqa x(%rip), %ymm0 vpcmpq $1, x(%rip), %ymm0, %k0 vpmovm2q %k0, %ymm0 vmovdqa %ymm0, x(%rip) instead of vmovdqa x(%rip), %ymm1 vmovdqa x(%rip), %ymm0 vpcmpgtq %ymm1, %ymm0, %ymm0 vmovdqa %ymm0, x(%rip) Compile avx2-vpcmpgtq-1.c with -fno-fuse-ops-with-volatile-access to generate vpcmpgtq instead of vpcmpq. PR target/122343 * gcc.target/i386/avx2-vpcmpgtq-1.c: Compile with -fno-fuse-ops-with-volatile-access. Signed-off-by: H.J. Lu <[email protected]> Diff: --- gcc/testsuite/gcc.target/i386/avx2-vpcmpgtq-1.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/testsuite/gcc.target/i386/avx2-vpcmpgtq-1.c b/gcc/testsuite/gcc.target/i386/avx2-vpcmpgtq-1.c index 7a983808b10c..5e6f43105170 100644 --- a/gcc/testsuite/gcc.target/i386/avx2-vpcmpgtq-1.c +++ b/gcc/testsuite/gcc.target/i386/avx2-vpcmpgtq-1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-mavx2 -O2" } */ +/* { dg-options "-mavx2 -O2 -fno-fuse-ops-with-volatile-access" } */ /* { dg-final { scan-assembler "vpcmpgtq\[ \\t\]+\[^\n\]*%ymm\[0-9\]" } } */ #include <immintrin.h>
