This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/32004] [4.3 regression] : gcc.target/i386/pr21291.c
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 20 May 2007 00:13:11 -0000
- Subject: [Bug middle-end/32004] [4.3 regression] : gcc.target/i386/pr21291.c
- References: <bug-32004-682@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #2 from pinskia at gcc dot gnu dot org 2007-05-20 01:13 -------
I already looked at it, forwprop is not fully to blame, it is doing the only
thing it knows, it optimizes the values correctly. This is a pure RA issue as
we now run out of registers as we do asm(); if (a != b) instead of doing c =
a-b; asm(); if (c) which means we need one more register and the RA does not
for some unknown reason spill a and b across the asm. I don't know if we can
call this a regression really, the register allocator has always been this
dumb.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|tree-optimization |middle-end
Keywords| |ice-on-valid-code, ra
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32004