https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44883

--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
In GCC 9+ (due to 2->2 combine) we get:
.L2:
        cmp     r4, r5
        blt     .L3
        pop     {r4, r5, r6, r7, r8, pc}
.L3:
        ldr     r3, [r6]
        lsls    r2, r4, #5
        add     r8, r3, r4, lsl #5
        adds    r4, r4, #1
        ldr     r0, [r3, r2]
        bl      foo
        str     r7, [r8, #4]
        b       .L2

Reply via email to