1//Original:/proj/frio/dv/testcases/core/c_regmv_imlb_dep_nostall/c_regmv_imlb_dep_nostall.dsp 2// Spec Reference: regmv imlb-dep no stall 3# mach: bfin 4 5.include "testutils.inc" 6 start 7 8// P-reg to I,M-reg to R-reg: no stall 9//imm32 p0, 0x00001111; 10 imm32 p1, 0x12213330; 11 imm32 p2, 0x14415550; 12 imm32 p3, 0x16617770; 13 imm32 p4, 0x18819990; 14 imm32 p5, 0x1aa1bbb0; 15 imm32 fp, 0x1cc1ddd0; 16 imm32 sp, 0x1ee1fff0; 17 I0 = P0; 18 R0 = I0; 19 I1 = P1; 20 R1 = I1; 21 I2 = P2; 22 R2 = I2; 23 I3 = P3; 24 R3 = I3; 25 M0 = P4; 26 R4 = M0; 27 M1 = P5; 28 R5 = M1; 29 M2 = SP; 30 R6 = M2; 31 M3 = FP; 32 R7 = M3; 33 34 CHECKREG r1, 0x12213330; 35 CHECKREG r2, 0x14415550; 36 CHECKREG r3, 0x16617770; 37 CHECKREG r4, 0x18819990; 38 CHECKREG r5, 0x1aa1bbb0; 39 CHECKREG r6, 0x1EE1FFF0; 40 CHECKREG r7, 0x1CC1DDD0; 41 42 R0 = M3; 43 R1 = M2; 44 R2 = M1; 45 R3 = M0; 46 R4 = I3; 47 R5 = I2; 48 R6 = I1; 49 R7 = I0; 50 CHECKREG r0, 0x1CC1DDD0; 51 CHECKREG r1, 0x1EE1FFF0; 52 CHECKREG r2, 0x1AA1BBB0; 53 CHECKREG r3, 0x18819990; 54 CHECKREG r4, 0x16617770; 55 CHECKREG r5, 0x14415550; 56 CHECKREG r6, 0x12213330; 57 58// P-reg to L,B-reg to R-reg: no stall 59//imm32 p0, 0x00001111; 60 imm32 p1, 0x21213331; 61 imm32 p2, 0x21415551; 62 imm32 p3, 0x21617771; 63 imm32 p4, 0x21819991; 64 imm32 p5, 0x21a1bbb1; 65 imm32 fp, 0x21c1ddd1; 66 imm32 sp, 0x21e1fff1; 67 L0 = P0; 68 R0 = L0; 69 L1 = P1; 70 R1 = L1; 71 L2 = P2; 72 R2 = L2; 73 L3 = P3; 74 R3 = L3; 75 B0 = P4; 76 R4 = B0; 77 B1 = P5; 78 R5 = B1; 79 B2 = SP; 80 R6 = B2; 81 B3 = FP; 82 R7 = B3; 83 84 CHECKREG r1, 0x21213331; 85 CHECKREG r2, 0x21415551; 86 CHECKREG r3, 0x21617771; 87 CHECKREG r4, 0x21819991; 88 CHECKREG r5, 0x21a1bbb1; 89 CHECKREG r6, 0x21E1FFF1; 90 CHECKREG r7, 0x21C1DDD1; 91 92 R0 = L3; 93 R1 = L2; 94 R2 = L1; 95 R3 = L0; 96 R4 = B3; 97 R5 = B2; 98 R6 = B1; 99 R7 = B0; 100 CHECKREG r0, 0x21617771; 101 CHECKREG r1, 0x21415551; 102 CHECKREG r2, 0x21213331; 103 CHECKREG r4, 0x21C1DDD1; 104 CHECKREG r5, 0x21E1FFF1; 105 CHECKREG r6, 0x21A1BBB1; 106 CHECKREG r7, 0x21819991; 107 108// P-reg to I,M-reg to L,B-reg: no stall 109//imm32 p0, 0x00001111; 110 imm32 p1, 0x72213337; 111 imm32 p2, 0x74415557; 112 imm32 p3, 0x76617777; 113 imm32 p4, 0x78819997; 114 imm32 p5, 0x7aa1bbb7; 115 imm32 fp, 0x7cc1ddd7; 116 imm32 sp, 0x77e1fff7; 117 I0 = P0; 118 L0 = I0; 119 I1 = P1; 120 L1 = I1; 121 I2 = P2; 122 L2 = I2; 123 I3 = P3; 124 L3 = I3; 125 M0 = P4; 126 B0 = M0; 127 M1 = P5; 128 B1 = M1; 129 M2 = SP; 130 B2 = M2; 131 M3 = FP; 132 B3 = M3; 133 134 R0 = L3; 135 R1 = L2; 136 R2 = L1; 137 R3 = L0; 138 R4 = B3; 139 R5 = B2; 140 R6 = B1; 141 R7 = B0; 142 CHECKREG r0, 0x76617777; 143 CHECKREG r1, 0x74415557; 144 CHECKREG r2, 0x72213337; 145 CHECKREG r4, 0x7CC1DDD7; 146 CHECKREG r5, 0x77E1FFF7; 147 CHECKREG r6, 0x7AA1BBB7; 148 CHECKREG r7, 0x78819997; 149 150 R0 = M3; 151 R1 = M2; 152 R2 = M1; 153 R3 = M0; 154 R4 = I3; 155 R5 = I2; 156 R6 = I1; 157 R7 = I0; 158 CHECKREG r0, 0x7CC1DDD7; 159 CHECKREG r1, 0x77E1FFF7; 160 CHECKREG r2, 0x7AA1BBB7; 161 CHECKREG r3, 0x78819997; 162 CHECKREG r4, 0x76617777; 163 CHECKREG r5, 0x74415557; 164 CHECKREG r6, 0x72213337; 165 166// P-reg to L,B-reg to I,Mreg: no stall 167//imm32 p0, 0x00001111; 168 imm32 p1, 0x81213338; 169 imm32 p2, 0x81415558; 170 imm32 p3, 0x81617778; 171 imm32 p4, 0x81819998; 172 imm32 p5, 0x81a1bbb8; 173 imm32 fp, 0x81c1ddd8; 174 imm32 sp, 0x81e1fff8; 175 L0 = P0; 176 I0 = L0; 177 L1 = P1; 178 I1 = L1; 179 L2 = P2; 180 I2 = L2; 181 L3 = P3; 182 I3 = L3; 183 B0 = P4; 184 M0 = B0; 185 B1 = P5; 186 M1 = B1; 187 B2 = SP; 188 M2 = B2; 189 B3 = FP; 190 M3 = B3; 191 192 R0 = M0; 193 R1 = M1; 194 R2 = M2; 195 R3 = M3; 196 R4 = I0; 197 R5 = I1; 198 R6 = I2; 199 R7 = I3; 200 CHECKREG r0, 0x81819998; 201 CHECKREG r1, 0x81A1BBB8; 202 CHECKREG r2, 0x81E1FFF8; 203 CHECKREG r3, 0x81C1DDD8; 204 CHECKREG r5, 0x81213338; 205 CHECKREG r6, 0x81415558; 206 CHECKREG r7, 0x81617778; 207 208 R0 = L3; 209 R1 = L2; 210 R2 = L1; 211 R3 = L0; 212 R4 = B3; 213 R5 = B2; 214 R6 = B1; 215 R7 = B0; 216 CHECKREG r0, 0x81617778; 217 CHECKREG r1, 0x81415558; 218 CHECKREG r2, 0x81213338; 219 CHECKREG r4, 0x81C1DDD8; 220 CHECKREG r5, 0x81E1FFF8; 221 CHECKREG r6, 0x81A1BBB8; 222 CHECKREG r7, 0x81819998; 223 224// I-to-M, I-to-I and to R-reg: no stall 225 imm32 i0, 0x30001111; 226 imm32 i1, 0x23213332; 227 imm32 i2, 0x14315552; 228 imm32 i3, 0x01637772; 229 imm32 m0, 0x80113992; 230 imm32 m1, 0xaa01b3b2; 231 imm32 m2, 0xccc01d32; 232 imm32 m3, 0xeee101f3; 233 M0 = I0; 234 R4 = M0; 235 M1 = I1; 236 R5 = M1; 237 M2 = I2; 238 R6 = M2; 239 M3 = I3; 240 R7 = M3; 241 I0 = I3; 242 R0 = I0; 243 I1 = I2; 244 R1 = I1; 245 I3 = I0; 246 R2 = I3; 247 I2 = I1; 248 R3 = I2; 249 250 CHECKREG r0, 0x01637772; 251 CHECKREG r1, 0x14315552; 252 CHECKREG r2, 0x01637772; 253 CHECKREG r3, 0x14315552; 254 CHECKREG r4, 0x30001111; 255 CHECKREG r5, 0x23213332; 256 CHECKREG r6, 0x14315552; 257 CHECKREG r7, 0x01637772; 258 R0 = M0; 259 R1 = M1; 260 R2 = M2; 261 R3 = M3; 262 R4 = I0; 263 R5 = I1; 264 R6 = I2; 265 R7 = I3; 266 CHECKREG r0, 0x30001111; 267 CHECKREG r1, 0x23213332; 268 CHECKREG r2, 0x14315552; 269 CHECKREG r3, 0x01637772; 270 CHECKREG r4, 0x01637772; 271 CHECKREG r5, 0x14315552; 272 CHECKREG r6, 0x14315552; 273 CHECKREG r7, 0x01637772; 274 275// I-to-M, I-to-I and to P-reg: no stall 276 imm32 i0, 0x00001111; 277 imm32 i1, 0x42213342; 278 imm32 i2, 0x44415542; 279 imm32 i3, 0x46617742; 280 imm32 m0, 0x48819942; 281 imm32 m1, 0x4aa1bb42; 282 imm32 m2, 0x4cc1dd42; 283 imm32 m3, 0x4ee1ff42; 284 M0 = I0; 285 R0 = M0; 286 M1 = I1; 287 P1 = M1; 288 M2 = I2; 289 P2 = M2; 290 M3 = I3; 291 P3 = M3; 292 I0 = I3; 293 P4 = I0; 294 I1 = I2; 295 P5 = I1; 296 I2 = I0; 297 SP = I2; 298 I3 = I1; 299 FP = I3; 300 301 CHECKREG r0, 0x00001111; 302 CHECKREG p1, 0x42213342; 303 CHECKREG p2, 0x44415542; 304 CHECKREG p3, 0x46617742; 305 CHECKREG p4, 0x46617742; 306 CHECKREG p5, 0x44415542; 307 CHECKREG sp, 0x46617742; 308 CHECKREG fp, 0x44415542; 309 R0 = M0; 310 R1 = M1; 311 R2 = M2; 312 R3 = M3; 313 R4 = I0; 314 R5 = I1; 315 R6 = I2; 316 R7 = I3; 317 CHECKREG r0, 0x00001111; 318 CHECKREG r1, 0x42213342; 319 CHECKREG r2, 0x44415542; 320 CHECKREG r3, 0x46617742; 321 CHECKREG r4, 0x46617742; 322 CHECKREG r5, 0x44415542; 323 CHECKREG r6, 0x46617742; 324 CHECKREG r7, 0x44415542; 325 326// L-to-B, L-to-L and to R-reg: no stall 327 imm32 l0, 0x40001114; 328 imm32 l1, 0x24213334; 329 imm32 l2, 0x54415554; 330 imm32 l3, 0x05647774; 331 imm32 b0, 0x60514994; 332 imm32 b1, 0xa605b4b4; 333 imm32 b2, 0xcc605d44; 334 imm32 b3, 0xeee605f4; 335 B0 = L0; 336 R4 = B0; 337 B1 = L1; 338 R5 = B1; 339 B2 = L2; 340 R6 = B2; 341 B3 = L3; 342 R7 = B3; 343 L0 = L3; 344 R0 = L0; 345 L1 = L2; 346 R1 = L1; 347 L3 = L0; 348 R2 = L3; 349 L2 = L1; 350 R3 = L2; 351 352 CHECKREG r0, 0x05647774; 353 CHECKREG r1, 0x54415554; 354 CHECKREG r2, 0x05647774; 355 CHECKREG r3, 0x54415554; 356 CHECKREG r4, 0x40001114; 357 CHECKREG r5, 0x24213334; 358 CHECKREG r6, 0x54415554; 359 CHECKREG r7, 0x05647774; 360 R0 = L0; 361 R1 = L1; 362 R2 = L2; 363 R3 = L3; 364 R4 = B0; 365 R5 = B1; 366 R6 = B2; 367 R7 = B3; 368 CHECKREG r0, 0x05647774; 369 CHECKREG r1, 0x54415554; 370 CHECKREG r2, 0x54415554; 371 CHECKREG r3, 0x05647774; 372 CHECKREG r4, 0x40001114; 373 CHECKREG r5, 0x24213334; 374 CHECKREG r6, 0x54415554; 375 CHECKREG r7, 0x05647774; 376 377// L-to-B, L-to-L and to P-reg: no stall 378 imm32 l0, 0x60001116; 379 imm32 l1, 0x46213346; 380 imm32 l2, 0x74615546; 381 imm32 l3, 0x47667746; 382 imm32 b0, 0x48716946; 383 imm32 b1, 0x8aa7b646; 384 imm32 b2, 0x48c17d66; 385 imm32 b3, 0x4e81f746; 386 M0 = I0; 387 R0 = M0; 388 M1 = I1; 389 P1 = M1; 390 M2 = I2; 391 P2 = M2; 392 M3 = I3; 393 P3 = M3; 394 I0 = I3; 395 P4 = I0; 396 I1 = I2; 397 P5 = I1; 398 I2 = I0; 399 SP = I2; 400 I3 = I1; 401 FP = I3; 402 403 CHECKREG r0, 0x46617742; 404 CHECKREG p1, 0x44415542; 405 CHECKREG p2, 0x46617742; 406 CHECKREG p3, 0x44415542; 407 CHECKREG p4, 0x44415542; 408 CHECKREG p5, 0x46617742; 409 CHECKREG sp, 0x44415542; 410 CHECKREG fp, 0x46617742; 411 R0 = M0; 412 R1 = M1; 413 R2 = M2; 414 R3 = M3; 415 R4 = I0; 416 R5 = I1; 417 R6 = I2; 418 R7 = I3; 419 CHECKREG r0, 0x46617742; 420 CHECKREG r1, 0x44415542; 421 CHECKREG r2, 0x46617742; 422 CHECKREG r3, 0x44415542; 423 CHECKREG r4, 0x44415542; 424 CHECKREG r5, 0x46617742; 425 CHECKREG r6, 0x44415542; 426 CHECKREG r7, 0x46617742; 427 428// I-to-M-to-L, I-to-I-to-B -reg: no stall 429 imm32 i0, 0x90001119; 430 imm32 i1, 0x93213339; 431 imm32 i2, 0x94315559; 432 imm32 i3, 0x91637779; 433 imm32 m0, 0x90113999; 434 imm32 m1, 0x9a01b3b9; 435 imm32 m2, 0x9cc01d39; 436 imm32 m3, 0x9ee101f9; 437 M0 = I0; 438 L0 = M0; 439 M1 = I1; 440 L1 = M1; 441 M2 = I2; 442 L2 = M2; 443 M3 = I3; 444 L3 = M3; 445 I0 = I3; 446 B0 = I0; 447 I1 = I2; 448 B1 = I1; 449 I3 = I0; 450 B2 = I3; 451 I2 = I1; 452 B3 = I2; 453 454 R0 = L0; 455 R1 = L1; 456 R2 = L2; 457 R3 = L3; 458 R4 = B0; 459 R5 = B1; 460 R6 = B2; 461 R7 = B3; 462 CHECKREG r0, 0x90001119; 463 CHECKREG r1, 0x93213339; 464 CHECKREG r2, 0x94315559; 465 CHECKREG r3, 0x91637779; 466 CHECKREG r4, 0x91637779; 467 CHECKREG r5, 0x94315559; 468 CHECKREG r6, 0x91637779; 469 CHECKREG r7, 0x94315559; 470 R0 = M0; 471 R1 = M1; 472 R2 = M2; 473 R3 = M3; 474 R4 = I0; 475 R5 = I1; 476 R6 = I2; 477 R7 = I3; 478 CHECKREG r0, 0x90001119; 479 CHECKREG r1, 0x93213339; 480 CHECKREG r2, 0x94315559; 481 CHECKREG r3, 0x91637779; 482 CHECKREG r4, 0x91637779; 483 CHECKREG r5, 0x94315559; 484 CHECKREG r6, 0x94315559; 485 CHECKREG r7, 0x91637779; 486 487// I-to-M-B, I-to-I-L reg: no stall 488 imm32 i0, 0xa000111a; 489 imm32 i1, 0xaa21334a; 490 imm32 i2, 0xa4a1554a; 491 imm32 i3, 0xa66a774a; 492 imm32 m0, 0xa881a94a; 493 imm32 m1, 0xaaa1ba4a; 494 imm32 m2, 0xacc1ddaa; 495 imm32 m3, 0xaee1ff4a; 496 M0 = I0; 497 B3 = M0; 498 M1 = I1; 499 B2 = M1; 500 M2 = I2; 501 B1 = M2; 502 M3 = I3; 503 B0 = M3; 504 I0 = I3; 505 L1 = I0; 506 I1 = I2; 507 L2 = I1; 508 I2 = I0; 509 L3 = I2; 510 I3 = I1; 511 L0 = I3; 512 513 R0 = L0; 514 R1 = L1; 515 R2 = L2; 516 R3 = L3; 517 R4 = B0; 518 R5 = B1; 519 R6 = B2; 520 R7 = B3; 521 CHECKREG r0, 0xA4A1554A; 522 CHECKREG r1, 0xA66A774A; 523 CHECKREG r2, 0xA4A1554A; 524 CHECKREG r3, 0xA66A774A; 525 CHECKREG r4, 0xA66A774A; 526 CHECKREG r5, 0xA4A1554A; 527 CHECKREG r6, 0xAA21334A; 528 CHECKREG r7, 0xA000111A; 529 R0 = M0; 530 R1 = M1; 531 R2 = M2; 532 R3 = M3; 533 R4 = I0; 534 R5 = I1; 535 R6 = I2; 536 R7 = I3; 537 CHECKREG r0, 0xA000111A; 538 CHECKREG r1, 0xAA21334A; 539 CHECKREG r2, 0xA4A1554A; 540 CHECKREG r3, 0xA66A774A; 541 CHECKREG r4, 0xA66A774A; 542 CHECKREG r5, 0xA4A1554A; 543 CHECKREG r6, 0xA66A774A; 544 CHECKREG r7, 0xA4A1554A; 545 546// L-to-B-to-I, L-to-L-to-M reg: no stall 547 imm32 l0, 0xb000111b; 548 imm32 l1, 0xb421333b; 549 imm32 l2, 0xb441555b; 550 imm32 l3, 0xb564777b; 551 imm32 b0, 0xb051499b; 552 imm32 b1, 0xb605b4bb; 553 imm32 b2, 0xbc605d4b; 554 imm32 b3, 0xbee605fb; 555 B0 = L0; 556 I2 = B0; 557 B1 = L1; 558 I3 = B1; 559 B2 = L2; 560 I0 = B2; 561 B3 = L3; 562 I1 = B3; 563 L0 = L3; 564 M0 = L0; 565 L1 = L2; 566 M1 = L1; 567 L3 = L0; 568 M2 = L3; 569 L2 = L1; 570 M3 = L2; 571 572 R0 = I0; 573 R1 = I1; 574 R2 = I2; 575 R3 = I3; 576 R4 = M0; 577 R5 = M1; 578 R6 = M2; 579 R7 = M3; 580 CHECKREG r0, 0xB441555B; 581 CHECKREG r1, 0xB564777B; 582 CHECKREG r2, 0xB000111B; 583 CHECKREG r3, 0xB421333B; 584 CHECKREG r4, 0xB564777B; 585 CHECKREG r5, 0xB441555B; 586 CHECKREG r6, 0xB564777B; 587 CHECKREG r7, 0xB441555B; 588 R0 = L0; 589 R1 = L1; 590 R2 = L2; 591 R3 = L3; 592 R4 = B0; 593 R5 = B1; 594 R6 = B2; 595 R7 = B3; 596 CHECKREG r0, 0xB564777B; 597 CHECKREG r1, 0xB441555B; 598 CHECKREG r2, 0xB441555B; 599 CHECKREG r3, 0xB564777B; 600 CHECKREG r4, 0xB000111B; 601 CHECKREG r5, 0xB421333B; 602 CHECKREG r6, 0xB441555B; 603 CHECKREG r7, 0xB564777B; 604 605// B-to-L-to-M, B-to-B-to-I reg: no stall 606 imm32 l0, 0xc000111c; 607 imm32 l1, 0xc621334c; 608 imm32 l2, 0xc461554c; 609 imm32 l3, 0xc766774c; 610 imm32 b0, 0xc871694c; 611 imm32 b1, 0xcaa7b64c; 612 imm32 b2, 0xc8c17d6c; 613 imm32 b3, 0xce81f74c; 614 L0 = B0; 615 M1 = L0; 616 L1 = B1; 617 M2 = L1; 618 L2 = B2; 619 M3 = L2; 620 L3 = B3; 621 M0 = L3; 622 B3 = B0; 623 I0 = B3; 624 B0 = B1; 625 I1 = B0; 626 B1 = B2; 627 I2 = B1; 628 B2 = B3; 629 I3 = B2; 630 631 R0 = L0; 632 R1 = L1; 633 R2 = L2; 634 R3 = L3; 635 R4 = B0; 636 R5 = B1; 637 R6 = B2; 638 R7 = B3; 639 CHECKREG r0, 0xC871694C; 640 CHECKREG r1, 0xCAA7B64C; 641 CHECKREG r2, 0xC8C17D6C; 642 CHECKREG r3, 0xCE81F74C; 643 CHECKREG r4, 0xCAA7B64C; 644 CHECKREG r5, 0xC8C17D6C; 645 CHECKREG r6, 0xC871694C; 646 CHECKREG r7, 0xC871694C; 647 R0 = M0; 648 R1 = M1; 649 R2 = M2; 650 R3 = M3; 651 R4 = I0; 652 R5 = I1; 653 R6 = I2; 654 R7 = I3; 655 CHECKREG r0, 0xCE81F74C; 656 CHECKREG r1, 0xC871694C; 657 CHECKREG r2, 0xCAA7B64C; 658 CHECKREG r3, 0xC8C17D6C; 659 CHECKREG r4, 0xC871694C; 660 CHECKREG r5, 0xCAA7B64C; 661 CHECKREG r6, 0xC8C17D6C; 662 CHECKREG r7, 0xC871694C; 663 664 pass 665