icache1.s 1.5 KB

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