[Bug rtl-optimization/19078] [4.0 Regression] Poor quality code after loop unrolling.
pinskia at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Sun Dec 19 13:23:00 GMT 2004
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-12-19 13:23 -------
In 3.3.2, the main loop is:
L7:
lwz r6,0(r9)
cmpwi cr0,r6,2
beq- cr0,L1
lwzu r7,4(r9)
cmpwi cr0,r7,2
beq- cr0,L1
lwzu r8,4(r9)
cmpwi cr0,r8,2
beq- cr0,L1
lwzu r10,4(r9)
cmpwi cr0,r10,2
beq- cr0,L1
addi r9,r9,4
cmpw cr0,r9,r4
bne+ cr0,L7
in 4.0.0:
L58:
mr r9,r11
L7:
cmpw cr7,r4,r9
beq- cr7,L5
lwz r0,0(r9)
addi r11,r9,4
cmpwi cr7,r0,2
beq- cr7,L5
lwz r0,0(r11)
mr r2,r11
mr r9,r11
addi r11,r11,4
cmpwi cr7,r0,2
beq- cr7,L5
lwz r0,0(r11)
mr r9,r11
cmpwi cr7,r0,2
beq- cr7,L5
lwz r0,8(r2)
addi r9,r2,8
addi r11,r2,12
cmpwi cr7,r0,2
beq- cr7,L5
lwz r0,12(r2)
mr r9,r11
addi r11,r2,16
cmpwi cr7,r0,2
beq- cr7,L5
lwz r0,16(r2)
mr r9,r11
addi r11,r2,20
cmpwi cr7,r0,2
beq- cr7,L5
lwz r0,20(r2)
mr r9,r11
addi r11,r2,24
cmpwi cr7,r0,2
beq- cr7,L5
lwz r0,24(r2)
mr r9,r11
addi r11,r2,28
cmpwi cr7,r0,2
bne+ cr7,L58
Notice how in 3.3.2, we used lwzu, that is needed.
--
What |Removed |Added
----------------------------------------------------------------------------
Severity|normal |minor
Status|UNCONFIRMED |NEW
Component|c |rtl-optimization
Ever Confirmed| |1
GCC host triplet|i686-pc-linux-gnu |
Keywords| |missed-optimization
Known to fail| |4.0.0
Known to work| |3.3.2
Last reconfirmed|0000-00-00 00:00:00 |2004-12-19 13:23:03
date| |
Target Milestone|--- |4.0.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19078
More information about the Gcc-bugs
mailing list