diff options
author | Thomas Lively <7121787+tlively@users.noreply.github.com> | 2019-09-14 16:25:43 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-14 16:25:43 -0700 |
commit | 844998f1b4f4b0f439875e6b36bc6b821be87939 (patch) | |
tree | 57852cdb14f793159810b633037dd6d02f772f88 /src/wasm/wasm-validator.cpp | |
parent | 167acc73c36fefe9da501c0a48a5de1502f4133b (diff) | |
download | binaryen-844998f1b4f4b0f439875e6b36bc6b821be87939.tar.gz binaryen-844998f1b4f4b0f439875e6b36bc6b821be87939.tar.bz2 binaryen-844998f1b4f4b0f439875e6b36bc6b821be87939.zip |
SIMD narrowing and widening operations (#2341)
Diffstat (limited to 'src/wasm/wasm-validator.cpp')
-rw-r--r-- | src/wasm/wasm-validator.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/wasm/wasm-validator.cpp b/src/wasm/wasm-validator.cpp index f2d6c259b..e64e2ef73 100644 --- a/src/wasm/wasm-validator.cpp +++ b/src/wasm/wasm-validator.cpp @@ -1330,7 +1330,11 @@ void FunctionValidator::visitBinary(Binary* curr) { case MulVecF64x2: case DivVecF64x2: case MinVecF64x2: - case MaxVecF64x2: { + case MaxVecF64x2: + case NarrowSVecI16x8ToVecI8x16: + case NarrowUVecI16x8ToVecI8x16: + case NarrowSVecI32x4ToVecI16x8: + case NarrowUVecI32x4ToVecI16x8: { shouldBeEqualOrFirstIsUnreachable( curr->left->type, v128, curr, "v128 op"); shouldBeEqualOrFirstIsUnreachable( @@ -1528,6 +1532,14 @@ void FunctionValidator::visitUnary(Unary* curr) { case ConvertUVecI32x4ToVecF32x4: case ConvertSVecI64x2ToVecF64x2: case ConvertUVecI64x2ToVecF64x2: + case WidenLowSVecI8x16ToVecI16x8: + case WidenHighSVecI8x16ToVecI16x8: + case WidenLowUVecI8x16ToVecI16x8: + case WidenHighUVecI8x16ToVecI16x8: + case WidenLowSVecI16x8ToVecI32x4: + case WidenHighSVecI16x8ToVecI32x4: + case WidenLowUVecI16x8ToVecI32x4: + case WidenHighUVecI16x8ToVecI32x4: shouldBeEqual(curr->type, v128, curr, "expected v128 type"); shouldBeEqual(curr->value->type, v128, curr, "expected v128 operand"); break; |