summaryrefslogtreecommitdiff
path: root/src/js/binaryen.js-post.js
diff options
context:
space:
mode:
authorThomas Lively <7121787+tlively@users.noreply.github.com>2019-09-24 15:29:15 -0700
committerGitHub <noreply@github.com>2019-09-24 15:29:15 -0700
commit034ed383a968204427befda3f9fb8bb5d2f63f75 (patch)
tree36ae37db02cdae27416be250fe533d0f0bff77e8 /src/js/binaryen.js-post.js
parent835581f58eb5040656243f7345ebcacf6d7deee5 (diff)
downloadbinaryen-034ed383a968204427befda3f9fb8bb5d2f63f75.tar.gz
binaryen-034ed383a968204427befda3f9fb8bb5d2f63f75.tar.bz2
binaryen-034ed383a968204427befda3f9fb8bb5d2f63f75.zip
v128.andnot instruction (#2355)
As specified at https://github.com/WebAssembly/simd/pull/102. Also fixes bugs in the JS API for other SIMD bitwise operators.
Diffstat (limited to 'src/js/binaryen.js-post.js')
-rw-r--r--src/js/binaryen.js-post.js16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/js/binaryen.js-post.js b/src/js/binaryen.js-post.js
index c82aaaf6d..3e1ccd2f8 100644
--- a/src/js/binaryen.js-post.js
+++ b/src/js/binaryen.js-post.js
@@ -321,6 +321,7 @@ Module['NotVec128'] = Module['_BinaryenNotVec128']();
Module['AndVec128'] = Module['_BinaryenAndVec128']();
Module['OrVec128'] = Module['_BinaryenOrVec128']();
Module['XorVec128'] = Module['_BinaryenXorVec128']();
+Module['AndNotVec128'] = Module['_BinaryenAndNotVec128']();
Module['BitselectVec128'] = Module['_BinaryenBitselectVec128']();
Module['NegVecI8x16'] = Module['_BinaryenNegVecI8x16']();
Module['AnyTrueVecI8x16'] = Module['_BinaryenAnyTrueVecI8x16']();
@@ -1335,14 +1336,17 @@ function wrapModule(module, self) {
'not': function(value) {
return Module['_BinaryenUnary'](module, Module['NotVec128'], value);
},
- 'and': function(value) {
- return Module['_BinaryenUnary'](module, Module['AndVec128'], value);
+ 'and': function(left, right) {
+ return Module['_BinaryenBinary'](module, Module['AndVec128'], left, right);
+ },
+ 'or': function(left, right) {
+ return Module['_BinaryenBinary'](module, Module['OrVec128'], left, right);
},
- 'or': function(value) {
- return Module['_BinaryenUnary'](module, Module['OrVec128'], value);
+ 'xor': function(left, right) {
+ return Module['_BinaryenBinary'](module, Module['XorVec128'], left, right);
},
- 'xor': function(value) {
- return Module['_BinaryenUnary'](module, Module['XorVec128'], value);
+ 'andnot': function(left, right) {
+ return Module['_BinaryenBinary'](module, Module['AndNotVec128'], left, right);
},
'bitselect': function(left, right, cond) {
return Module['_BinaryenSIMDTernary'](module, Module['BitselectVec128'], left, right, cond);