.file "gcov-4b.c" .text .align 2 .globl do_something .type do_something, @function do_something: link.w %a6,#0 move.l 8(%a6),%d0 unlk %a6 rts .size do_something, .-do_something .align 2 .globl test_for1 .type test_for1, @function test_for1: link.w %a6,#0 move.l 8(%a6),%a0 moveq.l #1,%d0 move.l %d0,for_temp clr.l %d1 cmp.l %d1,%a0 jble .L10 .align 2 .L7: addq.l #1,%d0 move.l %d0,for_temp addq.l #1,%d1 cmp.l %d1,%a0 jbgt .L7 jbra .L9 .align 2 .L10: move.l for_temp,%d0 .L9: unlk %a6 rts .size test_for1, .-test_for1 .align 2 .globl test_for2 .type test_for2, @function test_for2: link.w %a6,#0 movm.l #0x3800,-(%sp) move.l 8(%a6),%d3 move.l 12(%a6),%d4 move.l 16(%a6),%a1 moveq.l #1,%d0 move.l %d0,for_temp clr.l %d2 cmp.l %d2,%d4 jble .L33 .L26: tst.l %d3 jble .L30 move.l for_temp,%d1 move.l %d3,%a0 .align 2 .L25: tst.l %a1 jble .L32 move.l %a1,%d1 .align 2 .L24: addq.l #1,%d0 subq.l #1,%d1 jbne .L24 move.l %d0,%d1 .L32: subq.l #1,%a0 tst.l %a0 jbne .L25 move.l %d1,for_temp .L30: addq.l #1,%d2 cmp.l %d2,%d4 jbgt .L26 jbra .L28 .align 2 .L33: move.l for_temp,%d0 .L28: movm.l (%sp)+,#0x1c unlk %a6 rts .size test_for2, .-test_for2 .align 2 .globl call_for .type call_for, @function call_for: link.w %a6,#0 move.l %a2,-(%sp) clr.l -(%sp) lea test_for1,%a2 jbsr (%a2) add.l %d0,for_val1 pea 2.w jbsr (%a2) add.l %d0,for_val1 pea 7.w jbsr (%a2) add.l %d0,for_val1 clr.l -(%sp) clr.l -(%sp) clr.l -(%sp) lea test_for2,%a2 jbsr (%a2) add.l %d0,for_val2 clr.l -(%sp) clr.l -(%sp) pea 1.w jbsr (%a2) add.l %d0,for_val2 lea (32,%sp),%sp clr.l (%sp) pea 3.w pea 1.w jbsr (%a2) add.l %d0,for_val2 pea 1.w pea 3.w pea 1.w jbsr (%a2) add.l %d0,for_val2 pea 5.w pea 1.w pea 3.w jbsr (%a2) add.l %d0,for_val2 lea (32,%sp),%sp move.l #3,(%sp) pea 7.w pea 3.w jbsr (%a2) add.l %d0,for_val2 move.l -4(%a6),%a2 unlk %a6 rts .size call_for, .-call_for .align 2 .globl test_goto1 .type test_goto1, @function test_goto1: link.w %a6,#0 tst.l 8(%a6) sne %d0 extb.l %d0 moveq.l #1,%d1 sub.l %d0,%d1 move.l %d1,%d0 .L39: unlk %a6 rts .size test_goto1, .-test_goto1 .align 2 .globl test_goto2 .type test_goto2, @function test_goto2: link.w %a6,#0 move.l %d2,-(%sp) move.l 8(%a6),%a0 clr.l %d1 .align 2 .L47: moveq.l #8,%d0 cmp.l %d1,%a0 jbeq .L40 addq.l #1,%d1 moveq.l #4,%d0 moveq.l #9,%d2 cmp.l %d1,%d2 jbge .L47 .L46: .L40: move.l (%sp)+,%d2 unlk %a6 rts .size test_goto2, .-test_goto2 .align 2 .globl call_goto .type call_goto, @function call_goto: link.w %a6,#0 move.l %a2,-(%sp) move.l %d2,-(%sp) lea test_goto1,%a2 clr.l -(%sp) jbsr (%a2) addq.l #4,%sp move.l %d0,%d2 add.l goto_val,%d2 pea 1.w jbsr (%a2) addq.l #4,%sp add.l %d0,%d2 move.l %d2,goto_val pea 3.w lea test_goto2,%a2 jbsr (%a2) add.l %d0,goto_val pea 30.w jbsr (%a2) add.l %d0,goto_val move.l -8(%a6),%d2 move.l -4(%a6),%a2 unlk %a6 rts .size call_goto, .-call_goto .align 2 .globl test_ifelse1 .type test_ifelse1, @function test_ifelse1: link.w %a6,#0 movm.l #0x3020,-(%sp) move.l 8(%a6),%d2 move.l 12(%a6),%d3 tst.l %d2 jbeq .L52 tst.l %d3 jbeq .L53 lea do_something,%a2 pea 4.w .align 2 .L61: jbsr (%a2) addq.l #4,%sp cmp.l %d2,%d3 jbge .L58 add.l %d0,%d0 move.l %d0,-(%sp) jbsr (%a2) addq.l #4,%sp .L58: moveq.l #10,%d1 cmp.l %d2,%d1 jbge .L59 cmp.l %d3,%d1 jbge .L59 lsl.l #2,%d0 move.l %d0,-(%sp) jbsr (%a2) addq.l #4,%sp jbra .L59 .align 2 .L53: lea do_something,%a2 pea 1024.w jbra .L61 .align 2 .L52: tst.l %d3 jbeq .L56 lea do_something,%a2 pea 1.w jbra .L61 .align 2 .L56: lea do_something,%a2 pea 2.w jbra .L61 .align 2 .L59: movm.l -12(%a6),#0x40c unlk %a6 rts .size test_ifelse1, .-test_ifelse1 .align 2 .globl test_ifelse2 .type test_ifelse2, @function test_ifelse2: link.w %a6,#0 move.l %d2,-(%sp) move.l 8(%a6),%d2 clr.l %d0 tst.l %d2 jbne .L63 pea 1.w jbsr do_something addq.l #4,%sp .L63: moveq.l #1,%d1 cmp.l %d2,%d1 jbeq .L69 .L64: moveq.l #2,%d1 cmp.l %d2,%d1 jbeq .L70 .L65: moveq.l #3,%d1 cmp.l %d2,%d1 jbeq .L71 moveq.l #4,%d1 cmp.l %d2,%d1 jbne .L62 pea 2048.w .L68: jbsr do_something addq.l #4,%sp jbra .L62 .align 2 .L71: pea 8.w jbra .L68 .align 2 .L70: pea 2.w jbsr do_something addq.l #4,%sp jbra .L65 .align 2 .L69: pea 1024.w jbsr do_something addq.l #4,%sp jbra .L64 .align 2 .L62: move.l -4(%a6),%d2 unlk %a6 rts .size test_ifelse2, .-test_ifelse2 .align 2 .globl test_ifelse3 .type test_ifelse3, @function test_ifelse3: link.w %a6,#0 move.l %d3,-(%sp) move.l %d2,-(%sp) move.l 8(%a6),%d2 move.l 12(%a6),%d3 moveq.l #1,%d0 moveq.l #10,%d1 cmp.l %d2,%d1 jbge .L73 cmp.l %d3,%d2 jbge .L73 moveq.l #19,%d1 cmp.l %d3,%d1 jblt .L73 pea 16.w jbsr do_something addq.l #4,%sp .align 2 .L73: moveq.l #20,%d1 cmp.l %d2,%d1 jbge .L74 cmp.l %d3,%d2 jbge .L74 moveq.l #29,%d1 cmp.l %d3,%d1 jblt .L74 pea 32.w jbsr do_something addq.l #4,%sp .align 2 .L74: moveq.l #3,%d1 cmp.l %d2,%d1 jbeq .L78 moveq.l #47,%d1 cmp.l %d3,%d1 jbeq .L78 cmp.l %d2,%d3 jbne .L77 .align 2 .L78: pea 64.w jbsr do_something addq.l #4,%sp .L77: move.l -8(%a6),%d2 move.l -4(%a6),%d3 unlk %a6 rts .size test_ifelse3, .-test_ifelse3 .align 2 .globl call_ifelse .type call_ifelse, @function call_ifelse: link.w %a6,#0 move.l %a2,-(%sp) move.l %d2,-(%sp) lea test_ifelse1,%a2 pea 2.w clr.l -(%sp) jbsr (%a2) addq.l #8,%sp move.l %d0,%d2 add.l ifelse_val1,%d2 move.l %d2,ifelse_val1 clr.l -(%sp) clr.l -(%sp) jbsr (%a2) addq.l #8,%sp add.l %d0,%d2 move.l %d2,ifelse_val1 pea 2.w pea 1.w jbsr (%a2) addq.l #8,%sp add.l %d0,%d2 move.l %d2,ifelse_val1 pea 2.w pea 10.w jbsr (%a2) addq.l #8,%sp add.l %d0,%d2 move.l %d2,ifelse_val1 pea 11.w pea 11.w jbsr (%a2) addq.l #8,%sp add.l %d0,%d2 move.l %d2,ifelse_val1 lea test_ifelse2,%a2 clr.l -(%sp) jbsr (%a2) addq.l #4,%sp move.l %d0,%d2 add.l ifelse_val2,%d2 move.l %d2,ifelse_val2 pea 2.w jbsr (%a2) addq.l #4,%sp add.l %d0,%d2 move.l %d2,ifelse_val2 pea 2.w jbsr (%a2) addq.l #4,%sp add.l %d0,%d2 move.l %d2,ifelse_val2 pea 2.w jbsr (%a2) addq.l #4,%sp add.l %d0,%d2 move.l %d2,ifelse_val2 pea 3.w jbsr (%a2) addq.l #4,%sp add.l %d0,%d2 move.l %d2,ifelse_val2 pea 3.w jbsr (%a2) addq.l #4,%sp add.l %d0,%d2 move.l %d2,ifelse_val2 lea test_ifelse3,%a2 pea 19.w pea 11.w jbsr (%a2) addq.l #8,%sp move.l %d0,%d2 add.l ifelse_val3,%d2 move.l %d2,ifelse_val3 pea 27.w pea 25.w jbsr (%a2) addq.l #8,%sp add.l %d0,%d2 move.l %d2,ifelse_val3 pea 22.w pea 11.w jbsr (%a2) addq.l #8,%sp add.l %d0,%d2 move.l %d2,ifelse_val3 pea 10.w pea 11.w jbsr (%a2) addq.l #8,%sp add.l %d0,%d2 move.l %d2,ifelse_val3 pea 32.w pea 21.w jbsr (%a2) addq.l #8,%sp add.l %d0,%d2 move.l %d2,ifelse_val3 pea 20.w pea 21.w jbsr (%a2) addq.l #8,%sp add.l %d0,%d2 move.l %d2,ifelse_val3 pea 2.w pea 1.w jbsr (%a2) addq.l #8,%sp add.l %d0,%d2 move.l %d2,ifelse_val3 pea 31.w pea 32.w jbsr (%a2) addq.l #8,%sp add.l %d0,%d2 move.l %d2,ifelse_val3 clr.l -(%sp) pea 3.w jbsr (%a2) addq.l #8,%sp add.l %d0,%d2 move.l %d2,ifelse_val3 pea 47.w clr.l -(%sp) jbsr (%a2) addq.l #8,%sp add.l %d0,%d2 move.l %d2,ifelse_val3 pea 65.w pea 65.w jbsr (%a2) addq.l #8,%sp add.l %d0,%d2 move.l %d2,ifelse_val3 move.l -8(%a6),%d2 move.l -4(%a6),%a2 unlk %a6 rts .size call_ifelse, .-call_ifelse .align 2 .globl test_switch .type test_switch, @function test_switch: link.w %a6,#0 move.l 8(%a6),%d0 moveq.l #2,%d1 cmp.l %d0,%d1 jbeq .L83 jblt .L89 moveq.l #1,%d1 cmp.l %d0,%d1 jbeq .L82 .L87: pea 32.w jbsr do_something addq.l #4,%sp addq.l #1,switch_m jbra .L80 .align 2 .L82: pea 2.w .align 2 .L90: jbsr do_something addq.l #4,%sp jbra .L80 .align 2 .L89: moveq.l #4,%d1 cmp.l %d0,%d1 jblt .L87 moveq.l #2,%d0 cmp.l 12(%a6),%d0 jbeq .L91 pea 8.w jbra .L90 .align 2 .L91: pea 4.w jbra .L90 .align 2 .L83: pea 1024.w jbra .L90 .align 2 .L80: unlk %a6 rts .size test_switch, .-test_switch .align 2 .globl call_switch .type call_switch, @function call_switch: link.w %a6,#0 move.l %a2,-(%sp) clr.l -(%sp) pea 1.w lea test_switch,%a2 jbsr (%a2) add.l %d0,switch_val clr.l -(%sp) pea 3.w jbsr (%a2) add.l %d0,switch_val pea 2.w pea 3.w jbsr (%a2) add.l %d0,switch_val clr.l -(%sp) pea 4.w jbsr (%a2) add.l %d0,switch_val lea (28,%sp),%sp clr.l (%sp) pea 16.w jbsr (%a2) add.l switch_val,%d0 add.l switch_m,%d0 move.l %d0,switch_val move.l -4(%a6),%a2 unlk %a6 rts .size call_switch, .-call_switch .align 2 .globl main .type main, @function main: link.w %a6,#0 jbsr call_for jbsr call_goto jbsr call_ifelse jbsr call_switch moveq.l #12,%d0 cmp.l for_val1,%d0 jbne .L95 moveq.l #87,%d0 cmp.l for_val2,%d0 jbeq .L96 .L95: jbsr abort .align 2 .L96: moveq.l #15,%d0 cmp.l goto_val,%d0 jbne .L95 moveq.l #31,%d0 cmp.l ifelse_val1,%d0 jbne .L95 moveq.l #23,%d0 cmp.l ifelse_val2,%d0 jbne .L95 cmp.l #246,ifelse_val3 jbne .L95 moveq.l #55,%d0 cmp.l switch_val,%d0 jbne .L95 clr.l %d0 unlk %a6 rts .size main, .-main .comm for_val1,4,2 .comm for_val2,4,2 .comm for_temp,4,2 .comm goto_val,4,2 .comm ifelse_val1,4,2 .comm ifelse_val2,4,2 .comm ifelse_val3,4,2 .comm switch_val,4,2 .comm switch_m,4,2 .ident "GCC: (GNU) 3.3.2"