Projet_SETI_RISC-V/riscv-gnu-toolchain/binutils/sim/testsuite/bfin/ashift_flags.s

85 lines
1.2 KiB
ArmAsm
Raw Normal View History

2023-03-06 14:48:14 +01:00
# mach: bfin
.include "testutils.inc"
start
// load r1=0x7fffffff
// load r2=0x80000000
// load r3=0x000000ff
// load r4=0x00000000
loadsym p0, data0;
R0 = [ P0 ++ ];
R1 = [ P0 ++ ];
R2 = [ P0 ++ ];
R3 = [ P0 ++ ];
R4 = [ P0 ++ ];
_dbg r0;
_dbg r1;
_dbg r2;
_dbg r3;
_dbg r4;
R7 = 0;
ASTAT = R7;
r5 = r1 << 0x4 (s);
_DBG ASTAT;
r7=astat;
dbga (r5.h, 0x7fff);
dbga (r5.l, 0xffff);
dbga (r7.h, 0x0300); // V=1, VS=1
dbga (r7.l, 0x8);
R7 = 0;
ASTAT = R7;
r5.h = r1.h << 0x4 (s);
_DBG ASTAT;
r7=astat;
dbga (r5.h, 0x7fff);
dbga (r7.h, 0x0300); // V=1, VS=1
dbga (r7.l, 0x8);
A0 = 0;
A0.w = r1;
A0.x = r0.l;
r6 = 0x3;
_dbg r6;
_dbg A0;
R7 = 0;
ASTAT = R7;
A0 = ASHIFT A0 BY R6.L;
_DBG ASTAT;
_DBG A0;
r7 = astat;
dbga (r7.h, 0x0); // AV0=0, AV0S=0
dbga (r7.l, 0x2); // AN = 1
A1 = 0;
A1 = r1;
A1.x = r0.l;
r6 = 0x3;
_dbg A1;
R7 = 0;
ASTAT = R7;
A1 = ASHIFT A1 BY R6.L;
_DBG ASTAT;
_DBG A1;
r7 = astat;
dbga (r7.h, 0x0); // AV1=0, AV1S=0
dbga (r7.l, 0x2); // AN = 1
pass
.data 0x1000;
data0:
.dw 0x1111
.dw 0x1111
.dw 0xffff
.dw 0x7fff
.dw 0x0000
.dw 0x8000
.dw 0x00ff
.dw 0x0000
.dw 0x0000
.dw 0x0000