------- Comment #13 from darrenrjenkins at gmail dot com  2010-09-22 00:20 
-------
I seem to be getting this bug on arm thumb also

USB_INT16U  ReadLE16U ( volatile  USB_INT08U  *pmem )
{
    USB_INT16U   val;
    USB_INT08U *bytes = (USB_INT08U *)&val;

    bytes[0] = pmem[0];
    bytes[1] = pmem[1];

    return val;
}

    B580        push {r7, lr}
    B081        sub sp, #4
    7802        ldrb r2, [r0, #0]
    AF00        add r7, sp, #0
    1CBB        adds r3, r7, #2
    701A        strb r2, [r3, #0]
    46BD        mov sp, r7
    B001        add sp, #4
    7842        ldrb r2, [r0, #1]
    8818        ldrh r0, [r3, #0]
    BC80        pop {r7}
    BC02        pop {r1}
    4708        bx r1

This happens on both 4.4.4 and 4.5.1


-- 


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

Reply via email to