@@ -590,7 +590,18 @@ export const enum UnaryOp {
590590 /** f64x2.promote_low_f32x4 */
591591 PromoteLowF32x4ToF64x2 = 124 /* _BinaryenPromoteLowVecF32x4ToVecF64x2 */ ,
592592
593- _last = PromoteLowF32x4ToF64x2 ,
593+ // see: https://github.com/WebAssembly/relaxed-simd
594+
595+ /** i32x4.relaxed_trunc_f32x4_s */
596+ RelaxedTruncF32x4ToI32x4 = 125 /* TODO_BinaryenRelaxedTruncSVecF32x4ToVecI32x4 */ ,
597+ /** i32x4.relaxed_trunc_f32x4_u */
598+ RelaxedTruncF32x4ToU32x4 = 126 /* TODO_BinaryenRelaxedTruncUVecF32x4ToVecI32x4 */ ,
599+ /** i32x4.relaxed_trunc_f64x2_s_zero */
600+ RelaxedTruncF64x2ToI32x4Zero = 127 /* TODO_BinaryenRelaxedTruncZeroSVecF64x2ToVecI32x4 */ ,
601+ /** i32x4.relaxed_trunc_f64x2_u_zero */
602+ RelaxedTruncF64x2ToU32x4Zero = 128 /* TODO_BinaryenRelaxedTruncZeroUVecF64x2ToVecI32x4 */ ,
603+
604+ _last = RelaxedTruncF64x2ToU32x4Zero ,
594605
595606 // Target dependent
596607
@@ -1002,7 +1013,24 @@ export const enum BinaryOp {
10021013 /** i8x16.swizzle */
10031014 SwizzleI8x16 = 195 /* _BinaryenSwizzleVecI8x16 */ ,
10041015
1005- _last = SwizzleI8x16 ,
1016+ // see: https://github.com/WebAssembly/relaxed-simd
1017+
1018+ /** i8x16.relaxed_swizzle */
1019+ RelaxedSwizzleI8x16 = 196 /* TODO_BinaryenRelaxedSwizzleVecI8x16 */ ,
1020+ /** f32x4.relaxed_min */
1021+ RelaxedMinF32x4 = 197 /* TODO_BinaryenRelaxedMinVecF32x4 */ ,
1022+ /** f32x4.relaxed_max */
1023+ RelaxedMaxF32x4 = 198 /* TODO_BinaryenRelaxedMaxVecF32x4 */ ,
1024+ /** f64x2.relaxed_min */
1025+ RelaxedMinF64x2 = 199 /* TODO_BinaryenRelaxedMinVecF64x2 */ ,
1026+ /** f64x2.relaxed_max */
1027+ RelaxedMaxF64x2 = 200 /* TODO_BinaryenRelaxedMaxVecF64x2 */ ,
1028+ /** i16x8.relaxed_q15mulr_s */
1029+ RelaxedQ15MulrI16x8 = 201 /* TODO_BinaryenRelaxedQ15MulrSVecI16x8 */ ,
1030+ /** i16x8.relaxed_dot_i8x16_i7x16_s */
1031+ RelaxedDotI8x16I7x16ToI16x8 = 202 /* TODO_BinaryenDotI8x16I7x16SToVecI16x8 */ ,
1032+
1033+ _last = RelaxedDotI8x16I7x16ToI16x8 ,
10061034
10071035 // Target dependent
10081036
@@ -1189,7 +1217,28 @@ export const enum SIMDLoadStoreLaneOp {
11891217/** Binaryen SIMD ternary operation constants. */
11901218export const enum SIMDTernaryOp {
11911219 /** v128.bitselect */
1192- Bitselect = 0 /* _BinaryenBitselectVec128 */
1220+ Bitselect = 0 /* _BinaryenBitselectVec128 */ ,
1221+
1222+ // see: https://github.com/WebAssembly/relaxed-simd
1223+
1224+ /** f32x4.relaxed_madd */
1225+ RelaxedMaddF32x4 = 1 /* TODO_BinaryenRelaxedFmaVecF32x4 */ ,
1226+ /** f32x4.relaxed_nmadd */
1227+ RelaxedNmaddF32x4 = 2 /* TODO_BinaryenRelaxedFmsVecF32x4 */ ,
1228+ /** f64x2.relaxed_madd */
1229+ RelaxedMaddF64x2 = 3 /* TODO_BinaryenRelaxedFmaVecF64x2 */ ,
1230+ /** f64x2.relaxed_nmadd */
1231+ RelaxedNmaddF64x2 = 4 /* TODO_BinaryenRelaxedFmsVecF64x2 */ ,
1232+ /** i8x16.relaxed_laneselect */
1233+ RelaxedLaneselectI8x16 = 5 /* TODO_BinaryenLaneselectI8x16 */ ,
1234+ /** i16x8.relaxed_laneselect */
1235+ RelaxedLaneselectI16x8 = 6 /* TODO_BinaryenLaneselectI16x8 */ ,
1236+ /** i32x4.relaxed_laneselect */
1237+ RelaxedLaneselectI32x4 = 7 /* TODO_BinaryenLaneselectI32x4 */ ,
1238+ /** i64x2.relaxed_laneselect */
1239+ RelaxedLaneselectI64x2 = 8 /* TODO_BinaryenLaneselectI64x2 */ ,
1240+ /** i32x4.relaxed_dot_i8x16_i7x16_add_s */
1241+ RelaxedDotI8x16I7x16AddToI32x4 = 9 /* TODO_BinaryenDotI8x16I7x16AddSToVecI32x4 */ ,
11931242}
11941243
11951244/** Binaryen RefAs operation constants. */
0 commit comments