bcnlr.cgs 3.9 KB

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