.file "i386-loop-2.c" .globl n_reloads .data .align 2 .type n_reloads, @object .size n_reloads, 4 n_reloads: .long 2 .text .align 2 .globl main .type main, @function main: link.w %a6,#-16 movm.l #0x383c,-(%sp) move.l n_reloads,%d0 jble .L17 lea (-16,%a6),%a4 move.l #rld+20,%d4 lea (-12,%a6),%a3 lea rld,%a2 move.l %a6,%d2 subq.l #4,%d2 move.l %d0,%d1 lea rld+12,%a1 .align 2 .L15: btst #6,8(%a1) jbeq .L6 move.l (%a1),%d0 lsl.l #2,%d0 move.l 4(%a1),%a5 move.l %d0,%a0 cmp.l (%a0,%d2.l),%a5 jbeq .L18 .L6: move.l 4(%a1),%d0 moveq.l #3,%d3 cmp.l %d0,%d3 jbeq .L8 moveq.l #5,%d3 cmp.l %d0,%d3 jbeq .L8 moveq.l #4,%d3 cmp.l %d0,%d3 jbeq .L8 moveq.l #6,%d3 cmp.l %d0,%d3 jbeq .L8 .align 2 .L7: move.l 4(%a1),%d0 subq.l #3,%d0 moveq.l #1,%d3 cmp.l %d0,%d3 jbcs .L13 move.l (%a1),%d0 move.l (%a3,%d0.l*4),%a0 tst.l %a0 jblt .L13 lea (%a0,%a0.l*2),%a5 move.l %a5,%d0 lsl.l #2,%d0 sub.l %a0,%d0 add.l %d0,%d0 move.l %d0,%a0 add.l #rld+16,%a0 moveq.l #9,%d0 cmp.l (%a0),%d0 jbeq .L19 .align 2 .L13: move.l (%a1),%d0 move.l (%a4,%d0.l*4),%d0 jblt .L4 move.l %d0,(%a1) .L4: subq.l #1,%d1 lea (22,%a2),%a2 lea (22,%a1),%a1 jbne .L15 jbra .L17 .align 2 .L19: moveq.l #10,%d3 move.l %d3,4(%a1) jbra .L13 .align 2 .L8: move.l (%a1),%d0 move.l (%a3,%d0.l*4),%a0 tst.l %a0 jblt .L9 lea (%a0,%a0.l*2),%a5 move.l %a5,%d0 lsl.l #2,%d0 sub.l %a0,%d0 move.l %d4,%a0 tst.b (%a0,%d0.l*2) jbge .L7 .L9: lea (16,%a2),%a0 move.l (%a0),%d0 moveq.l #4,%d3 cmp.l %d0,%d3 jbeq .L11 moveq.l #6,%d3 cmp.l %d0,%d3 jbeq .L11 moveq.l #7,%d3 move.l %d3,(%a0) jbra .L7 .align 2 .L11: moveq.l #8,%d0 move.l %d0,(%a0) jbra .L7 .align 2 .L18: move.l -8(%a6,%d0.l),4(%a1) jbra .L6 .align 2 .L17: clr.l %d0 movm.l (%sp)+,#0x3c1c unlk %a6 rts .size main, .-main .comm rld,44,2 .ident "GCC: (GNU) 3.3.2"