summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDaniel Wirtz <dcode@dcode.io>2019-09-11 18:40:08 +0200
committerThomas Lively <7121787+tlively@users.noreply.github.com>2019-09-11 09:40:08 -0700
commitbcd80a9b20c83753f0712f12ae7de42fdfdc32cb (patch)
tree72acc8972942914832cd65993419dc3c12c3a869 /src
parent241aa71a776ae7e4c0cddb11523358242832daa4 (diff)
downloadbinaryen-bcd80a9b20c83753f0712f12ae7de42fdfdc32cb.tar.gz
binaryen-bcd80a9b20c83753f0712f12ae7de42fdfdc32cb.tar.bz2
binaryen-bcd80a9b20c83753f0712f12ae7de42fdfdc32cb.zip
Fix bitselect operation in C/JS APIs (#2336)
In #2328 the SIMDBitselect API has been replaced with SIMDTernary that now has Bitselect as one of multiple operations, which is currently not exposed, unlike the new QFMA/QFMS operations which are exposed. This PR adds it.
Diffstat (limited to 'src')
-rw-r--r--src/binaryen-c.h1
-rw-r--r--src/js/binaryen.js-post.js3
2 files changed, 3 insertions, 1 deletions
diff --git a/src/binaryen-c.h b/src/binaryen-c.h
index 396ee2e8d..d306885b0 100644
--- a/src/binaryen-c.h
+++ b/src/binaryen-c.h
@@ -440,6 +440,7 @@ BinaryenOp BinaryenNotVec128(void);
BinaryenOp BinaryenAndVec128(void);
BinaryenOp BinaryenOrVec128(void);
BinaryenOp BinaryenXorVec128(void);
+BinaryenOp BinaryenBitselectVec128(void);
BinaryenOp BinaryenNegVecI8x16(void);
BinaryenOp BinaryenAnyTrueVecI8x16(void);
BinaryenOp BinaryenAllTrueVecI8x16(void);
diff --git a/src/js/binaryen.js-post.js b/src/js/binaryen.js-post.js
index bb5e4b21e..328b0a27d 100644
--- a/src/js/binaryen.js-post.js
+++ b/src/js/binaryen.js-post.js
@@ -320,6 +320,7 @@ Module['NotVec128'] = Module['_BinaryenNotVec128']();
Module['AndVec128'] = Module['_BinaryenAndVec128']();
Module['OrVec128'] = Module['_BinaryenOrVec128']();
Module['XorVec128'] = Module['_BinaryenXorVec128']();
+Module['BitselectVec128'] = Module['_BinaryenBitselectVec128']();
Module['NegVecI8x16'] = Module['_BinaryenNegVecI8x16']();
Module['AnyTrueVecI8x16'] = Module['_BinaryenAnyTrueVecI8x16']();
Module['AllTrueVecI8x16'] = Module['_BinaryenAllTrueVecI8x16']();
@@ -1327,7 +1328,7 @@ function wrapModule(module, self) {
return Module['_BinaryenUnary'](module, Module['XorVec128'], value);
},
'bitselect': function(left, right, cond) {
- return Module['_BinaryenSIMDTernary'](module, Module['Bitselect'], left, right, cond);
+ return Module['_BinaryenSIMDTernary'](module, Module['BitselectVec128'], left, right, cond);
},
'pop': function() {
return Module['_BinaryenPop'](module, Module['v128']);