bcralr.cgs 3.6 KB

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