From 034ed383a968204427befda3f9fb8bb5d2f63f75 Mon Sep 17 00:00:00 2001 From: Thomas Lively <7121787+tlively@users.noreply.github.com> Date: Tue, 24 Sep 2019 15:29:15 -0700 Subject: 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. --- src/js/binaryen.js-post.js | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'src/js/binaryen.js-post.js') 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); -- cgit v1.2.3