WebAssembly SIMD-specific arithmetic instructions.
extadd_pairwise_i8x16_sAdds each adjacent pair of lanes of a signed v128 i8x16 value interpretation, outputting the results into an i16x8 value interpretation.
extadd_pairwise_i8x16_uAdds each adjacent pair of lanes of an unsigned v128 i8x16 value interpretation, outputting the results into an i16x8 value interpretation.
extadd_pairwise_i16x8_sAdds each adjacent pair of lanes of a signed v128 i16x8 value interpretation, outputting the results into an i32x4 value interpretation.
extadd_pairwise_i16x8_uAdds each adjacent pair of lanes of an unsigned v128 i16x8 value interpretation, outputting the results into an i32x4 value interpretation.
dot_i16x8_sPerforms a dot product calculation on two signed v128 i16x8 value interpretations. The corresponding lanes of the input values are multiplied together, then each adjacent pair of products are added together. The four results of these additions are output as an i32x4 value interpretation.
avgr_uPerforms a rounding average of two unsigned v128 value interpretations. Each lane of the output value is (a + b + 1) / 2, rounded up (ceiling division).
q15mulr_sat_sperforms a lane-wise saturating rounding multiplication in Q15 format on two signed v128 i16x8 value interpretations — clamping the output to the range allowed by the value type (a single i16x8 value interpretation).
max_sCompares two v128 signed integer value interpretations and returns a new interpretation with each lane set to the greater of that lane index's value on the two inputs.
max_uCompares two v128 unsigned integer value interpretations and returns a new interpretation with each lane set to the greater of that lane index's value on the two inputs.
min_sCompares two v128 signed integer value interpretations and returns a new interpretation with each lane set to the lower of that lane index's value on the two inputs.
min_uCompares two v128 unsigned integer value interpretations and returns a new interpretation with each lane set to the lower of that lane index's value on the two inputs.
pmaxCompares two v128 floating point value interpretations and returns a new interpretation with each output lane set to the larger of the corresponding input lanes.
pminCompares two v128 floating point value interpretations and returns a new interpretation with each output lane set to the smaller of the corresponding input lanes.
extmul_low_i8x16_sTakes lanes 0–7 of two signed v128 i8x16 value interpretations, multiplies the values in the corresponding lanes, and outputs the result of those operations into an i16x8 value interpretation.
extmul_high_i8x16_sTakes lanes 8–15 of two signed v128 i8x16 value interpretations, multiplies the values in the corresponding lanes, and outputs the result of those operations into an i16x8 value interpretation.
extmul_low_i8x16_uTakes lanes 0–7 of two unsigned v128 i8x16 value interpretations, multiplies the values in the corresponding lanes, and outputs the result of those operations into an i16x8 value interpretation.
extmul_high_i8x16_uTakes lanes 8–15 of two unsigned v128 i8x16 value interpretations, multiplies the values in the corresponding lanes, and outputs the result of those operations into an i16x8 value interpretation.
extmul_low_i16x8_sTakes lanes 0–3 of two signed v128 i16x8 value interpretations, multiplies the values in the corresponding lanes, and outputs the result of those operations into an i32x4 value interpretation.
extmul_high_i16x8_sTakes lanes 4–7 of two signed v128 i16x8 value interpretations, multiplies the values in the corresponding lanes, and outputs the result of those operations into an i32x4 value interpretation.
extmul_low_i16x8_uTakes lanes 0–3 of two unsigned v128 i16x8 value interpretations, multiplies the values in the corresponding lanes, and outputs the result of those operations into an i32x4 value interpretation.
extmul_high_i16x8_uTakes lanes 4–7 of two unsigned v128 i16x8 value interpretations, multiplies the values in the corresponding lanes, and outputs the result of those operations into an i32x4 value interpretation.
extmul_low_i32x4_sTakes lanes 0–1 of two signed v128 i32x4 value interpretations, multiplies the values in the corresponding lanes, and outputs the result of those operations into an i64x2 value interpretation.
extmul_high_i32x4_sTakes lanes 2–3 of two signed v128 i32x4 value interpretations, multiplies the values in the corresponding lanes, and outputs the result of those operations into an i64x2 value interpretation.
extmul_low_i32x4_uTakes lanes 0–1 of two unsigned v128 i32x4 value interpretations, multiplies the values in the corresponding lanes, and outputs the result of those operations into an i64x2 value interpretation.
extmul_high_i32x4_uTakes lanes 2–3 of two unsigned v128 i32x4 value interpretations, multiplies the values in the corresponding lanes, and outputs the result of those operations into an i64x2 value interpretation.
add_sat_sPerforms a saturating addition of two signed v128 value interpretations — clamping the output to the range allowed by the value type. Each lane of the output value is the result of adding the corresponding lanes of the input value.
add_sat_uPerforms a saturating addition of two unsigned v128 value interpretations — clamping the output to the range allowed by the value type. Each lane of the output value is the result of adding the corresponding lanes of the input value.
sub_sat_sPerforms a saturating subtraction of two signed v128 value interpretations — clamping the output to the range allowed by the value type. Each lane of the output value is the result of subtracting the corresponding lane of the second input from the corresponding lane of the first input.
sub_sat_uperforms a saturating subtraction of two unsigned v128 value interpretations — clamping the output to the range allowed by the value type. Each lane of the output value is the result of subtracting the corresponding lane of the second input from the corresponding lane of the first input.