diff --git a/proposals/simd/BinarySIMD.md b/proposals/simd/BinarySIMD.md index 6699e7c61..3031eac20 100644 --- a/proposals/simd/BinarySIMD.md +++ b/proposals/simd/BinarySIMD.md @@ -197,6 +197,8 @@ For example, `ImmLaneIdx16` is a byte with values in the range 0-15 (inclusive). | `f32x4.div` | `0xe7`| - | | `f32x4.min` | `0xe8`| - | | `f32x4.max` | `0xe9`| - | +| `f32x4.pmin` | `0xea`| - | +| `f32x4.pmax` | `0xeb`| - | | `f64x2.abs` | `0xec`| - | | `f64x2.neg` | `0xed`| - | | `f64x2.sqrt` | `0xef`| - | @@ -206,6 +208,8 @@ For example, `ImmLaneIdx16` is a byte with values in the range 0-15 (inclusive). | `f64x2.div` | `0xf3`| - | | `f64x2.min` | `0xf4`| - | | `f64x2.max` | `0xf5`| - | +| `f64x2.pmin` | `0xf6`| - | +| `f64x2.pmax` | `0xf7`| - | | `i32x4.trunc_sat_f32x4_s` | `0xf8`| - | | `i32x4.trunc_sat_f32x4_u` | `0xf9`| - | | `f32x4.convert_i32x4_s` | `0xfa`| - | diff --git a/proposals/simd/SIMD.md b/proposals/simd/SIMD.md index 27cbb2eaa..84a1e338e 100644 --- a/proposals/simd/SIMD.md +++ b/proposals/simd/SIMD.md @@ -867,6 +867,18 @@ Lane-wise minimum value, propagating NaNs. Lane-wise maximum value, propagating NaNs. +### Pseudo-minimum +* `f32x4.pmin(a: v128, b: v128) -> v128` +* `f64x2.pmin(a: v128, b: v128) -> v128` + +Lane-wise minimum value, defined as `b < a ? b : a`. + +### Pseudo-maximum +* `f32x4.pmax(a: v128, b: v128) -> v128` +* `f64x2.pmax(a: v128, b: v128) -> v128` + +Lane-wise maximum value, defined as `a < b ? b : a`. + ## Floating-point arithmetic The floating-point arithmetic operations are all lane-wise versions of the