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

ktkachov at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |ktkachov at gcc dot gnu.org
         Resolution|---                         |FIXED

--- Comment #3 from ktkachov at gcc dot gnu.org ---
Both trunk 4.10 and 4.8.3 generate:
t0m:
        @ args = 0, pretend = 0, frame = 0
        @ frame_needed = 0, uses_anonymous_args = 0
        ldr     r3, [r0, #4]
        movs    r1, #10
        push    {r4, r5, lr}
        ldr     r5, .L8
        uxtb    r2, r3
.L2:
        ldr     r4, [r0, #268]
        subs    r1, r1, #1
        eor     r4, r4, r2
        ldr     r4, [r5, r4, lsl #2]
        str     r4, [r0, #268]
        bne     .L2
        add     r3, r3, r0
        movs    r1, #1
        strb    r1, [r3, #12]
        ldr     r3, [r0, #8]
        cmp     r3, r1
        beq     .L5
        cmp     r3, #2
        beq     .L5
        pop     {r4, r5, pc}
.L5:
        ldr     r3, [r0]
        strb    r2, [r3]
        pop     {r4, r5, pc}
.L9:
        .align  2
.L8:
        .word   Table


No superfluous mov appears, so I think this can be closed now...

Reply via email to