Add saturation operations

This commit is contained in:
Rerumu 2022-07-08 01:49:12 -04:00
parent 85aeca9d9f
commit 50b5680bef

View File

@ -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,