------- Comment #1 from siarhei dot siamashka at gmail dot com 2009-10-29
15:21 -------
-O2:
0000000000000010 <.x>:
10: 2c 23 00 00 cmpdi r3,0
14: 7c 08 02 a6 mflr r0
18: f8 01 00 10 std r0,16(r1)
1c: f8 21 ff 81 stdu r1,-128(r1)
20: 41 82 00 1c beq- 3c <.x+0x2c>
24: f8 61 00 70 std r3,112(r1)
28: 48 00 00 01 bl 28 <.x+0x18>
2c: e8 01 00 70 ld r0,112(r1)
30: 35 20 ff ff addic. r9,r0,-1
34: f9 21 00 70 std r9,112(r1)
38: 40 82 ff f0 bne+ 28 <.x+0x18>
3c: 38 21 00 80 addi r1,r1,128
40: e8 01 00 10 ld r0,16(r1)
44: 7c 08 03 a6 mtlr r0
48: 4e 80 00 20 blr
4c: 00 00 00 00 .long 0x0
50: 00 00 00 01 .long 0x1
54: 80 00 00 00 lwz r0,0(0)
-Os:
0000000000000010 <.x>:
10: fb e1 ff f8 std r31,-8(r1)
14: 7c 08 02 a6 mflr r0
18: f8 01 00 10 std r0,16(r1)
1c: 7c 7f 1b 78 mr r31,r3
20: f8 21 ff 81 stdu r1,-128(r1)
24: 48 00 00 08 b 2c <.x+0x1c>
28: 48 00 00 01 bl 28 <.x+0x18>
2c: 2f bf 00 00 cmpdi cr7,r31,0
30: 3b ff ff ff addi r31,r31,-1
34: 40 9e ff f4 bne+ cr7,28 <.x+0x18>
38: 38 21 00 80 addi r1,r1,128
3c: e8 01 00 10 ld r0,16(r1)
40: eb e1 ff f8 ld r31,-8(r1)
44: 7c 08 03 a6 mtlr r0
48: 4e 80 00 20 blr
4c: 00 00 00 00 .long 0x0
50: 00 00 00 01 .long 0x1
54: 80 01 00 00 lwz r0,0(r1)
--
siarhei dot siamashka at gmail dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |siarhei dot siamashka at
| |gmail dot com
Keywords| |missed-optimization
Summary|cell microcode instruction |cell microcode instruction
|is generated for a trivial |(addic.) is generated for a
|loop with -O2 optimizations,|trivial loop with -O2
|hurting performance badly |optimizations, hurting
| |performance badly
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41868