http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61098

            Bug ID: 61098
           Summary: Poor code setting count register for large loops
           Product: gcc
           Version: 4.10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: amodra at gmail dot com

Seen on a for (i = 0; i < 100000000; i++) loop

    100003bc:   3d 20 05 f5     lis     r9,1525
    100003c0:   7d 29 03 a6     mtctr   r9
    100003c4:   7d 3e 1a 14     add     r9,r30,r3
    100003c8:   7d 49 02 a6     mfctr   r10
    100003cc:   61 4a e1 00     ori     r10,r10,57600
    100003d0:   7d 49 03 a6     mtctr   r10

Note the horrible mtctr, mfctr, mtctr

Reply via email to