summaryrefslogtreecommitdiff
path: root/crates/parser
diff options
context:
space:
mode:
authorHenry <mail@henrygressmann.de>2023-12-25 17:31:00 +0100
committerHenry <mail@henrygressmann.de>2023-12-25 17:31:00 +0100
commit509667d202e1532e486204c088323085baa98025 (patch)
tree2876eefb95cde679a04903aada352f922ca05807 /crates/parser
parent88da7cb18256447a8216804319d15189f8c4ec79 (diff)
feat: pass all i64 tests, add missing conversion opcodes
Signed-off-by: Henry <mail@henrygressmann.de>
Diffstat (limited to 'crates/parser')
-rw-r--r--crates/parser/src/conversion.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/crates/parser/src/conversion.rs b/crates/parser/src/conversion.rs
index 4053740..b962ff4 100644
--- a/crates/parser/src/conversion.rs
+++ b/crates/parser/src/conversion.rs
@@ -546,6 +546,9 @@ pub fn process_operators<'a>(
I32TruncF32U => Instruction::I32TruncF32U,
I32TruncF64S => Instruction::I32TruncF64S,
I32TruncF64U => Instruction::I32TruncF64U,
+ I64Extend8S => Instruction::I64Extend8S,
+ I64Extend16S => Instruction::I64Extend16S,
+ I64Extend32S => Instruction::I64Extend32S,
I64ExtendI32S => Instruction::I64ExtendI32S,
I64ExtendI32U => Instruction::I64ExtendI32U,
I32Extend8S => Instruction::I32Extend8S,
@@ -568,6 +571,14 @@ pub fn process_operators<'a>(
I64ReinterpretF64 => Instruction::I64ReinterpretF64,
F32ReinterpretI32 => Instruction::F32ReinterpretI32,
F64ReinterpretI64 => Instruction::F64ReinterpretI64,
+ I32TruncSatF32S => Instruction::I32TruncSatF32S,
+ I32TruncSatF32U => Instruction::I32TruncSatF32U,
+ I32TruncSatF64S => Instruction::I32TruncSatF64S,
+ I32TruncSatF64U => Instruction::I32TruncSatF64U,
+ I64TruncSatF32S => Instruction::I64TruncSatF32S,
+ I64TruncSatF32U => Instruction::I64TruncSatF32U,
+ I64TruncSatF64S => Instruction::I64TruncSatF64S,
+ I64TruncSatF64U => Instruction::I64TruncSatF64U,
op => {
return Err(crate::ParseError::UnsupportedOperator(format!(
"Unsupported instruction: {:?}",