------- 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