clddfu.cgs 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. # frv testcase for clddfu @($GRi,$GRj),$FRk,$CCi,$ccond
  2. # mach: all
  3. .include "testutils.inc"
  4. start
  5. .global clddfu
  6. clddfu:
  7. set_spr_immed 0x1b1b,cccr
  8. set_gr_gr sp,gr21
  9. set_mem_limmed 0xdead,0xbeef,sp
  10. inc_gr_immed -4,sp
  11. set_mem_limmed 0xbeef,0xdead,sp
  12. set_gr_gr sp,gr20
  13. set_fr_iimmed 0xdead,0xbeef,fr8
  14. set_fr_iimmed 0xbeef,0xdead,fr9
  15. set_gr_immed 0,gr7
  16. clddfu @(sp,gr7),fr8,cc0,1
  17. test_fr_limmed 0xbeef,0xdead,fr8
  18. test_fr_limmed 0xdead,0xbeef,fr9
  19. test_gr_gr sp,gr20
  20. set_fr_iimmed 0xdead,0xbeef,fr8
  21. set_fr_iimmed 0xbeef,0xdead,fr9
  22. inc_gr_immed -8,sp
  23. set_gr_immed 8,gr7
  24. clddfu @(sp,gr7),fr8,cc0,1
  25. test_fr_limmed 0xbeef,0xdead,fr8
  26. test_fr_limmed 0xdead,0xbeef,fr9
  27. test_gr_gr sp,gr20
  28. set_fr_iimmed 0xdead,0xbeef,fr8
  29. set_fr_iimmed 0xbeef,0xdead,fr9
  30. inc_gr_immed 8,sp
  31. set_gr_immed -8,gr7
  32. clddfu @(sp,gr7),fr8,cc4,1
  33. test_fr_limmed 0xbeef,0xdead,fr8
  34. test_fr_limmed 0xdead,0xbeef,fr9
  35. test_gr_gr sp,gr20
  36. set_gr_gr sp,gr21
  37. set_mem_limmed 0xdead,0xbeef,sp
  38. inc_gr_immed -4,sp
  39. set_mem_limmed 0xbeef,0xdead,sp
  40. set_gr_gr sp,gr20
  41. set_fr_iimmed 0xdead,0xbeef,fr8
  42. set_fr_iimmed 0xbeef,0xdead,fr9
  43. set_gr_immed 0,gr7
  44. clddfu @(sp,gr7),fr8,cc0,0
  45. test_fr_limmed 0xdead,0xbeef,fr8
  46. test_fr_limmed 0xbeef,0xdead,fr9
  47. test_gr_gr sp,gr20
  48. set_fr_iimmed 0xdead,0xbeef,fr8
  49. set_fr_iimmed 0xbeef,0xdead,fr9
  50. inc_gr_immed -8,gr20
  51. inc_gr_immed -8,sp
  52. set_gr_immed 8,gr7
  53. clddfu @(sp,gr7),fr8,cc0,0
  54. test_fr_limmed 0xdead,0xbeef,fr8
  55. test_fr_limmed 0xbeef,0xdead,fr9
  56. test_gr_gr sp,gr20
  57. set_fr_iimmed 0xdead,0xbeef,fr8
  58. set_fr_iimmed 0xbeef,0xdead,fr9
  59. inc_gr_immed 16,gr20
  60. inc_gr_immed 16,sp
  61. set_gr_immed -8,gr7
  62. clddfu @(sp,gr7),fr8,cc4,0
  63. test_fr_limmed 0xdead,0xbeef,fr8
  64. test_fr_limmed 0xbeef,0xdead,fr9
  65. test_gr_gr sp,gr20
  66. set_gr_gr sp,gr21
  67. set_mem_limmed 0xdead,0xbeef,sp
  68. inc_gr_immed -4,sp
  69. set_mem_limmed 0xbeef,0xdead,sp
  70. set_gr_gr sp,gr20
  71. set_fr_iimmed 0xdead,0xbeef,fr8
  72. set_fr_iimmed 0xbeef,0xdead,fr9
  73. set_gr_immed 0,gr7
  74. clddfu @(sp,gr7),fr8,cc1,0
  75. test_fr_limmed 0xbeef,0xdead,fr8
  76. test_fr_limmed 0xdead,0xbeef,fr9
  77. test_gr_gr sp,gr20
  78. set_fr_iimmed 0xdead,0xbeef,fr8
  79. set_fr_iimmed 0xbeef,0xdead,fr9
  80. inc_gr_immed -8,sp
  81. set_gr_immed 8,gr7
  82. clddfu @(sp,gr7),fr8,cc1,0
  83. test_fr_limmed 0xbeef,0xdead,fr8
  84. test_fr_limmed 0xdead,0xbeef,fr9
  85. test_gr_gr sp,gr20
  86. set_fr_iimmed 0xdead,0xbeef,fr8
  87. set_fr_iimmed 0xbeef,0xdead,fr9
  88. inc_gr_immed 8,sp
  89. set_gr_immed -8,gr7
  90. clddfu @(sp,gr7),fr8,cc5,0
  91. test_fr_limmed 0xbeef,0xdead,fr8
  92. test_fr_limmed 0xdead,0xbeef,fr9
  93. test_gr_gr sp,gr20
  94. set_gr_gr sp,gr21
  95. set_mem_limmed 0xdead,0xbeef,sp
  96. inc_gr_immed -4,sp
  97. set_mem_limmed 0xbeef,0xdead,sp
  98. set_gr_gr sp,gr20
  99. set_fr_iimmed 0xdead,0xbeef,fr8
  100. set_fr_iimmed 0xbeef,0xdead,fr9
  101. set_gr_immed 0,gr7
  102. clddfu @(sp,gr7),fr8,cc1,1
  103. test_fr_limmed 0xdead,0xbeef,fr8
  104. test_fr_limmed 0xbeef,0xdead,fr9
  105. test_gr_gr sp,gr20
  106. set_fr_iimmed 0xdead,0xbeef,fr8
  107. set_fr_iimmed 0xbeef,0xdead,fr9
  108. inc_gr_immed -8,gr20
  109. inc_gr_immed -8,sp
  110. set_gr_immed 8,gr7
  111. clddfu @(sp,gr7),fr8,cc1,1
  112. test_fr_limmed 0xdead,0xbeef,fr8
  113. test_fr_limmed 0xbeef,0xdead,fr9
  114. test_gr_gr sp,gr20
  115. set_fr_iimmed 0xdead,0xbeef,fr8
  116. set_fr_iimmed 0xbeef,0xdead,fr9
  117. inc_gr_immed 16,gr20
  118. inc_gr_immed 16,sp
  119. set_gr_immed -8,gr7
  120. clddfu @(sp,gr7),fr8,cc5,1
  121. test_fr_limmed 0xdead,0xbeef,fr8
  122. test_fr_limmed 0xbeef,0xdead,fr9
  123. test_gr_gr sp,gr20
  124. set_gr_gr sp,gr21
  125. set_mem_limmed 0xdead,0xbeef,sp
  126. inc_gr_immed -4,sp
  127. set_mem_limmed 0xbeef,0xdead,sp
  128. set_gr_gr sp,gr20
  129. set_fr_iimmed 0xdead,0xbeef,fr8
  130. set_fr_iimmed 0xbeef,0xdead,fr9
  131. set_gr_immed 0,gr7
  132. clddfu @(sp,gr7),fr8,cc2,0
  133. test_fr_limmed 0xdead,0xbeef,fr8
  134. test_fr_limmed 0xbeef,0xdead,fr9
  135. test_gr_gr sp,gr20
  136. set_fr_iimmed 0xdead,0xbeef,fr8
  137. set_fr_iimmed 0xbeef,0xdead,fr9
  138. inc_gr_immed -8,gr20
  139. inc_gr_immed -8,sp
  140. set_gr_immed 8,gr7
  141. clddfu @(sp,gr7),fr8,cc2,1
  142. test_fr_limmed 0xdead,0xbeef,fr8
  143. test_fr_limmed 0xbeef,0xdead,fr9
  144. test_gr_gr sp,gr20
  145. set_fr_iimmed 0xdead,0xbeef,fr8
  146. set_fr_iimmed 0xbeef,0xdead,fr9
  147. inc_gr_immed 16,gr20
  148. inc_gr_immed 16,sp
  149. set_gr_immed -8,gr7
  150. clddfu @(sp,gr7),fr8,cc6,0
  151. test_fr_limmed 0xdead,0xbeef,fr8
  152. test_fr_limmed 0xbeef,0xdead,fr9
  153. test_gr_gr sp,gr20
  154. set_gr_gr sp,gr21
  155. set_mem_limmed 0xdead,0xbeef,sp
  156. inc_gr_immed -4,sp
  157. set_mem_limmed 0xbeef,0xdead,sp
  158. set_gr_gr sp,gr20
  159. set_fr_iimmed 0xdead,0xbeef,fr8
  160. set_fr_iimmed 0xbeef,0xdead,fr9
  161. set_gr_immed 0,gr7
  162. clddfu @(sp,gr7),fr8,cc3,1
  163. test_fr_limmed 0xdead,0xbeef,fr8
  164. test_fr_limmed 0xbeef,0xdead,fr9
  165. test_gr_gr sp,gr20
  166. set_fr_iimmed 0xdead,0xbeef,fr8
  167. set_fr_iimmed 0xbeef,0xdead,fr9
  168. inc_gr_immed -8,gr20
  169. inc_gr_immed -8,sp
  170. set_gr_immed 8,gr7
  171. clddfu @(sp,gr7),fr8,cc3,0
  172. test_fr_limmed 0xdead,0xbeef,fr8
  173. test_fr_limmed 0xbeef,0xdead,fr9
  174. test_gr_gr sp,gr20
  175. set_fr_iimmed 0xdead,0xbeef,fr8
  176. set_fr_iimmed 0xbeef,0xdead,fr9
  177. inc_gr_immed 16,gr20
  178. inc_gr_immed 16,sp
  179. set_gr_immed -8,gr7
  180. clddfu @(sp,gr7),fr8,cc7,1
  181. test_fr_limmed 0xdead,0xbeef,fr8
  182. test_fr_limmed 0xbeef,0xdead,fr9
  183. test_gr_gr sp,gr20
  184. pass