summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorThomas Lively <7121787+tlively@users.noreply.github.com>2019-11-01 18:22:05 -0700
committerGitHub <noreply@github.com>2019-11-01 18:22:05 -0700
commit0a5925a52cc0888fb61bc7b55c78666add5025cd (patch)
treed21ff1cc88829dcacbc33b4ddd23e2d467fd8cb1 /scripts
parent90297e84007031ec884d829f973556d49c9b9467 (diff)
downloadbinaryen-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 'scripts')
-rwxr-xr-xscripts/gen-s-parser.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/scripts/gen-s-parser.py b/scripts/gen-s-parser.py
index 133e70d03..0b841f220 100755
--- a/scripts/gen-s-parser.py
+++ b/scripts/gen-s-parser.py
@@ -371,6 +371,10 @@ instructions = [
("i8x16.sub_saturate_s", "makeBinary(s, BinaryOp::SubSatSVecI8x16)"),
("i8x16.sub_saturate_u", "makeBinary(s, BinaryOp::SubSatUVecI8x16)"),
("i8x16.mul", "makeBinary(s, BinaryOp::MulVecI8x16)"),
+ ("i8x16.min_s", "makeBinary(s, BinaryOp::MinSVecI8x16)"),
+ ("i8x16.min_u", "makeBinary(s, BinaryOp::MinUVecI8x16)"),
+ ("i8x16.max_s", "makeBinary(s, BinaryOp::MaxSVecI8x16)"),
+ ("i8x16.max_u", "makeBinary(s, BinaryOp::MaxUVecI8x16)"),
("i16x8.neg", "makeUnary(s, UnaryOp::NegVecI16x8)"),
("i16x8.any_true", "makeUnary(s, UnaryOp::AnyTrueVecI16x8)"),
("i16x8.all_true", "makeUnary(s, UnaryOp::AllTrueVecI16x8)"),
@@ -384,6 +388,10 @@ instructions = [
("i16x8.sub_saturate_s", "makeBinary(s, BinaryOp::SubSatSVecI16x8)"),
("i16x8.sub_saturate_u", "makeBinary(s, BinaryOp::SubSatUVecI16x8)"),
("i16x8.mul", "makeBinary(s, BinaryOp::MulVecI16x8)"),
+ ("i16x8.min_s", "makeBinary(s, BinaryOp::MinSVecI16x8)"),
+ ("i16x8.min_u", "makeBinary(s, BinaryOp::MinUVecI16x8)"),
+ ("i16x8.max_s", "makeBinary(s, BinaryOp::MaxSVecI16x8)"),
+ ("i16x8.max_u", "makeBinary(s, BinaryOp::MaxUVecI16x8)"),
("i32x4.neg", "makeUnary(s, UnaryOp::NegVecI32x4)"),
("i32x4.any_true", "makeUnary(s, UnaryOp::AnyTrueVecI32x4)"),
("i32x4.all_true", "makeUnary(s, UnaryOp::AllTrueVecI32x4)"),
@@ -393,6 +401,10 @@ instructions = [
("i32x4.add", "makeBinary(s, BinaryOp::AddVecI32x4)"),
("i32x4.sub", "makeBinary(s, BinaryOp::SubVecI32x4)"),
("i32x4.mul", "makeBinary(s, BinaryOp::MulVecI32x4)"),
+ ("i32x4.min_s", "makeBinary(s, BinaryOp::MinSVecI32x4)"),
+ ("i32x4.min_u", "makeBinary(s, BinaryOp::MinUVecI32x4)"),
+ ("i32x4.max_s", "makeBinary(s, BinaryOp::MaxSVecI32x4)"),
+ ("i32x4.max_u", "makeBinary(s, BinaryOp::MaxUVecI32x4)"),
("i64x2.neg", "makeUnary(s, UnaryOp::NegVecI64x2)"),
("i64x2.any_true", "makeUnary(s, UnaryOp::AnyTrueVecI64x2)"),
("i64x2.all_true", "makeUnary(s, UnaryOp::AllTrueVecI64x2)"),