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