164 lines
1.7 KiB
ArmAsm
164 lines
1.7 KiB
ArmAsm
# mach: bfin
|
|
|
|
.include "testutils.inc"
|
|
start
|
|
|
|
|
|
/* Stall tests */
|
|
|
|
r0 = 0;
|
|
r1 = 1;
|
|
loadsym p0, foo;
|
|
p1 = p0;
|
|
|
|
pass_1:
|
|
cc = r0;
|
|
nop;
|
|
nop;
|
|
|
|
if cc jump _fail_1;
|
|
[p0++] = p0;
|
|
[p0++] = p0;
|
|
r7 = p0;
|
|
r5 = CC;
|
|
P1 += 8;
|
|
r6 = p1;
|
|
CC = R6 == R7;
|
|
if !CC jump _failure;
|
|
|
|
cc = R5;
|
|
if !cc jump over;
|
|
|
|
_fail_1:
|
|
[p0++] = p0;
|
|
[p0++] = p0;
|
|
|
|
back:
|
|
if !cc jump skip(bp);
|
|
|
|
_fail_2:
|
|
[p0++] = p0;
|
|
[p0++] = p0;
|
|
|
|
over:
|
|
if cc jump _fail_3(bp);
|
|
[p0++] = p0;
|
|
[p0++] = p0;
|
|
r7=p0;
|
|
R5=cc;
|
|
P1 += 8;
|
|
R6 = P1;
|
|
CC = R6 == R7;
|
|
if !CC jump _failure;
|
|
|
|
CC = R5;
|
|
if !cc jump back(bp);
|
|
|
|
_fail_3:
|
|
[p0++] = p0;
|
|
[p0++] = p0;
|
|
|
|
skip:
|
|
[p0++] = p0;
|
|
[p0++] = p0;
|
|
[p0++] = p0;
|
|
r7=p0;
|
|
|
|
P1 += 0xc;
|
|
R6 = P1;
|
|
CC = R6 == R7;
|
|
if !CC jump _failure;
|
|
|
|
next:
|
|
[p0++] = p0;
|
|
r7=p0;
|
|
P1 += 4;
|
|
R6 = P1;
|
|
CC = R6 == R7;
|
|
if !CC jump _failure;
|
|
|
|
pass_2:
|
|
cc = r1;
|
|
nop;
|
|
nop;
|
|
|
|
if !cc jump _fail_4;
|
|
[p0++] = p0;
|
|
[p0++] = p0;
|
|
r7=p0;
|
|
R5 = cc;
|
|
P1 += 8;
|
|
R6 = P1;
|
|
CC = R6 == R7;
|
|
if !CC jump _failure;
|
|
|
|
cc = R5;
|
|
if cc jump over_2;
|
|
|
|
_fail_4:
|
|
[p0++] = p0;
|
|
[p0++] = p0;
|
|
P1 += 8;
|
|
|
|
back_2:
|
|
if cc jump skip_2 (bp);
|
|
|
|
_fail_5:
|
|
[p0++] = p0;
|
|
[p0++] = p0;
|
|
P1 += 8;
|
|
|
|
over_2:
|
|
if !cc jump _fail_6 (bp);
|
|
[p0++] = p0;
|
|
[p0++] = p0;
|
|
r7=p0;
|
|
R5 = cc;
|
|
P1 += 8;
|
|
R6 = P1;
|
|
CC = R6 == R7;
|
|
if !CC jump _failure;
|
|
cc = R5;
|
|
|
|
if cc jump back_2 (bp);
|
|
|
|
_fail_6:
|
|
[p0++] = p0;
|
|
[p0++] = p0;
|
|
|
|
skip_2:
|
|
[p0++] = p0;
|
|
[p0++] = p0;
|
|
[p0++] = p0;
|
|
r7=p0;
|
|
R5 = cc;
|
|
P1 += 0xc;
|
|
R6 = P1;
|
|
CC = R6 == R7;
|
|
if !CC jump _failure;
|
|
cc = r5;
|
|
|
|
if cc jump next_2 (bp);
|
|
|
|
next_2:
|
|
[p0++] = p0;
|
|
[p0++] = p0;
|
|
P1 += 8;
|
|
r7=p0;
|
|
r6 = P1;
|
|
CC = R6 == R7;
|
|
if !CC jump _failure;
|
|
|
|
cc = r0;
|
|
_halt:
|
|
pass;
|
|
|
|
_fail_7:
|
|
[p0++] = p0;
|
|
|
|
_failure:
|
|
fail;
|
|
|
|
.data
|
|
foo:
|
|
.space (0x100)
|