http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53087
--- Comment #7 from Alan Modra <amodra at gmail dot com> 2012-04-25 05:26:28
UTC ---
Some more data points. The testcase in #1 produces
gcc-4.3.6
cmpldi 7,3,27
mr 9,3
li 3,0
bgtlr 7
lis 0,0xcf8
ori 0,0,63
srd 0,0,9
rldicl 3,0,0,63
blr
gcc-4.4.7
cmpldi 7,3,27
li 0,0
bgt 7,.L3
lis 0,0xcf8
ori 0,0,63
srd 0,0,3
rldicl 0,0,0,63
.L3:
mr 3,0
blr
gcc-4.5.0
cmpldi 7,3,27
li 0,0
bgt 7,.L2
li 0,1
sld 3,0,3
lis 0,0xcf8
ori 0,0,63
and. 9,3,0
mfcr 0
rlwinm 0,0,3,1
xori 0,0,1
extsw 0,0
.L2:
mr 3,0
blr