.file "gcov-4.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 call_unref .type call_unref, @function call_unref: link.w %a6,#0 move.l unref_val,%d0 jbeq .L3 moveq.l #2,%d0 move.l %d0,unref_val .L3: addq.l #4,%d0 move.l %d0,unref_val unlk %a6 rts .size call_unref, .-call_unref .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 .L14 .align 2 .L11: addq.l #1,%d0 move.l %d0,for_temp addq.l #1,%d1 cmp.l %d1,%a0 jbgt .L11 jbra .L13 .align 2 .L14: move.l for_temp,%d0 .L13: 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 .L37 .L30: tst.l %d3 jble .L34 move.l for_temp,%d1 move.l %d3,%a0 .align 2 .L29: tst.l %a1 jble .L36 move.l %a1,%d1 .align 2 .L28: addq.l #1,%d0 subq.l #1,%d1 jbne .L28 move.l %d0,%d1 .L36: subq.l #1,%a0 tst.l %a0 jbne .L29 move.l %d1,for_temp .L34: addq.l #1,%d2 cmp.l %d2,%d4 jbgt .L30 jbra .L32 .align 2 .L37: move.l for_temp,%d0 .L32: 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 .L43: 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 .L51: moveq.l #8,%d0 cmp.l %d1,%a0 jbeq .L44 addq.l #1,%d1 moveq.l #4,%d0 moveq.l #9,%d2 cmp.l %d1,%d2 jbge .L51 .L50: .L44: 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 .L56 tst.l %d3 jbeq .L57 lea do_something,%a2 pea 4.w .align 2 .L65: jbsr (%a2) addq.l #4,%sp cmp.l %d2,%d3 jbge .L62 add.l %d0,%d0 move.l %d0,-(%sp) jbsr (%a2) addq.l #4,%sp .L62: moveq.l #10,%d1 cmp.l %d2,%d1 jbge .L63 cmp.l %d3,%d1 jbge .L63 lsl.l #2,%d0 move.l %d0,-(%sp) jbsr (%a2) addq.l #4,%sp jbra .L63 .align 2 .L57: lea do_something,%a2 pea 1024.w jbra .L65 .align 2 .L56: tst.l %d3 jbeq .L60 lea do_something,%a2 pea 1.w jbra .L65 .align 2 .L60: lea do_something,%a2 pea 2.w jbra .L65 .align 2 .L63: 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 .L67 pea 1.w jbsr do_something addq.l #4,%sp .L67: moveq.l #1,%d1 cmp.l %d2,%d1 jbeq .L73 .L68: moveq.l #2,%d1 cmp.l %d2,%d1 jbeq .L74 .L69: moveq.l #3,%d1 cmp.l %d2,%d1 jbeq .L75 moveq.l #4,%d1 cmp.l %d2,%d1 jbne .L66 pea 2048.w .L72: jbsr do_something addq.l #4,%sp jbra .L66 .align 2 .L75: pea 8.w jbra .L72 .align 2 .L74: pea 2.w jbsr do_something addq.l #4,%sp jbra .L69 .align 2 .L73: pea 1024.w jbsr do_something addq.l #4,%sp jbra .L68 .align 2 .L66: 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 .L77 cmp.l %d3,%d2 jbge .L77 moveq.l #19,%d1 cmp.l %d3,%d1 jblt .L77 pea 16.w jbsr do_something addq.l #4,%sp .align 2 .L77: moveq.l #20,%d1 cmp.l %d2,%d1 jbge .L78 cmp.l %d3,%d2 jbge .L78 moveq.l #29,%d1 cmp.l %d3,%d1 jblt .L78 pea 32.w jbsr do_something addq.l #4,%sp .align 2 .L78: moveq.l #3,%d1 cmp.l %d2,%d1 jbeq .L82 moveq.l #47,%d1 cmp.l %d3,%d1 jbeq .L82 cmp.l %d2,%d3 jbne .L81 .align 2 .L82: pea 64.w jbsr do_something addq.l #4,%sp .L81: 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 .L87 jblt .L93 moveq.l #1,%d1 cmp.l %d0,%d1 jbeq .L86 .L91: pea 32.w jbsr do_something addq.l #4,%sp addq.l #1,switch_m jbra .L84 .align 2 .L86: pea 2.w .align 2 .L94: jbsr do_something addq.l #4,%sp jbra .L84 .align 2 .L93: moveq.l #4,%d1 cmp.l %d0,%d1 jblt .L91 moveq.l #2,%d0 cmp.l 12(%a6),%d0 jbeq .L95 pea 8.w jbra .L94 .align 2 .L95: pea 4.w jbra .L94 .align 2 .L87: pea 1024.w jbra .L94 .align 2 .L84: 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 jbsr call_unref moveq.l #12,%d0 cmp.l for_val1,%d0 jbne .L99 moveq.l #87,%d0 cmp.l for_val2,%d0 jbeq .L100 .L99: jbsr abort .align 2 .L100: moveq.l #15,%d0 cmp.l goto_val,%d0 jbne .L99 moveq.l #31,%d0 cmp.l ifelse_val1,%d0 jbne .L99 moveq.l #23,%d0 cmp.l ifelse_val2,%d0 jbne .L99 cmp.l #246,ifelse_val3 jbne .L99 moveq.l #55,%d0 cmp.l switch_val,%d0 jbne .L99 moveq.l #4,%d0 cmp.l unref_val,%d0 jbne .L99 clr.l %d0 unlk %a6 rts .size main, .-main .comm unref_val,4,2 .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"