diff options
author | Thomas Lively <7121787+tlively@users.noreply.github.com> | 2019-09-24 15:29:15 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-24 15:29:15 -0700 |
commit | 034ed383a968204427befda3f9fb8bb5d2f63f75 (patch) | |
tree | 36ae37db02cdae27416be250fe533d0f0bff77e8 /src/js/binaryen.js-post.js | |
parent | 835581f58eb5040656243f7345ebcacf6d7deee5 (diff) | |
download | binaryen-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.js | 16 |
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); |