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