summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/binaryen-c.cpp2
-rw-r--r--src/binaryen-c.h3
-rw-r--r--src/js/binaryen.js-post.js8
3 files changed, 12 insertions, 1 deletions
diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp
index d348a4d5d..45201d919 100644
--- a/src/binaryen-c.cpp
+++ b/src/binaryen-c.cpp
@@ -687,6 +687,8 @@ BinaryenOp BinaryenLoadExtSVec32x2ToVecI64x2(void) {
BinaryenOp BinaryenLoadExtUVec32x2ToVecI64x2(void) {
return LoadExtUVec32x2ToVecI64x2;
}
+BinaryenOp BinaryenLoad32Zero(void) { return Load32Zero; }
+BinaryenOp BinaryenLoad64Zero(void) { return Load64Zero; }
BinaryenOp BinaryenNarrowSVecI16x8ToVecI8x16(void) {
return NarrowSVecI16x8ToVecI8x16;
}
diff --git a/src/binaryen-c.h b/src/binaryen-c.h
index 217ed96db..da14af22e 100644
--- a/src/binaryen-c.h
+++ b/src/binaryen-c.h
@@ -558,7 +558,8 @@ BINARYEN_API BinaryenOp BinaryenLoadExtSVec16x4ToVecI32x4(void);
BINARYEN_API BinaryenOp BinaryenLoadExtUVec16x4ToVecI32x4(void);
BINARYEN_API BinaryenOp BinaryenLoadExtSVec32x2ToVecI64x2(void);
BINARYEN_API BinaryenOp BinaryenLoadExtUVec32x2ToVecI64x2(void);
-// TODO: Add Load{32,64}Zero to C and JS APIs once merged to proposal
+BINARYEN_API BinaryenOp BinaryenLoad32Zero(void);
+BINARYEN_API BinaryenOp BinaryenLoad64Zero(void);
BINARYEN_API BinaryenOp BinaryenNarrowSVecI16x8ToVecI8x16(void);
BINARYEN_API BinaryenOp BinaryenNarrowUVecI16x8ToVecI8x16(void);
BINARYEN_API BinaryenOp BinaryenNarrowSVecI32x4ToVecI16x8(void);
diff --git a/src/js/binaryen.js-post.js b/src/js/binaryen.js-post.js
index 907068059..cfd37e9db 100644
--- a/src/js/binaryen.js-post.js
+++ b/src/js/binaryen.js-post.js
@@ -490,6 +490,8 @@ function initializeConstants() {
'LoadExtUVec16x4ToVecI32x4',
'LoadExtSVec32x2ToVecI64x2',
'LoadExtUVec32x2ToVecI64x2',
+ 'Load32Zero',
+ 'Load64Zero',
'NarrowSVecI16x8ToVecI8x16',
'NarrowUVecI16x8ToVecI8x16',
'NarrowSVecI32x4ToVecI16x8',
@@ -1490,6 +1492,12 @@ function wrapModule(module, self = {}) {
'load32x2_u'(offset, align, ptr) {
return Module['_BinaryenSIMDLoad'](module, Module['LoadExtUVec32x2ToVecI64x2'], offset, align, ptr);
},
+ 'load32_zero'(offset, align, ptr) {
+ return Module['_BinaryenSIMDLoad'](module, Module['Load32Zero'], offset, align, ptr);
+ },
+ 'load64_zero'(offset, align, ptr) {
+ return Module['_BinaryenSIMDLoad'](module, Module['Load64Zero'], offset, align, ptr);
+ },
'store'(offset, align, ptr, value) {
return Module['_BinaryenStore'](module, 16, offset, align, ptr, value, Module['v128']);
},