mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2025-05-24 02:21:16 +00:00
Fix SIMD load lane to avoid incompatible pointer types (#4278)
This commit is contained in:
parent
c7b2db1832
commit
e48367c044
|
@ -6101,8 +6101,9 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
|
||||||
#if WASM_CPU_SUPPORTS_UNALIGNED_ADDR_ACCESS != 0
|
#if WASM_CPU_SUPPORTS_UNALIGNED_ADDR_ACCESS != 0
|
||||||
#define SIMD_LANE_HANDLE_UNALIGNED_ACCESS()
|
#define SIMD_LANE_HANDLE_UNALIGNED_ACCESS()
|
||||||
#else
|
#else
|
||||||
#define SIMD_LANE_HANDLE_UNALIGNED_ACCESS() *frame_ip++;
|
#define SIMD_LANE_HANDLE_UNALIGNED_ACCESS() (void)*frame_ip++
|
||||||
#endif
|
#endif /* WASM_CPU_SUPPORTS_UNALIGNED_ADDR_ACCESS != 0 */
|
||||||
|
|
||||||
#define SIMD_EXTRACT_LANE_OP(register, return_type, push_elem) \
|
#define SIMD_EXTRACT_LANE_OP(register, return_type, push_elem) \
|
||||||
do { \
|
do { \
|
||||||
uint8 lane = *frame_ip++; \
|
uint8 lane = *frame_ip++; \
|
||||||
|
@ -6519,7 +6520,7 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
|
||||||
addr_ret = GET_OFFSET(); \
|
addr_ret = GET_OFFSET(); \
|
||||||
CHECK_MEMORY_OVERFLOW(width / 8); \
|
CHECK_MEMORY_OVERFLOW(width / 8); \
|
||||||
if (width == 64) { \
|
if (width == 64) { \
|
||||||
vec.register[lane] = GET_I64_FROM_ADDR(maddr); \
|
vec.register[lane] = GET_I64_FROM_ADDR((uint32 *)maddr); \
|
||||||
} \
|
} \
|
||||||
else { \
|
else { \
|
||||||
vec.register[lane] = *(uint##width *)(maddr); \
|
vec.register[lane] = *(uint##width *)(maddr); \
|
||||||
|
|
Loading…
Reference in New Issue
Block a user