cmmachu.cgs 30 KB

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