fcbulr.cgs 3.8 KB

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