.file "sort.i" .global __divsi3 .text .align 2 .global shell_sort .type shell_sort, %function shell_sort: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} mov fp, r1 sub r7, r0, #4 mov r8, #1 .L2: add r3, r8, r8, asl #1 add r8, r3, #1 cmp r8, fp ble .L2 .L17: mov r0, r8 mov r1, #3 bl __divsi3 add r9, r0, #1 cmp r9, fp mov r8, r0 bgt .L16 .L26: ldr sl, [r7, r9, asl #2] mov r4, r9 b .L11 .L25: ldr r5, [r7, r6, asl #2] mov r0, r5 bl strcmp cmp r0, #0 ble .L12 str r5, [r7, r4, asl #2] mov r4, r6 .L11: cmp r4, r8 rsb r6, r8, r4 mov r1, sl bgt .L25 .L12: add r9, r9, #1 cmp r9, fp str sl, [r7, r4, asl #2] ble .L26 .L16: cmp r8, #1 bgt .L17 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} .size shell_sort, .-shell_sort .ident "GCC: (GNU) 3.4.6"