------- Comment #2 from ramana at gcc dot gnu dot org 2009-05-13 12:31 ------- This appears to be fixed with trunk as of r147467. Can you reproduce this with 4.3 or 4.4 ? If not we can close this one out.
_Z18serial_IRQ_Routinev: @ Interrupt Service Routine. @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. stmfd sp!, {r0, r1, r2, r3, r4, ip} mov r2, #0 ldr r3, .L9 ldr r0, .L9+4 mov r1, r2 .L6: ldr r4, [r3, #36] ldr ip, [r3, #40] cmp r4, ip bne .L2 ldr ip, [r3, #32] cmp ip, #0 beq .L1 .L2: ldr ip, [r3, #32] sub ip, ip, #1 str ip, [r3, #32] ldr ip, [r3, #40] ldr r4, [r3, #40] add r4, r4, #1 str r4, [r3, #40] ldr r4, [r3, #40] ldrb ip, [r3, ip] @ zero_extendqisi2 cmp r4, #32 add r2, r2, #1 streq r1, [r3, #40] cmp r2, #16 strb ip, [r0, #0] bne .L6 .L1: ldmfd sp!, {r0, r1, r2, r3, r4, ip} subs pc, lr, #4 .L10: .align 2 .L9: -- ramana at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |WAITING http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37386