Comment 1 for bug 634891

Revision history for this message
Chung-Lin Tang (cltang) wrote :

This form of block move is generated by arm_gen_movmemqi(), called from the "movmemqi" expand pattern.
See the beginning of that function in arm.c, at the length value in operands[2], and you should know what to do.

Adjusting the threshold value from 64 to 16, I got:
        push {lr}
        sub sp, sp, #68
        mov r1, r0
        movs r2, #64
        mov r0, sp
        bl memcpy
        mov r0, sp
        bl foo
        add sp, sp, #68
        pop {pc}