c_ldstii_st_dr_h.s 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605
  1. //Original:/testcases/core/c_ldstii_st_dr_h/c_ldstii_st_dr_h.dsp
  2. // Spec Reference: c_ldstii store dreg
  3. # mach: bfin
  4. .include "testutils.inc"
  5. start
  6. imm32 r0, 0x105f50a0;
  7. imm32 r1, 0x204e60a1;
  8. imm32 r2, 0x300370a2;
  9. imm32 r3, 0x402c80a3;
  10. imm32 r4, 0x501b90a4;
  11. imm32 r5, 0x600aa0a5;
  12. imm32 r6, 0x7019b0a6;
  13. imm32 r7, 0xd028c0a7;
  14. loadsym p1, DATA_ADDR_1;
  15. loadsym p2, DATA_ADDR_2;
  16. .ifndef BFIN_HOST
  17. loadsym p3, DATA_ADDR_3;
  18. .endif
  19. loadsym p4, DATA_ADDR_4;
  20. loadsym p5, DATA_ADDR_1;
  21. loadsym fp, DATA_ADDR_2;
  22. .ifndef BFIN_HOST
  23. loadsym sp, DATA_ADDR_3;
  24. .endif
  25. W [ P1 + 2 ] = R0;
  26. W [ P1 + 4 ] = R1;
  27. W [ P1 + 6 ] = R2;
  28. W [ P1 + 8 ] = R3;
  29. W [ P2 + 10 ] = R4;
  30. W [ P2 + 12 ] = R5;
  31. W [ P2 + 14 ] = R6;
  32. W [ P2 + 16 ] = R7;
  33. R6 = W [ P1 + 2 ] (Z);
  34. R5 = W [ P1 + 4 ] (Z);
  35. R4 = W [ P1 + 6 ] (Z);
  36. R3 = W [ P1 + 8 ] (Z);
  37. R2 = W [ P2 + 10 ] (Z);
  38. R7 = W [ P2 + 12 ] (Z);
  39. R0 = W [ P2 + 14 ] (Z);
  40. R1 = W [ P2 + 16 ] (Z);
  41. CHECKREG r0, 0x0000B0A6;
  42. CHECKREG r1, 0x0000C0A7;
  43. CHECKREG r2, 0x000090A4;
  44. CHECKREG r3, 0x000080A3;
  45. CHECKREG r4, 0x000070A2;
  46. CHECKREG r5, 0x000060A1;
  47. CHECKREG r6, 0x000050A0;
  48. CHECKREG r7, 0x0000A0A5;
  49. .ifndef BFIN_HOST
  50. imm32 r0, 0x10bf50b0;
  51. imm32 r1, 0x20be60b1;
  52. imm32 r2, 0x30bd70b2;
  53. imm32 r3, 0x40bc80b3;
  54. imm32 r4, 0x55bb90b4;
  55. imm32 r5, 0x60baa0b5;
  56. imm32 r6, 0x70b9b0b6;
  57. imm32 r7, 0x80b8c0b7;
  58. W [ P3 + 18 ] = R0;
  59. W [ P3 + 20 ] = R1;
  60. W [ P3 + 22 ] = R2;
  61. W [ P3 + 24 ] = R3;
  62. W [ P4 + 26 ] = R4;
  63. W [ P4 + 28 ] = R5;
  64. W [ P4 + 30 ] = R6;
  65. W [ P4 + 32 ] = R7;
  66. R3 = W [ P3 + 18 ] (Z);
  67. R4 = W [ P3 + 20 ] (Z);
  68. R0 = W [ P3 + 22 ] (Z);
  69. R1 = W [ P3 + 24 ] (Z);
  70. R2 = W [ P4 + 26 ] (Z);
  71. R5 = W [ P4 + 28 ] (Z);
  72. R6 = W [ P4 + 30 ] (Z);
  73. R7 = W [ P4 + 32 ] (Z);
  74. CHECKREG r0, 0x000070B2;
  75. CHECKREG r1, 0x000080B3;
  76. CHECKREG r2, 0x000090B4;
  77. CHECKREG r3, 0x000050B0;
  78. CHECKREG r4, 0x000060B1;
  79. CHECKREG r5, 0x0000A0B5;
  80. CHECKREG r6, 0x0000B0B6;
  81. CHECKREG r7, 0x0000C0B7;
  82. .endif
  83. // initial values
  84. imm32 r0, 0x10cf50c0;
  85. imm32 r1, 0x20ce60c1;
  86. imm32 r2, 0x30c370c2;
  87. imm32 r3, 0x40cc80c3;
  88. imm32 r4, 0x50cb90c4;
  89. imm32 r5, 0x60caa0c5;
  90. imm32 r6, 0x70c9b0c6;
  91. imm32 r7, 0xd0c8c0c7;
  92. W [ P5 + 34 ] = R0;
  93. W [ P5 + 36 ] = R1;
  94. W [ P5 + 38 ] = R2;
  95. W [ P5 + 40 ] = R3;
  96. .ifndef BFIN_HOST
  97. W [ SP + 42 ] = R4;
  98. W [ SP + 44 ] = R5;
  99. W [ SP + 46 ] = R6;
  100. W [ SP + 48 ] = R7;
  101. .endif
  102. R6 = W [ P5 + 34 ] (Z);
  103. R5 = W [ P5 + 36 ] (Z);
  104. R4 = W [ P5 + 38 ] (Z);
  105. R3 = W [ P5 + 40 ] (Z);
  106. .ifndef BFIN_HOST
  107. R2 = W [ SP + 42 ] (Z);
  108. R0 = W [ SP + 44 ] (Z);
  109. R7 = W [ SP + 46 ] (Z);
  110. R1 = W [ SP + 48 ] (Z);
  111. CHECKREG r0, 0x0000A0C5;
  112. CHECKREG r1, 0x0000C0C7;
  113. CHECKREG r2, 0x000090C4;
  114. .endif
  115. CHECKREG r3, 0x000080C3;
  116. CHECKREG r4, 0x000070C2;
  117. CHECKREG r5, 0x000060C1;
  118. CHECKREG r6, 0x000050C0;
  119. // initial values
  120. imm32 r0, 0x60df50d0;
  121. imm32 r1, 0x70de60d1;
  122. imm32 r2, 0x80dd70d2;
  123. imm32 r3, 0x90dc80d3;
  124. imm32 r4, 0xa0db90d4;
  125. imm32 r5, 0xb0daa0d5;
  126. imm32 r6, 0xc0d9b0d6;
  127. imm32 r7, 0xd0d8c0d7;
  128. W [ FP + 50 ] = R0;
  129. W [ FP + 52 ] = R1;
  130. W [ FP + 54 ] = R2;
  131. W [ FP + 56 ] = R3;
  132. W [ FP + 58 ] = R4;
  133. W [ FP + 60 ] = R5;
  134. W [ FP + 62 ] = R6;
  135. W [ FP + 64 ] = R7;
  136. R3 = W [ FP + 50 ] (Z);
  137. R4 = W [ FP + 52 ] (Z);
  138. R0 = W [ FP + 54 ] (Z);
  139. R1 = W [ FP + 56 ] (Z);
  140. R2 = W [ FP + 58 ] (Z);
  141. R5 = W [ FP + 60 ] (Z);
  142. R6 = W [ FP + 62 ] (Z);
  143. R7 = W [ FP + 64 ] (Z);
  144. CHECKREG r0, 0x000070D2;
  145. CHECKREG r1, 0x000080D3;
  146. CHECKREG r2, 0x000090D4;
  147. CHECKREG r3, 0x000050D0;
  148. CHECKREG r4, 0x000060D1;
  149. CHECKREG r5, 0x0000A0D5;
  150. CHECKREG r6, 0x0000B0D6;
  151. CHECKREG r7, 0x0000C0D7;
  152. pass
  153. // Pre-load memory with known data
  154. // More data is defined than will actually be used
  155. .data
  156. DATA_ADDR_1:
  157. .dd 0x00010203
  158. .dd 0x04050607
  159. .dd 0x08090A0B
  160. .dd 0x0C0D0E0F
  161. .dd 0x10111213
  162. .dd 0x14151617
  163. .dd 0x18191A1B
  164. .dd 0x1C1D1E1F
  165. .dd 0x11223344
  166. .dd 0x55667788
  167. .dd 0x99717273
  168. .dd 0x74757677
  169. .dd 0x82838485
  170. .dd 0x86878889
  171. .dd 0x80818283
  172. .dd 0x84858687
  173. .dd 0x01020304
  174. .dd 0x05060708
  175. .dd 0x09101112
  176. .dd 0x14151617
  177. .dd 0x18192021
  178. .dd 0x22232425
  179. .dd 0x26272829
  180. .dd 0x30313233
  181. .dd 0x34353637
  182. .dd 0x38394041
  183. .dd 0x42434445
  184. .dd 0x46474849
  185. .dd 0x50515253
  186. .dd 0x54555657
  187. .dd 0x58596061
  188. .dd 0x62636465
  189. .dd 0x66676869
  190. .dd 0x74555657
  191. .dd 0x78596067
  192. .dd 0x72636467
  193. .dd 0x76676867
  194. .dd 0x00010203
  195. .dd 0x04050607
  196. .dd 0x08090A0B
  197. .dd 0x0C0D0E0F
  198. .dd 0x10111213
  199. .dd 0x14151617
  200. .dd 0x18191A1B
  201. .dd 0x1C1D1E1F
  202. .dd 0x11223344
  203. .dd 0x55667788
  204. .dd 0x99717273
  205. .dd 0x74757677
  206. .dd 0x82838485
  207. .dd 0x86878889
  208. .dd 0x80818283
  209. .dd 0x84858687
  210. .dd 0x01020304
  211. .dd 0x05060708
  212. .dd 0x09101112
  213. .dd 0x14151617
  214. .dd 0x18192021
  215. .dd 0x22232425
  216. .dd 0x26272829
  217. .dd 0x30313233
  218. .dd 0x34353637
  219. .dd 0x38394041
  220. .dd 0x42434445
  221. .dd 0x46474849
  222. .dd 0x50515253
  223. .dd 0x54555657
  224. .dd 0x58596061
  225. .dd 0x62636465
  226. .dd 0x66676869
  227. .dd 0x74555657
  228. .dd 0x78596067
  229. .dd 0x72636467
  230. .dd 0x76676867
  231. DATA_ADDR_2:
  232. .dd 0x20212223
  233. .dd 0x24252627
  234. .dd 0x28292A2B
  235. .dd 0x2C2D2E2F
  236. .dd 0x30313233
  237. .dd 0x34353637
  238. .dd 0x38393A3B
  239. .dd 0x3C3D3E3F
  240. .dd 0x91929394
  241. .dd 0x95969798
  242. .dd 0x99A1A2A3
  243. .dd 0xA5A6A7A8
  244. .dd 0xA9B0B1B2
  245. .dd 0xB3B4B5B6
  246. .dd 0xB7B8B9C0
  247. .dd 0x70717273
  248. .dd 0x74757677
  249. .dd 0x78798081
  250. .dd 0x82838485
  251. .dd 0x86C283C4
  252. .dd 0x81C283C4
  253. .dd 0x82C283C4
  254. .dd 0x83C283C4
  255. .dd 0x84C283C4
  256. .dd 0x85C283C4
  257. .dd 0x86C283C4
  258. .dd 0x87C288C4
  259. .dd 0x88C283C4
  260. .dd 0x89C283C4
  261. .dd 0x80C283C4
  262. .dd 0x81C283C4
  263. .dd 0x82C288C4
  264. .dd 0x94555659
  265. .dd 0x98596069
  266. .dd 0x92636469
  267. .dd 0x96676869
  268. .dd 0x00010203
  269. .dd 0x04050607
  270. .dd 0x08090A0B
  271. .dd 0x0C0D0E0F
  272. .dd 0x10111213
  273. .dd 0x14151617
  274. .dd 0x18191A1B
  275. .dd 0x1C1D1E1F
  276. .dd 0x11223344
  277. .dd 0x55667788
  278. .dd 0x99717273
  279. .dd 0x74757677
  280. .dd 0x82838485
  281. .dd 0x86878889
  282. .dd 0x80818283
  283. .dd 0x84858687
  284. .dd 0x01020304
  285. .dd 0x05060708
  286. .dd 0x09101112
  287. .dd 0x14151617
  288. .dd 0x18192021
  289. .dd 0x22232425
  290. .dd 0x26272829
  291. .dd 0x30313233
  292. .dd 0x34353637
  293. .dd 0x38394041
  294. .dd 0x42434445
  295. .dd 0x46474849
  296. .dd 0x50515253
  297. .dd 0x54555657
  298. .dd 0x58596061
  299. .dd 0x62636465
  300. .dd 0x66676869
  301. .dd 0x74555657
  302. .dd 0x78596067
  303. .dd 0x72636467
  304. .dd 0x76676867
  305. .dd 0x00010203
  306. .dd 0x04050607
  307. .dd 0x08090A0B
  308. .dd 0x0C0D0E0F
  309. .dd 0x10111213
  310. .dd 0x14151617
  311. .dd 0x18191A1B
  312. .dd 0x1C1D1E1F
  313. .dd 0x11223344
  314. .dd 0x55667788
  315. .dd 0x99717273
  316. .dd 0x74757677
  317. .dd 0x82838485
  318. .dd 0x86878889
  319. .dd 0x80818283
  320. .dd 0x84858687
  321. .dd 0x01020304
  322. .dd 0x05060708
  323. .dd 0x09101112
  324. .dd 0x14151617
  325. .dd 0x18192021
  326. .dd 0x22232425
  327. .dd 0x26272829
  328. .dd 0x30313233
  329. .dd 0x34353637
  330. .dd 0x38394041
  331. .dd 0x42434445
  332. .dd 0x46474849
  333. .dd 0x50515253
  334. .dd 0x54555657
  335. .dd 0x58596061
  336. .dd 0x62636465
  337. .dd 0x66676869
  338. .dd 0x74555657
  339. .dd 0x78596067
  340. .dd 0x72636467
  341. .dd 0x76676867
  342. DATA_ADDR_3:
  343. .dd 0x40414243
  344. .dd 0x44454647
  345. .dd 0x48494A4B
  346. .dd 0x4C4D4E4F
  347. .dd 0x50515253
  348. .dd 0x54555657
  349. .dd 0x58595A5B
  350. .dd 0xC5C6C7C8
  351. .dd 0xC9CACBCD
  352. .dd 0xCFD0D1D2
  353. .dd 0xD3D4D5D6
  354. .dd 0xD7D8D9DA
  355. .dd 0xDBDCDDDE
  356. .dd 0xDFE0E1E2
  357. .dd 0xE3E4E5E6
  358. .dd 0x91E899EA
  359. .dd 0x92E899EA
  360. .dd 0x93E899EA
  361. .dd 0x94E899EA
  362. .dd 0x95E899EA
  363. .dd 0x96E899EA
  364. .dd 0x97E899EA
  365. .dd 0x98E899EA
  366. .dd 0x99E899EA
  367. .dd 0x91E899EA
  368. .dd 0x92E899EA
  369. .dd 0x93E899EA
  370. .dd 0x94E899EA
  371. .dd 0x95E899EA
  372. .dd 0x96E899EA
  373. .dd 0x977899EA
  374. .dd 0xa455565a
  375. .dd 0xa859606a
  376. .dd 0xa263646a
  377. .dd 0xa667686a
  378. .dd 0x40414243
  379. .dd 0x44454647
  380. .dd 0x48494A4B
  381. .dd 0x4C4D4E4F
  382. .dd 0x50515253
  383. .dd 0x54555657
  384. .dd 0x58595A5B
  385. .dd 0xC5C6C7C8
  386. .dd 0xC9CACBCD
  387. .dd 0xCFD0D1D2
  388. .dd 0xD3D4D5D6
  389. .dd 0xD7D8D9DA
  390. .dd 0xDBDCDDDE
  391. .dd 0xDFE0E1E2
  392. .dd 0xE3E4E5E6
  393. .dd 0x91E899EA
  394. .dd 0x92E899EA
  395. .dd 0x93E899EA
  396. .dd 0x94E899EA
  397. .dd 0x95E899EA
  398. .dd 0x96E899EA
  399. .dd 0x97E899EA
  400. .dd 0x98E899EA
  401. .dd 0x99E899EA
  402. .dd 0x91E899EA
  403. .dd 0x92E899EA
  404. .dd 0x93E899EA
  405. .dd 0x94E899EA
  406. .dd 0x95E899EA
  407. .dd 0x96E899EA
  408. .dd 0x977899EA
  409. .dd 0xa455565a
  410. .dd 0xa859606a
  411. .dd 0xa263646a
  412. .dd 0xa667686a
  413. DATA_ADDR_4:
  414. .dd 0x60616263
  415. .dd 0x64656667
  416. .dd 0x68696A6B
  417. .dd 0x6C6D6E6F
  418. .dd 0x70717273
  419. .dd 0x74757677
  420. .dd 0x78797A7B
  421. .dd 0x7C7D7E7F
  422. .dd 0xEBECEDEE
  423. .dd 0xF3F4F5F6
  424. .dd 0xF7F8F9FA
  425. .dd 0xFBFCFDFE
  426. .dd 0xFF000102
  427. .dd 0x03040506
  428. .dd 0x0708090A
  429. .dd 0x0B0CAD0E
  430. .dd 0xAB0CAD01
  431. .dd 0xAB0CAD02
  432. .dd 0xAB0CAD03
  433. .dd 0xAB0CAD04
  434. .dd 0xAB0CAD05
  435. .dd 0xAB0CAD06
  436. .dd 0xAB0CAA07
  437. .dd 0xAB0CAD08
  438. .dd 0xAB0CAD09
  439. .dd 0xA00CAD1E
  440. .dd 0xA10CAD2E
  441. .dd 0xA20CAD3E
  442. .dd 0xA30CAD4E
  443. .dd 0xA40CAD5E
  444. .dd 0xA50CAD6E
  445. .dd 0xA60CAD7E
  446. .dd 0xB455565B
  447. .dd 0xB859606B
  448. .dd 0xB263646B
  449. .dd 0xB667686B
  450. .dd 0x60616263
  451. .dd 0x64656667
  452. .dd 0x68696A6B
  453. .dd 0x6C6D6E6F
  454. .dd 0x70717273
  455. .dd 0x74757677
  456. .dd 0x78797A7B
  457. .dd 0x7C7D7E7F
  458. .dd 0xEBECEDEE
  459. .dd 0xF3F4F5F6
  460. .dd 0xF7F8F9FA
  461. .dd 0xFBFCFDFE
  462. .dd 0xFF000102
  463. .dd 0x03040506
  464. .dd 0x0708090A
  465. .dd 0x0B0CAD0E
  466. .dd 0xAB0CAD01
  467. .dd 0xAB0CAD02
  468. .dd 0xAB0CAD03
  469. .dd 0xAB0CAD04
  470. .dd 0xAB0CAD05
  471. .dd 0xAB0CAD06
  472. .dd 0xAB0CAA07
  473. .dd 0xAB0CAD08
  474. .dd 0xAB0CAD09
  475. .dd 0xA00CAD1E
  476. .dd 0xA10CAD2E
  477. .dd 0xA20CAD3E
  478. .dd 0xA30CAD4E
  479. .dd 0xA40CAD5E
  480. .dd 0xA50CAD6E
  481. .dd 0xA60CAD7E
  482. .dd 0xB455565B
  483. .dd 0xB859606B
  484. .dd 0xB263646B
  485. .dd 0xB667686B
  486. DATA_ADDR_5:
  487. .dd 0x80818283
  488. .dd 0x84858687
  489. .dd 0x88898A8B
  490. .dd 0x8C8D8E8F
  491. .dd 0x90919293
  492. .dd 0x94959697
  493. .dd 0x98999A9B
  494. .dd 0x9C9D9E9F
  495. .dd 0x0F101213
  496. .dd 0x14151617
  497. .dd 0x18191A1B
  498. .dd 0x1C1D1E1F
  499. .dd 0x20212223
  500. .dd 0x24252627
  501. .dd 0x28292A2B
  502. .dd 0x2C2D2E2F
  503. .dd 0xBC0DBE21
  504. .dd 0xBC1DBE22
  505. .dd 0xBC2DBE23
  506. .dd 0xBC3DBE24
  507. .dd 0xBC4DBE65
  508. .dd 0xBC5DBE27
  509. .dd 0xBC6DBE28
  510. .dd 0xBC7DBE29
  511. .dd 0xBC8DBE2F
  512. .dd 0xBC9DBE20
  513. .dd 0xBCADBE21
  514. .dd 0xBCBDBE2F
  515. .dd 0xBCCDBE23
  516. .dd 0xBCDDBE24
  517. .dd 0xBCFDBE25
  518. .dd 0xC455565C
  519. .dd 0xC859606C
  520. .dd 0xC263646C
  521. .dd 0xC667686C
  522. .dd 0xCC0DBE2C
  523. DATA_ADDR_6:
  524. .dd 0x00010203
  525. .dd 0x04050607
  526. .dd 0x08090A0B
  527. .dd 0x0C0D0E0F
  528. .dd 0x10111213
  529. .dd 0x14151617
  530. .dd 0x18191A1B
  531. .dd 0x1C1D1E1F
  532. .dd 0x20212223
  533. .dd 0x24252627
  534. .dd 0x28292A2B
  535. .dd 0x2C2D2E2F
  536. .dd 0x30313233
  537. .dd 0x34353637
  538. .dd 0x38393A3B
  539. .dd 0x3C3D3E3F
  540. .dd 0x40414243
  541. .dd 0x44454647
  542. .dd 0x48494A4B
  543. .dd 0x4C4D4E4F
  544. .dd 0x50515253
  545. .dd 0x54555657
  546. .dd 0x58595A5B
  547. .dd 0x5C5D5E5F
  548. .dd 0x60616263
  549. .dd 0x64656667
  550. .dd 0x68696A6B
  551. .dd 0x6C6D6E6F
  552. .dd 0x70717273
  553. .dd 0x74757677
  554. .dd 0x78797A7B
  555. .dd 0x7C7D7E7F
  556. DATA_ADDR_7:
  557. .dd 0x80818283
  558. .dd 0x84858687
  559. .dd 0x88898A8B
  560. .dd 0x8C8D8E8F
  561. .dd 0x90919293
  562. .dd 0x94959697
  563. .dd 0x98999A9B
  564. .dd 0x9C9D9E9F
  565. .dd 0xA0A1A2A3
  566. .dd 0xA4A5A6A7
  567. .dd 0xA8A9AAAB
  568. .dd 0xACADAEAF
  569. .dd 0xB0B1B2B3
  570. .dd 0xB4B5B6B7
  571. .dd 0xB8B9BABB
  572. .dd 0xBCBDBEBF
  573. .dd 0xC0C1C2C3
  574. .dd 0xC4C5C6C7
  575. .dd 0xC8C9CACB
  576. .dd 0xCCCDCECF
  577. .dd 0xD0D1D2D3
  578. .dd 0xD4D5D6D7
  579. .dd 0xD8D9DADB
  580. .dd 0xDCDDDEDF
  581. .dd 0xE0E1E2E3
  582. .dd 0xE4E5E6E7
  583. .dd 0xE8E9EAEB
  584. .dd 0xECEDEEEF
  585. .dd 0xF0F1F2F3
  586. .dd 0xF4F5F6F7
  587. .dd 0xF8F9FAFB
  588. .dd 0xFCFDFEFF