c_ldstii_ld_dr_h.s 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541
  1. //Original:testcases/core/c_ldstii_ld_dr_h/c_ldstii_ld_dr_h.dsp
  2. // Spec Reference: c_ldstii load dreg h
  3. # mach: bfin
  4. .include "testutils.inc"
  5. start
  6. // set all regs
  7. init_i_regs 0;
  8. init_b_regs 0;
  9. init_l_regs 0;
  10. init_m_regs 0;
  11. INIT_R_REGS 0;
  12. I0 = P3;
  13. I2 = SP;
  14. // initial values
  15. I1 = P3; P3 = I0; I3 = SP; SP = I2;
  16. loadsym p1, DATA_ADDR_1, 0x00;
  17. loadsym p2, DATA_ADDR_2, 0x04;
  18. loadsym i1, DATA_ADDR_3, 0x04;
  19. loadsym p4, DATA_ADDR_1, 0x00;
  20. loadsym p5, DATA_ADDR_2, 0x00;
  21. loadsym fp, DATA_ADDR_3, 0x00;
  22. loadsym i3, DATA_ADDR_4, 0x00;
  23. P3 = I1; SP = I3;
  24. R0 = W [ P1 + 0 ] (Z);
  25. R1 = W [ P1 + 4 ] (Z);
  26. R2 = W [ P1 + 8 ] (Z);
  27. R3 = W [ P1 + 12 ] (Z);
  28. R4 = W [ P1 + 16 ] (Z);
  29. R5 = W [ P1 + 20 ] (Z);
  30. R6 = W [ P1 + 24 ] (Z);
  31. CHECKREG r0, 0x00000203;
  32. CHECKREG r1, 0x00000607;
  33. CHECKREG r2, 0x00000A0B;
  34. CHECKREG r3, 0x00000E0F;
  35. CHECKREG r4, 0x00001213;
  36. CHECKREG r5, 0x00001617;
  37. CHECKREG r6, 0x00001A1B;
  38. R0 = W [ P2 + 28 ] (Z);
  39. R1 = W [ P2 + 32 ] (Z);
  40. R2 = W [ P2 + 36 ] (Z);
  41. R3 = W [ P2 + 40 ] (Z);
  42. R4 = W [ P2 + 44 ] (Z);
  43. R5 = W [ P2 + 48 ] (Z);
  44. R6 = W [ P2 + 52 ] (Z);
  45. CHECKREG r0, 0x00009394;
  46. CHECKREG r1, 0x00009798;
  47. CHECKREG r2, 0x0000A2A3;
  48. CHECKREG r3, 0x0000A7A8;
  49. CHECKREG r4, 0x0000B1B2;
  50. CHECKREG r5, 0x0000B5B6;
  51. CHECKREG r6, 0x0000B9C0;
  52. R0 = W [ P3 + 56 ] (Z);
  53. R1 = W [ P3 + 60 ] (Z);
  54. R2 = W [ P3 + 64 ] (Z);
  55. R3 = W [ P3 + 60 ] (Z);
  56. R4 = W [ P3 + 56 ] (Z);
  57. R5 = W [ P3 + 52 ] (Z);
  58. R6 = W [ P3 + 48 ] (Z);
  59. CHECKREG r0, 0x000099EA;
  60. CHECKREG r1, 0x000099EA;
  61. CHECKREG r2, 0x000099EA;
  62. CHECKREG r3, 0x000099EA;
  63. CHECKREG r4, 0x000099EA;
  64. CHECKREG r5, 0x0000E5E6;
  65. CHECKREG r6, 0x0000E1E2;
  66. R0 = W [ P4 + 44 ] (Z);
  67. R1 = W [ P4 + 40 ] (Z);
  68. R2 = W [ P4 + 36 ] (Z);
  69. R3 = W [ P4 + 32 ] (Z);
  70. R4 = W [ P4 + 28 ] (Z);
  71. R5 = W [ P4 + 24 ] (Z);
  72. R6 = W [ P4 + 20 ] (Z);
  73. CHECKREG r0, 0x00007677;
  74. CHECKREG r1, 0x00007273;
  75. CHECKREG r2, 0x00007788;
  76. CHECKREG r3, 0x00003344;
  77. CHECKREG r4, 0x00001E1F;
  78. CHECKREG r5, 0x00001A1B;
  79. CHECKREG r6, 0x00001617;
  80. R0 = W [ P5 + 16 ] (Z);
  81. R1 = W [ P5 + 12 ] (Z);
  82. R2 = W [ P5 + 8 ] (Z);
  83. R3 = W [ P5 + 4 ] (Z);
  84. R4 = W [ P5 + 0 ] (Z);
  85. R5 = W [ P5 + 4 ] (Z);
  86. R6 = W [ P5 + 8 ] (Z);
  87. CHECKREG r0, 0x00003233;
  88. CHECKREG r1, 0x00002E2F;
  89. CHECKREG r2, 0x00002A2B;
  90. CHECKREG r3, 0x00002627;
  91. CHECKREG r4, 0x00002223;
  92. CHECKREG r5, 0x00002627;
  93. CHECKREG r6, 0x00002A2B;
  94. R0 = W [ FP + 12 ] (Z);
  95. R1 = W [ FP + 16 ] (Z);
  96. R2 = W [ FP + 20 ] (Z);
  97. R3 = W [ FP + 24 ] (Z);
  98. R4 = W [ FP + 28 ] (Z);
  99. R5 = W [ FP + 32 ] (Z);
  100. R6 = W [ FP + 36 ] (Z);
  101. CHECKREG r0, 0x00004E4F;
  102. CHECKREG r1, 0x00005253;
  103. CHECKREG r2, 0x00005657;
  104. CHECKREG r3, 0x00005A5B;
  105. CHECKREG r4, 0x0000C7C8;
  106. CHECKREG r5, 0x0000CBCD;
  107. CHECKREG r6, 0x0000D1D2;
  108. R0 = W [ SP + 40 ] (Z);
  109. R1 = W [ SP + 44 ] (Z);
  110. R2 = W [ SP + 48 ] (Z);
  111. R3 = W [ SP + 52 ] (Z);
  112. R4 = W [ SP + 56 ] (Z);
  113. R5 = W [ SP + 60 ] (Z);
  114. R6 = W [ SP + 64 ] (Z);
  115. CHECKREG r0, 0x0000F9FA;
  116. CHECKREG r1, 0x0000FDFE;
  117. CHECKREG r2, 0x00000102;
  118. CHECKREG r3, 0x00000506;
  119. CHECKREG r4, 0x0000090A;
  120. CHECKREG r5, 0x0000AD0E;
  121. CHECKREG r6, 0x0000AD01;
  122. P3 = I0; SP = I2;
  123. pass
  124. // Pre-load memory with known data
  125. // More data is defined than will actually be used
  126. .data
  127. DATA_ADDR_1:
  128. .dd 0x00010203
  129. .dd 0x04050607
  130. .dd 0x08090A0B
  131. .dd 0x0C0D0E0F
  132. .dd 0x10111213
  133. .dd 0x14151617
  134. .dd 0x18191A1B
  135. .dd 0x1C1D1E1F
  136. .dd 0x11223344
  137. .dd 0x55667788
  138. .dd 0x99717273
  139. .dd 0x74757677
  140. .dd 0x82838485
  141. .dd 0x86878889
  142. .dd 0x80818283
  143. .dd 0x84858687
  144. .dd 0x01020304
  145. .dd 0x05060708
  146. .dd 0x09101112
  147. .dd 0x14151617
  148. .dd 0x18192021
  149. .dd 0x22232425
  150. .dd 0x26272829
  151. .dd 0x30313233
  152. .dd 0x34353637
  153. .dd 0x38394041
  154. .dd 0x42434445
  155. .dd 0x46474849
  156. .dd 0x50515253
  157. .dd 0x54555657
  158. .dd 0x58596061
  159. .dd 0x62636465
  160. .dd 0x66676869
  161. .dd 0x74555657
  162. .dd 0x78596067
  163. .dd 0x72636467
  164. .dd 0x76676867
  165. .dd 0x00010203
  166. .dd 0x04050607
  167. .dd 0x08090A0B
  168. .dd 0x0C0D0E0F
  169. .dd 0x10111213
  170. .dd 0x14151617
  171. .dd 0x18191A1B
  172. .dd 0x1C1D1E1F
  173. .dd 0x11223344
  174. .dd 0x55667788
  175. .dd 0x99717273
  176. .dd 0x74757677
  177. .dd 0x82838485
  178. .dd 0x86878889
  179. .dd 0x80818283
  180. .dd 0x84858687
  181. .dd 0x01020304
  182. .dd 0x05060708
  183. .dd 0x09101112
  184. .dd 0x14151617
  185. .dd 0x18192021
  186. .dd 0x22232425
  187. .dd 0x26272829
  188. .dd 0x30313233
  189. .dd 0x34353637
  190. .dd 0x38394041
  191. .dd 0x42434445
  192. .dd 0x46474849
  193. .dd 0x50515253
  194. .dd 0x54555657
  195. .dd 0x58596061
  196. .dd 0x62636465
  197. .dd 0x66676869
  198. .dd 0x74555657
  199. .dd 0x78596067
  200. .dd 0x72636467
  201. .dd 0x76676867
  202. DATA_ADDR_2:
  203. .dd 0x20212223
  204. .dd 0x24252627
  205. .dd 0x28292A2B
  206. .dd 0x2C2D2E2F
  207. .dd 0x30313233
  208. .dd 0x34353637
  209. .dd 0x38393A3B
  210. .dd 0x3C3D3E3F
  211. .dd 0x91929394
  212. .dd 0x95969798
  213. .dd 0x99A1A2A3
  214. .dd 0xA5A6A7A8
  215. .dd 0xA9B0B1B2
  216. .dd 0xB3B4B5B6
  217. .dd 0xB7B8B9C0
  218. .dd 0x70717273
  219. .dd 0x74757677
  220. .dd 0x78798081
  221. .dd 0x82838485
  222. .dd 0x86C283C4
  223. .dd 0x81C283C4
  224. .dd 0x82C283C4
  225. .dd 0x83C283C4
  226. .dd 0x84C283C4
  227. .dd 0x85C283C4
  228. .dd 0x86C283C4
  229. .dd 0x87C288C4
  230. .dd 0x88C283C4
  231. .dd 0x89C283C4
  232. .dd 0x80C283C4
  233. .dd 0x81C283C4
  234. .dd 0x82C288C4
  235. .dd 0x94555659
  236. .dd 0x98596069
  237. .dd 0x92636469
  238. .dd 0x96676869
  239. .dd 0x20212223
  240. .dd 0x24252627
  241. .dd 0x28292A2B
  242. .dd 0x2C2D2E2F
  243. .dd 0x30313233
  244. .dd 0x34353637
  245. .dd 0x38393A3B
  246. .dd 0x3C3D3E3F
  247. .dd 0x91929394
  248. .dd 0x95969798
  249. .dd 0x99A1A2A3
  250. .dd 0xA5A6A7A8
  251. .dd 0xA9B0B1B2
  252. .dd 0xB3B4B5B6
  253. .dd 0xB7B8B9C0
  254. .dd 0x70717273
  255. .dd 0x74757677
  256. .dd 0x78798081
  257. .dd 0x82838485
  258. .dd 0x86C283C4
  259. .dd 0x81C283C4
  260. .dd 0x82C283C4
  261. .dd 0x83C283C4
  262. .dd 0x84C283C4
  263. .dd 0x85C283C4
  264. .dd 0x86C283C4
  265. .dd 0x87C288C4
  266. .dd 0x88C283C4
  267. .dd 0x89C283C4
  268. .dd 0x80C283C4
  269. .dd 0x81C283C4
  270. .dd 0x82C288C4
  271. .dd 0x94555659
  272. .dd 0x98596069
  273. .dd 0x92636469
  274. .dd 0x96676869
  275. DATA_ADDR_3:
  276. .dd 0x40414243
  277. .dd 0x44454647
  278. .dd 0x48494A4B
  279. .dd 0x4C4D4E4F
  280. .dd 0x50515253
  281. .dd 0x54555657
  282. .dd 0x58595A5B
  283. .dd 0xC5C6C7C8
  284. .dd 0xC9CACBCD
  285. .dd 0xCFD0D1D2
  286. .dd 0xD3D4D5D6
  287. .dd 0xD7D8D9DA
  288. .dd 0xDBDCDDDE
  289. .dd 0xDFE0E1E2
  290. .dd 0xE3E4E5E6
  291. .dd 0x91E899EA
  292. .dd 0x92E899EA
  293. .dd 0x93E899EA
  294. .dd 0x94E899EA
  295. .dd 0x95E899EA
  296. .dd 0x96E899EA
  297. .dd 0x97E899EA
  298. .dd 0x98E899EA
  299. .dd 0x99E899EA
  300. .dd 0x91E899EA
  301. .dd 0x92E899EA
  302. .dd 0x93E899EA
  303. .dd 0x94E899EA
  304. .dd 0x95E899EA
  305. .dd 0x96E899EA
  306. .dd 0x977899EA
  307. .dd 0xa455565a
  308. .dd 0xa859606a
  309. .dd 0xa263646a
  310. .dd 0xa667686a
  311. .dd 0x40414243
  312. .dd 0x44454647
  313. .dd 0x48494A4B
  314. .dd 0x4C4D4E4F
  315. .dd 0x50515253
  316. .dd 0x54555657
  317. .dd 0x58595A5B
  318. .dd 0xC5C6C7C8
  319. .dd 0xC9CACBCD
  320. .dd 0xCFD0D1D2
  321. .dd 0xD3D4D5D6
  322. .dd 0xD7D8D9DA
  323. .dd 0xDBDCDDDE
  324. .dd 0xDFE0E1E2
  325. .dd 0xE3E4E5E6
  326. .dd 0x91E899EA
  327. .dd 0x92E899EA
  328. .dd 0x93E899EA
  329. .dd 0x94E899EA
  330. .dd 0x95E899EA
  331. .dd 0x96E899EA
  332. .dd 0x97E899EA
  333. .dd 0x98E899EA
  334. .dd 0x99E899EA
  335. .dd 0x91E899EA
  336. .dd 0x92E899EA
  337. .dd 0x93E899EA
  338. .dd 0x94E899EA
  339. .dd 0x95E899EA
  340. .dd 0x96E899EA
  341. .dd 0x977899EA
  342. .dd 0xa455565a
  343. .dd 0xa859606a
  344. .dd 0xa263646a
  345. .dd 0xa667686a
  346. DATA_ADDR_4:
  347. .dd 0x60616263
  348. .dd 0x64656667
  349. .dd 0x68696A6B
  350. .dd 0x6C6D6E6F
  351. .dd 0x70717273
  352. .dd 0x74757677
  353. .dd 0x78797A7B
  354. .dd 0x7C7D7E7F
  355. .dd 0xEBECEDEE
  356. .dd 0xF3F4F5F6
  357. .dd 0xF7F8F9FA
  358. .dd 0xFBFCFDFE
  359. .dd 0xFF000102
  360. .dd 0x03040506
  361. .dd 0x0708090A
  362. .dd 0x0B0CAD0E
  363. .dd 0xAB0CAD01
  364. .dd 0xAB0CAD02
  365. .dd 0xAB0CAD03
  366. .dd 0xAB0CAD04
  367. .dd 0xAB0CAD05
  368. .dd 0xAB0CAD06
  369. .dd 0xAB0CAA07
  370. .dd 0xAB0CAD08
  371. .dd 0xAB0CAD09
  372. .dd 0xA00CAD1E
  373. .dd 0xA10CAD2E
  374. .dd 0xA20CAD3E
  375. .dd 0xA30CAD4E
  376. .dd 0xA40CAD5E
  377. .dd 0xA50CAD6E
  378. .dd 0xA60CAD7E
  379. .dd 0xB455565B
  380. .dd 0xB859606B
  381. .dd 0xB263646B
  382. .dd 0xB667686B
  383. .dd 0x60616263
  384. .dd 0x64656667
  385. .dd 0x68696A6B
  386. .dd 0x6C6D6E6F
  387. .dd 0x70717273
  388. .dd 0x74757677
  389. .dd 0x78797A7B
  390. .dd 0x7C7D7E7F
  391. .dd 0xEBECEDEE
  392. .dd 0xF3F4F5F6
  393. .dd 0xF7F8F9FA
  394. .dd 0xFBFCFDFE
  395. .dd 0xFF000102
  396. .dd 0x03040506
  397. .dd 0x0708090A
  398. .dd 0x0B0CAD0E
  399. .dd 0xAB0CAD01
  400. .dd 0xAB0CAD02
  401. .dd 0xAB0CAD03
  402. .dd 0xAB0CAD04
  403. .dd 0xAB0CAD05
  404. .dd 0xAB0CAD06
  405. .dd 0xAB0CAA07
  406. .dd 0xAB0CAD08
  407. .dd 0xAB0CAD09
  408. .dd 0xA00CAD1E
  409. .dd 0xA10CAD2E
  410. .dd 0xA20CAD3E
  411. .dd 0xA30CAD4E
  412. .dd 0xA40CAD5E
  413. .dd 0xA50CAD6E
  414. .dd 0xA60CAD7E
  415. .dd 0xB455565B
  416. .dd 0xB859606B
  417. .dd 0xB263646B
  418. .dd 0xB667686B
  419. DATA_ADDR_5:
  420. .dd 0x80818283
  421. .dd 0x84858687
  422. .dd 0x88898A8B
  423. .dd 0x8C8D8E8F
  424. .dd 0x90919293
  425. .dd 0x94959697
  426. .dd 0x98999A9B
  427. .dd 0x9C9D9E9F
  428. .dd 0x0F101213
  429. .dd 0x14151617
  430. .dd 0x18191A1B
  431. .dd 0x1C1D1E1F
  432. .dd 0x20212223
  433. .dd 0x24252627
  434. .dd 0x28292A2B
  435. .dd 0x2C2D2E2F
  436. .dd 0xBC0DBE21
  437. .dd 0xBC1DBE22
  438. .dd 0xBC2DBE23
  439. .dd 0xBC3DBE24
  440. .dd 0xBC4DBE65
  441. .dd 0xBC5DBE27
  442. .dd 0xBC6DBE28
  443. .dd 0xBC7DBE29
  444. .dd 0xBC8DBE2F
  445. .dd 0xBC9DBE20
  446. .dd 0xBCADBE21
  447. .dd 0xBCBDBE2F
  448. .dd 0xBCCDBE23
  449. .dd 0xBCDDBE24
  450. .dd 0xBCFDBE25
  451. .dd 0xC455565C
  452. .dd 0xC859606C
  453. .dd 0xC263646C
  454. .dd 0xC667686C
  455. .dd 0xCC0DBE2C
  456. DATA_ADDR_6:
  457. .dd 0x00010203
  458. .dd 0x04050607
  459. .dd 0x08090A0B
  460. .dd 0x0C0D0E0F
  461. .dd 0x10111213
  462. .dd 0x14151617
  463. .dd 0x18191A1B
  464. .dd 0x1C1D1E1F
  465. .dd 0x20212223
  466. .dd 0x24252627
  467. .dd 0x28292A2B
  468. .dd 0x2C2D2E2F
  469. .dd 0x30313233
  470. .dd 0x34353637
  471. .dd 0x38393A3B
  472. .dd 0x3C3D3E3F
  473. .dd 0x40414243
  474. .dd 0x44454647
  475. .dd 0x48494A4B
  476. .dd 0x4C4D4E4F
  477. .dd 0x50515253
  478. .dd 0x54555657
  479. .dd 0x58595A5B
  480. .dd 0x5C5D5E5F
  481. .dd 0x60616263
  482. .dd 0x64656667
  483. .dd 0x68696A6B
  484. .dd 0x6C6D6E6F
  485. .dd 0x70717273
  486. .dd 0x74757677
  487. .dd 0x78797A7B
  488. .dd 0x7C7D7E7F
  489. DATA_ADDR_7:
  490. .dd 0x80818283
  491. .dd 0x84858687
  492. .dd 0x88898A8B
  493. .dd 0x8C8D8E8F
  494. .dd 0x90919293
  495. .dd 0x94959697
  496. .dd 0x98999A9B
  497. .dd 0x9C9D9E9F
  498. .dd 0xA0A1A2A3
  499. .dd 0xA4A5A6A7
  500. .dd 0xA8A9AAAB
  501. .dd 0xACADAEAF
  502. .dd 0xB0B1B2B3
  503. .dd 0xB4B5B6B7
  504. .dd 0xB8B9BABB
  505. .dd 0xBCBDBEBF
  506. .dd 0xC0C1C2C3
  507. .dd 0xC4C5C6C7
  508. .dd 0xC8C9CACB
  509. .dd 0xCCCDCECF
  510. .dd 0xD0D1D2D3
  511. .dd 0xD4D5D6D7
  512. .dd 0xD8D9DADB
  513. .dd 0xDCDDDEDF
  514. .dd 0xE0E1E2E3
  515. .dd 0xE4E5E6E7
  516. .dd 0xE8E9EAEB
  517. .dd 0xECEDEEEF
  518. .dd 0xF0F1F2F3
  519. .dd 0xF4F5F6F7
  520. .dd 0xF8F9FAFB
  521. .dd 0xFCFDFEFF