This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/42961] [4.5/4.6 regression] IRA register preferencing bug
- From: "mikpe at it dot uu.se" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 19 Feb 2012 17:43:07 +0000
- Subject: [Bug middle-end/42961] [4.5/4.6 regression] IRA register preferencing bug
- Auto-submitted: auto-generated
- References: <bug-42961-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42961
--- Comment #8 from Mikael Pettersson <mikpe at it dot uu.se> 2012-02-19 17:43:07 UTC ---
The movss instructions were eliminated on trunk by Vladimir Makarov's "patch to
solve recent SPEC2000 degradation" in r178019:
http://gcc.gnu.org/ml/gcc-patches/2011-08/msg01954.html
http://gcc.gnu.org/ml/gcc-cvs/2011-08/msg01034.html
The code generation change at that point is:
--- pr42961.s-r178018 2012-02-19 18:22:46.000000000 +0100
+++ pr42961.s-r178019 2012-02-19 18:17:07.000000000 +0100
@@ -10,18 +10,17 @@
ucomiss %xmm2, %xmm2
jp .L7
jne .L7
- movss %xmm1, -4(%rsp)
.L2:
movl f(%rip), %eax
testl %eax, %eax
je .L4
- movss -4(%rsp), %xmm2
+ movaps %xmm1, %xmm2
.L4:
movaps %xmm2, %xmm0
ret
.L7:
movaps %xmm1, %xmm2
- movss %xmm0, -4(%rsp)
+ movaps %xmm0, %xmm1
jmp .L2
.cfi_endproc
.LFE0: