[Bug regression/41204] [4.4/4.5 regression] worse code generated compared to GCC 4.3.2
law at redhat dot com
gcc-bugzilla@gcc.gnu.org
Fri Feb 26 01:04:00 GMT 2010
------- Comment #1 from law at redhat dot com 2010-02-26 01:04 -------
Trunk produces:
mid_pred:
movem.l #14336,-(%sp)
move.l 16(%sp),%d1
move.l 20(%sp),%d0
move.l %d1,%d3
sub.l %d0,%d3
move.l %d3,%d2
add.l %d2,%d2
subx.l %d2,%d2
and.l %d3,%d2
add.l %d2,%d0
move.l %d0,%d4
sub.l 24(%sp),%d4
move.l %d4,%d3
add.l %d3,%d3
subx.l %d3,%d3
and.l %d4,%d3
sub.l %d3,%d0
sub.l %d2,%d1
sub.l %d0,%d1
move.l %d1,%d2
add.l %d2,%d2
subx.l %d2,%d2
and.l %d1,%d2
add.l %d2,%d0
movem.l (%sp)+,#28
rts
Note the two unwanted move insns are gone. Likely due to IRA work as it
eliminated part of regmove and generally gives better register allocations.
--
law at redhat dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41204
More information about the Gcc-bugs
mailing list