1 //Original:/testcases/core/c_dspldst_ld_dr_ippm/c_dspldst_ld_dr_ippm.dsp 2 // Spec Reference: c_dspldst ld_dr_i++m 3 # mach: bfin 4 5 .include "testutils.inc" 6 start 7 8 INIT_R_REGS 0; 9 10 M0 = 0 (X); 11 M1 = 0x4 (X); 12 M2 = 0x0 (X); 13 M3 = 0x4 (X); 14 15 loadsym i0, DATA_ADDR_3; 16 loadsym i1, DATA_ADDR_4; 17 loadsym i2, DATA_ADDR_5; 18 loadsym i3, DATA_ADDR_6; 19 20 R0 = [ I0 ++ M0 ]; 21 R1 = [ I1 ++ M1 ]; 22 R2 = [ I2 ++ M2 ]; 23 R3 = [ I3 ++ M3 ]; 24 R4 = [ I0 ++ M1 ]; 25 R5 = [ I1 ++ M2 ]; 26 R6 = [ I2 ++ M3 ]; 27 R7 = [ I3 ++ M0 ]; 28 CHECKREG r0, 0x00010203; 29 CHECKREG r1, 0x20212223; 30 CHECKREG r2, 0x40414243; 31 CHECKREG r3, 0x60616263; 32 CHECKREG r4, 0x00010203; 33 CHECKREG r5, 0x24252627; 34 CHECKREG r6, 0x40414243; 35 CHECKREG r7, 0x64656667; 36 R1 = [ I0 ++ M2 ]; 37 R2 = [ I1 ++ M3 ]; 38 R3 = [ I2 ++ M0 ]; 39 R4 = [ I3 ++ M1 ]; 40 R5 = [ I0 ++ M3 ]; 41 R6 = [ I1 ++ M0 ]; 42 R7 = [ I2 ++ M1 ]; 43 R0 = [ I3 ++ M2 ]; 44 CHECKREG r0, 0x68696A6B; 45 CHECKREG r1, 0x04050607; 46 CHECKREG r2, 0x24252627; 47 CHECKREG r3, 0x44454647; 48 CHECKREG r4, 0x64656667; 49 CHECKREG r5, 0x04050607; 50 CHECKREG r6, 0x28292A2B; 51 CHECKREG r7, 0x44454647; 52 53 M0 = 4 (X); 54 M1 = 0x0 (X); 55 M2 = 0x4 (X); 56 M3 = 0x0 (X); 57 R2 = [ I0 ++ M0 ]; 58 R3 = [ I1 ++ M1 ]; 59 R4 = [ I2 ++ M2 ]; 60 R5 = [ I3 ++ M3 ]; 61 R6 = [ I0 ++ M1 ]; 62 R7 = [ I1 ++ M2 ]; 63 R0 = [ I2 ++ M3 ]; 64 R1 = [ I3 ++ M0 ]; 65 CHECKREG r0, 0x4C4D4E4F; 66 CHECKREG r1, 0x68696A6B; 67 CHECKREG r2, 0x08090A0B; 68 CHECKREG r3, 0x28292A2B; 69 CHECKREG r4, 0x48494A4B; 70 CHECKREG r5, 0x68696A6B; 71 CHECKREG r6, 0x0C0D0E0F; 72 CHECKREG r7, 0x28292A2B; 73 74 R3 = [ I0 ++ M2 ]; 75 R4 = [ I1 ++ M3 ]; 76 R5 = [ I2 ++ M0 ]; 77 R6 = [ I3 ++ M1 ]; 78 R7 = [ I0 ++ M3 ]; 79 R0 = [ I1 ++ M0 ]; 80 R1 = [ I2 ++ M1 ]; 81 R2 = [ I3 ++ M2 ]; 82 CHECKREG r0, 0x2C2D2E2F; 83 CHECKREG r1, 0x50515253; 84 CHECKREG r2, 0x6C6D6E6F; 85 CHECKREG r3, 0x0C0D0E0F; 86 CHECKREG r4, 0x2C2D2E2F; 87 CHECKREG r5, 0x4C4D4E4F; 88 CHECKREG r6, 0x6C6D6E6F; 89 CHECKREG r7, 0x10111213; 90 91 R5 = [ I0 ++ M2 ]; 92 R6 = [ I1 ++ M3 ]; 93 R7 = [ I2 ++ M0 ]; 94 R0 = [ I3 ++ M1 ]; 95 R1 = [ I0 ++ M3 ]; 96 R2 = [ I1 ++ M0 ]; 97 R3 = [ I2 ++ M1 ]; 98 R4 = [ I3 ++ M2 ]; 99 CHECKREG r0, 0x70717273; 100 CHECKREG r1, 0x14151617; 101 CHECKREG r2, 0x30313233; 102 CHECKREG r3, 0x54555657; 103 CHECKREG r4, 0x70717273; 104 CHECKREG r5, 0x10111213; 105 CHECKREG r6, 0x30313233; 106 CHECKREG r7, 0x50515253; 107 108 pass 109 110 // Pre-load memory with known data 111 // More data is defined than will actually be used 112 113 .data 114 DATA_ADDR_3: 115 .dd 0x00010203 116 .dd 0x04050607 117 .dd 0x08090A0B 118 .dd 0x0C0D0E0F 119 .dd 0x10111213 120 .dd 0x14151617 121 .dd 0x18191A1B 122 .dd 0x1C1D1E1F 123 .dd 0x11223344 124 .dd 0x55667788 125 .dd 0x99717273 126 .dd 0x74757677 127 .dd 0x82838485 128 .dd 0x86878889 129 .dd 0x80818283 130 .dd 0x84858687 131 .dd 0x01020304 132 .dd 0x05060708 133 .dd 0x09101112 134 .dd 0x14151617 135 .dd 0x18192021 136 .dd 0x22232425 137 .dd 0x26272829 138 .dd 0x30313233 139 .dd 0x34353637 140 .dd 0x38394041 141 .dd 0x42434445 142 .dd 0x46474849 143 .dd 0x50515253 144 .dd 0x54555657 145 .dd 0x58596061 146 .dd 0x62636465 147 .dd 0x66676869 148 .dd 0x74555657 149 .dd 0x78596067 150 .dd 0x72636467 151 .dd 0x76676867 152 153 DATA_ADDR_4: 154 .dd 0x20212223 155 .dd 0x24252627 156 .dd 0x28292A2B 157 .dd 0x2C2D2E2F 158 .dd 0x30313233 159 .dd 0x34353637 160 .dd 0x38393A3B 161 .dd 0x3C3D3E3F 162 .dd 0x91929394 163 .dd 0x95969798 164 .dd 0x99A1A2A3 165 .dd 0xA5A6A7A8 166 .dd 0xA9B0B1B2 167 .dd 0xB3B4B5B6 168 .dd 0xB7B8B9C0 169 .dd 0x70717273 170 .dd 0x74757677 171 .dd 0x78798081 172 .dd 0x82838485 173 .dd 0x86C283C4 174 .dd 0x81C283C4 175 .dd 0x82C283C4 176 .dd 0x83C283C4 177 .dd 0x84C283C4 178 .dd 0x85C283C4 179 .dd 0x86C283C4 180 .dd 0x87C288C4 181 .dd 0x88C283C4 182 .dd 0x89C283C4 183 .dd 0x80C283C4 184 .dd 0x81C283C4 185 .dd 0x82C288C4 186 .dd 0x94555659 187 .dd 0x98596069 188 .dd 0x92636469 189 .dd 0x96676869 190 191 DATA_ADDR_5: 192 .dd 0x40414243 193 .dd 0x44454647 194 .dd 0x48494A4B 195 .dd 0x4C4D4E4F 196 .dd 0x50515253 197 .dd 0x54555657 198 .dd 0x58595A5B 199 .dd 0xC5C6C7C8 200 .dd 0xC9CACBCD 201 .dd 0xCFD0D1D2 202 .dd 0xD3D4D5D6 203 .dd 0xD7D8D9DA 204 .dd 0xDBDCDDDE 205 .dd 0xDFE0E1E2 206 .dd 0xE3E4E5E6 207 .dd 0x91E899EA 208 .dd 0x92E899EA 209 .dd 0x93E899EA 210 .dd 0x94E899EA 211 .dd 0x95E899EA 212 .dd 0x96E899EA 213 .dd 0x97E899EA 214 .dd 0x98E899EA 215 .dd 0x99E899EA 216 .dd 0x91E899EA 217 .dd 0x92E899EA 218 .dd 0x93E899EA 219 .dd 0x94E899EA 220 .dd 0x95E899EA 221 .dd 0x96E899EA 222 .dd 0x977899EA 223 .dd 0xa455565a 224 .dd 0xa859606a 225 .dd 0xa263646a 226 .dd 0xa667686a 227 228 DATA_ADDR_6: 229 .dd 0x60616263 230 .dd 0x64656667 231 .dd 0x68696A6B 232 .dd 0x6C6D6E6F 233 .dd 0x70717273 234 .dd 0x74757677 235 .dd 0x78797A7B 236 .dd 0x7C7D7E7F 237 .dd 0xEBECEDEE 238 .dd 0xF3F4F5F6 239 .dd 0xF7F8F9FA 240 .dd 0xFBFCFDFE 241 .dd 0xFF000102 242 .dd 0x03040506 243 .dd 0x0708090A 244 .dd 0x0B0CAD0E 245 .dd 0xAB0CAD01 246 .dd 0xAB0CAD02 247 .dd 0xAB0CAD03 248 .dd 0xAB0CAD04 249 .dd 0xAB0CAD05 250 .dd 0xAB0CAD06 251 .dd 0xAB0CAA07 252 .dd 0xAB0CAD08 253 .dd 0xAB0CAD09 254 .dd 0xAB0CAD0E 255 .dd 0xAB0CAD0E 256 .dd 0xAB0CAD0E 257 .dd 0xAB0CAD0E 258 .dd 0xAB0CAD0E 259 .dd 0xAB0CAD0E 260 .dd 0xAB0CAD0E 261 .dd 0xB455565B 262 .dd 0xB859606B 263 .dd 0xB263646B 264 .dd 0xB667686B 265 266 DATA_ADDR_7: 267 .dd 0x80818283 268 .dd 0x84858687 269 .dd 0x88898A8B 270 .dd 0x8C8D8E8F 271 .dd 0x90919293 272 .dd 0x94959697 273 .dd 0x98999A9B 274 .dd 0x9C9D9E9F 275 .dd 0x0F101213 276 .dd 0x14151617 277 .dd 0x18191A1B 278 .dd 0x1C1D1E1F 279 .dd 0x20212223 280 .dd 0x24252627 281 .dd 0x28292A2B 282 .dd 0x2C2D2E2F 283 .dd 0xBC0DBE21 284 .dd 0xBC1DBE22 285 .dd 0xBC2DBE23 286 .dd 0xBC3DBE24 287 .dd 0xBC4DBE65 288 .dd 0xBC5DBE27 289 .dd 0xBC6DBE28 290 .dd 0xBC7DBE29 291 .dd 0xBC8DBE2F 292 .dd 0xBC9DBE20 293 .dd 0xBCADBE21 294 .dd 0xBCBDBE2F 295 .dd 0xBCCDBE23 296 .dd 0xBCDDBE24 297 .dd 0xBCFDBE25 298 .dd 0xC455565C 299 .dd 0xC859606C 300 .dd 0xC263646C 301 .dd 0xC667686C 302 .dd 0xCC0DBE2C 303 304 DATA_ADDR_8: 305 .dd 0xA0A1A2A3 306 .dd 0xA4A5A6A7 307 .dd 0xA8A9AAAB 308 .dd 0xACADAEAF 309 .dd 0xB0B1B2B3 310 .dd 0xB4B5B6B7 311 .dd 0xB8B9BABB 312 .dd 0xBCBDBEBF 313 .dd 0xC0C1C2C3 314 .dd 0xC4C5C6C7 315 .dd 0xC8C9CACB 316 .dd 0xCCCDCECF 317 .dd 0xD0D1D2D3 318 .dd 0xD4D5D6D7 319 .dd 0xD8D9DADB 320 .dd 0xDCDDDEDF 321 .dd 0xE0E1E2E3 322 .dd 0xE4E5E6E7 323 .dd 0xE8E9EAEB 324 .dd 0xECEDEEEF 325 .dd 0xF0F1F2F3 326 .dd 0xF4F5F6F7 327 .dd 0xF8F9FAFB 328 .dd 0xFCFDFEFF 329