c_dspldst_st_dr_i.s 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. //Original:/testcases/core/c_dspldst_st_dr_i/c_dspldst_st_dr_i.dsp
  2. // Spec Reference: c_dspldst st_dr_i
  3. # mach: bfin
  4. .include "testutils.inc"
  5. start
  6. imm32 r0, 0x0a234507;
  7. imm32 r1, 0x1b345618;
  8. imm32 r2, 0x2c456729;
  9. imm32 r3, 0x3d56783a;
  10. imm32 r4, 0x4e67894b;
  11. imm32 r5, 0x5f789a5c;
  12. imm32 r6, 0x6089ab6d;
  13. imm32 r7, 0x719abc7e;
  14. loadsym i0, DATA_ADDR_3;
  15. loadsym i1, DATA_ADDR_4;
  16. loadsym i2, DATA_ADDR_5;
  17. loadsym i3, DATA_ADDR_6;
  18. [ I0 ] = R0;
  19. [ I1 ] = R1;
  20. [ I2 ] = R2;
  21. [ I3 ] = R3;
  22. R4 = [ I0 ];
  23. R5 = [ I1 ];
  24. R6 = [ I2 ];
  25. R7 = [ I3 ];
  26. CHECKREG r4, 0x0a234507;
  27. CHECKREG r5, 0x1b345618;
  28. CHECKREG r6, 0x2c456729;
  29. CHECKREG r7, 0x3d56783a;
  30. imm32 r4, 0x4e67894b;
  31. imm32 r5, 0x5f789a5c;
  32. imm32 r6, 0x6089ab6d;
  33. imm32 r7, 0x719abc7e;
  34. [ I0 ] = R1;
  35. [ I1 ] = R2;
  36. [ I2 ] = R3;
  37. [ I3 ] = R4;
  38. R4 = [ I0 ];
  39. R5 = [ I1 ];
  40. R6 = [ I2 ];
  41. R7 = [ I3 ];
  42. CHECKREG r4, 0x1b345618;
  43. CHECKREG r5, 0x2c456729;
  44. CHECKREG r6, 0x3d56783a;
  45. CHECKREG r7, 0x4e67894b;
  46. imm32 r4, 0x4e67894b;
  47. imm32 r5, 0x5f789a5c;
  48. imm32 r6, 0x6089ab6d;
  49. imm32 r7, 0x719abc7e;
  50. [ I0 ] = R2;
  51. [ I1 ] = R3;
  52. [ I2 ] = R4;
  53. [ I3 ] = R5;
  54. R4 = [ I0 ];
  55. R5 = [ I1 ];
  56. R6 = [ I2 ];
  57. R7 = [ I3 ];
  58. CHECKREG r4, 0x2c456729;
  59. CHECKREG r5, 0x3d56783a;
  60. CHECKREG r6, 0x4e67894b;
  61. CHECKREG r7, 0x5f789a5c;
  62. imm32 r4, 0x4e67894b;
  63. imm32 r5, 0x5f789a5c;
  64. imm32 r6, 0x6089ab6d;
  65. imm32 r7, 0x719abc7e;
  66. [ I0 ] = R3;
  67. [ I1 ] = R4;
  68. [ I2 ] = R5;
  69. [ I3 ] = R6;
  70. R4 = [ I0 ];
  71. R5 = [ I1 ];
  72. R6 = [ I2 ];
  73. R7 = [ I3 ];
  74. CHECKREG r4, 0x3d56783a;
  75. CHECKREG r5, 0x4e67894b;
  76. CHECKREG r6, 0x5f789a5c;
  77. CHECKREG r7, 0x6089ab6d;
  78. imm32 r4, 0x4e67894b;
  79. imm32 r5, 0x5f789a5c;
  80. imm32 r6, 0x6089ab6d;
  81. imm32 r7, 0x719abc7e;
  82. [ I0 ] = R4;
  83. [ I1 ] = R5;
  84. [ I2 ] = R6;
  85. [ I3 ] = R7;
  86. R0 = [ I0 ];
  87. R1 = [ I1 ];
  88. R2 = [ I2 ];
  89. R3 = [ I3 ];
  90. CHECKREG r0, 0x4e67894b;
  91. CHECKREG r1, 0x5f789a5c;
  92. CHECKREG r2, 0x6089ab6d;
  93. CHECKREG r3, 0x719abc7e;
  94. pass
  95. // Pre-load memory with known data
  96. // More data is defined than will actually be used
  97. .data
  98. DATA_ADDR_3:
  99. .dd 0x00010203
  100. .dd 0x04050607
  101. .dd 0x08090A0B
  102. .dd 0x0C0D0E0F
  103. .dd 0x10111213
  104. .dd 0x14151617
  105. .dd 0x18191A1B
  106. .dd 0x1C1D1E1F
  107. DATA_ADDR_4:
  108. .dd 0x20212223
  109. .dd 0x24252627
  110. .dd 0x28292A2B
  111. .dd 0x2C2D2E2F
  112. .dd 0x30313233
  113. .dd 0x34353637
  114. .dd 0x38393A3B
  115. .dd 0x3C3D3E3F
  116. DATA_ADDR_5:
  117. .dd 0x40414243
  118. .dd 0x44454647
  119. .dd 0x48494A4B
  120. .dd 0x4C4D4E4F
  121. .dd 0x50515253
  122. .dd 0x54555657
  123. .dd 0x58595A5B
  124. .dd 0x5C5D5E5F
  125. DATA_ADDR_6:
  126. .dd 0x60616263
  127. .dd 0x64656667
  128. .dd 0x68696A6B
  129. .dd 0x6C6D6E6F
  130. .dd 0x70717273
  131. .dd 0x74757677
  132. .dd 0x78797A7B
  133. .dd 0x7C7D7E7F
  134. DATA_ADDR_7:
  135. .dd 0x80818283
  136. .dd 0x84858687
  137. .dd 0x88898A8B
  138. .dd 0x8C8D8E8F
  139. .dd 0x90919293
  140. .dd 0x94959697
  141. .dd 0x98999A9B
  142. .dd 0x9C9D9E9F
  143. DATA_ADDR_8:
  144. .dd 0xA0A1A2A3
  145. .dd 0xA4A5A6A7
  146. .dd 0xA8A9AAAB
  147. .dd 0xACADAEAF
  148. .dd 0xB0B1B2B3
  149. .dd 0xB4B5B6B7
  150. .dd 0xB8B9BABB
  151. .dd 0xBCBDBEBF
  152. .dd 0xC0C1C2C3
  153. .dd 0xC4C5C6C7
  154. .dd 0xC8C9CACB
  155. .dd 0xCCCDCECF
  156. .dd 0xD0D1D2D3
  157. .dd 0xD4D5D6D7
  158. .dd 0xD8D9DADB
  159. .dd 0xDCDDDEDF
  160. .dd 0xE0E1E2E3
  161. .dd 0xE4E5E6E7
  162. .dd 0xE8E9EAEB
  163. .dd 0xECEDEEEF
  164. .dd 0xF0F1F2F3
  165. .dd 0xF4F5F6F7
  166. .dd 0xF8F9FAFB
  167. .dd 0xFCFDFEFF