Comment 1 for bug 851258

Revision history for this message
Andrew Stubbs (ams-codesourcery) wrote :

Current upstream trunk gives the following:

        ands r3, r2, #1
        push {r4, r5}
        itt ne
        ldrbne r5, [r1, #0] @ zero_extendqisi2
        addne r1, r1, #1
        ands r2, r2, #2
        it ne
        ldrhne r4, [r1, #0]
        cbz r3, .L4
        strb r5, [r0, #0]
        adds r0, r0, #1
.L4:
        cbz r2, .L1
        strh r4, [r0, #0] @ movhi
.L1:
        pop {r4, r5}
        bx lr

The unnecessary temporaries still exist, *and* it now fails to do the auto-increment correctly as well. :(