.file "string-opt-6.c" .globl p .data .type p, @object .size p, 32 p: .string "" .zero 31 .section .rodata.str1.1,"aMS",@progbits,1 .LC0: .string "abcde" .LC1: .string "vwxyz" .LC2: .string "wxyz" .LC3: .string "" .section .rodata .LC4: .string "a" .string "cde" .section .rodata.str1.1 .LC5: .string "fghij" .section .rodata .LC6: .string "a" .string "cfghij" .section .rodata.str1.1 .LC7: .string "ABCDE" .LC8: .string "VWX" .LC9: .string "WXyz" .section .rodata .LC10: .string "A" .string "CDE" .section .rodata.str1.1 .LC11: .string "FGHI" .section .rodata .LC12: .string "A" .string "CFGHIj" .text .align 2 .globl main .type main, @function main: link.w %a6,#0 movm.l #0x3c30,-(%sp) pea 6.w pea .LC0 pea p lea memcpy,%a2 jbsr (%a2) move.l %a0,%d2 lea (12,%sp),%sp cmp.l #p,%a0 jbne .L21 pea 6.w pea .LC0 move.l %a0,-(%sp) lea memcmp,%a3 jbsr (%a3) lea (12,%sp),%sp tst.l %d0 jbeq .L22 .L21: jbsr abort .align 2 .L22: pea 5.w pea .LC1+1 pea p+16 jbsr (%a2) move.l %a0,%d3 lea (12,%sp),%sp cmp.l #p+16,%a0 jbne .L21 pea 5.w pea .LC2 move.l %a0,-(%sp) jbsr (%a3) lea (12,%sp),%sp tst.l %d0 jbne .L21 pea 1.w pea .LC3 pea p+1 jbsr (%a2) move.l %a0,%d4 lea (12,%sp),%sp cmp.l #p+1,%a0 jbne .L21 pea 6.w pea .LC4 move.l %d2,-(%sp) jbsr (%a3) lea (12,%sp),%sp tst.l %d0 jbne .L21 pea 6.w pea .LC5 pea p+3 jbsr (%a2) move.l %a0,%d5 lea (12,%sp),%sp cmp.l #p+3,%a0 jbne .L21 pea 9.w pea .LC6 move.l %d2,-(%sp) jbsr (%a3) lea (12,%sp),%sp tst.l %d0 jbne .L21 pea 6.w pea .LC7 move.l %d2,-(%sp) jbsr (%a2) move.l %a0,%d2 lea (12,%sp),%sp cmp.l #p,%a0 jbne .L21 pea 6.w pea .LC7 move.l %a0,-(%sp) jbsr (%a3) lea (12,%sp),%sp tst.l %d0 jbne .L21 pea 2.w pea .LC8+1 move.l %d3,-(%sp) jbsr (%a2) lea (12,%sp),%sp cmp.l #p+16,%a0 jbne .L21 pea 5.w pea .LC9 move.l %a0,-(%sp) jbsr (%a3) lea (12,%sp),%sp tst.l %d0 jbne .L21 pea 1.w pea .LC3 move.l %d4,-(%sp) jbsr (%a2) lea (12,%sp),%sp cmp.l #p+1,%a0 jbne .L21 pea 6.w pea .LC10 move.l %d2,-(%sp) jbsr (%a3) lea (12,%sp),%sp tst.l %d0 jbne .L21 pea 4.w pea .LC11 move.l %d5,-(%sp) jbsr (%a2) lea (12,%sp),%sp cmp.l #p+3,%a0 jbne .L21 pea 9.w pea .LC12 move.l %d2,-(%sp) jbsr (%a3) lea (12,%sp),%sp tst.l %d0 jbne .L21 pea 6.w pea .LC0 move.l %d2,-(%sp) jbsr (%a2) move.l %a0,%d2 lea (12,%sp),%sp cmp.l #p,%a0 jbne .L21 pea 6.w pea .LC0 move.l %a0,-(%sp) jbsr (%a3) lea (12,%sp),%sp tst.l %d0 jbne .L21 pea 6.w pea .LC7 move.l %d2,-(%sp) jbsr (%a2) lea (12,%sp),%sp cmp.l #p,%a0 jbne .L21 pea 6.w pea .LC7 move.l %a0,-(%sp) jbsr (%a3) lea (12,%sp),%sp tst.l %d0 jbne .L21 movm.l -24(%a6),#0xc3c unlk %a6 rts .size main, .-main .align 2 .type strcpy, @function strcpy: link.w %a6,#0 jbsr abort nop .size strcpy, .-strcpy .ident "GCC: (GNU) 3.3.2"