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