.file "string-opt-5.c" .globl x .data .align 2 .type x, @object .size x, 4 x: .long 6 .globl y .align 2 .type y, @object .size y, 4 y: .long 1 .section .rodata.str1.1,"aMS",@progbits,1 .LC0: .string "hi world" .globl bar .data .align 2 .type bar, @object .size bar, 4 bar: .long .LC0 .section .rodata.str1.1 .LC2: .string "lo world" .LC1: .string "hello world" .LC3: .string "ello world" .LC4: .string "ello " .LC5: .string "foo" .section .rodata .LC6: .string " oo" .string "" .string "" .string "" .string "" .string "" .string "" .string "" .string " " .section .rodata.str1.1 .LC7: .string "hello" .section .rodata .LC8: .string "hello" .string "" .string "" .string " " .section .rodata.str1.1 .LC9: .string "!!!" .LC10: .string "!!!--------" .section .rodata .LC11: .string "---" .string "" .string "" .string "" .LC12: .string "-" .string "" .string "" .string "" .string "" .string "" .string "" .string "" .string "" .string "" .text .align 2 .globl main .type main, @function main: link.w %a6,#-64 movm.l #0x303c,-(%sp) move.l bar,-(%sp) lea strlen,%a2 jbsr (%a2) addq.l #4,%sp moveq.l #8,%d1 cmp.l %d0,%d1 jbne .L36 move.l x,%d0 move.l %d0,%d1 addq.l #1,%d1 move.l %d1,x move.l %d1,%d0 moveq.l #2,%d1 and.l %d1,%d0 add.l bar,%d0 move.l %d0,-(%sp) jbsr (%a2) addq.l #4,%sp moveq.l #6,%d1 cmp.l %d0,%d1 jbne .L36 moveq.l #7,%d0 cmp.l x,%d0 jbne .L36 moveq.l #3,%d1 move.l %d1,x lea memcmp,%a3 pea 9.w pea .LC2 pea .LC1+3 jbsr (%a3) lea (12,%sp),%sp tst.l %d0 jbne .L36 pea 12.w move.l bar,-(%sp) pea .LC1 jbsr (%a3) lea (12,%sp),%sp tst.l %d0 jbge .L36 move.l bar,%d0 addq.l #1,%d0 moveq.l #4,%d1 move.l %d1,x pea 12.w move.l %d0,-(%sp) pea .LC1 jbsr (%a3) lea (12,%sp),%sp tst.l %d0 jbge .L36 pea 108.w pea .LC1+4 moveq.l #5,%d0 move.l %d0,x lea strchr,%a2 jbsr (%a2) addq.l #8,%sp cmp.l #.LC1+9,%a0 jbne .L36 moveq.l #5,%d1 cmp.l x,%d1 jbne .L36 pea 111.w move.l bar,-(%sp) jbsr (%a2) move.l bar,%d1 move.l %d1,%d0 addq.l #4,%d0 addq.l #8,%sp cmp.l %a0,%d0 jbne .L36 clr.l -(%sp) move.l %d1,-(%sp) jbsr (%a2) move.l bar,%d1 move.l %d1,%d0 addq.l #8,%d0 addq.l #8,%sp cmp.l %a0,%d0 jbne .L36 pea 120.w move.l %d1,-(%sp) lea strrchr,%a2 jbsr (%a2) addq.l #8,%sp tst.l %a0 jbne .L36 pea 111.w move.l bar,-(%sp) jbsr (%a2) move.l bar,%d0 addq.l #4,%d0 addq.l #8,%sp cmp.l %a0,%d0 jbne .L36 move.l y,%d0 move.l %d0,%d1 subq.l #1,%d1 move.l %d1,y move.l %d1,%d0 moveq.l #1,%d1 and.l %d1,%d0 add.l #.LC3,%d0 move.l %d0,-(%sp) moveq.l #1,%d0 and.l x,%d0 add.l #.LC1,%d0 move.l %d0,-(%sp) addq.l #1,x jbsr strcmp addq.l #8,%sp tst.l %d0 jbne .L36 moveq.l #6,%d0 cmp.l x,%d0 jbne .L36 tst.l y jbeq .L37 .L36: jbsr abort .align 2 .L37: move.b #32,-59(%a6) clr.b -58(%a6) moveq.l #1,%d1 move.l %d1,y pea 4.w pea .LC1+1 moveq.l #6,%d0 move.l %d0,x lea (-64,%a6),%a5 lea (-63,%a6),%a2 move.l %a2,-(%sp) lea strncpy,%a4 jbsr (%a4) move.l %a0,%d2 lea (12,%sp),%sp cmp.l %a0,%a2 jbne .L36 moveq.l #6,%d1 cmp.l x,%d1 jbne .L36 lea memcmp,%a2 pea 6.w pea .LC4 move.l %a0,-(%sp) jbsr (%a3) lea (12,%sp),%sp tst.l %d0 jbne .L36 pea 64.w pea 32.w move.l %a5,-(%sp) move.l #memset,%d3 move.l %d3,%a1 jbsr (%a1) pea 10.w moveq.l #3,%d0 and.l y,%d0 add.l #.LC5,%d0 move.l %d0,-(%sp) addq.l #1,y move.l x,%d0 move.l %d0,%d1 addq.l #1,%d1 move.l %d1,x move.l %d1,%d0 moveq.l #1,%d1 and.l %d1,%d0 pea (%a5,%d0.l) jbsr (%a4) lea (24,%sp),%sp cmp.l %a0,%d2 jbne .L36 moveq.l #7,%d0 cmp.l x,%d0 jbne .L36 moveq.l #2,%d1 cmp.l y,%d1 jbne .L36 pea 12.w pea .LC6 move.l %a5,-(%sp) jbsr (%a2) lea (12,%sp),%sp tst.l %d0 jbne .L36 pea 64.w pea 32.w move.l %a5,-(%sp) move.l %d3,%a1 jbsr (%a1) pea 8.w pea .LC7 move.l %a5,-(%sp) jbsr (%a4) lea (24,%sp),%sp cmp.l %a0,%a5 jbne .L36 pea 9.w pea .LC8 move.l %a0,-(%sp) jbsr (%a2) lea (12,%sp),%sp tst.l %d0 jbne .L36 moveq.l #33,%d0 move.l %d0,x pea 64.w pea 32.w pea buf move.l %d3,%a1 jbsr (%a1) move.l y,%d0 move.l %d0,%d1 addq.l #1,%d1 move.l %d1,y move.l %d0,%a0 pea 1(%a0) move.l x,-(%sp) addq.l #1,x pea buf move.l %d3,%a1 jbsr (%a1) move.l %a0,%a3 lea (24,%sp),%sp cmp.l #buf,%a0 jbne .L36 moveq.l #34,%d0 cmp.l x,%d0 jbne .L36 moveq.l #3,%d1 cmp.l y,%d1 jbne .L36 pea 3.w pea .LC9 move.l %a0,-(%sp) jbsr (%a2) lea (12,%sp),%sp tst.l %d0 jbne .L36 pea 8.w pea 45.w move.l y,%d0 add.l #buf,%d0 move.l %d0,-(%sp) addq.l #1,y move.l %d3,%a1 jbsr (%a1) lea (12,%sp),%sp cmp.l #buf+3,%a0 jbne .L36 moveq.l #4,%d0 cmp.l y,%d0 jbne .L36 pea 11.w pea .LC10 move.l %a3,-(%sp) jbsr (%a2) lea (12,%sp),%sp tst.l %d0 jbne .L36 moveq.l #11,%d1 move.l %d1,x move.l y,-(%sp) addq.l #1,y clr.l -(%sp) pea buf+11 move.l %d3,%a1 jbsr (%a1) lea (12,%sp),%sp cmp.l #buf+11,%a0 jbne .L36 moveq.l #11,%d0 cmp.l x,%d0 jbne .L36 moveq.l #5,%d1 cmp.l y,%d1 jbne .L36 pea 7.w pea .LC11 pea buf+8 jbsr (%a2) lea (12,%sp),%sp tst.l %d0 jbne .L36 move.l x,%a0 addq.l #4,%a0 move.l %a0,x clr.l (%a3,%a0.l) clr.w 4(%a3,%a0.l) add.l %a3,%a0 cmp.l #buf+15,%a0 jbne .L36 moveq.l #15,%d0 cmp.l x,%d0 jbne .L36 pea 11.w pea .LC12 pea buf+10 jbsr (%a2) lea (12,%sp),%sp tst.l %d0 jbne .L36 movm.l -88(%a6),#0x3c0c unlk %a6 rts .size main, .-main .comm buf,64,1 .ident "GCC: (GNU) 3.3.2"