Projet_SETI_RISC-V/riscv-gnu-toolchain/binutils/sim/testsuite/bfin/brcc.s
2023-03-06 14:48:14 +01:00

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)