b.cgs 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  1. # arm testcase for b$cond $offset24
  2. # mach: all
  3. # ??? Still need to test edge cases.
  4. .include "testutils.inc"
  5. start
  6. .global b
  7. b:
  8. # b foo
  9. b balways1
  10. fail
  11. balways1:
  12. # beq foo
  13. mvi_h_gr r4,4
  14. mvi_h_gr r5,4
  15. cmp r4,r5
  16. beq beq1
  17. fail
  18. beq1:
  19. mvi_h_gr r5,5
  20. cmp r4,r5
  21. beq beq2
  22. b beq3
  23. beq2:
  24. fail
  25. beq3:
  26. # bne foo
  27. mvi_h_gr r4,4
  28. mvi_h_gr r5,5
  29. cmp r4,r5
  30. bne bne1
  31. fail
  32. bne1:
  33. mvi_h_gr r5,4
  34. cmp r4,r5
  35. bne bne2
  36. b bne3
  37. bne2:
  38. fail
  39. bne3:
  40. # bcs foo
  41. mvi_h_cnvz 1,0,0,0
  42. bcs bcs1
  43. fail
  44. bcs1:
  45. mvi_h_cnvz 0,0,0,0
  46. bcs bcs2
  47. b bcs3
  48. bcs2:
  49. fail
  50. bcs3:
  51. # bcc foo
  52. mvi_h_cnvz 0,0,0,0
  53. bcc bcc1
  54. fail
  55. bcc1:
  56. mvi_h_cnvz 1,0,0,0
  57. bcc bcc2
  58. b bcc3
  59. bcc2:
  60. fail
  61. bcc3:
  62. # bmi foo
  63. mvi_h_cnvz 0,1,0,0
  64. bmi bmi1
  65. fail
  66. bmi1:
  67. mvi_h_cnvz 0,0,0,0
  68. bmi bmi2
  69. b bmi3
  70. bmi2:
  71. fail
  72. bmi3:
  73. # bpl foo
  74. mvi_h_cnvz 0,0,0,0
  75. bpl bpl1
  76. fail
  77. bpl1:
  78. mvi_h_cnvz 0,1,0,0
  79. bpl bpl2
  80. b bpl3
  81. bpl2:
  82. fail
  83. bpl3:
  84. # bvs foo
  85. mvi_h_cnvz 0,0,1,0
  86. bvs bvs1
  87. fail
  88. bvs1:
  89. mvi_h_cnvz 0,0,0,0
  90. bvs bvs2
  91. b bvs3
  92. bvs2:
  93. fail
  94. bvs3:
  95. # bvc foo
  96. mvi_h_cnvz 0,0,0,0
  97. bvc bvc1
  98. fail
  99. bvc1:
  100. mvi_h_cnvz 0,0,1,0
  101. bvc bvc2
  102. b bvc3
  103. bvc2:
  104. fail
  105. bvc3:
  106. # bhi foo
  107. mvi_h_gr r4,5
  108. mvi_h_gr r5,4
  109. cmp r4,r5
  110. bhi bhi1
  111. fail
  112. bhi1:
  113. mvi_h_gr r5,5
  114. cmp r4,r5
  115. bhi bhi2
  116. b bhi3
  117. bhi2:
  118. fail
  119. bhi3:
  120. mvi_h_gr r5,6
  121. cmp r4,r5
  122. bhi bhi4
  123. b bhi5
  124. bhi4:
  125. fail
  126. bhi5:
  127. # bls foo
  128. mvi_h_gr r4,4
  129. mvi_h_gr r5,5
  130. cmp r4,r5
  131. bls bls1
  132. fail
  133. bls1:
  134. mvi_h_gr r5,4
  135. cmp r4,r5
  136. bls bls2
  137. fail
  138. bls2:
  139. mvi_h_gr r5,3
  140. cmp r4,r5
  141. bls bls3
  142. b bls4
  143. bls3:
  144. fail
  145. bls4:
  146. # bge foo
  147. mvi_h_gr r4,4
  148. mvi_h_gr r5,4
  149. cmp r4,r5
  150. bge bge1
  151. fail
  152. bge1:
  153. mvi_h_gr r5,3
  154. cmp r4,r5
  155. bge bge2
  156. fail
  157. bge2:
  158. mvi_h_gr r5,5
  159. cmp r4,r5
  160. bge bge3
  161. b bge4
  162. bge3:
  163. fail
  164. bge4:
  165. # blt foo
  166. mvi_h_gr r4,4
  167. mvi_h_gr r5,5
  168. cmp r4,r5
  169. blt blt1
  170. fail
  171. blt1:
  172. mvi_h_gr r5,4
  173. cmp r4,r5
  174. blt blt2
  175. b blt3
  176. blt2:
  177. fail
  178. blt3:
  179. mvi_h_gr r5,3
  180. cmp r4,r5
  181. blt blt4
  182. b blt5
  183. blt4:
  184. fail
  185. blt5:
  186. # bgt foo
  187. mvi_h_gr r4,4
  188. mvi_h_gr r5,3
  189. cmp r4,r5
  190. bgt bgt1
  191. fail
  192. bgt1:
  193. mvi_h_gr r5,4
  194. cmp r4,r5
  195. bgt bgt2
  196. b bgt3
  197. bgt2:
  198. fail
  199. bgt3:
  200. mvi_h_gr r5,5
  201. cmp r4,r5
  202. bgt bgt4
  203. b bgt5
  204. bgt4:
  205. fail
  206. bgt5:
  207. # ble foo
  208. mvi_h_gr r4,4
  209. mvi_h_gr r5,4
  210. cmp r4,r5
  211. ble ble1
  212. fail
  213. ble1:
  214. mvi_h_gr r5,5
  215. cmp r4,r5
  216. ble ble2
  217. fail
  218. ble2:
  219. mvi_h_gr r5,3
  220. cmp r4,r5
  221. ble ble3
  222. b ble4
  223. ble3:
  224. fail
  225. ble4:
  226. pass