[Bug target/38825] missed optimization: register renaming in unrolled loop
tim at klingt dot org
gcc-bugzilla@gcc.gnu.org
Tue Jan 13 16:08:00 GMT 2009
------- Comment #5 from tim at klingt dot org 2009-01-13 16:08 -------
(In reply to comment #4)
> -frename-registers does make a difference for me,
i can reproduce it, however, -frename-registers is supposed to be enabled by
-O3:
tim@thinkpad:~/workspace/nova-server.git$ /usr/local/lib/gcc-snapshot/bin/g++
-Q -O3 --help=optimizer |grep frename
-frename-registers [enabled]
the resolved aliasing issue, is not taken into account, though:
.L23:
movaps %xmm0, %xmm2
movaps %xmm0, %xmm1
addps (%rsi,%rax), %xmm2
movaps %xmm2, (%rdi,%rax)
addps 16(%rsi,%rax), %xmm1
movaps %xmm1, 16(%rdi,%rax)
addq $32, %rax
cmpq %rdx, %rax
jne .L23
vs.
.L19:
movaps %xmm0, %xmm2
movaps %xmm0, %xmm1
addps (%rsi,%rax), %xmm2
addps 16(%rsi,%rax), %xmm1
movaps %xmm2, (%rdi,%rax)
movaps %xmm1, 16(%rdi,%rax)
addq $32, %rax
cmpq %rdx, %rax
jne .L19
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38825
More information about the Gcc-bugs
mailing list