This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/19464] [3.3/3.4/4.0 Regression] gcse causes poor register allocation
- From: "steven at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 21 Jan 2005 12:51:15 -0000
- Subject: [Bug rtl-optimization/19464] [3.3/3.4/4.0 Regression] gcse causes poor register allocation
- References: <20050115205816.19464.belyshev@depni.sinp.msu.ru>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From steven at gcc dot gnu dot org 2005-01-21 12:51 -------
With my patch I get almost perfect code for amd64:
.globl f
.type f, @function
f:
.LFB2:
decl %edi
je .L6
movl r5(%rip), %r9d
movl r4(%rip), %r8d
xorl %r10d, %r10d
movl r3(%rip), %esi
movl r2(%rip), %ecx
movl r0(%rip), %edx
movl r1(%rip), %eax
.p2align 4,,7
.L4:
addl %edx, %eax
incl %r10d
addl %eax, %ecx
addl %ecx, %esi
addl %esi, %r8d
addl %r8d, %r9d
addl %r9d, %edx
cmpl %r10d, %edi
jne .L4
movl %r9d, r5(%rip)
movl %r8d, r4(%rip)
movl %esi, r3(%rip)
movl %ecx, r2(%rip)
movl %edx, r0(%rip)
movl %eax, r1(%rip)
.L6:
rep ; ret
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19464