bcplr.cgs 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292
  1. # frv testcase for bcplr $ICCi,$ccond,$hint
  2. # mach: all
  3. .include "testutils.inc"
  4. start
  5. .global bcplr
  6. bcplr:
  7. ; ccond is true
  8. set_spr_immed 128,lcr
  9. set_spr_addr ok1,lr
  10. set_icc 0x0 0
  11. bcplr icc0,0,0
  12. fail
  13. ok1:
  14. set_spr_addr ok2,lr
  15. set_icc 0x1 1
  16. bcplr icc1,0,1
  17. fail
  18. ok2:
  19. set_spr_addr ok3,lr
  20. set_icc 0x2 2
  21. bcplr icc2,0,2
  22. fail
  23. ok3:
  24. set_spr_addr ok4,lr
  25. set_icc 0x3 3
  26. bcplr icc3,0,3
  27. fail
  28. ok4:
  29. set_spr_addr ok5,lr
  30. set_icc 0x4 0
  31. bcplr icc0,0,0
  32. fail
  33. ok5:
  34. set_spr_addr ok6,lr
  35. set_icc 0x5 1
  36. bcplr icc1,0,1
  37. fail
  38. ok6:
  39. set_spr_addr ok7,lr
  40. set_icc 0x6 2
  41. bcplr icc2,0,2
  42. fail
  43. ok7:
  44. set_spr_addr ok8,lr
  45. set_icc 0x7 3
  46. bcplr icc3,0,3
  47. fail
  48. ok8:
  49. set_spr_addr bad,lr
  50. set_icc 0x8 0
  51. bcplr icc0,0,0
  52. set_spr_addr bad,lr
  53. set_icc 0x9 1
  54. bcplr icc1,0,1
  55. set_spr_addr bad,lr
  56. set_icc 0xa 2
  57. bcplr icc2,0,2
  58. set_spr_addr bad,lr
  59. set_icc 0xb 3
  60. bcplr icc3,0,3
  61. set_spr_addr bad,lr
  62. set_icc 0xc 0
  63. bcplr icc0,0,0
  64. set_spr_addr bad,lr
  65. set_icc 0xd 1
  66. bcplr icc1,0,1
  67. set_spr_addr bad,lr
  68. set_icc 0xe 2
  69. bcplr icc2,0,2
  70. set_spr_addr bad,lr
  71. set_icc 0xf 3
  72. bcplr icc3,0,3
  73. ; ccond is true
  74. set_spr_immed 1,lcr
  75. set_spr_addr okh,lr
  76. set_icc 0x0 0
  77. bcplr icc0,1,0
  78. fail
  79. okh:
  80. set_spr_immed 1,lcr
  81. set_spr_addr oki,lr
  82. set_icc 0x1 1
  83. bcplr icc1,1,1
  84. fail
  85. oki:
  86. set_spr_immed 1,lcr
  87. set_spr_addr okj,lr
  88. set_icc 0x2 2
  89. bcplr icc2,1,2
  90. fail
  91. okj:
  92. set_spr_immed 1,lcr
  93. set_spr_addr okk,lr
  94. set_icc 0x3 3
  95. bcplr icc3,1,3
  96. fail
  97. okk:
  98. set_spr_immed 1,lcr
  99. set_spr_addr okl,lr
  100. set_icc 0x4 0
  101. bcplr icc0,1,0
  102. fail
  103. okl:
  104. set_spr_immed 1,lcr
  105. set_spr_addr okm,lr
  106. set_icc 0x5 1
  107. bcplr icc1,1,1
  108. fail
  109. okm:
  110. set_spr_immed 1,lcr
  111. set_spr_addr okn,lr
  112. set_icc 0x6 2
  113. bcplr icc2,1,2
  114. fail
  115. okn:
  116. set_spr_immed 1,lcr
  117. set_spr_addr oko,lr
  118. set_icc 0x7 3
  119. bcplr icc3,1,3
  120. fail
  121. oko:
  122. set_spr_immed 1,lcr
  123. set_spr_addr bad,lr
  124. set_icc 0x8 0
  125. bcplr icc0,1,0
  126. set_spr_immed 1,lcr
  127. set_spr_addr bad,lr
  128. set_icc 0x9 1
  129. bcplr icc1,1,1
  130. set_spr_immed 1,lcr
  131. set_spr_addr bad,lr
  132. set_icc 0xa 2
  133. bcplr icc2,1,2
  134. set_spr_immed 1,lcr
  135. set_spr_addr bad,lr
  136. set_icc 0xb 3
  137. bcplr icc3,1,3
  138. set_spr_immed 1,lcr
  139. set_spr_addr bad,lr
  140. set_icc 0xc 0
  141. bcplr icc0,1,0
  142. set_spr_immed 1,lcr
  143. set_spr_addr bad,lr
  144. set_icc 0xd 1
  145. bcplr icc1,1,1
  146. set_spr_immed 1,lcr
  147. set_spr_addr bad,lr
  148. set_icc 0xe 2
  149. bcplr icc2,1,2
  150. set_spr_immed 1,lcr
  151. set_spr_addr bad,lr
  152. set_icc 0xf 3
  153. bcplr icc3,1,3
  154. ; ccond is false
  155. set_spr_immed 128,lcr
  156. set_spr_addr bad,lr
  157. set_icc 0x0 0
  158. bcplr icc0,1,0
  159. set_icc 0x1 1
  160. bcplr icc1,1,1
  161. set_icc 0x2 2
  162. bcplr icc2,1,2
  163. set_icc 0x3 3
  164. bcplr icc3,1,3
  165. set_icc 0x4 0
  166. bcplr icc0,1,0
  167. set_icc 0x5 1
  168. bcplr icc1,1,1
  169. set_icc 0x6 2
  170. bcplr icc2,1,2
  171. set_icc 0x7 3
  172. bcplr icc3,1,3
  173. set_icc 0x8 0
  174. bcplr icc0,1,0
  175. set_icc 0x9 1
  176. bcplr icc1,1,1
  177. set_icc 0xa 2
  178. bcplr icc2,1,2
  179. set_icc 0xb 3
  180. bcplr icc3,1,3
  181. set_icc 0xc 0
  182. bcplr icc0,1,0
  183. set_icc 0xd 1
  184. bcplr icc1,1,1
  185. set_icc 0xe 2
  186. bcplr icc2,1,2
  187. set_icc 0xf 3
  188. bcplr icc3,1,3
  189. ; ccond is false
  190. set_spr_immed 1,lcr
  191. set_spr_addr bad,lr
  192. set_icc 0x0 0
  193. bcplr icc0,0,0
  194. set_spr_immed 1,lcr
  195. set_icc 0x1 1
  196. bcplr icc1,0,1
  197. set_spr_immed 1,lcr
  198. set_icc 0x2 2
  199. bcplr icc2,0,2
  200. set_spr_immed 1,lcr
  201. set_icc 0x3 3
  202. bcplr icc3,0,3
  203. set_spr_immed 1,lcr
  204. set_icc 0x4 0
  205. bcplr icc0,0,0
  206. set_spr_immed 1,lcr
  207. set_icc 0x5 1
  208. bcplr icc1,0,1
  209. set_spr_immed 1,lcr
  210. set_icc 0x6 2
  211. bcplr icc2,0,2
  212. set_spr_immed 1,lcr
  213. set_icc 0x7 3
  214. bcplr icc3,0,3
  215. set_spr_immed 1,lcr
  216. set_icc 0x8 0
  217. bcplr icc0,0,0
  218. set_spr_immed 1,lcr
  219. set_icc 0x9 1
  220. bcplr icc1,0,1
  221. set_spr_immed 1,lcr
  222. set_icc 0xa 2
  223. bcplr icc2,0,2
  224. set_spr_immed 1,lcr
  225. set_icc 0xb 3
  226. bcplr icc3,0,3
  227. set_spr_immed 1,lcr
  228. set_icc 0xc 0
  229. bcplr icc0,0,0
  230. set_spr_immed 1,lcr
  231. set_icc 0xd 1
  232. bcplr icc1,0,1
  233. set_spr_immed 1,lcr
  234. set_icc 0xe 2
  235. bcplr icc2,0,2
  236. set_spr_immed 1,lcr
  237. set_icc 0xf 3
  238. bcplr icc3,0,3
  239. pass
  240. bad:
  241. fail