This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/38825] missed optimization: register renaming in unrolled loop
- From: "rguenth at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 13 Jan 2009 15:44:45 -0000
- Subject: [Bug target/38825] missed optimization: register renaming in unrolled loop
- References: <bug-38825-12873@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #4 from rguenth at gcc dot gnu dot org 2009-01-13 15:44 -------
-frename-registers does make a difference for me,
.L2:
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 .L2
vs.
.L2:
movaps %xmm0, %xmm1
addps (%rsi,%rax), %xmm1
movaps %xmm1, (%rdi,%rax)
movaps %xmm0, %xmm1
addps 16(%rsi,%rax), %xmm1
movaps %xmm1, 16(%rdi,%rax)
addq $32, %rax
cmpq %rdx, %rax
jne .L2
x86_64, -O3 -fschedule-insns [-frename-registers], with restrict added
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38825