mdcutssi.cgs 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513
  1. # frv testcase for mdcutssi $ACC40i,$s6,$FRk
  2. # mach: fr400 fr550
  3. .include "testutils.inc"
  4. start
  5. .global mdcutssi
  6. mdcutssi:
  7. set_accg_immed 0xffffffe7,accg0
  8. set_acc_immed 0x89abcdef,acc0
  9. set_accg_immed 0xffffffe7,accg1
  10. set_acc_immed 0x89abcdef,acc1
  11. mdcutssi acc0,0,fr10
  12. test_fr_iimmed 0xe789abcd,fr10
  13. test_fr_iimmed 0xe789abcd,fr11
  14. mdcutssi acc0,1,fr10
  15. test_fr_iimmed 0xcf13579b,fr10
  16. test_fr_iimmed 0xcf13579b,fr11
  17. mdcutssi acc0,2,fr10
  18. test_fr_iimmed 0x9e26af37,fr10
  19. test_fr_iimmed 0x9e26af37,fr11
  20. mdcutssi acc0,3,fr10
  21. test_fr_iimmed 0x80000000,fr10
  22. test_fr_iimmed 0x80000000,fr11
  23. mdcutssi acc0,4,fr10
  24. test_fr_iimmed 0x80000000,fr10
  25. test_fr_iimmed 0x80000000,fr11
  26. mdcutssi acc0,5,fr10
  27. test_fr_iimmed 0x80000000,fr10
  28. test_fr_iimmed 0x80000000,fr11
  29. mdcutssi acc0,6,fr10
  30. test_fr_iimmed 0x80000000,fr10
  31. test_fr_iimmed 0x80000000,fr11
  32. mdcutssi acc0,7,fr10
  33. test_fr_iimmed 0x80000000,fr10
  34. test_fr_iimmed 0x80000000,fr11
  35. mdcutssi acc0,8,fr10
  36. test_fr_iimmed 0x80000000,fr10
  37. test_fr_iimmed 0x80000000,fr11
  38. mdcutssi acc0,9,fr10
  39. test_fr_iimmed 0x80000000,fr10
  40. test_fr_iimmed 0x80000000,fr11
  41. mdcutssi acc0,10,fr10
  42. test_fr_iimmed 0x80000000,fr10
  43. test_fr_iimmed 0x80000000,fr11
  44. mdcutssi acc0,11,fr10
  45. test_fr_iimmed 0x80000000,fr10
  46. test_fr_iimmed 0x80000000,fr11
  47. mdcutssi acc0,12,fr10
  48. test_fr_iimmed 0x80000000,fr10
  49. test_fr_iimmed 0x80000000,fr11
  50. mdcutssi acc0,13,fr10
  51. test_fr_iimmed 0x80000000,fr10
  52. test_fr_iimmed 0x80000000,fr11
  53. mdcutssi acc0,14,fr10
  54. test_fr_iimmed 0x80000000,fr10
  55. test_fr_iimmed 0x80000000,fr11
  56. mdcutssi acc0,15,fr10
  57. test_fr_iimmed 0x80000000,fr10
  58. test_fr_iimmed 0x80000000,fr11
  59. mdcutssi acc0,16,fr10
  60. test_fr_iimmed 0x80000000,fr10
  61. test_fr_iimmed 0x80000000,fr11
  62. mdcutssi acc0,17,fr10
  63. test_fr_iimmed 0x80000000,fr10
  64. test_fr_iimmed 0x80000000,fr11
  65. mdcutssi acc0,18,fr10
  66. test_fr_iimmed 0x80000000,fr10
  67. test_fr_iimmed 0x80000000,fr11
  68. mdcutssi acc0,19,fr10
  69. test_fr_iimmed 0x80000000,fr10
  70. test_fr_iimmed 0x80000000,fr11
  71. mdcutssi acc0,20,fr10
  72. test_fr_iimmed 0x80000000,fr10
  73. test_fr_iimmed 0x80000000,fr11
  74. mdcutssi acc0,21,fr10
  75. test_fr_iimmed 0x80000000,fr10
  76. test_fr_iimmed 0x80000000,fr11
  77. mdcutssi acc0,22,fr10
  78. test_fr_iimmed 0x80000000,fr10
  79. test_fr_iimmed 0x80000000,fr11
  80. mdcutssi acc0,23,fr10
  81. test_fr_iimmed 0x80000000,fr10
  82. test_fr_iimmed 0x80000000,fr11
  83. mdcutssi acc0,24,fr10
  84. test_fr_iimmed 0x80000000,fr10
  85. test_fr_iimmed 0x80000000,fr11
  86. mdcutssi acc0,25,fr10
  87. test_fr_iimmed 0x80000000,fr10
  88. test_fr_iimmed 0x80000000,fr11
  89. mdcutssi acc0,26,fr10
  90. test_fr_iimmed 0x80000000,fr10
  91. test_fr_iimmed 0x80000000,fr11
  92. mdcutssi acc0,27,fr10
  93. test_fr_iimmed 0x80000000,fr10
  94. test_fr_iimmed 0x80000000,fr11
  95. mdcutssi acc0,28,fr10
  96. test_fr_iimmed 0x80000000,fr10
  97. test_fr_iimmed 0x80000000,fr11
  98. mdcutssi acc0,29,fr10
  99. test_fr_iimmed 0x80000000,fr10
  100. test_fr_iimmed 0x80000000,fr11
  101. mdcutssi acc0,30,fr10
  102. test_fr_iimmed 0x80000000,fr10
  103. test_fr_iimmed 0x80000000,fr11
  104. mdcutssi acc0,31,fr10
  105. test_fr_iimmed 0x80000000,fr10
  106. test_fr_iimmed 0x80000000,fr11
  107. mdcutssi acc0,-1,fr10
  108. test_fr_iimmed 0xf3c4d5e6,fr10
  109. test_fr_iimmed 0xf3c4d5e6,fr11
  110. mdcutssi acc0,-2,fr10
  111. test_fr_iimmed 0xf9e26af3,fr10
  112. test_fr_iimmed 0xf9e26af3,fr11
  113. mdcutssi acc0,-3,fr10
  114. test_fr_iimmed 0xfcf13579,fr10
  115. test_fr_iimmed 0xfcf13579,fr11
  116. mdcutssi acc0,-4,fr10
  117. test_fr_iimmed 0xfe789abc,fr10
  118. test_fr_iimmed 0xfe789abc,fr11
  119. mdcutssi acc0,-5,fr10
  120. test_fr_iimmed 0xff3c4d5e,fr10
  121. test_fr_iimmed 0xff3c4d5e,fr11
  122. mdcutssi acc0,-6,fr10
  123. test_fr_iimmed 0xff9e26af,fr10
  124. test_fr_iimmed 0xff9e26af,fr11
  125. mdcutssi acc0,-7,fr10
  126. test_fr_iimmed 0xffcf1357,fr10
  127. test_fr_iimmed 0xffcf1357,fr11
  128. mdcutssi acc0,-8,fr10
  129. test_fr_iimmed 0xffe789ab,fr10
  130. test_fr_iimmed 0xffe789ab,fr11
  131. mdcutssi acc0,-9,fr10
  132. test_fr_iimmed 0xfff3c4d5,fr10
  133. test_fr_iimmed 0xfff3c4d5,fr11
  134. mdcutssi acc0,-10,fr10
  135. test_fr_iimmed 0xfff9e26a,fr10
  136. test_fr_iimmed 0xfff9e26a,fr11
  137. mdcutssi acc0,-11,fr10
  138. test_fr_iimmed 0xfffcf135,fr10
  139. test_fr_iimmed 0xfffcf135,fr11
  140. mdcutssi acc0,-12,fr10
  141. test_fr_iimmed 0xfffe789a,fr10
  142. test_fr_iimmed 0xfffe789a,fr11
  143. mdcutssi acc0,-13,fr10
  144. test_fr_iimmed 0xffff3c4d,fr10
  145. test_fr_iimmed 0xffff3c4d,fr11
  146. mdcutssi acc0,-14,fr10
  147. test_fr_iimmed 0xffff9e26,fr10
  148. test_fr_iimmed 0xffff9e26,fr11
  149. mdcutssi acc0,-15,fr10
  150. test_fr_iimmed 0xffffcf13,fr10
  151. test_fr_iimmed 0xffffcf13,fr11
  152. mdcutssi acc0,-16,fr10
  153. test_fr_iimmed 0xffffe789,fr10
  154. test_fr_iimmed 0xffffe789,fr11
  155. mdcutssi acc0,-17,fr10
  156. test_fr_iimmed 0xfffff3c4,fr10
  157. test_fr_iimmed 0xfffff3c4,fr11
  158. mdcutssi acc0,-18,fr10
  159. test_fr_iimmed 0xfffff9e2,fr10
  160. test_fr_iimmed 0xfffff9e2,fr11
  161. mdcutssi acc0,-19,fr10
  162. test_fr_iimmed 0xfffffcf1,fr10
  163. test_fr_iimmed 0xfffffcf1,fr11
  164. mdcutssi acc0,-20,fr10
  165. test_fr_iimmed 0xfffffe78,fr10
  166. test_fr_iimmed 0xfffffe78,fr11
  167. mdcutssi acc0,-21,fr10
  168. test_fr_iimmed 0xffffff3c,fr10
  169. test_fr_iimmed 0xffffff3c,fr11
  170. mdcutssi acc0,-22,fr10
  171. test_fr_iimmed 0xffffff9e,fr10
  172. test_fr_iimmed 0xffffff9e,fr11
  173. mdcutssi acc0,-23,fr10
  174. test_fr_iimmed 0xffffffcf,fr10
  175. test_fr_iimmed 0xffffffcf,fr11
  176. mdcutssi acc0,-24,fr10
  177. test_fr_iimmed 0xffffffe7,fr10
  178. test_fr_iimmed 0xffffffe7,fr11
  179. mdcutssi acc0,-25,fr10
  180. test_fr_iimmed 0xfffffff3,fr10
  181. test_fr_iimmed 0xfffffff3,fr11
  182. mdcutssi acc0,-26,fr10
  183. test_fr_iimmed 0xfffffff9,fr10
  184. test_fr_iimmed 0xfffffff9,fr11
  185. mdcutssi acc0,-27,fr10
  186. test_fr_iimmed 0xfffffffc,fr10
  187. test_fr_iimmed 0xfffffffc,fr11
  188. mdcutssi acc0,-28,fr10
  189. test_fr_iimmed 0xfffffffe,fr10
  190. test_fr_iimmed 0xfffffffe,fr11
  191. mdcutssi acc0,-29,fr10
  192. test_fr_iimmed 0xffffffff,fr10
  193. test_fr_iimmed 0xffffffff,fr11
  194. mdcutssi acc0,-30,fr10
  195. test_fr_iimmed 0xffffffff,fr10
  196. test_fr_iimmed 0xffffffff,fr11
  197. mdcutssi acc0,-31,fr10
  198. test_fr_iimmed 0xffffffff,fr10
  199. test_fr_iimmed 0xffffffff,fr11
  200. mdcutssi acc0,-32,fr10
  201. test_fr_iimmed 0xffffffff,fr10
  202. test_fr_iimmed 0xffffffff,fr11
  203. set_accg_immed 0xffffff67,accg0
  204. set_acc_immed 0x89abcdef,acc0
  205. set_accg_immed 0xffffff67,accg1
  206. set_acc_immed 0x89abcdef,acc1
  207. mdcutssi acc0,-1,fr10
  208. test_fr_iimmed 0x33c4d5e6,fr10
  209. test_fr_iimmed 0x33c4d5e6,fr11
  210. mdcutssi acc0,-2,fr10
  211. test_fr_iimmed 0x19e26af3,fr10
  212. test_fr_iimmed 0x19e26af3,fr11
  213. mdcutssi acc0,-3,fr10
  214. test_fr_iimmed 0x0cf13579,fr10
  215. test_fr_iimmed 0x0cf13579,fr11
  216. mdcutssi acc0,-4,fr10
  217. test_fr_iimmed 0x06789abc,fr10
  218. test_fr_iimmed 0x06789abc,fr11
  219. mdcutssi acc0,-5,fr10
  220. test_fr_iimmed 0x033c4d5e,fr10
  221. test_fr_iimmed 0x033c4d5e,fr11
  222. mdcutssi acc0,-6,fr10
  223. test_fr_iimmed 0x019e26af,fr10
  224. test_fr_iimmed 0x019e26af,fr11
  225. mdcutssi acc0,-7,fr10
  226. test_fr_iimmed 0x00cf1357,fr10
  227. test_fr_iimmed 0x00cf1357,fr11
  228. mdcutssi acc0,-8,fr10
  229. test_fr_iimmed 0x006789ab,fr10
  230. test_fr_iimmed 0x006789ab,fr11
  231. mdcutssi acc0,-9,fr10
  232. test_fr_iimmed 0x0033c4d5,fr10
  233. test_fr_iimmed 0x0033c4d5,fr11
  234. mdcutssi acc0,-10,fr10
  235. test_fr_iimmed 0x0019e26a,fr10
  236. test_fr_iimmed 0x0019e26a,fr11
  237. mdcutssi acc0,-11,fr10
  238. test_fr_iimmed 0x000cf135,fr10
  239. test_fr_iimmed 0x000cf135,fr11
  240. mdcutssi acc0,-12,fr10
  241. test_fr_iimmed 0x0006789a,fr10
  242. test_fr_iimmed 0x0006789a,fr11
  243. mdcutssi acc0,-13,fr10
  244. test_fr_iimmed 0x00033c4d,fr10
  245. test_fr_iimmed 0x00033c4d,fr11
  246. mdcutssi acc0,-14,fr10
  247. test_fr_iimmed 0x00019e26,fr10
  248. test_fr_iimmed 0x00019e26,fr11
  249. mdcutssi acc0,-15,fr10
  250. test_fr_iimmed 0x0000cf13,fr10
  251. test_fr_iimmed 0x0000cf13,fr11
  252. mdcutssi acc0,-16,fr10
  253. test_fr_iimmed 0x00006789,fr10
  254. test_fr_iimmed 0x00006789,fr11
  255. mdcutssi acc0,-17,fr10
  256. test_fr_iimmed 0x000033c4,fr10
  257. test_fr_iimmed 0x000033c4,fr11
  258. mdcutssi acc0,-18,fr10
  259. test_fr_iimmed 0x000019e2,fr10
  260. test_fr_iimmed 0x000019e2,fr11
  261. mdcutssi acc0,-19,fr10
  262. test_fr_iimmed 0x00000cf1,fr10
  263. test_fr_iimmed 0x00000cf1,fr11
  264. mdcutssi acc0,-20,fr10
  265. test_fr_iimmed 0x00000678,fr10
  266. test_fr_iimmed 0x00000678,fr11
  267. mdcutssi acc0,-21,fr10
  268. test_fr_iimmed 0x0000033c,fr10
  269. test_fr_iimmed 0x0000033c,fr11
  270. mdcutssi acc0,-22,fr10
  271. test_fr_iimmed 0x0000019e,fr10
  272. test_fr_iimmed 0x0000019e,fr11
  273. mdcutssi acc0,-23,fr10
  274. test_fr_iimmed 0x000000cf,fr10
  275. test_fr_iimmed 0x000000cf,fr11
  276. mdcutssi acc0,-24,fr10
  277. test_fr_iimmed 0x00000067,fr10
  278. test_fr_iimmed 0x00000067,fr11
  279. mdcutssi acc0,-25,fr10
  280. test_fr_iimmed 0x00000033,fr10
  281. test_fr_iimmed 0x00000033,fr11
  282. mdcutssi acc0,-26,fr10
  283. test_fr_iimmed 0x00000019,fr10
  284. test_fr_iimmed 0x00000019,fr11
  285. mdcutssi acc0,-27,fr10
  286. test_fr_iimmed 0x0000000c,fr10
  287. test_fr_iimmed 0x0000000c,fr11
  288. mdcutssi acc0,-28,fr10
  289. test_fr_iimmed 0x00000006,fr10
  290. test_fr_iimmed 0x00000006,fr11
  291. mdcutssi acc0,-29,fr10
  292. test_fr_iimmed 0x00000003,fr10
  293. test_fr_iimmed 0x00000003,fr11
  294. mdcutssi acc0,-30,fr10
  295. test_fr_iimmed 0x00000001,fr10
  296. test_fr_iimmed 0x00000001,fr11
  297. mdcutssi acc0,-31,fr10
  298. test_fr_iimmed 0x00000000,fr10
  299. test_fr_iimmed 0x00000000,fr11
  300. mdcutssi acc0,-32,fr10
  301. test_fr_iimmed 0x00000000,fr10
  302. test_fr_iimmed 0x00000000,fr11
  303. ; Examples from the customer
  304. set_accg_immed 0xffffffff,accg0
  305. set_acc_immed 0xffe00000,acc0
  306. set_accg_immed 0xffffffff,accg1
  307. set_acc_immed 0xffe00000,acc1
  308. mdcutssi acc0,16,fr10
  309. test_fr_iimmed 0xe0000000,fr10
  310. test_fr_iimmed 0xe0000000,fr11
  311. mdcutssi acc0,17,fr10
  312. test_fr_iimmed 0xc0000000,fr10
  313. test_fr_iimmed 0xc0000000,fr11
  314. mdcutssi acc0,18,fr10
  315. test_fr_iimmed 0x80000000,fr10
  316. test_fr_iimmed 0x80000000,fr11
  317. set_accg_immed 0,accg0
  318. set_acc_immed 0x003fffff,acc0
  319. set_accg_immed 0,accg1
  320. set_acc_immed 0x003fffff,acc1
  321. mdcutssi acc0,16,fr10
  322. test_fr_iimmed 0x3fffff00,fr10
  323. test_fr_iimmed 0x3fffff00,fr11
  324. mdcutssi acc0,17,fr10
  325. test_fr_iimmed 0x7ffffe00,fr10
  326. test_fr_iimmed 0x7ffffe00,fr11
  327. set_accg_immed 0x7f,accg0
  328. set_acc_immed 0xffe00000,acc0
  329. set_accg_immed 0x7f,accg1
  330. set_acc_immed 0xffe00000,acc1
  331. mdcutssi acc0,16,fr10
  332. test_fr_iimmed 0x7fffffff,fr10 ; saturated
  333. test_fr_iimmed 0x7fffffff,fr11 ; saturated
  334. mdcutssi acc0,17,fr10
  335. test_fr_iimmed 0x7fffffff,fr10 ; saturated
  336. test_fr_iimmed 0x7fffffff,fr11 ; saturated
  337. mdcutssi acc0,18,fr10
  338. test_fr_iimmed 0x7fffffff,fr10 ; saturated
  339. test_fr_iimmed 0x7fffffff,fr11 ; saturated
  340. set_accg_immed 0x08,accg0
  341. set_acc_immed 0x003fffff,acc0
  342. set_accg_immed 0x08,accg1
  343. set_acc_immed 0x003fffff,acc1
  344. mdcutssi acc0,16,fr10
  345. test_fr_iimmed 0x7fffffff,fr10 ; saturated
  346. test_fr_iimmed 0x7fffffff,fr11 ; saturated
  347. mdcutssi acc0,17,fr10
  348. test_fr_iimmed 0x7fffffff,fr10 ; saturated
  349. test_fr_iimmed 0x7fffffff,fr11 ; saturated
  350. set_accg_immed 0xff,accg0
  351. set_acc_immed 0xefe00000,acc0
  352. set_accg_immed 0xff,accg1
  353. set_acc_immed 0xefe00000,acc1
  354. mdcutssi acc0,16,fr10
  355. test_fr_iimmed 0x80000000,fr10 ; saturated
  356. test_fr_iimmed 0x80000000,fr11 ; saturated
  357. mdcutssi acc0,17,fr10
  358. test_fr_iimmed 0x80000000,fr10 ; saturated
  359. test_fr_iimmed 0x80000000,fr11 ; saturated
  360. mdcutssi acc0,18,fr10
  361. test_fr_iimmed 0x80000000,fr10 ; saturated
  362. test_fr_iimmed 0x80000000,fr11 ; saturated
  363. set_accg_immed 0x80,accg0
  364. set_acc_immed 0x003fffff,acc0
  365. set_accg_immed 0x80,accg1
  366. set_acc_immed 0x003fffff,acc1
  367. mdcutssi acc0,16,fr10
  368. test_fr_iimmed 0x80000000,fr10 ; saturated
  369. test_fr_iimmed 0x80000000,fr11 ; saturated
  370. mdcutssi acc0,17,fr10
  371. test_fr_iimmed 0x80000000,fr10 ; saturated
  372. test_fr_iimmed 0x80000000,fr11 ; saturated
  373. set_accg_immed 0xffffffaf,accg0
  374. set_acc_immed 0x5a5a5a5a,acc0
  375. set_accg_immed 0xffffffaf,accg1
  376. set_acc_immed 0x5a5a5a5a,acc1
  377. mdcutssi acc0,-4,fr10
  378. test_fr_iimmed 0xfaf5a5a5,fr10
  379. test_fr_iimmed 0xfaf5a5a5,fr11
  380. set_accg_immed 0x0000002f,accg0
  381. set_acc_immed 0x5a5a5a5a,acc0
  382. set_accg_immed 0x0000002f,accg1
  383. set_acc_immed 0x5a5a5a5a,acc1
  384. mdcutssi acc0,-7,fr10
  385. test_fr_iimmed 0x005eb4b4,fr10
  386. test_fr_iimmed 0x005eb4b4,fr11
  387. pass