.set noat .set noreorder .set nomacro .text .align 2 .align 4 .globl test1 .ent test1 $test1..ng: test1: .frame $30,0,$26,0 .prologue 0 mov $26,$0 ret $31,($26),1 .end test1 .align 2 .align 4 .globl test2 .ent test2 test2: .frame $30,0,$26,0 .mask 0x4000400,0 ldah $29,0($27) !gpdisp!1 lda $29,0($29) !gpdisp!1 $test2..ng: lda $30,-16($30) ldq $27,dummy($29) !literal!2 stq $10,8($30) mov $26,$10 stq $26,0($30) .prologue 1 jsr $26,($27),dummy !lituse_jsr!2 ldah $29,0($26) !gpdisp!3 mov $10,$0 ldq $26,0($30) bis $31,$31,$31 lda $29,0($29) !gpdisp!3 ldq $10,8($30) lda $30,16($30) ret $31,($26),1 .end test2 .align 2 .align 4 .globl test3 .ent test3 test3: .frame $30,0,$26,0 .mask 0x4000400,0 ldah $29,0($27) !gpdisp!4 lda $29,0($29) !gpdisp!4 $test3..ng: lda $30,-16($30) ldq $27,dummy($29) !literal!5 stq $10,8($30) mov $26,$10 stq $26,0($30) .prologue 1 jsr $26,($27),dummy !lituse_jsr!5 ldah $29,0($26) !gpdisp!6 mov $10,$0 ldq $26,0($30) bis $31,$31,$31 lda $29,0($29) !gpdisp!6 ldq $10,8($30) lda $30,16($30) ret $31,($26),1 .end test3 .align 2 .align 4 .globl test4 .ent test4 test4: .frame $15,0,$26,0 .mask 0x4008000,0 ldah $29,0($27) !gpdisp!7 lda $29,0($29) !gpdisp!7 $test4..ng: lda $30,-16($30) ldq $27,test4a($29) !literal!8 stq $15,8($30) mov $30,$15 stq $26,0($30) .prologue 1 lda $30,-24($30) lda $16,15($30) bic $16,15,$16 jsr $26,($27),test4a !lituse_jsr!8 ldah $29,0($26) !gpdisp!9 mov $15,$30 lda $29,0($29) !gpdisp!9 ldq $26,0($30) ldq $15,8($30) lda $30,16($30) ret $31,($26),1 .end test4 .align 2 .align 4 .globl test4a .ent test4a $test4a..ng: test4a: .frame $30,0,$26,0 .prologue 0 mov $31,$0 ret $31,($26),1 .end test4a .align 2 .align 4 .globl test5 .ent test5 test5: .frame $15,0,$26,0 .mask 0x4008000,0 ldah $29,0($27) !gpdisp!10 lda $29,0($29) !gpdisp!10 $test5..ng: lda $30,-16($30) ldq $27,test5a($29) !literal!11 stq $15,8($30) mov $30,$15 stq $26,0($30) .prologue 1 lda $30,-24($30) lda $16,15($30) bic $16,15,$16 jsr $26,($27),test5a !lituse_jsr!11 ldah $29,0($26) !gpdisp!12 mov $15,$30 lda $29,0($29) !gpdisp!12 ldq $26,0($30) ldq $15,8($30) lda $30,16($30) ret $31,($26),1 .end test5 .align 2 .align 4 .globl test5a .ent test5a test5a: .frame $30,0,$26,0 .mask 0x4000000,0 ldah $29,0($27) !gpdisp!13 lda $29,0($29) !gpdisp!13 $test5a..ng: lda $30,-16($30) ldq $27,dummy($29) !literal!14 stq $26,0($30) .prologue 1 jsr $26,($27),dummy !lituse_jsr!14 ldah $29,0($26) !gpdisp!15 mov $31,$0 lda $29,0($29) !gpdisp!15 ldq $26,0($30) lda $30,16($30) ret $31,($26),1 .end test5a .align 2 .align 4 .globl test6 .ent test6 test6: .frame $15,0,$26,0 .mask 0x4008000,0 ldah $29,0($27) !gpdisp!16 lda $29,0($29) !gpdisp!16 $test6..ng: lda $30,-16($30) ldq $27,test6a($29) !literal!17 stq $15,8($30) mov $30,$15 stq $26,0($30) .prologue 1 lda $30,-24($30) lda $16,15($30) bic $16,15,$16 jsr $26,($27),test6a !lituse_jsr!17 ldah $29,0($26) !gpdisp!18 mov $15,$30 lda $29,0($29) !gpdisp!18 ldq $26,0($30) ldq $15,8($30) lda $30,16($30) ret $31,($26),1 .end test6 .align 2 .align 4 .globl test6a .ent test6a test6a: .frame $30,0,$26,0 .mask 0x4000000,0 ldah $29,0($27) !gpdisp!19 lda $29,0($29) !gpdisp!19 $test6a..ng: lda $30,-16($30) ldq $27,dummy($29) !literal!20 stq $26,0($30) .prologue 1 jsr $26,($27),dummy !lituse_jsr!20 ldah $29,0($26) !gpdisp!21 mov $31,$0 lda $29,0($29) !gpdisp!21 ldq $26,0($30) lda $30,16($30) ret $31,($26),1 .end test6a .globl func1 .data .align 3 .type func1, @object .size func1, 48 func1: .quad test1 .quad test2 .quad test3 .quad test4 .quad test5 .quad test6 .text .align 2 .align 4 .globl call_func1 .ent call_func1 call_func1: .frame $30,0,$26,0 .mask 0x4000200,0 ldah $29,0($27) !gpdisp!22 lda $29,0($29) !gpdisp!22 $call_func1..ng: lda $30,-16($30) ldah $1,func1($29) !gprelhigh ldq $2,save_ret1($29) !literal stq $9,8($30) lda $1,func1($1) !gprellow s8addq $16,0,$9 stq $26,0($30) .prologue 1 addq $9,$1,$1 addq $9,$2,$9 ldq $27,0($1) jsr $26,($27),0 ldah $29,0($26) !gpdisp!23 stq $0,0($9) lda $29,0($29) !gpdisp!23 ldq $26,0($30) ldq $9,8($30) lda $30,16($30) ret $31,($26),1 .end call_func1 .align 2 .align 4 .globl test7 .ent test7 test7: .frame $30,0,$26,0 ldah $29,0($27) !gpdisp!24 lda $29,0($29) !gpdisp!24 $test7..ng: .prologue 1 ldah $1,ret_addr($29) !gprelhigh stq $26,ret_addr($1) !gprellow ret $31,($26),1 .end test7 .align 2 .align 4 .globl test8 .ent test8 test8: .frame $30,0,$26,0 .mask 0x4000200,0 ldah $29,0($27) !gpdisp!25 lda $29,0($29) !gpdisp!25 $test8..ng: lda $30,-16($30) ldq $27,dummy($29) !literal!26 stq $9,8($30) mov $26,$9 stq $26,0($30) .prologue 1 jsr $26,($27),dummy !lituse_jsr!26 ldah $29,0($26) !gpdisp!27 lda $29,0($29) !gpdisp!27 ldah $1,ret_addr($29) !gprelhigh ldq $26,0($30) stq $9,ret_addr($1) !gprellow ldq $9,8($30) lda $30,16($30) ret $31,($26),1 .end test8 .align 2 .align 4 .globl test9 .ent test9 test9: .frame $30,0,$26,0 .mask 0x4000000,0 ldah $29,0($27) !gpdisp!28 lda $29,0($29) !gpdisp!28 $test9..ng: lda $30,-16($30) ldah $1,ret_addr($29) !gprelhigh ldq $27,dummy($29) !literal!29 stq $26,0($30) .prologue 1 stq $26,ret_addr($1) !gprellow jsr $26,($27),dummy !lituse_jsr!29 ldah $29,0($26) !gpdisp!30 lda $29,0($29) !gpdisp!30 ldq $26,0($30) lda $30,16($30) ret $31,($26),1 .end test9 .align 2 .align 4 .globl test10 .ent test10 test10: .frame $15,0,$26,0 .mask 0x4008000,0 ldah $29,0($27) !gpdisp!31 lda $29,0($29) !gpdisp!31 $test10..ng: lda $30,-16($30) ldq $27,test10a($29) !literal!32 stq $15,8($30) mov $30,$15 stq $26,0($30) .prologue 1 lda $30,-24($30) lda $16,15($30) bic $16,15,$16 jsr $26,($27),test10a !lituse_jsr!32 ldah $29,0($26) !gpdisp!33 mov $15,$30 lda $29,0($29) !gpdisp!33 ldq $26,0($30) ldq $15,8($30) lda $30,16($30) ret $31,($26),1 .end test10 .align 2 .align 4 .globl test10a .ent test10a test10a: .frame $30,0,$26,0 ldah $29,0($27) !gpdisp!34 lda $29,0($29) !gpdisp!34 $test10a..ng: .prologue 1 ldah $1,ret_addr($29) !gprelhigh stq $31,ret_addr($1) !gprellow ret $31,($26),1 .end test10a .align 2 .align 4 .globl test11 .ent test11 test11: .frame $15,0,$26,0 .mask 0x4008000,0 ldah $29,0($27) !gpdisp!35 lda $29,0($29) !gpdisp!35 $test11..ng: lda $30,-16($30) ldq $27,test11a($29) !literal!36 stq $15,8($30) mov $30,$15 stq $26,0($30) .prologue 1 lda $30,-24($30) lda $16,15($30) bic $16,15,$16 jsr $26,($27),test11a !lituse_jsr!36 ldah $29,0($26) !gpdisp!37 mov $15,$30 lda $29,0($29) !gpdisp!37 ldq $26,0($30) ldq $15,8($30) lda $30,16($30) ret $31,($26),1 .end test11 .align 2 .align 4 .globl test11a .ent test11a test11a: .frame $30,0,$26,0 .mask 0x4000000,0 ldah $29,0($27) !gpdisp!38 lda $29,0($29) !gpdisp!38 $test11a..ng: lda $30,-16($30) ldq $27,dummy($29) !literal!39 stq $26,0($30) .prologue 1 jsr $26,($27),dummy !lituse_jsr!39 ldah $29,0($26) !gpdisp!40 lda $29,0($29) !gpdisp!40 ldah $1,ret_addr($29) !gprelhigh ldq $26,0($30) stq $31,ret_addr($1) !gprellow lda $30,16($30) ret $31,($26),1 .end test11a .align 2 .align 4 .globl test12 .ent test12 test12: .frame $15,0,$26,0 .mask 0x4008000,0 ldah $29,0($27) !gpdisp!41 lda $29,0($29) !gpdisp!41 $test12..ng: lda $30,-16($30) ldq $27,test12a($29) !literal!42 stq $15,8($30) mov $30,$15 stq $26,0($30) .prologue 1 lda $30,-24($30) lda $16,15($30) bic $16,15,$16 jsr $26,($27),test12a !lituse_jsr!42 ldah $29,0($26) !gpdisp!43 mov $15,$30 lda $29,0($29) !gpdisp!43 ldq $26,0($30) ldq $15,8($30) lda $30,16($30) ret $31,($26),1 .end test12 .align 2 .align 4 .globl test12a .ent test12a test12a: .frame $30,0,$26,0 .mask 0x4000000,0 ldah $29,0($27) !gpdisp!44 lda $29,0($29) !gpdisp!44 $test12a..ng: lda $30,-16($30) ldah $1,ret_addr($29) !gprelhigh ldq $27,dummy($29) !literal!45 stq $26,0($30) .prologue 1 stq $31,ret_addr($1) !gprellow jsr $26,($27),dummy !lituse_jsr!45 ldah $29,0($26) !gpdisp!46 lda $29,0($29) !gpdisp!46 ldq $26,0($30) lda $30,16($30) ret $31,($26),1 .end test12a .align 2 .align 4 .globl dummy .ent dummy $dummy..ng: dummy: .frame $15,0,$26,0 .mask 0x4008000,0 lda $30,-16($30) stq $26,0($30) stq $15,8($30) mov $30,$15 .prologue 0 lda $30,-24($30) lda $0,15($30) mov $15,$30 bic $0,15,$0 ldq $26,0($30) ldq $15,8($30) lda $30,16($30) ret $31,($26),1 .end dummy .globl func2 .data .align 3 .type func2, @object .size func2, 48 func2: .quad test7 .quad test8 .quad test9 .quad test10 .quad test11 .quad test12 .text .align 2 .align 4 .globl call_func2 .ent call_func2 call_func2: .frame $30,0,$26,0 .mask 0x4000200,0 ldah $29,0($27) !gpdisp!47 lda $29,0($29) !gpdisp!47 $call_func2..ng: lda $30,-16($30) ldah $1,func2($29) !gprelhigh stq $9,8($30) lda $1,func2($1) !gprellow s8addq $16,0,$9 stq $26,0($30) .prologue 1 addq $9,$1,$1 ldq $27,0($1) jsr $26,($27),0 ldah $29,0($26) !gpdisp!48 lda $29,0($29) !gpdisp!48 cpys $f31,$f31,$f31 ldah $1,ret_addr($29) !gprelhigh ldq $26,0($30) ldq $2,save_ret2($29) !literal ldq $3,ret_addr($1) !gprellow addq $9,$2,$9 stq $3,0($9) ldq $9,8($30) lda $30,16($30) ret $31,($26),1 .end call_func2 .align 2 .align 4 .globl main .ent main main: .frame $30,0,$26,0 .mask 0x4000200,0 ldah $29,0($27) !gpdisp!49 lda $29,0($29) !gpdisp!49 $main..ng: lda $30,-16($30) stq $9,8($30) mov $31,$9 stq $26,0($30) .prologue 1 .align 4 $L27: mov $9,$16 cpys $f31,$f31,$f31 bsr $26,$call_func1..ng addl $9,1,$9 cmple $9,5,$1 bne $1,$L27 ldq $3,save_ret1($29) !literal ldq $2,0($3) ldq $1,8($3) cmpeq $2,$1,$1 beq $1,$L47 ldq $1,16($3) cmpeq $2,$1,$1 bne $1,$L48 $L47: ldq $27,abort($29) !literal!51 jsr $26,($27),abort !lituse_jsr!51 $L48: ldq $4,24($3) ldq $1,32($3) cmpeq $4,$1,$1 beq $1,$L47 ldq $1,40($3) cmpeq $4,$1,$1 beq $1,$L47 beq $4,$L32 cmpeq $2,$4,$1 beq $1,$L47 $L32: mov $31,$9 $L37: mov $9,$16 bsr $26,$call_func2..ng addl $9,1,$9 cmple $9,5,$1 bne $1,$L37 ldq $3,save_ret2($29) !literal ldq $2,0($3) ldq $1,8($3) cmpeq $2,$1,$1 beq $1,$L47 ldq $1,16($3) cmpeq $2,$1,$1 beq $1,$L47 ldq $4,24($3) ldq $1,32($3) cmpeq $4,$1,$1 beq $1,$L47 ldq $1,40($3) cmpeq $4,$1,$1 beq $1,$L47 beq $4,$L42 cmpeq $2,$4,$1 beq $1,$L47 $L42: mov $31,$16 ldq $27,exit($29) !literal!50 jsr $26,($27),exit !lituse_jsr!50 .end main .comm save_ret1,48,8 .section .sbss,"aw" .type ret_addr, @object .size ret_addr, 8 .align 3 ret_addr: .zero 8 .comm save_ret2,48,8 .ident "GCC: (GNU) 3.3.2"