fcbullr.cgs 4.0 KB

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