diff options
Diffstat (limited to 'src/wasm/wasm-binary.cpp')
-rw-r--r-- | src/wasm/wasm-binary.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/wasm/wasm-binary.cpp b/src/wasm/wasm-binary.cpp index 6f10df8f5..1606d74a1 100644 --- a/src/wasm/wasm-binary.cpp +++ b/src/wasm/wasm-binary.cpp @@ -4413,6 +4413,30 @@ bool WasmBinaryBuilder::maybeVisitSIMDLoad(Expression*& out, uint32_t code) { curr = allocator.alloc<SIMDLoad>(); curr->op = LoadSplatVec64x2; break; + case BinaryConsts::I16x8LoadExtSVec8x8: + curr = allocator.alloc<SIMDLoad>(); + curr->op = LoadExtSVec8x8ToVecI16x8; + break; + case BinaryConsts::I16x8LoadExtUVec8x8: + curr = allocator.alloc<SIMDLoad>(); + curr->op = LoadExtUVec8x8ToVecI16x8; + break; + case BinaryConsts::I32x4LoadExtSVec16x4: + curr = allocator.alloc<SIMDLoad>(); + curr->op = LoadExtSVec16x4ToVecI32x4; + break; + case BinaryConsts::I32x4LoadExtUVec16x4: + curr = allocator.alloc<SIMDLoad>(); + curr->op = LoadExtUVec16x4ToVecI32x4; + break; + case BinaryConsts::I64x2LoadExtSVec32x2: + curr = allocator.alloc<SIMDLoad>(); + curr->op = LoadExtSVec32x2ToVecI64x2; + break; + case BinaryConsts::I64x2LoadExtUVec32x2: + curr = allocator.alloc<SIMDLoad>(); + curr->op = LoadExtUVec32x2ToVecI64x2; + break; default: return false; } |