[Bug tree-optimization/18576] missing jump threading because of type changes
pinskia at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Sat Nov 20 06:37:00 GMT 2004
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-11-20 06:37 -------
The corresponding asm for the tcb:
cmpw cr7,r3,r4
mr r11,r3
li r10,0
li r3,1
beqlr- cr7
lwz r0,0(r11)
lwz r2,0(r4)
slwi r9,r0,2
cmpw cr7,r2,r0
ble- cr7,L7
lwz r2,4(r4)
lwzx r0,r9,r2
xor r10,r11,r0
subfic r2,r10,0
adde r10,r2,r10
L7:
mr r3,r10
blr
the mainline (which is much worse):
cmpw cr7,r3,r4
li r10,0
beq- cr7,L2
lwz r0,0(r3)
li r11,1
lwz r2,0(r4)
slwi r9,r0,2
cmpw cr7,r2,r0
bgt- cr7,L12
L4:
li r11,0
L7:
cmpwi cr7,r11,0
bne- cr7,L2
mr r3,r10
blr
L12:
lwz r2,4(r4)
lwzx r0,r9,r2
cmpw cr7,r3,r0
bne+ cr7,L4
b L7
L2:
li r10,1
mr r3,r10
blr
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18576
More information about the Gcc-bugs
mailing list