c_ldstpmod_ld_dr_lo.s 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410
  1. //Original:testcases/core/c_ldstpmod_ld_dr_lo/c_ldstpmod_ld_dr_lo.dsp
  2. // Spec Reference: c_ldstpmod load dr lo
  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_2, 0x04;
  17. loadsym p2, DATA_ADDR_3, 0x04;
  18. loadsym i1, DATA_ADDR_4, 0x04;
  19. loadsym p4, DATA_ADDR_5, 0x08;
  20. loadsym p5, DATA_ADDR_1, 0x08;
  21. loadsym fp, DATA_ADDR_6, 0x08;
  22. loadsym i3, DATA_ADDR_7, 0x0c;
  23. P3 = I1; SP = I3;
  24. R0.L = W [ P1 ];
  25. R1.L = W [ P1 ];
  26. R2.L = W [ P1 ];
  27. R3.L = W [ P1 ];
  28. R4.L = W [ P1 ];
  29. R5.L = W [ P1 ];
  30. R6.L = W [ P1 ];
  31. R7.L = W [ P1 ];
  32. CHECKREG r0, 0x00002627;
  33. CHECKREG r1, 0x00002627;
  34. CHECKREG r2, 0x00002627;
  35. CHECKREG r3, 0x00002627;
  36. CHECKREG r4, 0x00002627;
  37. CHECKREG r5, 0x00002627;
  38. CHECKREG r6, 0x00002627;
  39. CHECKREG r7, 0x00002627;
  40. R0.L = W [ P2 ];
  41. R1.L = W [ P2 ];
  42. R2.L = W [ P2 ];
  43. R3.L = W [ P2 ];
  44. R4.L = W [ P2 ];
  45. R5.L = W [ P2 ];
  46. R6.L = W [ P2 ];
  47. R7.L = W [ P2 ];
  48. CHECKREG r0, 0x00004647;
  49. CHECKREG r1, 0x00004647;
  50. CHECKREG r2, 0x00004647;
  51. CHECKREG r3, 0x00004647;
  52. CHECKREG r4, 0x00004647;
  53. CHECKREG r5, 0x00004647;
  54. CHECKREG r6, 0x00004647;
  55. CHECKREG r7, 0x00004647;
  56. R0.L = W [ P3 ];
  57. R1.L = W [ P3 ];
  58. R2.L = W [ P3 ];
  59. R3.L = W [ P3 ];
  60. R4.L = W [ P3 ];
  61. R5.L = W [ P3 ];
  62. R6.L = W [ P3 ];
  63. R7.L = W [ P3 ];
  64. CHECKREG r0, 0x00006667;
  65. CHECKREG r1, 0x00006667;
  66. CHECKREG r2, 0x00006667;
  67. CHECKREG r3, 0x00006667;
  68. CHECKREG r4, 0x00006667;
  69. CHECKREG r5, 0x00006667;
  70. CHECKREG r6, 0x00006667;
  71. CHECKREG r7, 0x00006667;
  72. R0.L = W [ P4 ];
  73. R1.L = W [ P4 ];
  74. R2.L = W [ P4 ];
  75. R3.L = W [ P4 ];
  76. R4.L = W [ P4 ];
  77. R5.L = W [ P4 ];
  78. R6.L = W [ P4 ];
  79. R7.L = W [ P4 ];
  80. CHECKREG r0, 0x00008A8B;
  81. CHECKREG r1, 0x00008A8B;
  82. CHECKREG r2, 0x00008A8B;
  83. CHECKREG r3, 0x00008A8B;
  84. CHECKREG r4, 0x00008A8B;
  85. CHECKREG r5, 0x00008A8B;
  86. CHECKREG r6, 0x00008A8B;
  87. CHECKREG r7, 0x00008A8B;
  88. R0.L = W [ P5 ];
  89. R1.L = W [ P5 ];
  90. R2.L = W [ P5 ];
  91. R3.L = W [ P5 ];
  92. R4.L = W [ P5 ];
  93. R5.L = W [ P5 ];
  94. R6.L = W [ P5 ];
  95. R7.L = W [ P5 ];
  96. CHECKREG r0, 0x00000A0B;
  97. CHECKREG r1, 0x00000A0B;
  98. CHECKREG r2, 0x00000A0B;
  99. CHECKREG r3, 0x00000A0B;
  100. CHECKREG r4, 0x00000A0B;
  101. CHECKREG r5, 0x00000A0B;
  102. CHECKREG r6, 0x00000A0B;
  103. CHECKREG r7, 0x00000A0B;
  104. R0.L = W [ SP ];
  105. R1.L = W [ SP ];
  106. R2.L = W [ SP ];
  107. R3.L = W [ SP ];
  108. R4.L = W [ SP ];
  109. R5.L = W [ SP ];
  110. R6.L = W [ SP ];
  111. R7.L = W [ SP ];
  112. CHECKREG r0, 0x00008E8F;
  113. CHECKREG r1, 0x00008E8F;
  114. CHECKREG r2, 0x00008E8F;
  115. CHECKREG r3, 0x00008E8F;
  116. CHECKREG r4, 0x00008E8F;
  117. CHECKREG r5, 0x00008E8F;
  118. CHECKREG r6, 0x00008E8F;
  119. CHECKREG r7, 0x00008E8F;
  120. R0.L = W [ FP ];
  121. R1.L = W [ FP ];
  122. R2.L = W [ FP ];
  123. R3.L = W [ FP ];
  124. R4.L = W [ FP ];
  125. R5.L = W [ FP ];
  126. R6.L = W [ FP ];
  127. R7.L = W [ FP ];
  128. CHECKREG r0, 0x00000A0B;
  129. CHECKREG r1, 0x00000A0B;
  130. CHECKREG r2, 0x00000A0B;
  131. CHECKREG r3, 0x00000A0B;
  132. CHECKREG r4, 0x00000A0B;
  133. CHECKREG r5, 0x00000A0B;
  134. CHECKREG r6, 0x00000A0B;
  135. CHECKREG r7, 0x00000A0B;
  136. P3 = I0; SP = I2;
  137. pass
  138. // Pre-load memory with known data
  139. // More data is defined than will actually be used
  140. .data
  141. DATA_ADDR_1:
  142. .dd 0x00010203
  143. .dd 0x04050607
  144. .dd 0x08090A0B
  145. .dd 0x0C0D0E0F
  146. .dd 0x10111213
  147. .dd 0x14151617
  148. .dd 0x18191A1B
  149. .dd 0x1C1D1E1F
  150. .dd 0x11223344
  151. .dd 0x55667788
  152. .dd 0x99717273
  153. .dd 0x74757677
  154. .dd 0x82838485
  155. .dd 0x86878889
  156. .dd 0x80818283
  157. .dd 0x84858687
  158. .dd 0x01020304
  159. .dd 0x05060708
  160. .dd 0x09101112
  161. .dd 0x14151617
  162. .dd 0x18192021
  163. .dd 0x22232425
  164. .dd 0x26272829
  165. .dd 0x30313233
  166. .dd 0x34353637
  167. .dd 0x38394041
  168. .dd 0x42434445
  169. .dd 0x46474849
  170. .dd 0x50515253
  171. .dd 0x54555657
  172. .dd 0x58596061
  173. .dd 0x62636465
  174. .dd 0x66676869
  175. .dd 0x74555657
  176. .dd 0x78596067
  177. .dd 0x72636467
  178. .dd 0x76676867
  179. DATA_ADDR_2:
  180. .dd 0x20212223
  181. .dd 0x24252627
  182. .dd 0x28292A2B
  183. .dd 0x2C2D2E2F
  184. .dd 0x30313233
  185. .dd 0x34353637
  186. .dd 0x38393A3B
  187. .dd 0x3C3D3E3F
  188. .dd 0x91929394
  189. .dd 0x95969798
  190. .dd 0x99A1A2A3
  191. .dd 0xA5A6A7A8
  192. .dd 0xA9B0B1B2
  193. .dd 0xB3B4B5B6
  194. .dd 0xB7B8B9C0
  195. .dd 0x70717273
  196. .dd 0x74757677
  197. .dd 0x78798081
  198. .dd 0x82838485
  199. .dd 0x86C283C4
  200. .dd 0x81C283C4
  201. .dd 0x82C283C4
  202. .dd 0x83C283C4
  203. .dd 0x84C283C4
  204. .dd 0x85C283C4
  205. .dd 0x86C283C4
  206. .dd 0x87C288C4
  207. .dd 0x88C283C4
  208. .dd 0x89C283C4
  209. .dd 0x80C283C4
  210. .dd 0x81C283C4
  211. .dd 0x82C288C4
  212. .dd 0x94555659
  213. .dd 0x98596069
  214. .dd 0x92636469
  215. .dd 0x96676869
  216. DATA_ADDR_3:
  217. .dd 0x40414243
  218. .dd 0x44454647
  219. .dd 0x48494A4B
  220. .dd 0x4C4D4E4F
  221. .dd 0x50515253
  222. .dd 0x54555657
  223. .dd 0x58595A5B
  224. .dd 0xC5C6C7C8
  225. .dd 0xC9CACBCD
  226. .dd 0xCFD0D1D2
  227. .dd 0xD3D4D5D6
  228. .dd 0xD7D8D9DA
  229. .dd 0xDBDCDDDE
  230. .dd 0xDFE0E1E2
  231. .dd 0xE3E4E5E6
  232. .dd 0x91E899EA
  233. .dd 0x92E899EA
  234. .dd 0x93E899EA
  235. .dd 0x94E899EA
  236. .dd 0x95E899EA
  237. .dd 0x96E899EA
  238. .dd 0x97E899EA
  239. .dd 0x98E899EA
  240. .dd 0x99E899EA
  241. .dd 0x91E899EA
  242. .dd 0x92E899EA
  243. .dd 0x93E899EA
  244. .dd 0x94E899EA
  245. .dd 0x95E899EA
  246. .dd 0x96E899EA
  247. .dd 0x977899EA
  248. .dd 0xa455565a
  249. .dd 0xa859606a
  250. .dd 0xa263646a
  251. .dd 0xa667686a
  252. DATA_ADDR_4:
  253. .dd 0x60616263
  254. .dd 0x64656667
  255. .dd 0x68696A6B
  256. .dd 0x6C6D6E6F
  257. .dd 0x70717273
  258. .dd 0x74757677
  259. .dd 0x78797A7B
  260. .dd 0x7C7D7E7F
  261. .dd 0xEBECEDEE
  262. .dd 0xF3F4F5F6
  263. .dd 0xF7F8F9FA
  264. .dd 0xFBFCFDFE
  265. .dd 0xFF000102
  266. .dd 0x03040506
  267. .dd 0x0708090A
  268. .dd 0x0B0CAD0E
  269. .dd 0xAB0CAD01
  270. .dd 0xAB0CAD02
  271. .dd 0xAB0CAD03
  272. .dd 0xAB0CAD04
  273. .dd 0xAB0CAD05
  274. .dd 0xAB0CAD06
  275. .dd 0xAB0CAA07
  276. .dd 0xAB0CAD08
  277. .dd 0xAB0CAD09
  278. .dd 0xA00CAD1E
  279. .dd 0xA10CAD2E
  280. .dd 0xA20CAD3E
  281. .dd 0xA30CAD4E
  282. .dd 0xA40CAD5E
  283. .dd 0xA50CAD6E
  284. .dd 0xA60CAD7E
  285. .dd 0xB455565B
  286. .dd 0xB859606B
  287. .dd 0xB263646B
  288. .dd 0xB667686B
  289. DATA_ADDR_5:
  290. .dd 0x80818283
  291. .dd 0x84858687
  292. .dd 0x88898A8B
  293. .dd 0x8C8D8E8F
  294. .dd 0x90919293
  295. .dd 0x94959697
  296. .dd 0x98999A9B
  297. .dd 0x9C9D9E9F
  298. .dd 0x0F101213
  299. .dd 0x14151617
  300. .dd 0x18191A1B
  301. .dd 0x1C1D1E1F
  302. .dd 0x20212223
  303. .dd 0x24252627
  304. .dd 0x28292A2B
  305. .dd 0x2C2D2E2F
  306. .dd 0xBC0DBE21
  307. .dd 0xBC1DBE22
  308. .dd 0xBC2DBE23
  309. .dd 0xBC3DBE24
  310. .dd 0xBC4DBE65
  311. .dd 0xBC5DBE27
  312. .dd 0xBC6DBE28
  313. .dd 0xBC7DBE29
  314. .dd 0xBC8DBE2F
  315. .dd 0xBC9DBE20
  316. .dd 0xBCADBE21
  317. .dd 0xBCBDBE2F
  318. .dd 0xBCCDBE23
  319. .dd 0xBCDDBE24
  320. .dd 0xBCFDBE25
  321. .dd 0xC455565C
  322. .dd 0xC859606C
  323. .dd 0xC263646C
  324. .dd 0xC667686C
  325. .dd 0xCC0DBE2C
  326. DATA_ADDR_6:
  327. .dd 0x00010203
  328. .dd 0x04050607
  329. .dd 0x08090A0B
  330. .dd 0x0C0D0E0F
  331. .dd 0x10111213
  332. .dd 0x14151617
  333. .dd 0x18191A1B
  334. .dd 0x1C1D1E1F
  335. .dd 0x20212223
  336. .dd 0x24252627
  337. .dd 0x28292A2B
  338. .dd 0x2C2D2E2F
  339. .dd 0x30313233
  340. .dd 0x34353637
  341. .dd 0x38393A3B
  342. .dd 0x3C3D3E3F
  343. .dd 0x40414243
  344. .dd 0x44454647
  345. .dd 0x48494A4B
  346. .dd 0x4C4D4E4F
  347. .dd 0x50515253
  348. .dd 0x54555657
  349. .dd 0x58595A5B
  350. .dd 0x5C5D5E5F
  351. .dd 0x60616263
  352. .dd 0x64656667
  353. .dd 0x68696A6B
  354. .dd 0x6C6D6E6F
  355. .dd 0x70717273
  356. .dd 0x74757677
  357. .dd 0x78797A7B
  358. .dd 0x7C7D7E7F
  359. DATA_ADDR_7:
  360. .dd 0x80818283
  361. .dd 0x84858687
  362. .dd 0x88898A8B
  363. .dd 0x8C8D8E8F
  364. .dd 0x90919293
  365. .dd 0x94959697
  366. .dd 0x98999A9B
  367. .dd 0x9C9D9E9F
  368. .dd 0xA0A1A2A3
  369. .dd 0xA4A5A6A7
  370. .dd 0xA8A9AAAB
  371. .dd 0xACADAEAF
  372. .dd 0xB0B1B2B3
  373. .dd 0xB4B5B6B7
  374. .dd 0xB8B9BABB
  375. .dd 0xBCBDBEBF
  376. .dd 0xC0C1C2C3
  377. .dd 0xC4C5C6C7
  378. .dd 0xC8C9CACB
  379. .dd 0xCCCDCECF
  380. .dd 0xD0D1D2D3
  381. .dd 0xD4D5D6D7
  382. .dd 0xD8D9DADB
  383. .dd 0xDCDDDEDF
  384. .dd 0xE0E1E2E3
  385. .dd 0xE4E5E6E7
  386. .dd 0xE8E9EAEB
  387. .dd 0xECEDEEEF
  388. .dd 0xF0F1F2F3
  389. .dd 0xF4F5F6F7
  390. .dd 0xF8F9FAFB
  391. .dd 0xFCFDFEFF