mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2025-05-11 20:21:11 +00:00
implement POP_V128()
This is to simplify the simd implementation for fast interpreter
This commit is contained in:
parent
326aea298c
commit
860379bc58
|
@ -89,7 +89,8 @@ is_valid_value_type(uint8 type)
|
|||
bool
|
||||
is_valid_value_type_for_interpreter(uint8 value_type)
|
||||
{
|
||||
#if (WASM_ENABLE_WAMR_COMPILER == 0) && (WASM_ENABLE_JIT == 0)
|
||||
#if (WASM_ENABLE_WAMR_COMPILER == 0) && (WASM_ENABLE_JIT == 0) \
|
||||
&& (WASM_ENABLE_FAST_INTERP == 0)
|
||||
/*
|
||||
* Note: regardless of WASM_ENABLE_SIMD, our interpreters don't have
|
||||
* SIMD implemented. It's safer to reject v128, especially for the
|
||||
|
|
|
@ -485,6 +485,8 @@ wasm_interp_get_frame_ref(WASMInterpFrame *frame)
|
|||
|
||||
#define POP_I64() (GET_I64_FROM_ADDR(frame_lp + GET_OFFSET()))
|
||||
|
||||
#define POP_V128() (GET_V128_FROM_ADDR(frame_lp + GET_OFFSET()))
|
||||
|
||||
#define POP_F64() (GET_F64_FROM_ADDR(frame_lp + GET_OFFSET()))
|
||||
|
||||
#define POP_REF() \
|
||||
|
@ -5662,8 +5664,7 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
|
|||
}
|
||||
case SIMD_v128_any_true:
|
||||
{
|
||||
V128 value = GET_OPERAND_V128(0);
|
||||
frame_ip += 2;
|
||||
V128 value = POP_V128();
|
||||
addr_ret = GET_OFFSET();
|
||||
frame_lp[addr_ret] =
|
||||
value.i64x2[0] != 0 || value.i64x2[1] != 0;
|
||||
|
|
Loading…
Reference in New Issue
Block a user