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

Reply via email to