diff options
| author | Henry <mail@henrygressmann.de> | 2026-04-03 23:56:03 +0200 |
|---|---|---|
| committer | Henry <mail@henrygressmann.de> | 2026-04-03 23:56:03 +0200 |
| commit | ddc997ab59762958da139a333a2fa5f0ce37eace (patch) | |
| tree | 04785a45c53fa6edfb75a6cae4ad1cc2565e56f5 /crates/parser/src/visit.rs | |
| parent | 1f741ba37d8217de333488d0a66fa6cc7f8537a7 (diff) | |
feat: Wide Arithmetic
Signed-off-by: Henry <mail@henrygressmann.de>
Diffstat (limited to 'crates/parser/src/visit.rs')
| -rw-r--r-- | crates/parser/src/visit.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/crates/parser/src/visit.rs b/crates/parser/src/visit.rs index e3de009..d6bccdb 100644 --- a/crates/parser/src/visit.rs +++ b/crates/parser/src/visit.rs @@ -363,6 +363,7 @@ macro_rules! impl_visit_operator { (@@saturating_float_to_int $($rest:tt)* ) => {}; (@@bulk_memory $($rest:tt)* ) => {}; (@@simd $($rest:tt)* ) => {}; + (@@wide_arithmetic $($rest:tt)* ) => {}; (@@relaxed_simd $($rest:tt)* ) => {}; (@@tail_call $($rest:tt)* ) => {}; @@ -402,6 +403,10 @@ impl<'a, R: WasmModuleResources> wasmparser::VisitOperator<'a> for FunctionBuild visit_memory_init(MemoryInit, u32, u32), visit_memory_copy(MemoryCopy, u32, u32), visit_table_init(TableInit, u32, u32), visit_memory_fill(MemoryFill, u32), visit_data_drop(DataDrop, u32), visit_elem_drop(ElemDrop, u32) } + define_operands! { + visit_i64_add128(I64Add128), visit_i64_sub128(I64Sub128), visit_i64_mul_wide_s(I64MulWideS), visit_i64_mul_wide_u(I64MulWideU) + } + fn visit_global_set(&mut self, global_index: u32) -> Self::Output { match self.validator.get_operand_type(0) { Some(Some(t)) => self.instructions.push(match t { |
