c_ldstii_st_preg.s 9.8 KB

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