Merge commit from fork
* fix: remove SIMD prefix handling from interpreter and update opcode definitions * test: add case for classic interpreter handling of unsupported SIMD opcodes
This commit is contained in:
@ -6572,12 +6572,10 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
|
||||
HANDLE_OP(WASM_OP_CATCH_ALL)
|
||||
HANDLE_OP(EXT_OP_TRY)
|
||||
#endif
|
||||
#if WASM_ENABLE_JIT != 0 && WASM_ENABLE_SIMD != 0
|
||||
/* SIMD isn't supported by interpreter, but when JIT is
|
||||
enabled, `iwasm --interp <wasm_file>` may be run to
|
||||
trigger the SIMD opcode in interpreter */
|
||||
HANDLE_OP(WASM_OP_SIMD_PREFIX)
|
||||
#endif
|
||||
HANDLE_OP(WASM_OP_UNUSED_0x16)
|
||||
HANDLE_OP(WASM_OP_UNUSED_0x17)
|
||||
HANDLE_OP(WASM_OP_UNUSED_0x27)
|
||||
|
||||
@ -790,13 +790,6 @@ typedef enum WASMAtomicEXTOpcode {
|
||||
#endif
|
||||
#define SET_GOTO_TABLE_ELEM(opcode) [opcode] = HANDLE_OPCODE(opcode)
|
||||
|
||||
#if WASM_ENABLE_SIMDE != 0
|
||||
#define SET_GOTO_TABLE_SIMD_PREFIX_ELEM() \
|
||||
SET_GOTO_TABLE_ELEM(WASM_OP_SIMD_PREFIX),
|
||||
#else
|
||||
#define SET_GOTO_TABLE_SIMD_PREFIX_ELEM()
|
||||
#endif
|
||||
|
||||
#if WASM_ENABLE_SIMDE != 0
|
||||
#define DEF_EXT_V128_HANDLE() \
|
||||
SET_GOTO_TABLE_ELEM(EXT_OP_SET_LOCAL_FAST_V128), /* 0xdd */ \
|
||||
@ -1038,7 +1031,7 @@ typedef enum WASMAtomicEXTOpcode {
|
||||
HANDLE_OPCODE(EXT_OP_TRY), /* 0xdb */ \
|
||||
SET_GOTO_TABLE_ELEM(WASM_OP_GC_PREFIX), /* 0xfb */ \
|
||||
SET_GOTO_TABLE_ELEM(WASM_OP_MISC_PREFIX), /* 0xfc */ \
|
||||
SET_GOTO_TABLE_SIMD_PREFIX_ELEM() /* 0xfd */ \
|
||||
SET_GOTO_TABLE_ELEM(WASM_OP_SIMD_PREFIX), /* 0xfd */ \
|
||||
SET_GOTO_TABLE_ELEM(WASM_OP_ATOMIC_PREFIX), /* 0xfe */ \
|
||||
DEF_DEBUG_BREAK_HANDLE() DEF_EXT_V128_HANDLE() \
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user