summaryrefslogtreecommitdiff
path: root/src/wasm/wasm-binary.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/wasm/wasm-binary.cpp')
-rw-r--r--src/wasm/wasm-binary.cpp24
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;
}