110 lines
1.1 KiB
ArmAsm
110 lines
1.1 KiB
ArmAsm
|
# 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
|