| # Blackfin testcase for playing with LSETUP | |
| # mach: bfin | |
| .include "testutils.inc" | |
| start | |
| R0 = 0x123; | |
| P0 = R0; | |
| LSETUP (.L1, .L1) LC0 = P0; | |
| .L1: | |
| R0 += -1; | |
| R1 = 0; | |
| CC = R1 == R0; | |
| IF CC JUMP 1f; | |
| fail | |
| 1: | |
| p0=10; | |
| loadsym i0, _buf | |
| imm32 r0, 0x12345678 | |
| LSETUP(.L2, .L3) lc0 = p0; | |
| .L2: | |
| [i0++] = r0; | |
| .L3: | |
| [i0++] = r0; | |
| loadsym R1, _buf | |
| R0 = 0x50; | |
| R1 = R0 + R1; | |
| R0 = I0; | |
| CC = R0 == R1; | |
| if CC JUMP 2f; | |
| fail | |
| 2: | |
| r5=10; | |
| p1=r5; | |
| r7=20; | |
| lsetup (.L4, .L5) lc0=p1; | |
| .L4: | |
| nop; | |
| nop; | |
| nop; | |
| nop; | |
| jump .L5; | |
| nop; | |
| nop; | |
| nop; | |
| .L5: | |
| r7 += -1; | |
| R0 = 10 (Z); | |
| CC = R7 == R0; | |
| if CC jump 3f; | |
| fail | |
| 3: | |
| r1 = 1; | |
| r2 = 2; | |
| r0 = 0; | |
| p1 = 10; | |
| loadsym p0, _buf; | |
| lsetup (.L6, .L7) lc0 = p1; | |
| .L6: | |
| [p0++] = r1; | |
| .L7: | |
| [p0++] = r2; | |
| r3 = P0; | |
| loadsym r1, _buf | |
| r0 = 80; | |
| r1 = r1 + r0; | |
| CC = R1 == R3 | |
| if CC jump 4f; | |
| fail | |
| 4: | |
| R0 = 1; | |
| R1 = 2; | |
| R2 = 3; | |
| R4 = 4; | |
| P1 = R1; | |
| LSETUP (.L8, .L8) LC0 = P1; | |
| R5 = 5; | |
| R6 = 6; | |
| R7 = 7; | |
| .L8: | |
| R1 += 1; | |
| R7 = 4; | |
| CC = R7 == R1; | |
| if CC jump 5f; | |
| fail | |
| 5: | |
| P1 = R1; | |
| LSETUP (.L9, .L9 ) LC1 = P1; | |
| .L9: | |
| R1 += 1; | |
| R7 = 8; | |
| if CC jump 6f; | |
| fail | |
| 6: | |
| pass | |
| .data | |
| _buf: | |
| .rept 0x80 | |
| .long 0 | |
| .endr |