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