------- Comment #12 from ramana at gcc dot gnu dot org 2009-06-05 23:16 ------- (In reply to comment #10) > Ramana, can you please add the exact command line you are using (so that I can > see what flags you use and what cpu you target) and the exact output you are > expecting? I have hacked things such that the store is cross-jumped but I > still don't get an autoincrement insn. I get this for arm7-r with r147999, > -Os, and my hack:
Sorry about the late response, I sort of dropped the ball on this one. The target was essentially default arm which is armv4t and I suspect the command line was -O2, -O3 and -Os. Yes the case where you show is where I would have expected an auto-increment . I presume this is after the new cross jumping work you've done - > > .file "t.c" > .text > .align 2 > .global foo > .type foo, %function > foo: > @ args = 0, pretend = 0, frame = 0 > @ frame_needed = 0, uses_anonymous_args = 0 > ldr r3, #0 > stmfd sp!, {r4, r5, lr} > mov ip, r3 > b .L2 > .L4: > ldr r4, [r1, r3] > movw r5, #39030 > cmp r4, #0 > movw r4, #4660 > moveq r4, r5 > str r4, [r2, r3] > add r3, r3, #4 @ I suppose you expect an autoinc > here? > .L2: > cmp ip, r0 > add ip, ip, #1 > blt .L5 > ldmfd sp!, {r4, r5, pc} > .size foo, .-foo > .ident "GCC: (GNU) 4.5.0 20090530 (experimental) [trunk revision > 147999]" > -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34849