diff options
author | Thomas Lively <7121787+tlively@users.noreply.github.com> | 2019-11-01 18:22:05 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-11-01 18:22:05 -0700 |
commit | 0a5925a52cc0888fb61bc7b55c78666add5025cd (patch) | |
tree | d21ff1cc88829dcacbc33b4ddd23e2d467fd8cb1 /src/js/binaryen.js-post.js | |
parent | 90297e84007031ec884d829f973556d49c9b9467 (diff) | |
download | binaryen-0a5925a52cc0888fb61bc7b55c78666add5025cd.tar.gz binaryen-0a5925a52cc0888fb61bc7b55c78666add5025cd.tar.bz2 binaryen-0a5925a52cc0888fb61bc7b55c78666add5025cd.zip |
Add SIMD integer min and max instructions (#2416)
As proposed in https://github.com/WebAssembly/simd/pull/27.
Diffstat (limited to 'src/js/binaryen.js-post.js')
-rw-r--r-- | src/js/binaryen.js-post.js | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/js/binaryen.js-post.js b/src/js/binaryen.js-post.js index b4cd5e482..f2d679900 100644 --- a/src/js/binaryen.js-post.js +++ b/src/js/binaryen.js-post.js @@ -336,6 +336,10 @@ Module['SubVecI8x16'] = Module['_BinaryenSubVecI8x16'](); Module['SubSatSVecI8x16'] = Module['_BinaryenSubSatSVecI8x16'](); Module['SubSatUVecI8x16'] = Module['_BinaryenSubSatUVecI8x16'](); Module['MulVecI8x16'] = Module['_BinaryenMulVecI8x16'](); +Module['MinSVecI8x16'] = Module['_BinaryenMinSVecI8x16'](); +Module['MinUVecI8x16'] = Module['_BinaryenMinUVecI8x16'](); +Module['MaxSVecI8x16'] = Module['_BinaryenMaxSVecI8x16'](); +Module['MaxUVecI8x16'] = Module['_BinaryenMaxUVecI8x16'](); Module['NegVecI16x8'] = Module['_BinaryenNegVecI16x8'](); Module['AnyTrueVecI16x8'] = Module['_BinaryenAnyTrueVecI16x8'](); Module['AllTrueVecI16x8'] = Module['_BinaryenAllTrueVecI16x8'](); @@ -349,6 +353,10 @@ Module['SubVecI16x8'] = Module['_BinaryenSubVecI16x8'](); Module['SubSatSVecI16x8'] = Module['_BinaryenSubSatSVecI16x8'](); Module['SubSatUVecI16x8'] = Module['_BinaryenSubSatUVecI16x8'](); Module['MulVecI16x8'] = Module['_BinaryenMulVecI16x8'](); +Module['MinSVecI16x8'] = Module['_BinaryenMinSVecI16x8'](); +Module['MinUVecI16x8'] = Module['_BinaryenMinUVecI16x8'](); +Module['MaxSVecI16x8'] = Module['_BinaryenMaxSVecI16x8'](); +Module['MaxUVecI16x8'] = Module['_BinaryenMaxUVecI16x8'](); Module['NegVecI32x4'] = Module['_BinaryenNegVecI32x4'](); Module['AnyTrueVecI32x4'] = Module['_BinaryenAnyTrueVecI32x4'](); Module['AllTrueVecI32x4'] = Module['_BinaryenAllTrueVecI32x4'](); @@ -358,6 +366,10 @@ Module['ShrUVecI32x4'] = Module['_BinaryenShrUVecI32x4'](); Module['AddVecI32x4'] = Module['_BinaryenAddVecI32x4'](); Module['SubVecI32x4'] = Module['_BinaryenSubVecI32x4'](); Module['MulVecI32x4'] = Module['_BinaryenMulVecI32x4'](); +Module['MinSVecI32x4'] = Module['_BinaryenMinSVecI32x4'](); +Module['MinUVecI32x4'] = Module['_BinaryenMinUVecI32x4'](); +Module['MaxSVecI32x4'] = Module['_BinaryenMaxSVecI32x4'](); +Module['MaxUVecI32x4'] = Module['_BinaryenMaxUVecI32x4'](); Module['NegVecI64x2'] = Module['_BinaryenNegVecI64x2'](); Module['AnyTrueVecI64x2'] = Module['_BinaryenAnyTrueVecI64x2'](); Module['AllTrueVecI64x2'] = Module['_BinaryenAllTrueVecI64x2'](); @@ -1445,6 +1457,18 @@ function wrapModule(module, self) { 'mul': function(left, right) { return Module['_BinaryenBinary'](module, Module['MulVecI8x16'], left, right); }, + 'min_s': function(left, right) { + return Module['_BinaryenBinary'](module, Module['MinSVecI8x16'], left, right); + }, + 'min_u': function(left, right) { + return Module['_BinaryenBinary'](module, Module['MinUVecI8x16'], left, right); + }, + 'max_s': function(left, right) { + return Module['_BinaryenBinary'](module, Module['MaxSVecI8x16'], left, right); + }, + 'max_u': function(left, right) { + return Module['_BinaryenBinary'](module, Module['MaxUVecI8x16'], left, right); + }, 'narrow_i16x8_s': function(left, right) { return Module['_BinaryenBinary'](module, Module['NarrowSVecI16x8ToVecI8x16'], left, right); }, @@ -1535,6 +1559,18 @@ function wrapModule(module, self) { 'mul': function(left, right) { return Module['_BinaryenBinary'](module, Module['MulVecI16x8'], left, right); }, + 'min_s': function(left, right) { + return Module['_BinaryenBinary'](module, Module['MinSVecI16x8'], left, right); + }, + 'min_u': function(left, right) { + return Module['_BinaryenBinary'](module, Module['MinUVecI16x8'], left, right); + }, + 'max_s': function(left, right) { + return Module['_BinaryenBinary'](module, Module['MaxSVecI16x8'], left, right); + }, + 'max_u': function(left, right) { + return Module['_BinaryenBinary'](module, Module['MaxUVecI16x8'], left, right); + }, 'narrow_i32x4_s': function(left, right) { return Module['_BinaryenBinary'](module, Module['NarrowSVecI32x4ToVecI16x8'], left, right); }, @@ -1628,6 +1664,18 @@ function wrapModule(module, self) { 'mul': function(left, right) { return Module['_BinaryenBinary'](module, Module['MulVecI32x4'], left, right); }, + 'min_s': function(left, right) { + return Module['_BinaryenBinary'](module, Module['MinSVecI32x4'], left, right); + }, + 'min_u': function(left, right) { + return Module['_BinaryenBinary'](module, Module['MinUVecI32x4'], left, right); + }, + 'max_s': function(left, right) { + return Module['_BinaryenBinary'](module, Module['MaxSVecI32x4'], left, right); + }, + 'max_u': function(left, right) { + return Module['_BinaryenBinary'](module, Module['MaxUVecI32x4'], left, right); + }, 'trunc_sat_f32x4_s': function(value) { return Module['_BinaryenUnary'](module, Module['TruncSatSVecF32x4ToVecI32x4'], value); }, |