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