Coverage Report

Created: 2026-10-31 07:49

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/wasmtime/pulley/src/disas.rs
Line
Count
Source
1
//! Disassembly support for pulley bytecode.
2
3
use crate::decode::*;
4
use crate::imms::*;
5
use crate::regs::*;
6
use alloc::string::String;
7
use core::fmt::Write;
8
9
/// A Pulley bytecode disassembler.
10
///
11
/// This is implemented as an `OpVisitor`, where you pass a `Disassembler` to a
12
/// `Decoder` in order to disassemble instructions from a bytecode stream.
13
///
14
/// Alternatively, you can use the `Disassembler::disassemble_all` method to
15
/// disassemble a complete bytecode stream.
16
pub struct Disassembler<'a> {
17
    raw_bytecode: &'a [u8],
18
    bytecode: SafeBytecodeStream<'a>,
19
    disas: String,
20
    start_offset: usize,
21
    start: usize,
22
    temp: String,
23
    offsets: bool,
24
    hexdump: bool,
25
    br_tables: bool,
26
}
27
28
impl<'a> Disassembler<'a> {
29
    /// Disassemble every instruction in the given bytecode stream.
30
0
    pub fn disassemble_all(bytecode: &'a [u8]) -> Result<String> {
31
0
        let mut disas = Self::new(bytecode);
32
0
        Decoder::decode_all(&mut disas)?;
33
0
        Ok(disas.disas)
34
0
    }
35
36
    /// Create a new `Disassembler` that can be used to incrementally
37
    /// disassemble instructions from the given bytecode stream.
38
0
    pub fn new(bytecode: &'a [u8]) -> Self {
39
0
        Self {
40
0
            raw_bytecode: bytecode,
41
0
            bytecode: SafeBytecodeStream::new(bytecode),
42
0
            disas: String::new(),
43
0
            start: 0,
44
0
            start_offset: 0,
45
0
            temp: String::new(),
46
0
            offsets: true,
47
0
            hexdump: true,
48
0
            br_tables: true,
49
0
        }
50
0
    }
51
52
    /// Whether to prefix each instruction's disassembly with its offset.
53
    ///
54
    /// True by default.
55
0
    pub fn offsets(&mut self, offsets: bool) -> &mut Self {
56
0
        self.offsets = offsets;
57
0
        self
58
0
    }
59
60
    /// Whether to include a hexdump of the bytecode in the disassembly.
61
    ///
62
    /// True by default.
63
0
    pub fn hexdump(&mut self, hexdump: bool) -> &mut Self {
64
0
        self.hexdump = hexdump;
65
0
        self
66
0
    }
67
68
    /// Whether to include branch tables in the disassembly.
69
    ///
70
    /// True by default.
71
0
    pub fn br_tables(&mut self, enable: bool) -> &mut Self {
72
0
        self.br_tables = enable;
73
0
        self
74
0
    }
75
76
    /// Configures the offset that this function starts from, if it doesn't
77
    /// start from 0.
78
    ///
79
    /// This can possibly be useful when a single function at a time is being
80
    /// disassembled.
81
0
    pub fn start_offset(&mut self, offset: usize) -> &mut Self {
82
0
        self.start_offset = offset;
83
0
        self
84
0
    }
85
86
    /// Get the disassembly thus far.
87
0
    pub fn disas(&self) -> &str {
88
0
        &self.disas
89
0
    }
90
91
0
    fn disas_op(&mut self, mnemonic: &str, operands: &[&dyn Disas]) {
92
0
        write!(&mut self.temp, "{mnemonic}").unwrap();
93
0
        for (i, val) in operands.iter().enumerate() {
94
0
            if i > 0 {
95
0
                write!(&mut self.temp, ",").unwrap();
96
0
            }
97
0
            write!(&mut self.temp, " ").unwrap();
98
0
            val.disas(self.start + self.start_offset, &mut self.temp);
99
        }
100
0
    }
101
102
0
    fn disas_br_table32(&mut self, reg: XReg, amt: u32) {
103
0
        self.disas_op("br_table32", &[&reg, &amt]);
104
0
        for _ in 0..amt {
105
0
            self.after_visit();
106
0
            self.start = self.bytecode.position();
107
0
            if let Ok(offset) = PcRelOffset::decode(self.bytecode()) {
108
0
                if self.br_tables {
109
0
                    offset.disas(self.start + self.start_offset, &mut self.temp);
110
0
                }
111
0
            }
112
        }
113
0
    }
114
}
115
116
/// Anything inside an instruction that can be disassembled: registers,
117
/// immediates, etc...
118
trait Disas {
119
    fn disas(&self, position: usize, disas: &mut String);
120
}
121
122
impl Disas for XReg {
123
0
    fn disas(&self, _position: usize, disas: &mut String) {
124
0
        write!(disas, "{self}").unwrap();
125
0
    }
126
}
127
128
impl Disas for FReg {
129
0
    fn disas(&self, _position: usize, disas: &mut String) {
130
0
        write!(disas, "{self}").unwrap();
131
0
    }
132
}
133
134
impl Disas for VReg {
135
0
    fn disas(&self, _position: usize, disas: &mut String) {
136
0
        write!(disas, "{self}").unwrap();
137
0
    }
138
}
139
140
impl Disas for i8 {
141
0
    fn disas(&self, _position: usize, disas: &mut String) {
142
0
        write!(disas, "{self}").unwrap();
143
0
    }
144
}
145
146
impl Disas for i16 {
147
0
    fn disas(&self, _position: usize, disas: &mut String) {
148
0
        write!(disas, "{self}").unwrap();
149
0
    }
150
}
151
152
impl Disas for i32 {
153
0
    fn disas(&self, _position: usize, disas: &mut String) {
154
0
        write!(disas, "{self}").unwrap();
155
0
    }
156
}
157
158
impl Disas for i64 {
159
0
    fn disas(&self, _position: usize, disas: &mut String) {
160
0
        write!(disas, "{self}").unwrap();
161
0
    }
162
}
163
164
impl Disas for i128 {
165
0
    fn disas(&self, _position: usize, disas: &mut String) {
166
0
        write!(disas, "{self}").unwrap();
167
0
    }
168
}
169
170
impl Disas for u8 {
171
0
    fn disas(&self, _position: usize, disas: &mut String) {
172
0
        write!(disas, "{self}").unwrap();
173
0
    }
174
}
175
176
impl Disas for u16 {
177
0
    fn disas(&self, _position: usize, disas: &mut String) {
178
0
        write!(disas, "{self}").unwrap();
179
0
    }
180
}
181
182
impl Disas for u32 {
183
0
    fn disas(&self, _position: usize, disas: &mut String) {
184
0
        write!(disas, "{self}").unwrap();
185
0
    }
186
}
187
188
impl Disas for u64 {
189
0
    fn disas(&self, _position: usize, disas: &mut String) {
190
0
        write!(disas, "{self}").unwrap();
191
0
    }
192
}
193
194
impl Disas for u128 {
195
0
    fn disas(&self, _position: usize, disas: &mut String) {
196
0
        write!(disas, "{self}").unwrap();
197
0
    }
198
}
199
200
impl Disas for PcRelOffset {
201
0
    fn disas(&self, position: usize, disas: &mut String) {
202
0
        let offset = i64::from(i32::from(*self));
203
0
        let target = (position as u64).wrapping_add(offset as u64);
204
0
        let (prefix, offset) = if offset < 0 {
205
0
            ("-", -offset)
206
        } else {
207
0
            ("", offset)
208
        };
209
0
        write!(disas, "{prefix}{offset:#x}    // target = {target:#x}").unwrap()
210
0
    }
211
}
212
213
impl Disas for U6 {
214
0
    fn disas(&self, _position: usize, disas: &mut String) {
215
0
        write!(disas, "{}", u8::from(*self)).unwrap();
216
0
    }
217
}
218
219
0
fn disas_list<T: Disas>(position: usize, disas: &mut String, iter: impl IntoIterator<Item = T>) {
220
0
    let mut iter = iter.into_iter();
221
0
    let Some(first) = iter.next() else { return };
222
0
    first.disas(position, disas);
223
224
0
    for item in iter {
225
0
        write!(disas, ", ").unwrap();
226
0
        item.disas(position, disas);
227
0
    }
228
0
}
229
230
impl<D, S1, S2> Disas for BinaryOperands<D, S1, S2>
231
where
232
    D: Reg + Disas,
233
    S1: Reg + Disas,
234
    S2: Reg + Disas,
235
{
236
0
    fn disas(&self, position: usize, disas: &mut String) {
237
0
        self.dst.disas(position, disas);
238
0
        write!(disas, ", ").unwrap();
239
0
        self.src1.disas(position, disas);
240
0
        write!(disas, ", ").unwrap();
241
0
        self.src2.disas(position, disas);
242
0
    }
Unexecuted instantiation: <pulley_interpreter::regs::BinaryOperands<pulley_interpreter::regs::FReg> as pulley_interpreter::disas::Disas>::disas
Unexecuted instantiation: <pulley_interpreter::regs::BinaryOperands<pulley_interpreter::regs::VReg, pulley_interpreter::regs::VReg, pulley_interpreter::regs::FReg> as pulley_interpreter::disas::Disas>::disas
Unexecuted instantiation: <pulley_interpreter::regs::BinaryOperands<pulley_interpreter::regs::VReg, pulley_interpreter::regs::VReg, pulley_interpreter::regs::XReg> as pulley_interpreter::disas::Disas>::disas
Unexecuted instantiation: <pulley_interpreter::regs::BinaryOperands<pulley_interpreter::regs::VReg> as pulley_interpreter::disas::Disas>::disas
Unexecuted instantiation: <pulley_interpreter::regs::BinaryOperands<pulley_interpreter::regs::XReg> as pulley_interpreter::disas::Disas>::disas
243
}
244
245
impl<D, S1> Disas for BinaryOperands<D, S1, U6>
246
where
247
    D: Reg + Disas,
248
    S1: Reg + Disas,
249
{
250
0
    fn disas(&self, position: usize, disas: &mut String) {
251
0
        self.dst.disas(position, disas);
252
0
        write!(disas, ", ").unwrap();
253
0
        self.src1.disas(position, disas);
254
0
        write!(disas, ", ").unwrap();
255
0
        self.src2.disas(position, disas);
256
0
    }
257
}
258
259
impl<R: Reg + Disas> Disas for UpperRegSet<R> {
260
0
    fn disas(&self, position: usize, disas: &mut String) {
261
0
        disas_list(position, disas, *self)
262
0
    }
263
}
264
265
impl Disas for AddrO32 {
266
0
    fn disas(&self, position: usize, disas: &mut String) {
267
0
        self.addr.disas(position, disas);
268
0
        write!(disas, ", ").unwrap();
269
0
        self.offset.disas(position, disas);
270
0
    }
271
}
272
273
impl Disas for AddrZ {
274
0
    fn disas(&self, position: usize, disas: &mut String) {
275
0
        self.addr.disas(position, disas);
276
0
        write!(disas, ", ").unwrap();
277
0
        self.offset.disas(position, disas);
278
0
    }
279
}
280
281
impl Disas for AddrG32 {
282
0
    fn disas(&self, position: usize, disas: &mut String) {
283
0
        self.host_heap_base.disas(position, disas);
284
0
        write!(disas, ", ").unwrap();
285
0
        self.host_heap_bound.disas(position, disas);
286
0
        write!(disas, ", ").unwrap();
287
0
        self.wasm_addr.disas(position, disas);
288
0
        write!(disas, ", ").unwrap();
289
0
        self.offset.disas(position, disas);
290
0
    }
291
}
292
293
impl Disas for AddrG32Bne {
294
0
    fn disas(&self, position: usize, disas: &mut String) {
295
0
        self.host_heap_base.disas(position, disas);
296
0
        write!(disas, ", *[").unwrap();
297
0
        self.host_heap_bound_addr.disas(position, disas);
298
0
        write!(disas, " + ").unwrap();
299
0
        self.host_heap_bound_offset.disas(position, disas);
300
0
        write!(disas, "], ").unwrap();
301
0
        self.wasm_addr.disas(position, disas);
302
0
        write!(disas, ", ").unwrap();
303
0
        self.offset.disas(position, disas);
304
0
    }
305
}
306
307
macro_rules! impl_disas {
308
    (
309
        $(
310
            $( #[$attr:meta] )*
311
                $snake_name:ident = $name:ident $( {
312
                $(
313
                    $( #[$field_attr:meta] )*
314
                    $field:ident : $field_ty:ty
315
                ),*
316
            } )? ;
317
        )*
318
    ) => {
319
        $(
320
            impl_disas!(@one $snake_name = $name $( { $($field: $field_ty),* } )?);
321
        )*
322
    };
323
324
    // Disassembling `br_table` is a bit special as it has trailing byte after
325
    // the opcode of the branch table itself.
326
    (
327
        @one br_table32 = BrTable32 $( {
328
            $(
329
                $field:ident : $field_ty:ty
330
            ),*
331
        } )?
332
    ) => {
333
0
        fn br_table32(&mut self $( $( , $field : $field_ty )* )? ) {
334
0
            self.disas_br_table32($($($field),*)?)
335
0
        }
336
    };
337
338
    // All other opcodes other than `br_table` are handled in the same manner.
339
    (
340
        @one $snake_name:ident = $name:ident $( {
341
            $(
342
                $field:ident : $field_ty:ty
343
            ),*
344
        } )?
345
    ) => {
346
0
        fn $snake_name(&mut self $( $( , $field : $field_ty )* )? ) {
347
0
            self.disas_op(stringify!($snake_name), &[$($(&$field),*)?])
348
0
        }
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::push_frame
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xadd32_u32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xadd64_u32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xband32_s8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xband64_s8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xbor32_s32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xbor64_s32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xbxor32_s8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xbxor64_s8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xmul32_s32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xmul64_s32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xsub32_u32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xsub64_u32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_not32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xeq32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xeq64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xband32_s32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xband64_s32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xbxor32_s32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xbxor64_s32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xload32le_z
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xload64le_z
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xshr32_s_u6
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xshr32_u_u6
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xshr64_s_u6
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xshr64_u_u6
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xstore8_g32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xstore8_o32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xneq32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xneq64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xslt32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xslt64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xult32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xult64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::stack_free32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xload8_s32_z
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xload8_u32_z
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xstore16le_z
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xstore32le_z
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xstore64le_z
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::call_indirect
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::stack_alloc32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xload32le_g32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xload32le_o32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xload64le_g32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xload64le_o32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xeq32_i8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xeq64_i8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xslteq32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xslteq64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xulteq32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xulteq64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xload8_s32_g32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xload8_s32_o32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xload8_u32_g32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xload8_u32_o32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xstore16le_g32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xstore16le_o32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xstore32le_g32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xstore32le_o32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xstore64le_g32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xstore64le_o32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xstore8_g32bne
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xeq32_i32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xeq64_i32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xneq32_i8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xneq64_i8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xsgt32_i8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xsgt64_i8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xslt32_i8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xslt64_i8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xugt32_u8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xugt64_u8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xult32_u8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xult64_u8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::push_frame_save
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xload16le_s32_z
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xload16le_u32_z
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xneq32_i32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xneq64_i32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xsgt32_i32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xsgt64_i32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xslt32_i32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xslt64_i32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xugt32_u32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xugt64_u32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xult32_u32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xult64_u32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xload32le_g32bne
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xload64le_g32bne
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xsgteq32_i8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xsgteq64_i8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xslteq32_i8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xslteq64_i8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xugteq32_u8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xugteq64_u8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xulteq32_u8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xulteq64_u8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::pop_frame_restore
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xload16le_s32_g32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xload16le_s32_o32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xload16le_u32_g32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xload16le_u32_o32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xload8_s32_g32bne
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xload8_u32_g32bne
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xstore16le_g32bne
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xstore32le_g32bne
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xstore64le_g32bne
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xsgteq32_i32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xsgteq64_i32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xslteq32_i32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xslteq64_i32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xugteq32_u32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xugteq64_u32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xulteq32_u32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if_xulteq64_u32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xload16le_s32_g32bne
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xload16le_u32_g32bne
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::nop
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::ret
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::call
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::jump
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xmov
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xone
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::call1
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::call2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::call3
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::call4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::sext8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xeq32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xeq64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xjump
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xzero
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::zext8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::sext16
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::sext32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xabs32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xabs64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xadd32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xadd64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xbor32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xbor64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xclz32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xclz64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xctz32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xctz64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xmul32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xmul64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xneg32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xneg64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xneq32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xneq64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xshl32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xshl64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xslt32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xslt64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xsub32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xsub64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xult32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xult64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::zext16
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::zext32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::br_if32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xband32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xband64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xbnot32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xbnot64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xbxor32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xbxor64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xconst8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xmadd32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xmadd64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xrotl32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xrotl64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xrotr32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xrotr64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xconst16
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xconst32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xconst64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xdiv32_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xdiv32_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xdiv64_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xdiv64_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xmax32_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xmax32_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xmax64_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xmax64_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xmin32_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xmin32_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xmin64_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xmin64_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xrem32_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xrem32_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xrem64_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xrem64_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xshr32_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xshr32_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xshr64_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xshr64_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xslteq32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xslteq64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xulteq32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xulteq64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::pop_frame
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xadd32_u8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xadd64_u8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xbor32_s8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xbor64_s8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xmul32_s8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xmul64_s8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xpopcnt32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xpopcnt64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xselect32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xselect64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xshl32_u6
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xshl64_u6
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xstore8_z
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xsub32_u8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::OpVisitor>::xsub64_u8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fmaximum32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fmaximum64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fminimum32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fminimum64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fnearest32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fnearest64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vfloor32x4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vfloor64x2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vinsertf32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vinsertf64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vinsertx16
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vinsertx32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vinsertx64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vlteqf32x4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vlteqf64x2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vmax16x8_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vmax16x8_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vmax32x4_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vmax32x4_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vmax8x16_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vmax8x16_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vmin16x8_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vmin16x8_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vmin32x4_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vmin32x4_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vmin8x16_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vmin8x16_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vslteq16x8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vslteq32x4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vslteq64x2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vslteq8x16
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vtrunc32x4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vtrunc64x2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vulteq16x8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vulteq32x4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vulteq64x2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vulteq8x16
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::xmulhi64_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::xmulhi64_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fcopysign32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fcopysign64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fload32be_z
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fload32le_z
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fload64be_z
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fload64le_z
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vpopcnt8x16
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vshri16x8_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vshri16x8_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vshri32x4_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vshri32x4_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vshri64x2_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vshri64x2_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vshri8x16_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vshri8x16_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::xload32be_z
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::xload64be_z
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::f32_from_f64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::f64_from_f32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fstore32be_z
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fstore32le_z
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fstore64be_z
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fstore64le_z
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::valltrue16x8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::valltrue32x4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::valltrue64x2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::valltrue8x16
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vanytrue16x8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vanytrue32x4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vanytrue64x2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vanytrue8x16
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vbitmask16x8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vbitmask32x4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vbitmask64x2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vbitmask8x16
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vfpromotelow
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vload128be_z
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vload128le_z
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vload8x8_s_z
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vload8x8_u_z
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vnearest32x4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vnearest64x2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vqmulrsi16x8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::xstore16be_z
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::xstore32be_z
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::xstore64be_z
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::xwidemul64_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::xwidemul64_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fextractv32x4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fextractv64x2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fload32be_o32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fload32le_g32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fload32le_o32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fload64be_o32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fload64le_g32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fload64le_o32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vaddi16x8_sat
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vaddi8x16_sat
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vaddu16x8_sat
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vaddu8x16_sat
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vavground16x8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vavground8x16
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vbitselect128
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vmaximumf32x4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vmaximumf64x2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vminimumf32x4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vminimumf64x2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vnarrow16x8_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vnarrow16x8_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vnarrow32x4_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vnarrow32x4_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vnarrow64x2_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vnarrow64x2_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vstore128be_z
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vstore128le_z
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vsubi16x8_sat
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vsubi8x16_sat
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vsubu16x8_sat
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vsubu8x16_sat
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vswizzlei8x16
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::xextractv16x8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::xextractv32x4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::xextractv64x2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::xextractv8x16
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::xload32be_o32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::xload64be_o32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::f32_from_x32_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::f32_from_x32_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::f32_from_x64_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::f32_from_x64_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::f64_from_x32_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::f64_from_x32_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::f64_from_x64_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::f64_from_x64_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fstore32be_o32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fstore32le_g32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fstore32le_o32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fstore64be_o32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fstore64le_g32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fstore64le_o32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vload128le_g32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vload128le_o32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vunarrow64x2_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::x32_from_f32_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::x32_from_f32_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::x32_from_f64_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::x32_from_f64_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::x64_from_f32_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::x64_from_f32_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::x64_from_f64_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::x64_from_f64_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::xstore16be_o32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::xstore32be_o32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::xstore64be_o32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vload16x4le_s_z
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vload16x4le_u_z
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vload32x2le_s_z
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vload32x2le_u_z
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vstore128le_g32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vstore128le_o32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vwidenlow16x8_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vwidenlow16x8_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vwidenlow32x4_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vwidenlow32x4_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vwidenlow8x16_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vwidenlow8x16_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::xload16be_s32_z
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::xload16be_u32_z
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vwidenhigh16x8_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vwidenhigh16x8_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vwidenhigh32x4_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vwidenhigh32x4_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vwidenhigh8x16_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vwidenhigh8x16_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::xload16be_s32_o32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::xload16be_u32_o32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::call_indirect_host
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::x32_from_f32_s_sat
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::x32_from_f32_u_sat
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::x32_from_f64_s_sat
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::x32_from_f64_u_sat
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::x64_from_f32_s_sat
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::x64_from_f32_u_sat
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::x64_from_f64_s_sat
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::x64_from_f64_u_sat
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vaddpairwisei16x8_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vaddpairwisei32x4_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vf32x4_from_i32x4_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vf32x4_from_i32x4_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vf64x2_from_i64x2_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vf64x2_from_i64x2_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vi32x4_from_f32x4_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vi32x4_from_f32x4_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vi64x2_from_f64x2_s
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vi64x2_from_f64x2_u
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::xadd32_uoverflow_trap
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::xadd64_uoverflow_trap
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::bitcast_float_from_int_32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::bitcast_float_from_int_64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::bitcast_int_from_float_32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::bitcast_int_from_float_64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fmov
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::trap
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vmov
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::feq32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::feq64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::flt32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::flt64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fabs32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fabs64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fadd32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fadd64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fdiv32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fdiv64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fmul32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fmul64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fneg32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fneg64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fneq32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fneq64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fsub32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fsub64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::xpcadd
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::bswap32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::bswap64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fceil32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fceil64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::flteq32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::flteq64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fsqrt32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fsqrt64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vbor128
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::veq16x8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::veq32x4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::veq64x2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::veq8x16
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vselect
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::xadd128
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::xmov_fp
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::xmov_lr
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::xsub128
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fconst32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fconst64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::ffloor32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::ffloor64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::ftrunc32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::ftrunc64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vabs16x8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vabs32x4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vabs64x2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vabs8x16
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vband128
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vbnot128
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vbxor128
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::veqf32x4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::veqf64x2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vfdemote
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vfma32x4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vfma64x2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vltf32x4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vltf64x2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vneg16x8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vneg32x4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vneg64x2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vneg8x16
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vneq16x8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vneq32x4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vneq64x2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vneq8x16
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vshuffle
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vslt16x8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vslt32x4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vslt64x2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vslt8x16
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vsplatx8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vult16x8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vult32x4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vult64x2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vult8x16
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::xbmask32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::xbmask64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fselect32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::fselect64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vabsf32x4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vabsf64x2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vaddf32x4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vaddf64x2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vaddi16x8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vaddi32x4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vaddi64x2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vaddi8x16
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vceil32x4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vceil64x2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vconst128
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vdivf32x4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vdivf64x2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vinsertx8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vmulf32x4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vmulf64x2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vmuli16x8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vmuli32x4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vmuli64x2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vmuli8x16
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vnegf32x4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vnegf64x2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vneqf32x4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vneqf64x2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vshli16x8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vshli32x4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vshli64x2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vshli8x16
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vsplatf32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vsplatf64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vsplatx16
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vsplatx32
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vsplatx64
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vsqrt32x4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vsqrt64x2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vsubf32x4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vsubf64x2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vsubi16x8
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vsubi32x4
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vsubi64x2
Unexecuted instantiation: <pulley_interpreter::disas::Disassembler as pulley_interpreter::decode::ExtendedOpVisitor>::vsubi8x16
349
    };
350
}
351
352
impl<'a> OpVisitor for Disassembler<'a> {
353
    type BytecodeStream = SafeBytecodeStream<'a>;
354
355
0
    fn bytecode(&mut self) -> &mut Self::BytecodeStream {
356
0
        &mut self.bytecode
357
0
    }
358
359
    type Return = ();
360
361
0
    fn before_visit(&mut self) {
362
0
        self.start = self.bytecode.position();
363
0
    }
364
365
0
    fn after_visit(&mut self) {
366
0
        if self.offsets {
367
0
            write!(&mut self.disas, "{:8x}: ", self.start + self.start_offset).unwrap();
368
0
        }
369
0
        if self.hexdump {
370
0
            let size = self.bytecode.position() - self.start;
371
0
            let mut need_space = false;
372
0
            for byte in &self.raw_bytecode[self.start..][..size] {
373
0
                let space = if need_space { " " } else { "" };
374
0
                write!(&mut self.disas, "{space}{byte:02x}").unwrap();
375
0
                need_space = true;
376
            }
377
0
            for _ in 0..12_usize.saturating_sub(size) {
378
0
                write!(&mut self.disas, "   ").unwrap();
379
0
            }
380
0
        }
381
0
        self.disas.push_str(&self.temp);
382
0
        self.temp.clear();
383
384
0
        self.disas.push('\n');
385
0
    }
386
387
    for_each_op!(impl_disas);
388
}
389
390
impl ExtendedOpVisitor for Disassembler<'_> {
391
    for_each_extended_op!(impl_disas);
392
}