1//Original:testcases/core/c_ldstidxl_ld_preg/c_ldstidxl_ld_preg.dsp 2// Spec Reference: c_ldstidxl load dreg 3# mach: bfin 4 5.include "testutils.inc" 6 start 7 8// set all regs 9init_i_regs 0; 10init_b_regs 0; 11init_l_regs 0; 12init_m_regs 0; 13INIT_R_REGS 0; 14I0 = P3; 15I2 = SP; 16 17// initial values 18 I1 = P3; P3 = I0; I3 = SP; SP = I2; 19 loadsym p1, DATA_ADDR_1, 0x00; 20 loadsym p2, DATA_ADDR_2, 0xA0; 21 loadsym i1, DATA_ADDR_1, 0x70; 22 loadsym p4, DATA_ADDR_2, 0x70; 23 loadsym p5, DATA_ADDR_1, 0x70; 24 loadsym fp, DATA_ADDR_2, 0x70; 25 loadsym i3, DATA_ADDR_1, 0x70; 26 P3 = I1; SP = I3; 27 28 P2 = [ P1 + 12 ]; 29 P3 = [ P1 + 44 ]; 30 P4 = [ P1 + 8 ]; 31 P5 = [ P1 + 156 ]; 32 SP = [ P1 + 16 ]; 33 FP = [ P1 + 120 ]; 34 P1 = [ P1 + 24 ]; 35 CHECKREG p1, 0x18191A1B; 36 CHECKREG p2, 0x0C0D0E0F; 37 CHECKREG p3, 0x74757677; 38 CHECKREG p4, 0x08090A0B; 39 CHECKREG p5, 0x08090A0B; 40 CHECKREG sp, 0x10111213; 41 CHECKREG fp, 0x58596061; 42 43 I1 = P3; P3 = I0; I3 = SP; SP = I2; 44 loadsym p2, DATA_ADDR_2, 0xA0; 45 P3 = I1; SP = I3; 46 47 P1 = [ P2 + -128 ]; 48 P3 = [ P2 + -36 ]; 49 P4 = [ P2 + -40 ]; 50 P5 = [ P2 + -144 ]; 51 SP = [ P2 + -48 ]; 52 FP = [ P2 + 52 ]; 53 P2 = [ P2 + -132 ]; 54 CHECKREG p1, 0xEBECEDEE; 55 CHECKREG p2, 0x7C7D7E7F; 56 CHECKREG p3, 0xA60CAD7E; 57 CHECKREG p4, 0xA50CAD6E; 58 CHECKREG p5, 0x70717273; 59 CHECKREG sp, 0xA30CAD4E; 60 CHECKREG fp, 0x64656667; 61 62 I1 = P3; P3 = I0; I3 = SP; SP = I2; 63 loadsym i1, DATA_ADDR_1, 0x70; 64 P3 = I1; SP = I3; 65 P1 = [ P3 + 56 ]; 66 P2 = [ P3 + -104 ]; 67 P4 = [ P3 + 80 ]; 68 P5 = [ P3 + -56 ]; 69 SP = [ P3 + 52 ]; 70 FP = [ P3 + -48 ]; 71 P3 = [ P3 + 84 ]; 72 CHECKREG p1, 0x14151617; 73 CHECKREG p2, 0x08090A0B; 74 CHECKREG p3, 0x82838485; 75 CHECKREG p4, 0x74757677; 76 CHECKREG p5, 0x80818283; 77 CHECKREG sp, 0x10111213; 78 CHECKREG fp, 0x01020304; 79 80 I1 = P3; P3 = I0; I3 = SP; SP = I2; 81 loadsym p4, DATA_ADDR_2, 0x70; 82 P3 = I1; SP = I3; 83 P1 = [ P4 + 44 ]; 84 P2 = [ P4 + -40 ]; 85 P3 = [ P4 + -96 ]; 86 P5 = [ P4 + -68 ]; 87 SP = [ P4 + 84 ]; 88 FP = [ P4 + 108 ]; 89 P4 = [ P4 + -32 ]; 90 CHECKREG p1, 0x6C6D6E6F; 91 CHECKREG p2, 0xAB0CAD03; 92 CHECKREG p3, 0x70717273; 93 CHECKREG p4, 0xAB0CAD05; 94 CHECKREG p5, 0xFBFCFDFE; 95 CHECKREG sp, 0x03040506; 96 CHECKREG fp, 0x6C6D6E6F; 97 98 I1 = P3; P3 = I0; I3 = SP; SP = I2; 99 loadsym p5, DATA_ADDR_1, 0x70; 100 P3 = I1; SP = I3; 101 102 P1 = [ P5 + 16 ]; 103 P2 = [ P5 + 12 ]; 104 P3 = [ P5 + 96 ]; 105 P4 = [ P5 + 0 ]; 106 SP = [ P5 + -44 ]; 107 FP = [ P5 + 28 ]; 108 P5 = [ P5 + -84 ]; 109 CHECKREG p1, 0x66676869; 110 CHECKREG p2, 0x62636465; 111 CHECKREG p3, 0x84858687; 112 CHECKREG p4, 0x50515253; 113 CHECKREG p5, 0x1C1D1E1F; 114 CHECKREG sp, 0x05060708; 115 CHECKREG fp, 0x72636467; 116 117 I1 = P3; P3 = I0; I3 = SP; SP = I2; 118 loadsym i3, DATA_ADDR_2, 0x70; 119 P3 = I1; SP = I3; 120 121 P1 = [ SP + -72 ]; 122 P2 = [ SP + 16 ]; 123 P3 = [ SP + -80 ]; 124 P4 = [ SP + 92 ]; 125 P5 = [ SP + -28 ]; 126 FP = [ SP + 32 ]; 127 SP = [ SP + -36 ]; 128 CHECKREG p1, 0xF7F8F9FA; 129 CHECKREG p2, 0xB455565B; 130 CHECKREG p3, 0xEBECEDEE; 131 CHECKREG p4, 0x0B0CAD0E; 132 CHECKREG p5, 0xAB0CAD06; 133 CHECKREG sp, 0xAB0CAD04; 134 CHECKREG fp, 0x60616263; 135 136 I1 = P3; P3 = I0; I3 = SP; SP = I2; 137 loadsym fp, DATA_ADDR_2, 0x70; 138 P3 = I1; SP = I3; 139 140 P1 = [ FP + 40 ]; 141 P2 = [ FP + 44 ]; 142 P3 = [ FP + 96 ]; 143 P4 = [ FP + 52 ]; 144 P5 = [ FP + 104 ]; 145 SP = [ FP + 60 ]; 146 FP = [ FP + 64 ]; 147 CHECKREG p1, 0x68696A6B; 148 CHECKREG p2, 0x6C6D6E6F; 149 CHECKREG p3, 0x60616263; 150 CHECKREG p4, 0x74757677; 151 CHECKREG p5, 0x68696A6B; 152 CHECKREG sp, 0x7C7D7E7F; 153 CHECKREG fp, 0xEBECEDEE; 154 155 P3 = I0; SP = I2; 156 pass 157 158// Pre-load memory with known data 159// More data is defined than will actually be used 160 161 .data 162DATA_ADDR_1: 163 .dd 0x00010203 164 .dd 0x04050607 165 .dd 0x08090A0B 166 .dd 0x0C0D0E0F 167 .dd 0x10111213 168 .dd 0x14151617 169 .dd 0x18191A1B 170 .dd 0x1C1D1E1F 171 .dd 0x11223344 172 .dd 0x55667788 173 .dd 0x99717273 174 .dd 0x74757677 175 .dd 0x82838485 176 .dd 0x86878889 177 .dd 0x80818283 178 .dd 0x84858687 179 .dd 0x01020304 180 .dd 0x05060708 181 .dd 0x09101112 182 .dd 0x14151617 183 .dd 0x18192021 184 .dd 0x22232425 185 .dd 0x26272829 186 .dd 0x30313233 187 .dd 0x34353637 188 .dd 0x38394041 189 .dd 0x42434445 190 .dd 0x46474849 191 .dd 0x50515253 192 .dd 0x54555657 193 .dd 0x58596061 194 .dd 0x62636465 195 .dd 0x66676869 196 .dd 0x74555657 197 .dd 0x78596067 198 .dd 0x72636467 199 .dd 0x76676867 200 .dd 0x00010203 201 .dd 0x04050607 202 .dd 0x08090A0B 203 .dd 0x0C0D0E0F 204 .dd 0x10111213 205 .dd 0x14151617 206 .dd 0x18191A1B 207 .dd 0x1C1D1E1F 208 .dd 0x11223344 209 .dd 0x55667788 210 .dd 0x99717273 211 .dd 0x74757677 212 .dd 0x82838485 213 .dd 0x86878889 214 .dd 0x80818283 215 .dd 0x84858687 216 .dd 0x01020304 217 .dd 0x05060708 218 .dd 0x09101112 219 .dd 0x14151617 220 .dd 0x18192021 221 .dd 0x22232425 222 .dd 0x26272829 223 .dd 0x30313233 224 .dd 0x34353637 225 .dd 0x38394041 226 .dd 0x42434445 227 .dd 0x46474849 228 .dd 0x50515253 229 .dd 0x54555657 230 .dd 0x58596061 231 .dd 0x62636465 232 .dd 0x66676869 233 .dd 0x74555657 234 .dd 0x78596067 235 .dd 0x72636467 236 .dd 0x76676867 237 .dd 0x20212223 238 .dd 0x24252627 239 .dd 0x28292A2B 240 .dd 0x2C2D2E2F 241 .dd 0x30313233 242 .dd 0x34353637 243 .dd 0x38393A3B 244 .dd 0x3C3D3E3F 245 .dd 0x91929394 246 .dd 0x95969798 247 .dd 0x99A1A2A3 248 .dd 0xA5A6A7A8 249 .dd 0xA9B0B1B2 250 .dd 0xB3B4B5B6 251 .dd 0xB7B8B9C0 252 .dd 0x70717273 253 .dd 0x74757677 254 .dd 0x78798081 255 .dd 0x82838485 256 .dd 0x86C283C4 257 .dd 0x81C283C4 258 .dd 0x82C283C4 259 .dd 0x83C283C4 260 .dd 0x84C283C4 261 .dd 0x85C283C4 262 .dd 0x86C283C4 263 .dd 0x87C288C4 264 .dd 0x88C283C4 265 .dd 0x89C283C4 266 .dd 0x80C283C4 267 .dd 0x81C283C4 268 .dd 0x82C288C4 269 .dd 0x94555659 270 .dd 0x98596069 271 .dd 0x92636469 272 .dd 0x96676869 273 .dd 0x20212223 274 .dd 0x24252627 275 .dd 0x28292A2B 276 .dd 0x2C2D2E2F 277 .dd 0x30313233 278 .dd 0x34353637 279 .dd 0x38393A3B 280 .dd 0x3C3D3E3F 281 .dd 0x91929394 282 .dd 0x95969798 283 .dd 0x99A1A2A3 284 .dd 0xA5A6A7A8 285 .dd 0xA9B0B1B2 286 .dd 0xB3B4B5B6 287 .dd 0xB7B8B9C0 288 .dd 0x70717273 289 .dd 0x74757677 290 .dd 0x78798081 291 .dd 0x82838485 292 .dd 0x86C283C4 293 .dd 0x81C283C4 294 .dd 0x82C283C4 295 .dd 0x83C283C4 296 .dd 0x84C283C4 297 .dd 0x85C283C4 298 .dd 0x86C283C4 299 .dd 0x87C288C4 300 .dd 0x88C283C4 301 .dd 0x89C283C4 302 .dd 0x80C283C4 303 .dd 0x81C283C4 304 .dd 0x82C288C4 305 .dd 0x94555659 306 .dd 0x98596069 307 .dd 0x92636469 308 .dd 0x96676869 309 .dd 0x40414243 310 .dd 0x44454647 311 .dd 0x48494A4B 312 .dd 0x4C4D4E4F 313 .dd 0x50515253 314 .dd 0x54555657 315 .dd 0x58595A5B 316 .dd 0xC5C6C7C8 317 .dd 0xC9CACBCD 318 .dd 0xCFD0D1D2 319 .dd 0xD3D4D5D6 320 .dd 0xD7D8D9DA 321 .dd 0xDBDCDDDE 322 .dd 0xDFE0E1E2 323 .dd 0xE3E4E5E6 324 .dd 0x91E899EA 325 .dd 0x92E899EA 326 .dd 0x93E899EA 327 .dd 0x94E899EA 328 .dd 0x95E899EA 329 .dd 0x96E899EA 330 .dd 0x97E899EA 331 .dd 0x98E899EA 332 .dd 0x99E899EA 333 .dd 0x91E899EA 334 .dd 0x92E899EA 335 .dd 0x93E899EA 336 .dd 0x94E899EA 337 .dd 0x95E899EA 338 .dd 0x96E899EA 339 .dd 0x977899EA 340 .dd 0xa455565a 341 .dd 0xa859606a 342 .dd 0xa263646a 343 .dd 0xa667686a 344 .dd 0x40414243 345 .dd 0x44454647 346 .dd 0x48494A4B 347 .dd 0x4C4D4E4F 348 .dd 0x50515253 349 .dd 0x54555657 350 .dd 0x58595A5B 351 .dd 0xC5C6C7C8 352 .dd 0xC9CACBCD 353 .dd 0xCFD0D1D2 354 .dd 0xD3D4D5D6 355 .dd 0xD7D8D9DA 356 .dd 0xDBDCDDDE 357 .dd 0xDFE0E1E2 358 .dd 0xE3E4E5E6 359 .dd 0x91E899EA 360 .dd 0x92E899EA 361 .dd 0x93E899EA 362 .dd 0x94E899EA 363 .dd 0x95E899EA 364 .dd 0x96E899EA 365 .dd 0x97E899EA 366 .dd 0x98E899EA 367 .dd 0x99E899EA 368 .dd 0x91E899EA 369 .dd 0x92E899EA 370 .dd 0x93E899EA 371 .dd 0x94E899EA 372 .dd 0x95E899EA 373 .dd 0x96E899EA 374 .dd 0x977899EA 375 .dd 0xa455565a 376 .dd 0xa859606a 377 .dd 0xa263646a 378 .dd 0x60616263 379 .dd 0x64656667 380 .dd 0x68696A6B 381 .dd 0x6C6D6E6F 382 .dd 0x70717273 383 .dd 0x74757677 384 .dd 0x78797A7B 385 .dd 0x7C7D7E7F 386 .dd 0xEBECEDEE 387 .dd 0xF3F4F5F6 388 .dd 0xF7F8F9FA 389 .dd 0xFBFCFDFE 390 .dd 0xFF000102 391 .dd 0x03040506 392 .dd 0x0708090A 393 .dd 0x0B0CAD0E 394 .dd 0xAB0CAD01 395 .dd 0xAB0CAD02 396 .dd 0xAB0CAD03 397 .dd 0xAB0CAD04 398 .dd 0xAB0CAD05 399 .dd 0xAB0CAD06 400 .dd 0xAB0CAA07 401 .dd 0xAB0CAD08 402 .dd 0xAB0CAD09 403 .dd 0xA00CAD1E 404 .dd 0xA10CAD2E 405 .dd 0xA20CAD3E 406 .dd 0xA30CAD4E 407 .dd 0xA40CAD5E 408 .dd 0xa667686a 409 410DATA_ADDR_2: 411 .dd 0x60616263 412 .dd 0x64656667 413 .dd 0x68696A6B 414 .dd 0x6C6D6E6F 415 .dd 0x70717273 416 .dd 0x74757677 417 .dd 0x78797A7B 418 .dd 0x7C7D7E7F 419 .dd 0xEBECEDEE 420 .dd 0xF3F4F5F6 421 .dd 0xF7F8F9FA 422 .dd 0xFBFCFDFE 423 .dd 0xFF000102 424 .dd 0x03040506 425 .dd 0x0708090A 426 .dd 0x0B0CAD0E 427 .dd 0xAB0CAD01 428 .dd 0xAB0CAD02 429 .dd 0xAB0CAD03 430 .dd 0xAB0CAD04 431 .dd 0xAB0CAD05 432 .dd 0xAB0CAD06 433 .dd 0xAB0CAA07 434 .dd 0xAB0CAD08 435 .dd 0xAB0CAD09 436 .dd 0xA00CAD1E 437 .dd 0xA10CAD2E 438 .dd 0xA20CAD3E 439 .dd 0xA30CAD4E 440 .dd 0xA40CAD5E 441 .dd 0xA50CAD6E 442 .dd 0xA60CAD7E 443 .dd 0xB455565B 444 .dd 0xB859606B 445 .dd 0xB263646B 446 .dd 0xB667686B 447 .dd 0x60616263 448 .dd 0x64656667 449 .dd 0x68696A6B 450 .dd 0x6C6D6E6F 451 .dd 0x70717273 452 .dd 0x74757677 453 .dd 0x78797A7B 454 .dd 0x7C7D7E7F 455 .dd 0xEBECEDEE 456 .dd 0xF3F4F5F6 457 .dd 0xF7F8F9FA 458 .dd 0xFBFCFDFE 459 .dd 0xFF000102 460 .dd 0x03040506 461 .dd 0x0708090A 462 .dd 0x0B0CAD0E 463 .dd 0x60616263 464 .dd 0x64656667 465 .dd 0x68696A6B 466 .dd 0x6C6D6E6F 467 .dd 0x70717273 468 .dd 0x74757677 469 .dd 0x78797A7B 470 .dd 0x7C7D7E7F 471 .dd 0xEBECEDEE 472 .dd 0xF3F4F5F6 473 .dd 0xF7F8F9FA 474 .dd 0xFBFCFDFE 475 .dd 0xFF000102 476 .dd 0x03040506 477 .dd 0x0708090A 478 .dd 0x0B0CAD0E 479 .dd 0xAB0CAD01 480 .dd 0xAB0CAD02 481 .dd 0xAB0CAD03 482 .dd 0xAB0CAD04 483 .dd 0xAB0CAD05 484 .dd 0xAB0CAD06 485 .dd 0xAB0CAA07 486 .dd 0xAB0CAD08 487 .dd 0xAB0CAD09 488 .dd 0xA00CAD1E 489 .dd 0xA10CAD2E 490 .dd 0xA20CAD3E 491 .dd 0xA30CAD4E 492 .dd 0xA40CAD5E 493 .dd 0xAB0CAD01 494 .dd 0xAB0CAD02 495 .dd 0xAB0CAD03 496 .dd 0xAB0CAD04 497 .dd 0xAB0CAD05 498 .dd 0xAB0CAD06 499 .dd 0xAB0CAA07 500 .dd 0xAB0CAD08 501 .dd 0xAB0CAD09 502 .dd 0xA00CAD1E 503 .dd 0xA10CAD2E 504 .dd 0xA20CAD3E 505 .dd 0xA30CAD4E 506 .dd 0xA40CAD5E 507 .dd 0xA50CAD6E 508 .dd 0xA60CAD7E 509 .dd 0xB455565B 510 .dd 0xB859606B 511 .dd 0xB263646B 512 .dd 0xB667686B 513 .dd 0x80818283 514 .dd 0x84858687 515 .dd 0x88898A8B 516 .dd 0x8C8D8E8F 517 .dd 0x90919293 518 .dd 0x94959697 519 .dd 0x98999A9B 520 .dd 0x9C9D9E9F 521 .dd 0x0F101213 522 .dd 0x14151617 523 .dd 0x18191A1B 524 .dd 0x1C1D1E1F 525 .dd 0x20212223 526 .dd 0x24252627 527 .dd 0x28292A2B 528 .dd 0x2C2D2E2F 529 .dd 0xBC0DBE21 530 .dd 0xBC1DBE22 531 .dd 0xBC2DBE23 532 .dd 0xBC3DBE24 533 .dd 0xBC4DBE65 534 .dd 0xBC5DBE27 535 .dd 0xBC6DBE28 536 .dd 0xBC7DBE29 537 .dd 0xBC8DBE2F 538 .dd 0xBC9DBE20 539 .dd 0xBCADBE21 540 .dd 0xBCBDBE2F 541 .dd 0xBCCDBE23 542 .dd 0xBCDDBE24 543 .dd 0xBCFDBE25 544 .dd 0xC455565C 545 .dd 0xC859606C 546 .dd 0xC263646C 547 .dd 0xC667686C 548 .dd 0xCC0DBE2C 549 .dd 0x00010203 550 .dd 0x04050607 551 .dd 0x08090A0B 552 .dd 0x0C0D0E0F 553 .dd 0x10111213 554 .dd 0x14151617 555 .dd 0x18191A1B 556 .dd 0x1C1D1E1F 557 .dd 0x20212223 558 .dd 0x24252627 559 .dd 0x28292A2B 560 .dd 0x2C2D2E2F 561 .dd 0x30313233 562 .dd 0x34353637 563 .dd 0x38393A3B 564 .dd 0x3C3D3E3F 565 .dd 0x40414243 566 .dd 0x44454647 567 .dd 0x48494A4B 568 .dd 0x4C4D4E4F 569 .dd 0x50515253 570 .dd 0x54555657 571 .dd 0x58595A5B 572 .dd 0x5C5D5E5F 573 .dd 0x60616263 574 .dd 0x64656667 575 .dd 0x68696A6B 576 .dd 0x6C6D6E6F 577 .dd 0x70717273 578 .dd 0x74757677 579 .dd 0x78797A7B 580 .dd 0x7C7D7E7F 581 .dd 0x80818283 582 .dd 0x84858687 583 .dd 0x88898A8B 584 .dd 0x8C8D8E8F 585 .dd 0x90919293 586 .dd 0x94959697 587 .dd 0x98999A9B 588 .dd 0x9C9D9E9F 589 .dd 0xA0A1A2A3 590 .dd 0xA4A5A6A7 591 .dd 0x60616263 592 .dd 0x64656667 593 .dd 0x68696A6B 594 .dd 0x6C6D6E6F 595 .dd 0x70717273 596 .dd 0x74757677 597 .dd 0x78797A7B 598 .dd 0x7C7D7E7F 599 .dd 0xEBECEDEE 600 .dd 0xF3F4F5F6 601 .dd 0xF7F8F9FA 602 .dd 0xFBFCFDFE 603 .dd 0xFF000102 604 .dd 0x03040506 605 .dd 0x0708090A 606 .dd 0x0B0CAD0E 607 .dd 0xAB0CAD01 608 .dd 0xAB0CAD02 609 .dd 0xAB0CAD03 610 .dd 0xAB0CAD04 611 .dd 0xAB0CAD05 612 .dd 0xAB0CAD06 613 .dd 0xAB0CAA07 614 .dd 0xAB0CAD08 615 .dd 0xAB0CAD09 616 .dd 0xA00CAD1E 617 .dd 0xA10CAD2E 618 .dd 0xA20CAD3E 619 .dd 0xA30CAD4E 620 .dd 0xA40CAD5E 621 .dd 0xA8A9AAAB 622 .dd 0xACADAEAF 623 .dd 0xB0B1B2B3 624 .dd 0xB4B5B6B7 625 .dd 0xB8B9BABB 626 .dd 0xBCBDBEBF 627 .dd 0xC0C1C2C3 628 .dd 0xC4C5C6C7 629 .dd 0x95E899EA 630 .dd 0x96E899EA 631 .dd 0x977899EA 632 .dd 0xa455565a 633 .dd 0xa859606a 634 .dd 0xa263646a 635 .dd 0xa667686a 636 .dd 0x40414243 637 .dd 0x44454647 638 .dd 0x48494A4B 639 .dd 0x4C4D4E4F 640 .dd 0x50515253 641 .dd 0x54555657 642 .dd 0x58595A5B 643 .dd 0xC5C6C7C8 644 .dd 0xC9CACBCD 645 .dd 0xCFD0D1D2 646 .dd 0xD3D4D5D6 647 .dd 0xD7D8D9DA 648 .dd 0xDBDCDDDE 649 .dd 0xDFE0E1E2 650 .dd 0xE3E4E5E6 651 .dd 0x91E899EA 652 .dd 0x92E899EA 653 .dd 0x93E899EA 654 .dd 0x94E899EA 655 .dd 0x95E899EA 656 .dd 0x96E899EA 657 .dd 0x97E899EA 658 .dd 0x98E899EA 659 .dd 0xC8C9CACB 660 .dd 0xCCCDCECF 661 .dd 0xD0D1D2D3 662 .dd 0xD4D5D6D7 663 .dd 0xD8D9DADB 664 .dd 0xDCDDDEDF 665 .dd 0xE0E1E2E3 666 .dd 0xE4E5E6E7 667 .dd 0xE8E9EAEB 668 .dd 0xECEDEEEF 669 .dd 0xF0F1F2F3 670 .dd 0xF4F5F6F7 671 .dd 0xF8F9FAFB 672 .dd 0xFCFDFEFF 673