aboutsummaryrefslogtreecommitdiff
path: root/target/xtensa/cpu.h
diff options
context:
space:
mode:
authorMax Filippov <jcmvbkbc@gmail.com>2020-05-04 14:08:40 -0700
committerMax Filippov <jcmvbkbc@gmail.com>2020-08-21 12:48:14 -0700
commit91dc2b2d12a0343f37a3ab425f2912ae0ce18187 (patch)
treed40b76bda05b48065b844804cfe50b63d7c238b4 /target/xtensa/cpu.h
parentf86d9a093dada588889bde5582c7ec320487c4b8 (diff)
target/xtensa: make opcode properties more dynamic
There's XtensaOpcodeOps::test_ill that is used to check whether opcode generates illegal opcode exception or not. The illegal opcode exception is not special and so this callback can be generalized to provide any XTENSA_OP_* flags that are not completely static. Introduce XtensaOpcodeOps::test_exceptions and convert all test_ill users to test_exceptions. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Diffstat (limited to 'target/xtensa/cpu.h')
-rw-r--r--target/xtensa/cpu.h5
1 files changed, 1 insertions, 4 deletions
diff --git a/target/xtensa/cpu.h b/target/xtensa/cpu.h
index 32749378bf..65f0002850 100644
--- a/target/xtensa/cpu.h
+++ b/target/xtensa/cpu.h
@@ -364,9 +364,6 @@ typedef struct opcode_arg {
typedef struct DisasContext DisasContext;
typedef void (*XtensaOpcodeOp)(DisasContext *dc, const OpcodeArg arg[],
const uint32_t par[]);
-typedef bool (*XtensaOpcodeBoolTest)(DisasContext *dc,
- const OpcodeArg arg[],
- const uint32_t par[]);
typedef uint32_t (*XtensaOpcodeUintTest)(DisasContext *dc,
const OpcodeArg arg[],
const uint32_t par[]);
@@ -408,7 +405,7 @@ enum {
typedef struct XtensaOpcodeOps {
const void *name;
XtensaOpcodeOp translate;
- XtensaOpcodeBoolTest test_ill;
+ XtensaOpcodeUintTest test_exceptions;
XtensaOpcodeUintTest test_overflow;
const uint32_t *par;
uint32_t op_flags;