diff options
author | Brendan Dahl <brendan.dahl@gmail.com> | 2024-08-27 11:14:54 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-27 11:14:54 -0700 |
commit | 6c2d0e20906248ab8f8365702b35fd67db29c44f (patch) | |
tree | 17bdd816e894b7872b90e4a81262e3adb65de1af /scripts | |
parent | 459bc0797f67cb2a8fd4598bb7143b34036608d9 (diff) | |
download | binaryen-6c2d0e20906248ab8f8365702b35fd67db29c44f.tar.gz binaryen-6c2d0e20906248ab8f8365702b35fd67db29c44f.tar.bz2 binaryen-6c2d0e20906248ab8f8365702b35fd67db29c44f.zip |
[FP16] Implement unary operations. (#6867)
Specified at
https://github.com/WebAssembly/half-precision/blob/main/proposals/half-precision/Overview.md
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/gen-s-parser.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/scripts/gen-s-parser.py b/scripts/gen-s-parser.py index 39d621f48..49fa6afb6 100755 --- a/scripts/gen-s-parser.py +++ b/scripts/gen-s-parser.py @@ -452,6 +452,9 @@ instructions = [ ("i64x2.extmul_high_i32x4_s", "makeBinary(BinaryOp::ExtMulHighSVecI64x2)"), ("i64x2.extmul_low_i32x4_u", "makeBinary(BinaryOp::ExtMulLowUVecI64x2)"), ("i64x2.extmul_high_i32x4_u", "makeBinary(BinaryOp::ExtMulHighUVecI64x2)"), + ("f16x8.abs", "makeUnary(UnaryOp::AbsVecF16x8)"), + ("f16x8.neg", "makeUnary(UnaryOp::NegVecF16x8)"), + ("f16x8.sqrt", "makeUnary(UnaryOp::SqrtVecF16x8)"), ("f16x8.add", "makeBinary(BinaryOp::AddVecF16x8)"), ("f16x8.sub", "makeBinary(BinaryOp::SubVecF16x8)"), ("f16x8.mul", "makeBinary(BinaryOp::MulVecF16x8)"), @@ -460,6 +463,10 @@ instructions = [ ("f16x8.max", "makeBinary(BinaryOp::MaxVecF16x8)"), ("f16x8.pmin", "makeBinary(BinaryOp::PMinVecF16x8)"), ("f16x8.pmax", "makeBinary(BinaryOp::PMaxVecF16x8)"), + ("f16x8.ceil", "makeUnary(UnaryOp::CeilVecF16x8)"), + ("f16x8.floor", "makeUnary(UnaryOp::FloorVecF16x8)"), + ("f16x8.trunc", "makeUnary(UnaryOp::TruncVecF16x8)"), + ("f16x8.nearest", "makeUnary(UnaryOp::NearestVecF16x8)"), ("f32x4.abs", "makeUnary(UnaryOp::AbsVecF32x4)"), ("f32x4.neg", "makeUnary(UnaryOp::NegVecF32x4)"), ("f32x4.sqrt", "makeUnary(UnaryOp::SqrtVecF32x4)"), |