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