cldqu.cgs 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318
  1. # frv testcase for cldqu @($GRi,$GRj),$GRk,$CCi,$cond
  2. # mach: frv
  3. # as(frv): -mcpu=frv
  4. .include "testutils.inc"
  5. start
  6. .global cldqu
  7. cldqu:
  8. set_spr_immed 0x1b1b,cccr
  9. set_gr_gr sp,gr21
  10. set_mem_limmed 0xdead,0xbeef,sp
  11. inc_gr_immed -4,sp
  12. set_mem_limmed 0xbeef,0xdead,sp
  13. inc_gr_immed -4,sp
  14. set_mem_limmed 0x1234,0x5678,sp
  15. inc_gr_immed -4,sp
  16. set_mem_limmed 0x9abc,0xdef0,sp
  17. set_gr_gr sp,gr20
  18. set_gr_limmed 0xdead,0xbeef,gr8
  19. set_gr_limmed 0xbeef,0xdead,gr9
  20. set_gr_limmed 0x1234,0x5678,gr10
  21. set_gr_limmed 0x9abc,0xdef0,gr11
  22. set_gr_immed 0,gr7
  23. cldqu @(sp,gr7),gr8,cc0,1
  24. test_gr_limmed 0x9abc,0xdef0,gr8
  25. test_gr_limmed 0x1234,0x5678,gr9
  26. test_gr_limmed 0xbeef,0xdead,gr10
  27. test_gr_limmed 0xdead,0xbeef,gr11
  28. test_gr_gr sp,gr20
  29. set_gr_limmed 0xdead,0xbeef,gr8
  30. set_gr_limmed 0xbeef,0xdead,gr9
  31. set_gr_limmed 0x1234,0x5678,gr10
  32. set_gr_limmed 0x9abc,0xdef0,gr11
  33. inc_gr_immed -16,sp
  34. set_gr_immed 16,gr7
  35. cldqu @(sp,gr7),gr8,cc0,1
  36. test_gr_limmed 0x9abc,0xdef0,gr8
  37. test_gr_limmed 0x1234,0x5678,gr9
  38. test_gr_limmed 0xbeef,0xdead,gr10
  39. test_gr_limmed 0xdead,0xbeef,gr11
  40. test_gr_gr sp,gr20
  41. set_gr_limmed 0xdead,0xbeef,gr8
  42. set_gr_limmed 0xbeef,0xdead,gr9
  43. set_gr_limmed 0x1234,0x5678,gr10
  44. set_gr_limmed 0x9abc,0xdef0,gr11
  45. inc_gr_immed 16,sp
  46. set_gr_immed -16,gr7
  47. cldqu @(sp,gr7),gr8,cc4,1
  48. test_gr_limmed 0x9abc,0xdef0,gr8
  49. test_gr_limmed 0x1234,0x5678,gr9
  50. test_gr_limmed 0xbeef,0xdead,gr10
  51. test_gr_limmed 0xdead,0xbeef,gr11
  52. test_gr_gr sp,gr20
  53. set_gr_gr gr21,sp
  54. set_mem_limmed 0xdead,0xbeef,sp
  55. inc_gr_immed -4,sp
  56. set_mem_limmed 0xbeef,0xdead,sp
  57. inc_gr_immed -4,sp
  58. set_mem_limmed 0x1234,0x5678,sp
  59. inc_gr_immed -4,sp
  60. set_mem_limmed 0x9abc,0xdef0,sp
  61. set_gr_gr sp,gr20
  62. set_gr_limmed 0xdead,0xbeef,gr8
  63. set_gr_limmed 0xbeef,0xdead,gr9
  64. set_gr_limmed 0x1234,0x5678,gr10
  65. set_gr_limmed 0x9abc,0xdef0,gr11
  66. set_gr_immed 0,gr7
  67. cldqu @(sp,gr7),gr8,cc0,0
  68. test_gr_limmed 0xdead,0xbeef,gr8
  69. test_gr_limmed 0xbeef,0xdead,gr9
  70. test_gr_limmed 0x1234,0x5678,gr10
  71. test_gr_limmed 0x9abc,0xdef0,gr11
  72. test_gr_gr sp,gr20
  73. set_gr_limmed 0xdead,0xbeef,gr8
  74. set_gr_limmed 0xbeef,0xdead,gr9
  75. set_gr_limmed 0x1234,0x5678,gr10
  76. set_gr_limmed 0x9abc,0xdef0,gr11
  77. inc_gr_immed -16,gr20
  78. inc_gr_immed -16,sp
  79. set_gr_immed 16,gr7
  80. cldqu @(sp,gr7),gr8,cc0,0
  81. test_gr_limmed 0xdead,0xbeef,gr8
  82. test_gr_limmed 0xbeef,0xdead,gr9
  83. test_gr_limmed 0x1234,0x5678,gr10
  84. test_gr_limmed 0x9abc,0xdef0,gr11
  85. test_gr_gr sp,gr20
  86. set_gr_limmed 0xdead,0xbeef,gr8
  87. set_gr_limmed 0xbeef,0xdead,gr9
  88. set_gr_limmed 0x1234,0x5678,gr10
  89. set_gr_limmed 0x9abc,0xdef0,gr11
  90. inc_gr_immed 32,gr20
  91. inc_gr_immed 32,sp
  92. set_gr_immed -16,gr7
  93. cldqu @(sp,gr7),gr8,cc4,0
  94. test_gr_limmed 0xdead,0xbeef,gr8
  95. test_gr_limmed 0xbeef,0xdead,gr9
  96. test_gr_limmed 0x1234,0x5678,gr10
  97. test_gr_limmed 0x9abc,0xdef0,gr11
  98. test_gr_gr sp,gr20
  99. set_gr_gr gr21,sp
  100. set_mem_limmed 0xdead,0xbeef,sp
  101. inc_gr_immed -4,sp
  102. set_mem_limmed 0xbeef,0xdead,sp
  103. inc_gr_immed -4,sp
  104. set_mem_limmed 0x1234,0x5678,sp
  105. inc_gr_immed -4,sp
  106. set_mem_limmed 0x9abc,0xdef0,sp
  107. set_gr_gr sp,gr20
  108. set_gr_limmed 0xdead,0xbeef,gr8
  109. set_gr_limmed 0xbeef,0xdead,gr9
  110. set_gr_limmed 0x1234,0x5678,gr10
  111. set_gr_limmed 0x9abc,0xdef0,gr11
  112. set_gr_immed 0,gr7
  113. cldqu @(sp,gr7),gr8,cc1,0
  114. test_gr_limmed 0x9abc,0xdef0,gr8
  115. test_gr_limmed 0x1234,0x5678,gr9
  116. test_gr_limmed 0xbeef,0xdead,gr10
  117. test_gr_limmed 0xdead,0xbeef,gr11
  118. test_gr_gr sp,gr20
  119. set_gr_limmed 0xdead,0xbeef,gr8
  120. set_gr_limmed 0xbeef,0xdead,gr9
  121. set_gr_limmed 0x1234,0x5678,gr10
  122. set_gr_limmed 0x9abc,0xdef0,gr11
  123. inc_gr_immed -16,sp
  124. set_gr_immed 16,gr7
  125. cldqu @(sp,gr7),gr8,cc1,0
  126. test_gr_limmed 0x9abc,0xdef0,gr8
  127. test_gr_limmed 0x1234,0x5678,gr9
  128. test_gr_limmed 0xbeef,0xdead,gr10
  129. test_gr_limmed 0xdead,0xbeef,gr11
  130. test_gr_gr sp,gr20
  131. set_gr_limmed 0xdead,0xbeef,gr8
  132. set_gr_limmed 0xbeef,0xdead,gr9
  133. set_gr_limmed 0x1234,0x5678,gr10
  134. set_gr_limmed 0x9abc,0xdef0,gr11
  135. inc_gr_immed 16,sp
  136. set_gr_immed -16,gr7
  137. cldqu @(sp,gr7),gr8,cc5,0
  138. test_gr_limmed 0x9abc,0xdef0,gr8
  139. test_gr_limmed 0x1234,0x5678,gr9
  140. test_gr_limmed 0xbeef,0xdead,gr10
  141. test_gr_limmed 0xdead,0xbeef,gr11
  142. test_gr_gr sp,gr20
  143. set_gr_gr gr21,sp
  144. set_mem_limmed 0xdead,0xbeef,sp
  145. inc_gr_immed -4,sp
  146. set_mem_limmed 0xbeef,0xdead,sp
  147. inc_gr_immed -4,sp
  148. set_mem_limmed 0x1234,0x5678,sp
  149. inc_gr_immed -4,sp
  150. set_mem_limmed 0x9abc,0xdef0,sp
  151. set_gr_gr sp,gr20
  152. set_gr_limmed 0xdead,0xbeef,gr8
  153. set_gr_limmed 0xbeef,0xdead,gr9
  154. set_gr_limmed 0x1234,0x5678,gr10
  155. set_gr_limmed 0x9abc,0xdef0,gr11
  156. set_gr_immed 0,gr7
  157. cldqu @(sp,gr7),gr8,cc1,1
  158. test_gr_limmed 0xdead,0xbeef,gr8
  159. test_gr_limmed 0xbeef,0xdead,gr9
  160. test_gr_limmed 0x1234,0x5678,gr10
  161. test_gr_limmed 0x9abc,0xdef0,gr11
  162. test_gr_gr sp,gr20
  163. set_gr_limmed 0xdead,0xbeef,gr8
  164. set_gr_limmed 0xbeef,0xdead,gr9
  165. set_gr_limmed 0x1234,0x5678,gr10
  166. set_gr_limmed 0x9abc,0xdef0,gr11
  167. inc_gr_immed -16,gr20
  168. inc_gr_immed -16,sp
  169. set_gr_immed 16,gr7
  170. cldqu @(sp,gr7),gr8,cc1,1
  171. test_gr_limmed 0xdead,0xbeef,gr8
  172. test_gr_limmed 0xbeef,0xdead,gr9
  173. test_gr_limmed 0x1234,0x5678,gr10
  174. test_gr_limmed 0x9abc,0xdef0,gr11
  175. test_gr_gr sp,gr20
  176. set_gr_limmed 0xdead,0xbeef,gr8
  177. set_gr_limmed 0xbeef,0xdead,gr9
  178. set_gr_limmed 0x1234,0x5678,gr10
  179. set_gr_limmed 0x9abc,0xdef0,gr11
  180. inc_gr_immed 32,gr20
  181. inc_gr_immed 32,sp
  182. set_gr_immed -16,gr7
  183. cldqu @(sp,gr7),gr8,cc5,1
  184. test_gr_limmed 0xdead,0xbeef,gr8
  185. test_gr_limmed 0xbeef,0xdead,gr9
  186. test_gr_limmed 0x1234,0x5678,gr10
  187. test_gr_limmed 0x9abc,0xdef0,gr11
  188. test_gr_gr sp,gr20
  189. set_gr_gr gr21,sp
  190. set_mem_limmed 0xdead,0xbeef,sp
  191. inc_gr_immed -4,sp
  192. set_mem_limmed 0xbeef,0xdead,sp
  193. inc_gr_immed -4,sp
  194. set_mem_limmed 0x1234,0x5678,sp
  195. inc_gr_immed -4,sp
  196. set_mem_limmed 0x9abc,0xdef0,sp
  197. set_gr_gr sp,gr20
  198. set_gr_limmed 0xdead,0xbeef,gr8
  199. set_gr_limmed 0xbeef,0xdead,gr9
  200. set_gr_limmed 0x1234,0x5678,gr10
  201. set_gr_limmed 0x9abc,0xdef0,gr11
  202. set_gr_immed 0,gr7
  203. cldqu @(sp,gr7),gr8,cc2,0
  204. test_gr_limmed 0xdead,0xbeef,gr8
  205. test_gr_limmed 0xbeef,0xdead,gr9
  206. test_gr_limmed 0x1234,0x5678,gr10
  207. test_gr_limmed 0x9abc,0xdef0,gr11
  208. test_gr_gr sp,gr20
  209. set_gr_limmed 0xdead,0xbeef,gr8
  210. set_gr_limmed 0xbeef,0xdead,gr9
  211. set_gr_limmed 0x1234,0x5678,gr10
  212. set_gr_limmed 0x9abc,0xdef0,gr11
  213. inc_gr_immed -16,gr20
  214. inc_gr_immed -16,sp
  215. set_gr_immed 16,gr7
  216. cldqu @(sp,gr7),gr8,cc2,1
  217. test_gr_limmed 0xdead,0xbeef,gr8
  218. test_gr_limmed 0xbeef,0xdead,gr9
  219. test_gr_limmed 0x1234,0x5678,gr10
  220. test_gr_limmed 0x9abc,0xdef0,gr11
  221. test_gr_gr sp,gr20
  222. set_gr_limmed 0xdead,0xbeef,gr8
  223. set_gr_limmed 0xbeef,0xdead,gr9
  224. set_gr_limmed 0x1234,0x5678,gr10
  225. set_gr_limmed 0x9abc,0xdef0,gr11
  226. inc_gr_immed 32,gr20
  227. inc_gr_immed 32,sp
  228. set_gr_immed -16,gr7
  229. cldqu @(sp,gr7),gr8,cc6,0
  230. test_gr_limmed 0xdead,0xbeef,gr8
  231. test_gr_limmed 0xbeef,0xdead,gr9
  232. test_gr_limmed 0x1234,0x5678,gr10
  233. test_gr_limmed 0x9abc,0xdef0,gr11
  234. test_gr_gr sp,gr20
  235. set_gr_gr gr21,sp
  236. set_mem_limmed 0xdead,0xbeef,sp
  237. inc_gr_immed -4,sp
  238. set_mem_limmed 0xbeef,0xdead,sp
  239. inc_gr_immed -4,sp
  240. set_mem_limmed 0x1234,0x5678,sp
  241. inc_gr_immed -4,sp
  242. set_mem_limmed 0x9abc,0xdef0,sp
  243. set_gr_gr sp,gr20
  244. set_gr_limmed 0xdead,0xbeef,gr8
  245. set_gr_limmed 0xbeef,0xdead,gr9
  246. set_gr_limmed 0x1234,0x5678,gr10
  247. set_gr_limmed 0x9abc,0xdef0,gr11
  248. set_gr_immed 0,gr7
  249. cldqu @(sp,gr7),gr8,cc3,1
  250. test_gr_limmed 0xdead,0xbeef,gr8
  251. test_gr_limmed 0xbeef,0xdead,gr9
  252. test_gr_limmed 0x1234,0x5678,gr10
  253. test_gr_limmed 0x9abc,0xdef0,gr11
  254. test_gr_gr sp,gr20
  255. set_gr_limmed 0xdead,0xbeef,gr8
  256. set_gr_limmed 0xbeef,0xdead,gr9
  257. set_gr_limmed 0x1234,0x5678,gr10
  258. set_gr_limmed 0x9abc,0xdef0,gr11
  259. inc_gr_immed -16,gr20
  260. inc_gr_immed -16,sp
  261. set_gr_immed 16,gr7
  262. cldqu @(sp,gr7),gr8,cc3,0
  263. test_gr_limmed 0xdead,0xbeef,gr8
  264. test_gr_limmed 0xbeef,0xdead,gr9
  265. test_gr_limmed 0x1234,0x5678,gr10
  266. test_gr_limmed 0x9abc,0xdef0,gr11
  267. test_gr_gr sp,gr20
  268. set_gr_limmed 0xdead,0xbeef,gr8
  269. set_gr_limmed 0xbeef,0xdead,gr9
  270. set_gr_limmed 0x1234,0x5678,gr10
  271. set_gr_limmed 0x9abc,0xdef0,gr11
  272. inc_gr_immed 32,gr20
  273. inc_gr_immed 32,sp
  274. set_gr_immed -16,gr7
  275. cldqu @(sp,gr7),gr8,cc7,1
  276. test_gr_limmed 0xdead,0xbeef,gr8
  277. test_gr_limmed 0xbeef,0xdead,gr9
  278. test_gr_limmed 0x1234,0x5678,gr10
  279. test_gr_limmed 0x9abc,0xdef0,gr11
  280. test_gr_gr sp,gr20
  281. set_gr_gr gr21,gr8
  282. inc_gr_immed -28,gr8
  283. set_gr_immed 16,gr7
  284. cldqu @(gr8,gr7),gr8,cc0,1
  285. test_gr_limmed 0x9abc,0xdef0,gr8
  286. test_gr_limmed 0x1234,0x5678,gr9
  287. test_gr_limmed 0xbeef,0xdead,gr10
  288. test_gr_limmed 0xdead,0xbeef,gr11
  289. pass