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