diff --git a/wasm-ast/src/node.rs b/wasm-ast/src/node.rs index 9941f8f..98a85e9 100644 --- a/wasm-ast/src/node.rs +++ b/wasm-ast/src/node.rs @@ -155,6 +155,14 @@ pub enum UnOpType { Truncate_I64_F64, Truncate_U64_F32, Truncate_U64_F64, + Saturate_I32_F32, + Saturate_I32_F64, + Saturate_U32_F32, + Saturate_U32_F64, + Saturate_I64_F32, + Saturate_I64_F64, + Saturate_U64_F32, + Saturate_U64_F64, Extend_I32_N8, Extend_I32_N16, Extend_I64_N8, @@ -211,6 +219,14 @@ impl UnOpType { Self::Truncate_I64_F64 => ("truncate", "i64_f64"), Self::Truncate_U64_F32 => ("truncate", "u64_f32"), Self::Truncate_U64_F64 => ("truncate", "u64_f64"), + Self::Saturate_I32_F32 => ("saturate", "i32_f32"), + Self::Saturate_I32_F64 => ("saturate", "i32_f64"), + Self::Saturate_U32_F32 => ("saturate", "u32_f32"), + Self::Saturate_U32_F64 => ("saturate", "u32_f64"), + Self::Saturate_I64_F32 => ("saturate", "i64_f32"), + Self::Saturate_I64_F64 => ("saturate", "i64_f64"), + Self::Saturate_U64_F32 => ("saturate", "u64_f32"), + Self::Saturate_U64_F64 => ("saturate", "u64_f64"), Self::Extend_I32_N8 => ("extend", "i32_n8"), Self::Extend_I32_N16 => ("extend", "i32_n16"), Self::Extend_I64_N8 => ("extend", "i64_n8"), @@ -270,6 +286,14 @@ impl TryFrom<&Operator<'_>> for UnOpType { Operator::I64TruncF64S => Self::Truncate_I64_F64, Operator::I64TruncF32U => Self::Truncate_U64_F32, Operator::I64TruncF64U => Self::Truncate_U64_F64, + Operator::I32TruncSatF32S => Self::Saturate_I32_F32, + Operator::I32TruncSatF64S => Self::Saturate_I32_F64, + Operator::I32TruncSatF32U => Self::Saturate_U32_F32, + Operator::I32TruncSatF64U => Self::Saturate_U32_F64, + Operator::I64TruncSatF32S => Self::Saturate_I64_F32, + Operator::I64TruncSatF64S => Self::Saturate_I64_F64, + Operator::I64TruncSatF32U => Self::Saturate_U64_F32, + Operator::I64TruncSatF64U => Self::Saturate_U64_F64, Operator::I32Extend8S => Self::Extend_I32_N8, Operator::I32Extend16S => Self::Extend_I32_N16, Operator::I64Extend8S => Self::Extend_I64_N8,