[Bug tree-optimization/54803] Rotates are not vectorized
miyuki at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Aug 10 22:34:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54803
Mikhail Maltsev <miyuki at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |miyuki at gcc dot gnu.org
--- Comment #4 from Mikhail Maltsev <miyuki at gcc dot gnu.org> ---
On x86_64 the testcase is also vectorized. For example, with -O3
-march=haswell:
.L9:
vmovdqa (%r9,%rax), %ymm0
addq $1, %r8
vpsrlq $32, %ymm0, %ymm1
vpsllq $32, %ymm0, %ymm0
vpor %ymm0, %ymm1, %ymm0
vmovdqa %ymm0, (%r9,%rax)
addq $32, %rax
cmpq %r8, %rcx
ja .L9
On bdver2 vprotq insn is used:
.L14:
incq %rcx
vprotq $32, (%rax,%r8), %xmm0
vmovaps %xmm0, (%rdx,%r8)
addq $16, %r8
cmpq %r10, %rcx
jb .L14
More information about the Gcc-bugs
mailing list