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