[Bug rtl-optimization/122343] Propagate volatile memory operands
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Dec 8 07:23:40 GMT 2025
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122343
--- Comment #10 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by H.J. Lu <hjl@gcc.gnu.org>:
https://gcc.gnu.org/g:bde7cf998666c449f353d928c9cb70de776c7555
commit r16-5953-gbde7cf998666c449f353d928c9cb70de776c7555
Author: H.J. Lu <hjl.tools@gmail.com>
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 <hjl.tools@gmail.com>
More information about the Gcc-bugs
mailing list