binutils-gdb/sim/testsuite/bfin/se_all64bitg2opcodes.S
Mike Frysinger 1368b914e9 sim: testsuite: flatten tree
Now that all port tests live under testsuite/sim/*/, and none live
in testsuite/ directly, flatten the structure by moving all of the
dirs under testsuite/sim/ to testsuite/ directly.

We need to stop passing --tool to dejagnu so that it searches all
dirs and not just ones that start with "sim".  Since we have no
other dirs in this tree, and no plans to add any, should be fine.
2021-01-15 19:18:34 -05:00

54 lines
1.1 KiB
ArmAsm

/*
* Blackfin testcase for testing illegal/legal 64-bit opcodes (group 2)
* from userspace. we track all instructions which cause some sort of
* exception when run from userspace, this is normally EXCAUSE :
* - 0x22 : illegal instruction combination
* and walk every instruction from 0x0000 to 0xffff
*/
# mach: bfin
# sim: --environment operating
#include "test.h"
.include "testutils.inc"
#define SE_ALL_BITS 16
#include "se_allopcodes.h"
.macro se_all_load_insn
R2 = W[P5 + 6];
R0 = R2;
.endm
.macro se_all_next_insn
/* increment, and go again. */
R0 = R2;
R0 += 1;
/* finish once we hit the 32bit limit */
imm32 R1, 0x10000;
CC = R1 == R0;
IF CC JUMP pass_lvl;
W[P5 + 6] = R0;
.endm
.macro se_all_insn_init
MNOP || NOP || NOP;
.endm
.macro se_all_insn_table
/* this table must be sorted, and end with zero */
/* start end SEQSTAT */
.dw 0x0001, 0x9bff, 0x22
.dw 0x9c60, 0x9c7f, 0x22
.dw 0x9ce0, 0x9cff, 0x22
.dw 0x9d60, 0x9d7f, 0x22
.dw 0x9e60, 0x9e7f, 0x22
.dw 0x9ee0, 0x9eff, 0x22
.dw 0x9f60, 0x9f7f, 0x22
.dw 0xa000, 0xffff, 0x22
.dw 0x0000, 0x0000, 0x00
.endm
se_all_test