.set noat .set noreorder .set nomacro .text .align 2 .align 4 .globl do_something .ent do_something $do_something..ng: do_something: .frame $30,0,$26,0 .prologue 0 mov $16,$0 ret $31,($26),1 .end do_something .align 2 .align 4 .globl test_for1 .ent test_for1 test_for1: .frame $30,0,$26,0 ldah $29,0($27) !gpdisp!1 lda $29,0($29) !gpdisp!1 $test_for1..ng: .prologue 1 lda $1,1($31) mov $31,$3 ldq $5,for_temp($29) !literal stl $1,0($5) ble $16,$L9 lda $4,1($31) .align 4 $L7: addl $3,1,$3 lda $2,1($4) cmplt $3,$16,$1 cpys $f31,$f31,$f31 bis $31,$2,$4 bne $1,$L7 stl $2,0($5) $L9: ldl $0,0($5) ret $31,($26),1 .end test_for1 .align 2 .align 4 .globl test_for2 .ent test_for2 test_for2: .frame $30,0,$26,0 ldah $29,0($27) !gpdisp!2 lda $29,0($29) !gpdisp!2 $test_for2..ng: .prologue 1 lda $1,1($31) mov $31,$8 ldq $7,for_temp($29) !literal stl $1,0($7) ble $17,$L28 cmplt $31,$16,$22 $L26: mov $31,$5 beq $22,$L30 cmplt $31,$18,$6 .align 4 $L25: mov $31,$4 beq $6,$L32 ldl $3,0($7) .align 4 $L24: addl $4,1,$4 lda $2,1($3) cmplt $4,$18,$1 cpys $f31,$f31,$f31 bis $31,$2,$3 bne $1,$L24 stl $2,0($7) $L32: addl $5,1,$5 cmplt $5,$16,$1 bne $1,$L25 $L30: addl $8,1,$8 cmplt $8,$17,$1 bne $1,$L26 $L28: ldl $0,0($7) ret $31,($26),1 .end test_for2 .align 2 .align 4 .globl call_for .ent call_for call_for: .frame $30,0,$26,0 .mask 0x4000600,0 ldah $29,0($27) !gpdisp!3 lda $29,0($29) !gpdisp!3 $call_for..ng: lda $30,-32($30) mov $31,$16 stq $9,8($30) ldq $9,for_val1($29) !literal stq $26,0($30) stq $10,16($30) .prologue 1 bsr $26,$test_for1..ng ldq $10,for_val2($29) !literal lda $16,2($31) ldl $1,0($9) addq $0,$1,$0 stl $0,0($9) bsr $26,$test_for1..ng lda $16,7($31) ldl $1,0($9) addq $0,$1,$0 stl $0,0($9) cpys $f31,$f31,$f31 bsr $26,$test_for1..ng mov $31,$16 mov $31,$17 ldl $1,0($9) mov $31,$18 addq $0,$1,$0 stl $0,0($9) cpys $f31,$f31,$f31 bsr $26,$test_for2..ng mov $31,$18 lda $16,1($31) ldl $1,0($10) mov $31,$17 addq $0,$1,$0 stl $0,0($10) cpys $f31,$f31,$f31 bsr $26,$test_for2..ng mov $31,$18 lda $16,1($31) ldl $1,0($10) lda $17,3($31) addq $0,$1,$0 stl $0,0($10) cpys $f31,$f31,$f31 bsr $26,$test_for2..ng lda $18,1($31) lda $16,1($31) ldl $1,0($10) lda $17,3($31) addq $0,$1,$0 stl $0,0($10) cpys $f31,$f31,$f31 bsr $26,$test_for2..ng lda $18,5($31) lda $16,3($31) ldl $1,0($10) lda $17,1($31) addq $0,$1,$0 stl $0,0($10) cpys $f31,$f31,$f31 bsr $26,$test_for2..ng lda $18,3($31) lda $16,3($31) ldl $1,0($10) lda $17,7($31) addq $0,$1,$0 stl $0,0($10) cpys $f31,$f31,$f31 bsr $26,$test_for2..ng ldq $9,8($30) ldl $1,0($10) ldq $26,0($30) addq $0,$1,$0 stl $0,0($10) ldq $10,16($30) lda $30,32($30) ret $31,($26),1 .end call_for .align 2 .align 4 .globl test_goto1 .ent test_goto1 $test_goto1..ng: test_goto1: .frame $30,0,$26,0 .prologue 0 $L37: cmpult $31,$16,$0 lda $0,1($0) ret $31,($26),1 .end test_goto1 .align 2 .align 4 .globl test_goto2 .ent test_goto2 $test_goto2..ng: test_goto2: .frame $30,0,$26,0 .prologue 0 mov $31,$2 .align 4 $L45: cmpeq $2,$16,$1 addl $2,1,$2 cmple $2,9,$3 cpys $f31,$f31,$f31 lda $0,8($31) bne $1,$L38 lda $0,4($31) bne $3,$L45 $L44: $L38: ret $31,($26),1 .end test_goto2 .align 2 .align 4 .globl call_goto .ent call_goto call_goto: .frame $30,0,$26,0 .mask 0x4000600,0 ldah $29,0($27) !gpdisp!4 lda $29,0($29) !gpdisp!4 $call_goto..ng: lda $30,-32($30) mov $31,$16 stq $9,8($30) ldq $9,goto_val($29) !literal stq $26,0($30) stq $10,16($30) .prologue 1 bsr $26,$test_goto1..ng ldl $1,0($9) lda $16,1($31) cpys $f31,$f31,$f31 addq $0,$1,$10 bsr $26,$test_goto1..ng lda $16,3($31) addq $0,$10,$0 stl $0,0($9) cpys $f31,$f31,$f31 bsr $26,$test_goto2..ng lda $16,30($31) ldl $1,0($9) addq $0,$1,$0 stl $0,0($9) cpys $f31,$f31,$f31 bsr $26,$test_goto2..ng ldq $10,16($30) ldl $1,0($9) ldq $26,0($30) addq $0,$1,$0 stl $0,0($9) ldq $9,8($30) lda $30,32($30) ret $31,($26),1 .end call_goto .align 2 .align 4 .globl test_ifelse1 .ent test_ifelse1 test_ifelse1: .frame $30,0,$26,0 .mask 0x4000600,0 ldah $29,0($27) !gpdisp!5 lda $29,0($29) !gpdisp!5 $test_ifelse1..ng: lda $30,-32($30) stq $9,8($30) mov $16,$9 stq $10,16($30) mov $17,$10 stq $26,0($30) .prologue 1 bis $31,$31,$31 beq $16,$L50 lda $16,4($31) bne $17,$L59 lda $16,1024($31) .align 4 $L59: bsr $26,$do_something..ng cmple $9,$10,$1 bne $1,$L56 addl $0,$0,$16 bsr $26,$do_something..ng $L56: cmple $9,10,$1 bne $1,$L57 cmple $10,10,$1 bne $1,$L57 s4addl $0,0,$16 bsr $26,$do_something..ng .align 4 $L57: ldq $26,0($30) ldq $9,8($30) ldq $10,16($30) lda $30,32($30) ret $31,($26),1 .align 4 $L50: lda $16,1($31) bne $17,$L59 lda $16,2($31) br $31,$L59 .end test_ifelse1 .align 2 .align 4 .globl test_ifelse2 .ent test_ifelse2 test_ifelse2: .frame $30,0,$26,0 .mask 0x4000200,0 ldah $29,0($27) !gpdisp!6 lda $29,0($29) !gpdisp!6 $test_ifelse2..ng: lda $30,-16($30) mov $31,$0 stq $9,8($30) mov $16,$9 stq $26,0($30) .prologue 1 bne $16,$L61 lda $16,1($31) bsr $26,$do_something..ng $L61: cmpeq $9,1,$1 bne $1,$L67 $L62: cmpeq $9,2,$1 bne $1,$L68 $L63: cmpeq $9,3,$1 cpys $f31,$f31,$f31 lda $16,8($31) bne $1,$L66 cmpeq $9,4,$1 bne $1,$L69 ldq $26,0($30) ldq $9,8($30) lda $30,16($30) ret $31,($26),1 .align 4 $L69: lda $16,2048($31) $L66: ldq $26,0($30) ldq $9,8($30) lda $30,16($30) br $31,$do_something..ng .align 4 $L68: lda $16,2($31) bsr $26,$do_something..ng br $31,$L63 .align 4 $L67: lda $16,1024($31) bsr $26,$do_something..ng br $31,$L62 .end test_ifelse2 .align 2 .align 4 .globl test_ifelse3 .ent test_ifelse3 test_ifelse3: .frame $30,0,$26,0 .mask 0x4000600,0 ldah $29,0($27) !gpdisp!7 lda $29,0($29) !gpdisp!7 $test_ifelse3..ng: lda $1,10($31) cmplt $1,$16,$1 cmplt $16,$17,$2 lda $30,-32($30) and $1,$2,$1 stq $9,8($30) lda $0,1($31) stq $10,16($30) mov $16,$9 stq $26,0($30) .prologue 1 mov $17,$10 beq $1,$L71 cmple $17,19,$1 beq $1,$L71 lda $16,16($31) bsr $26,$do_something..ng .align 4 $L71: cmple $9,20,$1 bne $1,$L72 cmple $10,$9,$1 bne $1,$L72 cmple $10,29,$1 beq $1,$L72 lda $16,32($31) bsr $26,$do_something..ng .align 4 $L72: cmpeq $9,3,$1 cmpeq $10,47,$2 bis $1,$2,$1 bne $1,$L76 cmpeq $9,$10,$1 bne $1,$L76 $L75: ldq $26,0($30) ldq $9,8($30) ldq $10,16($30) lda $30,32($30) ret $31,($26),1 .align 4 $L76: lda $16,64($31) bsr $26,$do_something..ng br $31,$L75 .end test_ifelse3 .align 2 .align 4 .globl call_ifelse .ent call_ifelse call_ifelse: .frame $30,0,$26,0 .mask 0x4001e00,0 ldah $29,0($27) !gpdisp!8 lda $29,0($29) !gpdisp!8 $call_ifelse..ng: lda $30,-48($30) mov $31,$16 stq $9,8($30) lda $17,2($31) ldq $9,ifelse_val1($29) !literal stq $26,0($30) stq $10,16($30) stq $11,24($30) stq $12,32($30) .prologue 1 cpys $f31,$f31,$f31 bsr $26,$test_ifelse1..ng ldq $10,ifelse_val2($29) !literal mov $31,$16 ldl $1,0($9) mov $31,$17 ldq $11,ifelse_val3($29) !literal addq $0,$1,$12 bsr $26,$test_ifelse1..ng lda $16,1($31) lda $17,2($31) addq $0,$12,$12 bsr $26,$test_ifelse1..ng lda $16,10($31) lda $17,2($31) addq $0,$12,$12 bsr $26,$test_ifelse1..ng lda $17,11($31) lda $16,11($31) addq $0,$12,$12 bsr $26,$test_ifelse1..ng mov $31,$16 addq $0,$12,$0 stl $0,0($9) cpys $f31,$f31,$f31 bsr $26,$test_ifelse2..ng lda $16,2($31) ldl $1,0($10) bis $31,$31,$31 addq $0,$1,$9 bsr $26,$test_ifelse2..ng lda $16,3($31) addq $0,$9,$1 addq $0,$1,$1 cpys $f31,$f31,$f31 addq $0,$1,$9 bsr $26,$test_ifelse2..ng lda $17,19($31) addq $0,$9,$1 addq $0,$1,$0 stl $0,0($10) lda $16,11($31) cpys $f31,$f31,$f31 bsr $26,$test_ifelse3..ng lda $17,27($31) lda $16,25($31) ldl $1,0($11) addq $0,$1,$9 bsr $26,$test_ifelse3..ng lda $16,11($31) lda $17,22($31) addq $0,$9,$9 bsr $26,$test_ifelse3..ng lda $16,11($31) lda $17,10($31) addq $0,$9,$9 bsr $26,$test_ifelse3..ng lda $16,21($31) lda $17,32($31) addq $0,$9,$9 bsr $26,$test_ifelse3..ng lda $16,21($31) lda $17,20($31) addq $0,$9,$9 bsr $26,$test_ifelse3..ng lda $16,1($31) lda $17,2($31) addq $0,$9,$9 bsr $26,$test_ifelse3..ng lda $16,32($31) lda $17,31($31) addq $0,$9,$9 bsr $26,$test_ifelse3..ng lda $16,3($31) mov $31,$17 addq $0,$9,$9 bsr $26,$test_ifelse3..ng mov $31,$16 lda $17,47($31) addq $0,$9,$9 bsr $26,$test_ifelse3..ng lda $16,65($31) lda $17,65($31) addq $0,$9,$9 bsr $26,$test_ifelse3..ng ldq $26,0($30) bis $31,$31,$31 addq $0,$9,$0 ldq $10,16($30) stl $0,0($11) ldq $9,8($30) ldq $11,24($30) ldq $12,32($30) lda $30,48($30) ret $31,($26),1 .end call_ifelse .align 2 .align 4 .globl test_switch .ent test_switch test_switch: .frame $30,0,$26,0 .mask 0x4000000,0 ldah $29,0($27) !gpdisp!9 lda $29,0($29) !gpdisp!9 $test_switch..ng: lda $30,-16($30) cmpeq $16,2,$1 stq $26,0($30) .prologue 1 bne $1,$L81 cmple $16,2,$1 beq $1,$L87 cmpeq $16,1,$1 bne $1,$L80 $L85: lda $16,32($31) bsr $26,$do_something..ng ldq $2,switch_m($29) !literal ldl $1,0($2) lda $1,1($1) stl $1,0($2) $L79: ldq $26,0($30) lda $30,16($30) ret $31,($26),1 .align 4 $L80: lda $16,2($31) .align 4 $L88: bsr $26,$do_something..ng br $31,$L79 .align 4 $L87: cmple $16,4,$1 beq $1,$L85 cmpeq $17,2,$1 cpys $f31,$f31,$f31 lda $16,8($31) beq $1,$L88 lda $16,4($31) ldq $26,0($30) lda $30,16($30) br $31,$do_something..ng .align 4 $L81: lda $16,1024($31) br $31,$L88 .end test_switch .align 2 .align 4 .globl call_switch .ent call_switch call_switch: .frame $30,0,$26,0 .mask 0x4000200,0 ldah $29,0($27) !gpdisp!10 lda $29,0($29) !gpdisp!10 $call_switch..ng: lda $30,-16($30) lda $16,1($31) stq $9,8($30) mov $31,$17 ldq $9,switch_val($29) !literal stq $26,0($30) .prologue 1 bsr $26,$test_switch..ng mov $31,$17 lda $16,3($31) ldl $1,0($9) addq $0,$1,$0 stl $0,0($9) bsr $26,$test_switch..ng lda $17,2($31) lda $16,3($31) ldl $1,0($9) addq $0,$1,$0 stl $0,0($9) bsr $26,$test_switch..ng mov $31,$17 lda $16,4($31) ldl $1,0($9) addq $0,$1,$0 stl $0,0($9) bsr $26,$test_switch..ng mov $31,$17 lda $16,16($31) ldl $1,0($9) addq $0,$1,$0 stl $0,0($9) bsr $26,$test_switch..ng ldq $26,0($30) ldq $1,switch_m($29) !literal ldl $3,0($9) ldl $2,0($1) addq $0,$3,$0 addq $0,$2,$0 stl $0,0($9) ldq $9,8($30) lda $30,16($30) ret $31,($26),1 .end call_switch .align 2 .align 4 .globl main .ent main main: .frame $30,0,$26,0 .mask 0x4000000,0 ldah $29,0($27) !gpdisp!11 lda $29,0($29) !gpdisp!11 $main..ng: lda $30,-16($30) stq $26,0($30) .prologue 1 bsr $26,$call_for..ng bsr $26,$call_goto..ng bsr $26,$call_ifelse..ng bsr $26,$call_switch..ng ldq $2,for_val1($29) !literal ldl $1,0($2) cmpeq $1,12,$1 beq $1,$L92 ldq $2,for_val2($29) !literal ldl $1,0($2) cmpeq $1,87,$1 bne $1,$L93 $L92: ldq $27,abort($29) !literal!12 jsr $26,($27),abort !lituse_jsr!12 .align 4 $L93: ldq $1,goto_val($29) !literal ldl $2,0($1) cmpeq $2,15,$2 beq $2,$L92 ldq $1,ifelse_val1($29) !literal ldl $2,0($1) cmpeq $2,31,$2 beq $2,$L92 ldq $1,ifelse_val2($29) !literal ldl $2,0($1) cmpeq $2,23,$2 beq $2,$L92 ldq $1,ifelse_val3($29) !literal ldl $2,0($1) cmpeq $2,246,$2 beq $2,$L92 ldq $1,switch_val($29) !literal ldl $2,0($1) cmpeq $2,55,$2 beq $2,$L92 mov $31,$0 ldq $26,0($30) lda $30,16($30) ret $31,($26),1 .end main .comm for_val1,4,4 .comm for_val2,4,4 .comm for_temp,4,4 .comm goto_val,4,4 .comm ifelse_val1,4,4 .comm ifelse_val2,4,4 .comm ifelse_val3,4,4 .comm switch_val,4,4 .comm switch_m,4,4 .ident "GCC: (GNU) 3.3.2"