From cfda51c6c87267a7f42a28165bc8cce43f41621e Mon Sep 17 00:00:00 2001 From: dcode Date: Tue, 7 Feb 2023 23:24:53 +0100 Subject: [C API] Add relaxed SIMD operations (#5482) Exposes the constants **Unary** * BinaryenRelaxedTruncSVecF32x4ToVecI32x4 * BinaryenRelaxedTruncSVecF32x4ToVecI32x4 * BinaryenRelaxedTruncZeroSVecF64x2ToVecI32x4 * BinaryenRelaxedTruncZeroUVecF64x2ToVecI32x4 **Binary** * BinaryenRelaxedSwizzleVecI8x16 * BinaryenRelaxedMinVecF32x4 * BinaryenRelaxedMaxVecF32x4 * BinaryenRelaxedMinVecF64x2 * BinaryenRelaxedMaxVecF64x2 * BinaryenRelaxedQ15MulrSVecI16x8 * BinaryenDotI8x16I7x16SToVecI16x8 **SIMDTernary** * BinaryenRelaxedFmaVecF32x4 * BinaryenRelaxedFmsVecF32x4 * BinaryenRelaxedFmaVecF64x2 * BinaryenRelaxedFmsVecF64x2 * BinaryenLaneselectI8x16 * BinaryenLaneselectI16x8 * BinaryenLaneselectI32x4 * BinaryenLaneselectI64x2 * BinaryenDotI8x16I7x16AddSToVecI32x4 so the respective instructions can be produced and inspected with the C API. --- src/js/binaryen.js-post.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/js') diff --git a/src/js/binaryen.js-post.js b/src/js/binaryen.js-post.js index 5bd5e5505..3fe73f179 100644 --- a/src/js/binaryen.js-post.js +++ b/src/js/binaryen.js-post.js @@ -391,6 +391,15 @@ function initializeConstants() { 'XorVec128', 'AndNotVec128', 'BitselectVec128', + 'RelaxedFmaVecF32x4', + 'RelaxedFmsVecF32x4', + 'RelaxedFmaVecF64x2', + 'RelaxedFmsVecF64x2', + 'LaneselectI8x16', + 'LaneselectI16x8', + 'LaneselectI32x4', + 'LaneselectI64x2', + 'DotI8x16I7x16AddSToVecI32x4', 'AnyTrueVec128', 'PopcntVecI8x16', 'AbsVecI8x16', @@ -548,7 +557,18 @@ function initializeConstants() { 'TruncSatZeroUVecF64x2ToVecI32x4', 'DemoteZeroVecF64x2ToVecF32x4', 'PromoteLowVecF32x4ToVecF64x2', + 'RelaxedTruncSVecF32x4ToVecI32x4', + 'RelaxedTruncUVecF32x4ToVecI32x4', + 'RelaxedTruncZeroSVecF64x2ToVecI32x4', + 'RelaxedTruncZeroUVecF64x2ToVecI32x4', 'SwizzleVecI8x16', + 'RelaxedSwizzleVecI8x16', + 'RelaxedMinVecF32x4', + 'RelaxedMaxVecF32x4', + 'RelaxedMinVecF64x2', + 'RelaxedMaxVecF64x2', + 'RelaxedQ15MulrSVecI16x8', + 'DotI8x16I7x16SToVecI16x8', 'RefAsNonNull', 'RefAsExternInternalize', 'RefAsExternExternalize', -- cgit v1.2.3