cstdu.cgs 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. # frv testcase for cstdu $GRk,@($GRi,$GRj),$CCi,$cond
  2. # mach: all
  3. .include "testutils.inc"
  4. start
  5. .global cstdu
  6. cstdu:
  7. set_spr_immed 0x1b1b,cccr
  8. set_mem_limmed 0xbeef,0xdead,sp
  9. inc_gr_immed -4,sp
  10. set_mem_limmed 0xdead,0xbeef,sp
  11. set_gr_gr sp,gr20
  12. set_gr_gr sp,gr21
  13. set_gr_immed 0,gr7
  14. set_gr_limmed 0xbeef,0xdead,gr8
  15. set_gr_limmed 0xdead,0xbeef,gr9
  16. cstdu gr8,@(sp,gr7),cc0,1
  17. test_mem_limmed 0xbeef,0xdead,gr21
  18. inc_gr_immed 4,gr21
  19. test_mem_limmed 0xdead,0xbeef,gr21
  20. test_gr_gr sp,gr20
  21. set_gr_gr gr20,gr21
  22. inc_gr_immed -8,sp
  23. set_gr_immed 8,gr7
  24. set_gr_limmed 0xaaaa,0xaaaa,gr8
  25. set_gr_limmed 0xbbbb,0xbbbb,gr9
  26. cstdu gr8,@(sp,gr7),cc0,1
  27. test_mem_limmed 0xaaaa,0xaaaa,gr21
  28. inc_gr_immed 4,gr21
  29. test_mem_limmed 0xbbbb,0xbbbb,gr21
  30. test_gr_gr sp,gr20
  31. set_gr_gr gr20,gr21
  32. inc_gr_immed 8,sp
  33. set_gr_immed -8,gr7
  34. set_gr_limmed 0xcccc,0xcccc,gr8
  35. set_gr_limmed 0xdddd,0xdddd,gr9
  36. cstdu gr8,@(sp,gr7),cc4,1
  37. test_mem_limmed 0xcccc,0xcccc,gr21
  38. inc_gr_immed 4,gr21
  39. test_mem_limmed 0xdddd,0xdddd,gr21
  40. test_gr_gr sp,gr20
  41. set_gr_gr gr20,gr21
  42. set_gr_gr gr20,sp
  43. set_mem_limmed 0xdead,0xbeef,sp
  44. inc_gr_immed 4,sp
  45. set_mem_limmed 0xbeef,0xdead,sp
  46. inc_gr_immed -4,sp
  47. set_gr_gr sp,gr22
  48. set_gr_immed 0,gr7
  49. set_gr_limmed 0xbeef,0xdead,gr8
  50. set_gr_limmed 0xdead,0xbeef,gr9
  51. cstdu gr8,@(sp,gr7),cc0,0
  52. test_mem_limmed 0xdead,0xbeef,gr21
  53. inc_gr_immed 4,gr21
  54. test_mem_limmed 0xbeef,0xdead,gr21
  55. test_gr_gr sp,gr22
  56. set_gr_gr gr20,gr21
  57. inc_gr_immed -8,sp
  58. set_gr_gr sp,gr22
  59. set_gr_immed 8,gr7
  60. set_gr_limmed 0xaaaa,0xaaaa,gr8
  61. set_gr_limmed 0xbbbb,0xbbbb,gr9
  62. cstdu gr8,@(sp,gr7),cc0,0
  63. test_mem_limmed 0xdead,0xbeef,gr21
  64. inc_gr_immed 4,gr21
  65. test_mem_limmed 0xbeef,0xdead,gr21
  66. test_gr_gr sp,gr22
  67. set_gr_gr gr20,gr21
  68. inc_gr_immed 16,sp
  69. set_gr_gr sp,gr22
  70. set_gr_immed -8,gr7
  71. set_gr_limmed 0xcccc,0xcccc,gr8
  72. set_gr_limmed 0xdddd,0xdddd,gr9
  73. cstdu gr8,@(sp,gr7),cc4,0
  74. test_mem_limmed 0xdead,0xbeef,gr21
  75. inc_gr_immed 4,gr21
  76. test_mem_limmed 0xbeef,0xdead,gr21
  77. test_gr_gr sp,gr22
  78. set_gr_gr gr20,gr21
  79. set_gr_gr gr20,sp
  80. set_mem_limmed 0xdead,0xbeef,sp
  81. inc_gr_immed 4,sp
  82. set_mem_limmed 0xbeef,0xdead,sp
  83. inc_gr_immed -4,sp
  84. set_gr_immed 0,gr7
  85. set_gr_limmed 0xbeef,0xdead,gr8
  86. set_gr_limmed 0xdead,0xbeef,gr9
  87. cstdu gr8,@(sp,gr7),cc1,0
  88. test_mem_limmed 0xbeef,0xdead,gr21
  89. inc_gr_immed 4,gr21
  90. test_mem_limmed 0xdead,0xbeef,gr21
  91. test_gr_gr sp,gr20
  92. set_gr_gr gr20,gr21
  93. inc_gr_immed -8,sp
  94. set_gr_immed 8,gr7
  95. set_gr_limmed 0xaaaa,0xaaaa,gr8
  96. set_gr_limmed 0xbbbb,0xbbbb,gr9
  97. cstdu gr8,@(sp,gr7),cc1,0
  98. test_mem_limmed 0xaaaa,0xaaaa,gr21
  99. inc_gr_immed 4,gr21
  100. test_mem_limmed 0xbbbb,0xbbbb,gr21
  101. test_gr_gr sp,gr20
  102. set_gr_gr gr20,gr21
  103. inc_gr_immed 8,sp
  104. set_gr_immed -8,gr7
  105. set_gr_limmed 0xcccc,0xcccc,gr8
  106. set_gr_limmed 0xdddd,0xdddd,gr9
  107. cstdu gr8,@(sp,gr7),cc5,0
  108. test_mem_limmed 0xcccc,0xcccc,gr21
  109. inc_gr_immed 4,gr21
  110. test_mem_limmed 0xdddd,0xdddd,gr21
  111. test_gr_gr sp,gr20
  112. set_gr_gr gr20,gr21
  113. set_gr_gr gr20,sp
  114. set_mem_limmed 0xdead,0xbeef,sp
  115. inc_gr_immed 4,sp
  116. set_mem_limmed 0xbeef,0xdead,sp
  117. inc_gr_immed -4,sp
  118. set_gr_gr sp,gr22
  119. set_gr_immed 0,gr7
  120. set_gr_limmed 0xbeef,0xdead,gr8
  121. set_gr_limmed 0xdead,0xbeef,gr9
  122. cstdu gr8,@(sp,gr7),cc1,1
  123. test_mem_limmed 0xdead,0xbeef,gr21
  124. inc_gr_immed 4,gr21
  125. test_mem_limmed 0xbeef,0xdead,gr21
  126. test_gr_gr sp,gr22
  127. set_gr_gr gr20,gr21
  128. inc_gr_immed -8,sp
  129. set_gr_gr sp,gr22
  130. set_gr_immed 8,gr7
  131. set_gr_limmed 0xaaaa,0xaaaa,gr8
  132. set_gr_limmed 0xbbbb,0xbbbb,gr9
  133. cstdu gr8,@(sp,gr7),cc1,1
  134. test_mem_limmed 0xdead,0xbeef,gr21
  135. inc_gr_immed 4,gr21
  136. test_mem_limmed 0xbeef,0xdead,gr21
  137. test_gr_gr sp,gr22
  138. set_gr_gr gr20,gr21
  139. inc_gr_immed 16,sp
  140. set_gr_gr sp,gr22
  141. set_gr_immed -8,gr7
  142. set_gr_limmed 0xcccc,0xcccc,gr8
  143. set_gr_limmed 0xdddd,0xdddd,gr9
  144. cstdu gr8,@(sp,gr7),cc5,1
  145. test_mem_limmed 0xdead,0xbeef,gr21
  146. inc_gr_immed 4,gr21
  147. test_mem_limmed 0xbeef,0xdead,gr21
  148. test_gr_gr sp,gr22
  149. set_gr_gr gr20,gr21
  150. set_gr_gr gr20,sp
  151. set_mem_limmed 0xdead,0xbeef,sp
  152. inc_gr_immed 4,sp
  153. set_mem_limmed 0xbeef,0xdead,sp
  154. inc_gr_immed -4,sp
  155. set_gr_gr sp,gr22
  156. set_gr_immed 0,gr7
  157. set_gr_limmed 0xbeef,0xdead,gr8
  158. set_gr_limmed 0xdead,0xbeef,gr9
  159. cstdu gr8,@(sp,gr7),cc2,0
  160. test_mem_limmed 0xdead,0xbeef,gr21
  161. inc_gr_immed 4,gr21
  162. test_mem_limmed 0xbeef,0xdead,gr21
  163. test_gr_gr sp,gr22
  164. set_gr_gr gr20,gr21
  165. inc_gr_immed -8,sp
  166. set_gr_gr sp,gr22
  167. set_gr_immed 8,gr7
  168. set_gr_limmed 0xaaaa,0xaaaa,gr8
  169. set_gr_limmed 0xbbbb,0xbbbb,gr9
  170. cstdu gr8,@(sp,gr7),cc2,1
  171. test_mem_limmed 0xdead,0xbeef,gr21
  172. inc_gr_immed 4,gr21
  173. test_mem_limmed 0xbeef,0xdead,gr21
  174. test_gr_gr sp,gr22
  175. set_gr_gr gr20,gr21
  176. inc_gr_immed 16,sp
  177. set_gr_gr sp,gr22
  178. set_gr_immed -8,gr7
  179. set_gr_limmed 0xcccc,0xcccc,gr8
  180. set_gr_limmed 0xdddd,0xdddd,gr9
  181. cstdu gr8,@(sp,gr7),cc6,0
  182. test_mem_limmed 0xdead,0xbeef,gr21
  183. inc_gr_immed 4,gr21
  184. test_mem_limmed 0xbeef,0xdead,gr21
  185. test_gr_gr sp,gr22
  186. set_gr_gr gr20,gr21
  187. set_gr_gr gr20,sp
  188. set_mem_limmed 0xdead,0xbeef,sp
  189. inc_gr_immed 4,sp
  190. set_mem_limmed 0xbeef,0xdead,sp
  191. inc_gr_immed -4,sp
  192. set_gr_gr sp,gr22
  193. set_gr_immed 0,gr7
  194. set_gr_limmed 0xbeef,0xdead,gr8
  195. set_gr_limmed 0xdead,0xbeef,gr9
  196. cstdu gr8,@(sp,gr7),cc3,1
  197. test_mem_limmed 0xdead,0xbeef,gr21
  198. inc_gr_immed 4,gr21
  199. test_mem_limmed 0xbeef,0xdead,gr21
  200. test_gr_gr sp,gr22
  201. set_gr_gr gr20,gr21
  202. inc_gr_immed -8,sp
  203. set_gr_gr sp,gr22
  204. set_gr_immed 8,gr7
  205. set_gr_limmed 0xaaaa,0xaaaa,gr8
  206. set_gr_limmed 0xbbbb,0xbbbb,gr9
  207. cstdu gr8,@(sp,gr7),cc3,0
  208. test_mem_limmed 0xdead,0xbeef,gr21
  209. inc_gr_immed 4,gr21
  210. test_mem_limmed 0xbeef,0xdead,gr21
  211. test_gr_gr sp,gr22
  212. set_gr_gr gr20,gr21
  213. inc_gr_immed 16,sp
  214. set_gr_gr sp,gr22
  215. set_gr_immed -8,gr7
  216. set_gr_limmed 0xcccc,0xcccc,gr8
  217. set_gr_limmed 0xdddd,0xdddd,gr9
  218. cstdu gr8,@(sp,gr7),cc7,1
  219. test_mem_limmed 0xdead,0xbeef,gr21
  220. inc_gr_immed 4,gr21
  221. test_mem_limmed 0xbeef,0xdead,gr21
  222. test_gr_gr sp,gr22
  223. pass