------- Comment #5 from steven at gcc dot gnu dot org  2010-01-02 00:52 -------
>From "GCC: (GNU) 4.5.0 20090808 (experimental) [trunk revision 150579]":

      1 @
      1 bl
      1 pop
      1 push
      1 sub
      2 cmp
      2 str
      4 add
      4 mov
      7 ldr

test:
        push    {r4, r5, r6, r7, lr}
        sub     sp, sp, #12
        mov     r4, r0
        str     r2, [sp, #4]
        mov     r6, #0
        mov     r7, #0
        b       .L2
.L3:
        ldr     r3, [r4, #4]
        ldr     r2, [sp]
        ldr     r0, [r3, r6]
        ldr     r1, [r3, r2]
        bl      func
        add     r5, r5, #1
.L5:
        ldr     r3, [sp, #4]
        cmp     r5, r3
        blt     .L3
        ldr     r6, [sp]
        add     r7, r7, #1
.L2:
        ldr     r3, [r4]
        cmp     r7, r3
        bge     .L1
        add     r2, r6, #4
        str     r2, [sp]
        mov     r5, #0
        b       .L5
.L1:
        add     sp, sp, #12
        @ sp needed for prologue
        pop     {r4, r5, r6, r7, pc}


-- 


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

Reply via email to