1 .text 2 .globl _start 3 .type _start,@function 4 _start: 5 ilhu $3,f5@h 6 iohl $3,f5@l 7 br f1 8 9 .data 10 .word f1, f2, f3, f4 11 12 .section ".f1.part1","ax",@progbits 13 .globl f1 14 .type f1,@function 15 f1: 16 nop 17 stqd $0,16($1) 18 ai $1,$1,-64 19 stqd $1,0($1) 20 brsl $0,f2 21 brsl $0,f3 22 .fill 800 23 br .Lf1.part2 24 .size f1,.-f1 25 26 .section ".f1.part2","ax",@progbits 27 .Lf1.part2: 28 ai $1,$1,64 29 lqd $0,16($1) 30 bi $0 31 .fill 800 32 .size .Lf1.part2,.-.Lf1.part2 33 34 .section ".f2.part1","ax",@progbits 35 .globl f2 36 .type f2,@function 37 f2: 38 ai $1,$1,-128 39 stqd $1,0($1) 40 .fill 512 41 ai $1,$1,128 42 bi $0 43 .size f2,.-f2 44 45 .section ".f3.part1","ax",@progbits 46 .type f3,@function 47 f3: 48 .fill 256 49 bi $0 50 .size f3,.-f3 51 52 .section ".f4.part1","ax",@progbits 53 .type f4,@function 54 f4: 55 stqd $(0),16($1) 56 stqd $1,-512($1) 57 ai $1,$1,-512 58 brasl $0,f2 59 .fill 800 60 br .Lf4.part2 61 .size f4,.-f4 62 63 .section ".f4.part2","ax",@progbits 64 .Lf4.part2: 65 #alloca 66 ilhu $3,-4000@h 67 iohl $3,-4000@l 68 a $4,$1,$3 69 lnop 70 ori $1,$4,0 71 stqd $4,0($4) 72 brsl $0,f5 73 #recursion 74 brsl $0,f4 75 lqd $1,0($1) 76 .fill 800 77 br .Lf4.part3 78 .size .Lf4.part2,.-.Lf4.part2 79 80 .section ".f4.part3","ax",@progbits 81 .Lf4.part3: 82 #recursion 83 brasl $0,f4 84 brsl $0,f4 85 .fill 800 86 br .Lf4.part4 87 .size .Lf4.part3,.-.Lf4.part3 88 89 .section ".f4.part4","ax",@progbits 90 .Lf4.part4: 91 .fill 800 92 ila $3,512 93 a $1,$1,$3 94 lqd $0,16($1) 95 #sibling call 96 bra f5 97 .size .Lf4.part4,.-.Lf4.part4 98 99 .section ".f5.part1","ax",@progbits 100 .type f5,@function 101 f5: 102 stqd $(0),16($1) 103 stqd $1,-512($1) 104 ai $1,$1,-512 105 brsl $0,f5 106 .fill 800 107 ila $3,512 108 a $1,$1,$3 109 lqd $0,16($1) 110 bi $0 111 .size f5,.-f5 112