cmqmachu.cgs 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876
  1. # frv testcase for cmqmachu $GRi,$GRj,$GRk,$CCi,$cond
  2. # mach: frv fr500 fr400
  3. .include "testutils.inc"
  4. start
  5. .global cmqmachu
  6. cmqmachu:
  7. set_spr_immed 0x1b1b,cccr
  8. set_spr_immed 0,msr0
  9. set_spr_immed 0,msr1
  10. set_accg_immed 0,accg0
  11. set_acc_immed 0,acc0
  12. set_accg_immed 0,accg1
  13. set_acc_immed 0,acc1
  14. set_accg_immed 0,accg2
  15. set_acc_immed 0,acc2
  16. set_accg_immed 0,accg3
  17. set_acc_immed 0,acc3
  18. set_fr_iimmed 3,2,fr8 ; multiply small numbers
  19. set_fr_iimmed 2,3,fr10
  20. set_fr_iimmed 1,2,fr9 ; multiply by 1
  21. set_fr_iimmed 2,1,fr11
  22. cmqmachu fr8,fr10,acc0,cc0,1
  23. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  24. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  25. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  26. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  27. test_accg_immed 0,accg0
  28. test_acc_immed 6,acc0
  29. test_accg_immed 0,accg1
  30. test_acc_immed 6,acc1
  31. test_accg_immed 0,accg2
  32. test_acc_immed 2,acc2
  33. test_accg_immed 0,accg3
  34. test_acc_immed 2,acc3
  35. set_fr_iimmed 0,2,fr8 ; multiply by 0
  36. set_fr_iimmed 2,0,fr10
  37. set_fr_iimmed 0x3fff,2,fr9 ; 15 bit result
  38. set_fr_iimmed 2,0x3fff,fr11
  39. cmqmachu fr8,fr10,acc0,cc0,1
  40. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  41. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  42. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  43. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  44. test_accg_immed 0,accg0
  45. test_acc_immed 6,acc0
  46. test_accg_immed 0,accg1
  47. test_acc_immed 6,acc1
  48. test_accg_immed 0,accg2
  49. test_acc_limmed 0x0000,0x8000,acc2
  50. test_accg_immed 0,accg3
  51. test_acc_limmed 0x0000,0x8000,acc3
  52. set_fr_iimmed 0x4000,2,fr8 ; 16 bit result
  53. set_fr_iimmed 2,0x4000,fr10
  54. set_fr_iimmed 0x8000,2,fr9 ; 17 bit result
  55. set_fr_iimmed 2,0x8000,fr11
  56. cmqmachu fr8,fr10,acc0,cc0,1
  57. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  58. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  59. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  60. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  61. test_accg_immed 0,accg0
  62. test_acc_limmed 0x0000,0x8006,acc0
  63. test_accg_immed 0,accg1
  64. test_acc_limmed 0x0000,0x8006,acc1
  65. test_accg_immed 0,accg2
  66. test_acc_immed 0x00018000,acc2
  67. test_accg_immed 0,accg3
  68. test_acc_immed 0x00018000,acc3
  69. set_fr_iimmed 0x7fff,0x7fff,fr8 ; max positive result
  70. set_fr_iimmed 0x7fff,0x7fff,fr10
  71. set_fr_iimmed 0x8000,0x8000,fr9 ; max positive result
  72. set_fr_iimmed 0x8000,0x8000,fr11
  73. cmqmachu fr8,fr10,acc0,cc4,1
  74. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  75. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  76. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  77. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  78. test_accg_immed 0,accg0
  79. test_acc_immed 0x3fff8007,acc0
  80. test_accg_immed 0,accg1
  81. test_acc_immed 0x3fff8007,acc1
  82. test_accg_immed 0,accg2
  83. test_acc_limmed 0x4001,0x8000,acc2
  84. test_accg_immed 0,accg3
  85. test_acc_limmed 0x4001,0x8000,acc3
  86. set_fr_iimmed 0xffff,0xffff,fr8 ; max positive result
  87. set_fr_iimmed 0xffff,0xffff,fr10
  88. set_fr_iimmed 0xffff,0xffff,fr9 ; max positive result
  89. set_fr_iimmed 0xffff,0xffff,fr11
  90. cmqmachu fr8,fr10,acc0,cc4,1
  91. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  92. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  93. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  94. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  95. test_accg_immed 1,accg0
  96. test_acc_limmed 0x3ffd,0x8008,acc0
  97. test_accg_immed 1,accg1
  98. test_acc_limmed 0x3ffd,0x8008,acc1
  99. test_accg_immed 1,accg2
  100. test_acc_limmed 0x3fff,0x8001,acc2
  101. test_accg_immed 1,accg3
  102. test_acc_limmed 0x3fff,0x8001,acc3
  103. set_accg_immed 0xff,accg0 ; saturation
  104. set_acc_immed 0xffffffff,acc0
  105. set_accg_immed 0xff,accg1
  106. set_acc_immed 0xffffffff,acc1
  107. set_accg_immed 0xff,accg2 ; saturation
  108. set_acc_immed 0xffffffff,acc2
  109. set_accg_immed 0xff,accg3
  110. set_acc_immed 0xffffffff,acc3
  111. set_fr_iimmed 1,1,fr8
  112. set_fr_iimmed 1,1,fr10
  113. set_fr_iimmed 1,1,fr9
  114. set_fr_iimmed 1,1,fr11
  115. cmqmachu fr8,fr10,acc0,cc4,1
  116. test_spr_bits 0x3c,2,0xf,msr0 ; msr0.sie is set
  117. test_spr_bits 2,1,1,msr0 ; msr0.ovf is set
  118. test_spr_bits 1,0,1,msr0 ; msr0.aovf is set
  119. test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt is set
  120. test_accg_immed 0xff,accg0
  121. test_acc_limmed 0xffff,0xffff,acc0
  122. test_accg_immed 0xff,accg1
  123. test_acc_limmed 0xffff,0xffff,acc1
  124. test_accg_immed 0xff,accg2
  125. test_acc_limmed 0xffff,0xffff,acc2
  126. test_accg_immed 0xff,accg3
  127. test_acc_limmed 0xffff,0xffff,acc3
  128. set_fr_iimmed 0xffff,0x0000,fr8
  129. set_fr_iimmed 0xffff,0xffff,fr10
  130. set_fr_iimmed 0x0000,0xffff,fr9
  131. set_fr_iimmed 0xffff,0xffff,fr11
  132. cmqmachu fr8,fr10,acc0,cc4,1
  133. test_spr_bits 0x3c,2,0x9,msr0 ; msr0.sie is set
  134. test_spr_bits 2,1,1,msr0 ; msr0.ovf is set
  135. test_spr_bits 1,0,1,msr0 ; msr0.aovf is set
  136. test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt is set
  137. test_accg_immed 0xff,accg0
  138. test_acc_limmed 0xffff,0xffff,acc0
  139. test_accg_immed 0xff,accg1
  140. test_acc_limmed 0xffff,0xffff,acc1
  141. test_accg_immed 0xff,accg2
  142. test_acc_limmed 0xffff,0xffff,acc2
  143. test_accg_immed 0xff,accg3
  144. test_acc_limmed 0xffff,0xffff,acc3
  145. set_spr_immed 0,msr0
  146. set_spr_immed 0,msr1
  147. set_accg_immed 0,accg0
  148. set_acc_immed 0,acc0
  149. set_accg_immed 0,accg1
  150. set_acc_immed 0,acc1
  151. set_accg_immed 0,accg2
  152. set_acc_immed 0,acc2
  153. set_accg_immed 0,accg3
  154. set_acc_immed 0,acc3
  155. set_fr_iimmed 3,2,fr8 ; multiply small numbers
  156. set_fr_iimmed 2,3,fr10
  157. set_fr_iimmed 1,2,fr9 ; multiply by 1
  158. set_fr_iimmed 2,1,fr11
  159. cmqmachu fr8,fr10,acc0,cc1,0
  160. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  161. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  162. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  163. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  164. test_accg_immed 0,accg0
  165. test_acc_immed 6,acc0
  166. test_accg_immed 0,accg1
  167. test_acc_immed 6,acc1
  168. test_accg_immed 0,accg2
  169. test_acc_immed 2,acc2
  170. test_accg_immed 0,accg3
  171. test_acc_immed 2,acc3
  172. set_fr_iimmed 0,2,fr8 ; multiply by 0
  173. set_fr_iimmed 2,0,fr10
  174. set_fr_iimmed 0x3fff,2,fr9 ; 15 bit result
  175. set_fr_iimmed 2,0x3fff,fr11
  176. cmqmachu fr8,fr10,acc0,cc1,0
  177. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  178. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  179. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  180. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  181. test_accg_immed 0,accg0
  182. test_acc_immed 6,acc0
  183. test_accg_immed 0,accg1
  184. test_acc_immed 6,acc1
  185. test_accg_immed 0,accg2
  186. test_acc_limmed 0x0000,0x8000,acc2
  187. test_accg_immed 0,accg3
  188. test_acc_limmed 0x0000,0x8000,acc3
  189. set_fr_iimmed 0x4000,2,fr8 ; 16 bit result
  190. set_fr_iimmed 2,0x4000,fr10
  191. set_fr_iimmed 0x8000,2,fr9 ; 17 bit result
  192. set_fr_iimmed 2,0x8000,fr11
  193. cmqmachu fr8,fr10,acc0,cc1,0
  194. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  195. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  196. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  197. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  198. test_accg_immed 0,accg0
  199. test_acc_limmed 0x0000,0x8006,acc0
  200. test_accg_immed 0,accg1
  201. test_acc_limmed 0x0000,0x8006,acc1
  202. test_accg_immed 0,accg2
  203. test_acc_immed 0x00018000,acc2
  204. test_accg_immed 0,accg3
  205. test_acc_immed 0x00018000,acc3
  206. set_fr_iimmed 0x7fff,0x7fff,fr8 ; max positive result
  207. set_fr_iimmed 0x7fff,0x7fff,fr10
  208. set_fr_iimmed 0x8000,0x8000,fr9 ; max positive result
  209. set_fr_iimmed 0x8000,0x8000,fr11
  210. cmqmachu fr8,fr10,acc0,cc5,0
  211. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  212. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  213. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  214. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  215. test_accg_immed 0,accg0
  216. test_acc_immed 0x3fff8007,acc0
  217. test_accg_immed 0,accg1
  218. test_acc_immed 0x3fff8007,acc1
  219. test_accg_immed 0,accg2
  220. test_acc_limmed 0x4001,0x8000,acc2
  221. test_accg_immed 0,accg3
  222. test_acc_limmed 0x4001,0x8000,acc3
  223. set_fr_iimmed 0xffff,0xffff,fr8 ; max positive result
  224. set_fr_iimmed 0xffff,0xffff,fr10
  225. set_fr_iimmed 0xffff,0xffff,fr9 ; max positive result
  226. set_fr_iimmed 0xffff,0xffff,fr11
  227. cmqmachu fr8,fr10,acc0,cc5,0
  228. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  229. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  230. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  231. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  232. test_accg_immed 1,accg0
  233. test_acc_limmed 0x3ffd,0x8008,acc0
  234. test_accg_immed 1,accg1
  235. test_acc_limmed 0x3ffd,0x8008,acc1
  236. test_accg_immed 1,accg2
  237. test_acc_limmed 0x3fff,0x8001,acc2
  238. test_accg_immed 1,accg3
  239. test_acc_limmed 0x3fff,0x8001,acc3
  240. set_accg_immed 0xff,accg0 ; saturation
  241. set_acc_immed 0xffffffff,acc0
  242. set_accg_immed 0xff,accg1
  243. set_acc_immed 0xffffffff,acc1
  244. set_accg_immed 0xff,accg2 ; saturation
  245. set_acc_immed 0xffffffff,acc2
  246. set_accg_immed 0xff,accg3
  247. set_acc_immed 0xffffffff,acc3
  248. set_fr_iimmed 1,1,fr8
  249. set_fr_iimmed 1,1,fr10
  250. set_fr_iimmed 1,1,fr9
  251. set_fr_iimmed 1,1,fr11
  252. cmqmachu fr8,fr10,acc0,cc5,0
  253. test_spr_bits 0x3c,2,0xf,msr0 ; msr0.sie is set
  254. test_spr_bits 2,1,1,msr0 ; msr0.ovf is set
  255. test_spr_bits 1,0,1,msr0 ; msr0.aovf is set
  256. test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt is set
  257. test_accg_immed 0xff,accg0
  258. test_acc_limmed 0xffff,0xffff,acc0
  259. test_accg_immed 0xff,accg1
  260. test_acc_limmed 0xffff,0xffff,acc1
  261. test_accg_immed 0xff,accg2
  262. test_acc_limmed 0xffff,0xffff,acc2
  263. test_accg_immed 0xff,accg3
  264. test_acc_limmed 0xffff,0xffff,acc3
  265. set_fr_iimmed 0xffff,0x0000,fr8
  266. set_fr_iimmed 0xffff,0xffff,fr10
  267. set_fr_iimmed 0x0000,0xffff,fr9
  268. set_fr_iimmed 0xffff,0xffff,fr11
  269. cmqmachu fr8,fr10,acc0,cc5,0
  270. test_spr_bits 0x3c,2,0x9,msr0 ; msr0.sie is set
  271. test_spr_bits 2,1,1,msr0 ; msr0.ovf is set
  272. test_spr_bits 1,0,1,msr0 ; msr0.aovf is set
  273. test_spr_bits 0x7000,12,1,msr0 ; msr0.mtt is set
  274. test_accg_immed 0xff,accg0
  275. test_acc_limmed 0xffff,0xffff,acc0
  276. test_accg_immed 0xff,accg1
  277. test_acc_limmed 0xffff,0xffff,acc1
  278. test_accg_immed 0xff,accg2
  279. test_acc_limmed 0xffff,0xffff,acc2
  280. test_accg_immed 0xff,accg3
  281. test_acc_limmed 0xffff,0xffff,acc3
  282. set_spr_immed 0,msr0
  283. set_spr_immed 0,msr1
  284. set_accg_immed 0x00000011,accg0
  285. set_acc_immed 0x11111111,acc0
  286. set_accg_immed 0x00000022,accg1
  287. set_acc_immed 0x22222222,acc1
  288. set_accg_immed 0x00000033,accg2
  289. set_acc_immed 0x33333333,acc2
  290. set_accg_immed 0x00000044,accg3
  291. set_acc_immed 0x44444444,acc3
  292. set_fr_iimmed 3,2,fr8 ; multiply small numbers
  293. set_fr_iimmed 2,3,fr10
  294. set_fr_iimmed 1,2,fr9 ; multiply by 1
  295. set_fr_iimmed 2,1,fr11
  296. cmqmachu fr8,fr10,acc0,cc0,0
  297. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  298. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  299. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  300. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  301. test_accg_immed 0x00000011,accg0
  302. test_acc_immed 0x11111111,acc0
  303. test_accg_immed 0x00000022,accg1
  304. test_acc_immed 0x22222222,acc1
  305. test_accg_immed 0x00000033,accg2
  306. test_acc_immed 0x33333333,acc2
  307. test_accg_immed 0x00000044,accg3
  308. test_acc_immed 0x44444444,acc3
  309. set_fr_iimmed 0,2,fr8 ; multiply by 0
  310. set_fr_iimmed 2,0,fr10
  311. set_fr_iimmed 0x3fff,2,fr9 ; 15 bit result
  312. set_fr_iimmed 2,0x3fff,fr11
  313. cmqmachu fr8,fr10,acc0,cc0,0
  314. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  315. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  316. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  317. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  318. test_accg_immed 0x00000011,accg0
  319. test_acc_immed 0x11111111,acc0
  320. test_accg_immed 0x00000022,accg1
  321. test_acc_immed 0x22222222,acc1
  322. test_accg_immed 0x00000033,accg2
  323. test_acc_immed 0x33333333,acc2
  324. test_accg_immed 0x00000044,accg3
  325. test_acc_immed 0x44444444,acc3
  326. set_fr_iimmed 0x4000,2,fr8 ; 16 bit result
  327. set_fr_iimmed 2,0x4000,fr10
  328. set_fr_iimmed 0x8000,2,fr9 ; 17 bit result
  329. set_fr_iimmed 2,0x8000,fr11
  330. cmqmachu fr8,fr10,acc0,cc0,0
  331. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  332. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  333. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  334. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  335. test_accg_immed 0x00000011,accg0
  336. test_acc_immed 0x11111111,acc0
  337. test_accg_immed 0x00000022,accg1
  338. test_acc_immed 0x22222222,acc1
  339. test_accg_immed 0x00000033,accg2
  340. test_acc_immed 0x33333333,acc2
  341. test_accg_immed 0x00000044,accg3
  342. test_acc_immed 0x44444444,acc3
  343. set_fr_iimmed 0x7fff,0x7fff,fr8 ; max positive result
  344. set_fr_iimmed 0x7fff,0x7fff,fr10
  345. set_fr_iimmed 0x8000,0x8000,fr9 ; max positive result
  346. set_fr_iimmed 0x8000,0x8000,fr11
  347. cmqmachu fr8,fr10,acc0,cc4,0
  348. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  349. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  350. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  351. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  352. test_accg_immed 0x00000011,accg0
  353. test_acc_immed 0x11111111,acc0
  354. test_accg_immed 0x00000022,accg1
  355. test_acc_immed 0x22222222,acc1
  356. test_accg_immed 0x00000033,accg2
  357. test_acc_immed 0x33333333,acc2
  358. test_accg_immed 0x00000044,accg3
  359. test_acc_immed 0x44444444,acc3
  360. set_fr_iimmed 0xffff,0xffff,fr8 ; max positive result
  361. set_fr_iimmed 0xffff,0xffff,fr10
  362. set_fr_iimmed 0xffff,0xffff,fr9 ; max positive result
  363. set_fr_iimmed 0xffff,0xffff,fr11
  364. cmqmachu fr8,fr10,acc0,cc4,0
  365. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  366. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  367. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  368. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  369. test_accg_immed 0x00000011,accg0
  370. test_acc_immed 0x11111111,acc0
  371. test_accg_immed 0x00000022,accg1
  372. test_acc_immed 0x22222222,acc1
  373. test_accg_immed 0x00000033,accg2
  374. test_acc_immed 0x33333333,acc2
  375. test_accg_immed 0x00000044,accg3
  376. test_acc_immed 0x44444444,acc3
  377. set_accg_immed 0xff,accg0 ; saturation
  378. set_acc_immed 0xffffffff,acc0
  379. set_accg_immed 0xff,accg1
  380. set_acc_immed 0xffffffff,acc1
  381. set_accg_immed 0xff,accg2 ; saturation
  382. set_acc_immed 0xffffffff,acc2
  383. set_accg_immed 0xff,accg3
  384. set_acc_immed 0xffffffff,acc3
  385. set_fr_iimmed 1,1,fr8
  386. set_fr_iimmed 1,1,fr10
  387. set_fr_iimmed 1,1,fr9
  388. set_fr_iimmed 1,1,fr11
  389. cmqmachu fr8,fr10,acc0,cc4,0
  390. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  391. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  392. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  393. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  394. test_accg_immed 0xff,accg0 ; saturation
  395. test_acc_immed 0xffffffff,acc0
  396. test_accg_immed 0xff,accg1
  397. test_acc_immed 0xffffffff,acc1
  398. test_accg_immed 0xff,accg2 ; saturation
  399. test_acc_immed 0xffffffff,acc2
  400. test_accg_immed 0xff,accg3
  401. test_acc_immed 0xffffffff,acc3
  402. set_fr_iimmed 0xffff,0x0000,fr8
  403. set_fr_iimmed 0xffff,0xffff,fr10
  404. set_fr_iimmed 0x0000,0xffff,fr9
  405. set_fr_iimmed 0xffff,0xffff,fr11
  406. cmqmachu fr8,fr10,acc0,cc4,0
  407. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  408. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  409. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  410. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  411. test_accg_immed 0xff,accg0 ; saturation
  412. test_acc_immed 0xffffffff,acc0
  413. test_accg_immed 0xff,accg1
  414. test_acc_immed 0xffffffff,acc1
  415. test_accg_immed 0xff,accg2 ; saturation
  416. test_acc_immed 0xffffffff,acc2
  417. test_accg_immed 0xff,accg3
  418. test_acc_immed 0xffffffff,acc3
  419. set_spr_immed 0,msr0
  420. set_spr_immed 0,msr1
  421. set_accg_immed 0x00000011,accg0
  422. set_acc_immed 0x11111111,acc0
  423. set_accg_immed 0x00000022,accg1
  424. set_acc_immed 0x22222222,acc1
  425. set_accg_immed 0x00000033,accg2
  426. set_acc_immed 0x33333333,acc2
  427. set_accg_immed 0x00000044,accg3
  428. set_acc_immed 0x44444444,acc3
  429. set_fr_iimmed 3,2,fr8 ; multiply small numbers
  430. set_fr_iimmed 2,3,fr10
  431. set_fr_iimmed 1,2,fr9 ; multiply by 1
  432. set_fr_iimmed 2,1,fr11
  433. cmqmachu fr8,fr10,acc0,cc1,1
  434. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  435. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  436. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  437. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  438. test_accg_immed 0x00000011,accg0
  439. test_acc_immed 0x11111111,acc0
  440. test_accg_immed 0x00000022,accg1
  441. test_acc_immed 0x22222222,acc1
  442. test_accg_immed 0x00000033,accg2
  443. test_acc_immed 0x33333333,acc2
  444. test_accg_immed 0x00000044,accg3
  445. test_acc_immed 0x44444444,acc3
  446. set_fr_iimmed 0,2,fr8 ; multiply by 0
  447. set_fr_iimmed 2,0,fr10
  448. set_fr_iimmed 0x3fff,2,fr9 ; 15 bit result
  449. set_fr_iimmed 2,0x3fff,fr11
  450. cmqmachu fr8,fr10,acc0,cc1,1
  451. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  452. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  453. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  454. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  455. test_accg_immed 0x00000011,accg0
  456. test_acc_immed 0x11111111,acc0
  457. test_accg_immed 0x00000022,accg1
  458. test_acc_immed 0x22222222,acc1
  459. test_accg_immed 0x00000033,accg2
  460. test_acc_immed 0x33333333,acc2
  461. test_accg_immed 0x00000044,accg3
  462. test_acc_immed 0x44444444,acc3
  463. set_fr_iimmed 0x4000,2,fr8 ; 16 bit result
  464. set_fr_iimmed 2,0x4000,fr10
  465. set_fr_iimmed 0x8000,2,fr9 ; 17 bit result
  466. set_fr_iimmed 2,0x8000,fr11
  467. cmqmachu fr8,fr10,acc0,cc1,1
  468. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  469. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  470. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  471. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  472. test_accg_immed 0x00000011,accg0
  473. test_acc_immed 0x11111111,acc0
  474. test_accg_immed 0x00000022,accg1
  475. test_acc_immed 0x22222222,acc1
  476. test_accg_immed 0x00000033,accg2
  477. test_acc_immed 0x33333333,acc2
  478. test_accg_immed 0x00000044,accg3
  479. test_acc_immed 0x44444444,acc3
  480. set_fr_iimmed 0x7fff,0x7fff,fr8 ; max positive result
  481. set_fr_iimmed 0x7fff,0x7fff,fr10
  482. set_fr_iimmed 0x8000,0x8000,fr9 ; max positive result
  483. set_fr_iimmed 0x8000,0x8000,fr11
  484. cmqmachu fr8,fr10,acc0,cc5,1
  485. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  486. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  487. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  488. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  489. test_accg_immed 0x00000011,accg0
  490. test_acc_immed 0x11111111,acc0
  491. test_accg_immed 0x00000022,accg1
  492. test_acc_immed 0x22222222,acc1
  493. test_accg_immed 0x00000033,accg2
  494. test_acc_immed 0x33333333,acc2
  495. test_accg_immed 0x00000044,accg3
  496. test_acc_immed 0x44444444,acc3
  497. set_fr_iimmed 0xffff,0xffff,fr8 ; max positive result
  498. set_fr_iimmed 0xffff,0xffff,fr10
  499. set_fr_iimmed 0xffff,0xffff,fr9 ; max positive result
  500. set_fr_iimmed 0xffff,0xffff,fr11
  501. cmqmachu fr8,fr10,acc0,cc5,1
  502. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  503. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  504. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  505. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  506. test_accg_immed 0x00000011,accg0
  507. test_acc_immed 0x11111111,acc0
  508. test_accg_immed 0x00000022,accg1
  509. test_acc_immed 0x22222222,acc1
  510. test_accg_immed 0x00000033,accg2
  511. test_acc_immed 0x33333333,acc2
  512. test_accg_immed 0x00000044,accg3
  513. test_acc_immed 0x44444444,acc3
  514. set_accg_immed 0xff,accg0 ; saturation
  515. set_acc_immed 0xffffffff,acc0
  516. set_accg_immed 0xff,accg1
  517. set_acc_immed 0xffffffff,acc1
  518. set_accg_immed 0xff,accg2 ; saturation
  519. set_acc_immed 0xffffffff,acc2
  520. set_accg_immed 0xff,accg3
  521. set_acc_immed 0xffffffff,acc3
  522. set_fr_iimmed 1,1,fr8
  523. set_fr_iimmed 1,1,fr10
  524. set_fr_iimmed 1,1,fr9
  525. set_fr_iimmed 1,1,fr11
  526. cmqmachu fr8,fr10,acc0,cc5,1
  527. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  528. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  529. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  530. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  531. test_accg_immed 0xff,accg0 ; saturation
  532. test_acc_immed 0xffffffff,acc0
  533. test_accg_immed 0xff,accg1
  534. test_acc_immed 0xffffffff,acc1
  535. test_accg_immed 0xff,accg2 ; saturation
  536. test_acc_immed 0xffffffff,acc2
  537. test_accg_immed 0xff,accg3
  538. test_acc_immed 0xffffffff,acc3
  539. set_fr_iimmed 0xffff,0x0000,fr8
  540. set_fr_iimmed 0xffff,0xffff,fr10
  541. set_fr_iimmed 0x0000,0xffff,fr9
  542. set_fr_iimmed 0xffff,0xffff,fr11
  543. cmqmachu fr8,fr10,acc0,cc5,1
  544. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  545. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  546. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  547. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  548. test_accg_immed 0xff,accg0 ; saturation
  549. test_acc_immed 0xffffffff,acc0
  550. test_accg_immed 0xff,accg1
  551. test_acc_immed 0xffffffff,acc1
  552. test_accg_immed 0xff,accg2 ; saturation
  553. test_acc_immed 0xffffffff,acc2
  554. test_accg_immed 0xff,accg3
  555. test_acc_immed 0xffffffff,acc3
  556. set_spr_immed 0,msr0
  557. set_spr_immed 0,msr1
  558. set_accg_immed 0x00000011,accg0
  559. set_acc_immed 0x11111111,acc0
  560. set_accg_immed 0x00000022,accg1
  561. set_acc_immed 0x22222222,acc1
  562. set_accg_immed 0x00000033,accg2
  563. set_acc_immed 0x33333333,acc2
  564. set_accg_immed 0x00000044,accg3
  565. set_acc_immed 0x44444444,acc3
  566. set_fr_iimmed 3,2,fr8 ; multiply small numbers
  567. set_fr_iimmed 2,3,fr10
  568. set_fr_iimmed 1,2,fr9 ; multiply by 1
  569. set_fr_iimmed 2,1,fr11
  570. cmqmachu fr8,fr10,acc0,cc2,1
  571. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  572. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  573. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  574. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  575. test_accg_immed 0x00000011,accg0
  576. test_acc_immed 0x11111111,acc0
  577. test_accg_immed 0x00000022,accg1
  578. test_acc_immed 0x22222222,acc1
  579. test_accg_immed 0x00000033,accg2
  580. test_acc_immed 0x33333333,acc2
  581. test_accg_immed 0x00000044,accg3
  582. test_acc_immed 0x44444444,acc3
  583. set_fr_iimmed 0,2,fr8 ; multiply by 0
  584. set_fr_iimmed 2,0,fr10
  585. set_fr_iimmed 0x3fff,2,fr9 ; 15 bit result
  586. set_fr_iimmed 2,0x3fff,fr11
  587. cmqmachu fr8,fr10,acc0,cc2,0
  588. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  589. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  590. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  591. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  592. test_accg_immed 0x00000011,accg0
  593. test_acc_immed 0x11111111,acc0
  594. test_accg_immed 0x00000022,accg1
  595. test_acc_immed 0x22222222,acc1
  596. test_accg_immed 0x00000033,accg2
  597. test_acc_immed 0x33333333,acc2
  598. test_accg_immed 0x00000044,accg3
  599. test_acc_immed 0x44444444,acc3
  600. set_fr_iimmed 0x4000,2,fr8 ; 16 bit result
  601. set_fr_iimmed 2,0x4000,fr10
  602. set_fr_iimmed 0x8000,2,fr9 ; 17 bit result
  603. set_fr_iimmed 2,0x8000,fr11
  604. cmqmachu fr8,fr10,acc0,cc2,1
  605. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  606. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  607. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  608. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  609. test_accg_immed 0x00000011,accg0
  610. test_acc_immed 0x11111111,acc0
  611. test_accg_immed 0x00000022,accg1
  612. test_acc_immed 0x22222222,acc1
  613. test_accg_immed 0x00000033,accg2
  614. test_acc_immed 0x33333333,acc2
  615. test_accg_immed 0x00000044,accg3
  616. test_acc_immed 0x44444444,acc3
  617. set_fr_iimmed 0x7fff,0x7fff,fr8 ; max positive result
  618. set_fr_iimmed 0x7fff,0x7fff,fr10
  619. set_fr_iimmed 0x8000,0x8000,fr9 ; max positive result
  620. set_fr_iimmed 0x8000,0x8000,fr11
  621. cmqmachu fr8,fr10,acc0,cc6,0
  622. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  623. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  624. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  625. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  626. test_accg_immed 0x00000011,accg0
  627. test_acc_immed 0x11111111,acc0
  628. test_accg_immed 0x00000022,accg1
  629. test_acc_immed 0x22222222,acc1
  630. test_accg_immed 0x00000033,accg2
  631. test_acc_immed 0x33333333,acc2
  632. test_accg_immed 0x00000044,accg3
  633. test_acc_immed 0x44444444,acc3
  634. set_fr_iimmed 0xffff,0xffff,fr8 ; max positive result
  635. set_fr_iimmed 0xffff,0xffff,fr10
  636. set_fr_iimmed 0xffff,0xffff,fr9 ; max positive result
  637. set_fr_iimmed 0xffff,0xffff,fr11
  638. cmqmachu fr8,fr10,acc0,cc6,1
  639. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  640. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  641. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  642. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  643. test_accg_immed 0x00000011,accg0
  644. test_acc_immed 0x11111111,acc0
  645. test_accg_immed 0x00000022,accg1
  646. test_acc_immed 0x22222222,acc1
  647. test_accg_immed 0x00000033,accg2
  648. test_acc_immed 0x33333333,acc2
  649. test_accg_immed 0x00000044,accg3
  650. test_acc_immed 0x44444444,acc3
  651. set_accg_immed 0xff,accg0 ; saturation
  652. set_acc_immed 0xffffffff,acc0
  653. set_accg_immed 0xff,accg1
  654. set_acc_immed 0xffffffff,acc1
  655. set_accg_immed 0xff,accg2 ; saturation
  656. set_acc_immed 0xffffffff,acc2
  657. set_accg_immed 0xff,accg3
  658. set_acc_immed 0xffffffff,acc3
  659. set_fr_iimmed 1,1,fr8
  660. set_fr_iimmed 1,1,fr10
  661. set_fr_iimmed 1,1,fr9
  662. set_fr_iimmed 1,1,fr11
  663. cmqmachu fr8,fr10,acc0,cc6,0
  664. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  665. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  666. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  667. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  668. test_accg_immed 0xff,accg0 ; saturation
  669. test_acc_immed 0xffffffff,acc0
  670. test_accg_immed 0xff,accg1
  671. test_acc_immed 0xffffffff,acc1
  672. test_accg_immed 0xff,accg2 ; saturation
  673. test_acc_immed 0xffffffff,acc2
  674. test_accg_immed 0xff,accg3
  675. test_acc_immed 0xffffffff,acc3
  676. set_fr_iimmed 0xffff,0x0000,fr8
  677. set_fr_iimmed 0xffff,0xffff,fr10
  678. set_fr_iimmed 0x0000,0xffff,fr9
  679. set_fr_iimmed 0xffff,0xffff,fr11
  680. cmqmachu fr8,fr10,acc0,cc6,1
  681. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  682. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  683. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  684. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  685. test_accg_immed 0xff,accg0 ; saturation
  686. test_acc_immed 0xffffffff,acc0
  687. test_accg_immed 0xff,accg1
  688. test_acc_immed 0xffffffff,acc1
  689. test_accg_immed 0xff,accg2 ; saturation
  690. test_acc_immed 0xffffffff,acc2
  691. test_accg_immed 0xff,accg3
  692. test_acc_immed 0xffffffff,acc3
  693. ;
  694. set_spr_immed 0,msr0
  695. set_spr_immed 0,msr1
  696. set_accg_immed 0x00000011,accg0
  697. set_acc_immed 0x11111111,acc0
  698. set_accg_immed 0x00000022,accg1
  699. set_acc_immed 0x22222222,acc1
  700. set_accg_immed 0x00000033,accg2
  701. set_acc_immed 0x33333333,acc2
  702. set_accg_immed 0x00000044,accg3
  703. set_acc_immed 0x44444444,acc3
  704. set_fr_iimmed 3,2,fr8 ; multiply small numbers
  705. set_fr_iimmed 2,3,fr10
  706. set_fr_iimmed 1,2,fr9 ; multiply by 1
  707. set_fr_iimmed 2,1,fr11
  708. cmqmachu fr8,fr10,acc0,cc3,1
  709. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  710. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  711. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  712. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  713. test_accg_immed 0x00000011,accg0
  714. test_acc_immed 0x11111111,acc0
  715. test_accg_immed 0x00000022,accg1
  716. test_acc_immed 0x22222222,acc1
  717. test_accg_immed 0x00000033,accg2
  718. test_acc_immed 0x33333333,acc2
  719. test_accg_immed 0x00000044,accg3
  720. test_acc_immed 0x44444444,acc3
  721. set_fr_iimmed 0,2,fr8 ; multiply by 0
  722. set_fr_iimmed 2,0,fr10
  723. set_fr_iimmed 0x3fff,2,fr9 ; 15 bit result
  724. set_fr_iimmed 2,0x3fff,fr11
  725. cmqmachu fr8,fr10,acc0,cc3,0
  726. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  727. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  728. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  729. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  730. test_accg_immed 0x00000011,accg0
  731. test_acc_immed 0x11111111,acc0
  732. test_accg_immed 0x00000022,accg1
  733. test_acc_immed 0x22222222,acc1
  734. test_accg_immed 0x00000033,accg2
  735. test_acc_immed 0x33333333,acc2
  736. test_accg_immed 0x00000044,accg3
  737. test_acc_immed 0x44444444,acc3
  738. set_fr_iimmed 0x4000,2,fr8 ; 16 bit result
  739. set_fr_iimmed 2,0x4000,fr10
  740. set_fr_iimmed 0x8000,2,fr9 ; 17 bit result
  741. set_fr_iimmed 2,0x8000,fr11
  742. cmqmachu fr8,fr10,acc0,cc3,1
  743. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  744. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  745. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  746. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  747. test_accg_immed 0x00000011,accg0
  748. test_acc_immed 0x11111111,acc0
  749. test_accg_immed 0x00000022,accg1
  750. test_acc_immed 0x22222222,acc1
  751. test_accg_immed 0x00000033,accg2
  752. test_acc_immed 0x33333333,acc2
  753. test_accg_immed 0x00000044,accg3
  754. test_acc_immed 0x44444444,acc3
  755. set_fr_iimmed 0x7fff,0x7fff,fr8 ; max positive result
  756. set_fr_iimmed 0x7fff,0x7fff,fr10
  757. set_fr_iimmed 0x8000,0x8000,fr9 ; max positive result
  758. set_fr_iimmed 0x8000,0x8000,fr11
  759. cmqmachu fr8,fr10,acc0,cc7,0
  760. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  761. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  762. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  763. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  764. test_accg_immed 0x00000011,accg0
  765. test_acc_immed 0x11111111,acc0
  766. test_accg_immed 0x00000022,accg1
  767. test_acc_immed 0x22222222,acc1
  768. test_accg_immed 0x00000033,accg2
  769. test_acc_immed 0x33333333,acc2
  770. test_accg_immed 0x00000044,accg3
  771. test_acc_immed 0x44444444,acc3
  772. set_fr_iimmed 0xffff,0xffff,fr8 ; max positive result
  773. set_fr_iimmed 0xffff,0xffff,fr10
  774. set_fr_iimmed 0xffff,0xffff,fr9 ; max positive result
  775. set_fr_iimmed 0xffff,0xffff,fr11
  776. cmqmachu fr8,fr10,acc0,cc7,1
  777. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  778. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  779. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  780. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  781. test_accg_immed 0x00000011,accg0
  782. test_acc_immed 0x11111111,acc0
  783. test_accg_immed 0x00000022,accg1
  784. test_acc_immed 0x22222222,acc1
  785. test_accg_immed 0x00000033,accg2
  786. test_acc_immed 0x33333333,acc2
  787. test_accg_immed 0x00000044,accg3
  788. test_acc_immed 0x44444444,acc3
  789. set_accg_immed 0xff,accg0 ; saturation
  790. set_acc_immed 0xffffffff,acc0
  791. set_accg_immed 0xff,accg1
  792. set_acc_immed 0xffffffff,acc1
  793. set_accg_immed 0xff,accg2 ; saturation
  794. set_acc_immed 0xffffffff,acc2
  795. set_accg_immed 0xff,accg3
  796. set_acc_immed 0xffffffff,acc3
  797. set_fr_iimmed 1,1,fr8
  798. set_fr_iimmed 1,1,fr10
  799. set_fr_iimmed 1,1,fr9
  800. set_fr_iimmed 1,1,fr11
  801. cmqmachu fr8,fr10,acc0,cc7,0
  802. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  803. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  804. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  805. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  806. test_accg_immed 0xff,accg0 ; saturation
  807. test_acc_immed 0xffffffff,acc0
  808. test_accg_immed 0xff,accg1
  809. test_acc_immed 0xffffffff,acc1
  810. test_accg_immed 0xff,accg2 ; saturation
  811. test_acc_immed 0xffffffff,acc2
  812. test_accg_immed 0xff,accg3
  813. test_acc_immed 0xffffffff,acc3
  814. set_fr_iimmed 0xffff,0x0000,fr8
  815. set_fr_iimmed 0xffff,0xffff,fr10
  816. set_fr_iimmed 0x0000,0xffff,fr9
  817. set_fr_iimmed 0xffff,0xffff,fr11
  818. cmqmachu fr8,fr10,acc0,cc7,1
  819. test_spr_bits 0x3c,2,0,msr0 ; msr0.sie is clear
  820. test_spr_bits 2,1,0,msr0 ; msr0.ovf not set
  821. test_spr_bits 1,0,0,msr0 ; msr0.aovf not set
  822. test_spr_bits 0x7000,12,0,msr0 ; msr0.mtt not set
  823. test_accg_immed 0xff,accg0 ; saturation
  824. test_acc_immed 0xffffffff,acc0
  825. test_accg_immed 0xff,accg1
  826. test_acc_immed 0xffffffff,acc1
  827. test_accg_immed 0xff,accg2 ; saturation
  828. test_acc_immed 0xffffffff,acc2
  829. test_accg_immed 0xff,accg3
  830. test_acc_immed 0xffffffff,acc3
  831. pass