diff options
author | dcode <dcode@dcode.io> | 2023-02-07 23:24:53 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-07 14:24:53 -0800 |
commit | cfda51c6c87267a7f42a28165bc8cce43f41621e (patch) | |
tree | 64aefefca5b9e0facfbbb205a93198702e88e25f /src/js | |
parent | 90c726a606cf8f99307a41d8f889de4e1221c4f8 (diff) | |
download | binaryen-cfda51c6c87267a7f42a28165bc8cce43f41621e.tar.gz binaryen-cfda51c6c87267a7f42a28165bc8cce43f41621e.tar.bz2 binaryen-cfda51c6c87267a7f42a28165bc8cce43f41621e.zip |
[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.
Diffstat (limited to 'src/js')
-rw-r--r-- | src/js/binaryen.js-post.js | 20 |
1 files changed, 20 insertions, 0 deletions
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', |