Coverage Report

Created: 2026-07-05 07:39

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/wasmtime/target/debug/build/cranelift-codegen-ae4c7f8e8f9c755f/out/opcodes.rs
Line
Count
Source
1
/// An instruction format
2
///
3
/// Every opcode has a corresponding instruction format
4
/// which is represented by both the `InstructionFormat`
5
/// and the `InstructionData` enums.
6
#[derive(Copy, Clone, PartialEq, Eq, Debug)]
7
pub enum InstructionFormat {
8
    /// AtomicCas(imms=(flags: ir::MemFlags), vals=3, blocks=0, raw_blocks=0)
9
    AtomicCas, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
10
    /// AtomicRmw(imms=(flags: ir::MemFlags, op: ir::AtomicRmwOp), vals=2, blocks=0, raw_blocks=0)
11
    AtomicRmw, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
12
    /// Binary(imms=(), vals=2, blocks=0, raw_blocks=0)
13
    Binary, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
14
    /// BinaryImm8(imms=(imm: ir::immediates::Uimm8), vals=1, blocks=0, raw_blocks=0)
15
    BinaryImm8, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
16
    /// BranchTable(imms=(table: ir::JumpTable), vals=1, blocks=0, raw_blocks=0)
17
    BranchTable, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
18
    /// Brif(imms=(), vals=1, blocks=2, raw_blocks=0)
19
    Brif, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
20
    /// Call(imms=(func_ref: ir::FuncRef), vals=0, blocks=0, raw_blocks=0)
21
    Call, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
22
    /// CallIndirect(imms=(sig_ref: ir::SigRef), vals=1, blocks=0, raw_blocks=0)
23
    CallIndirect, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
24
    /// CondTrap(imms=(code: ir::TrapCode), vals=1, blocks=0, raw_blocks=0)
25
    CondTrap, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
26
    /// DynamicStackAddr(imms=(dynamic_stack_slot: ir::DynamicStackSlot), vals=0, blocks=0, raw_blocks=0)
27
    DynamicStackAddr, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
28
    /// ExceptionHandlerAddress(imms=(imm: ir::immediates::Imm64), vals=0, blocks=0, raw_blocks=1)
29
    ExceptionHandlerAddress, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
30
    /// FloatCompare(imms=(cond: ir::condcodes::FloatCC), vals=2, blocks=0, raw_blocks=0)
31
    FloatCompare, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
32
    /// FuncAddr(imms=(func_ref: ir::FuncRef), vals=0, blocks=0, raw_blocks=0)
33
    FuncAddr, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
34
    /// IntAddTrap(imms=(code: ir::TrapCode), vals=2, blocks=0, raw_blocks=0)
35
    IntAddTrap, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
36
    /// IntCompare(imms=(cond: ir::condcodes::IntCC), vals=2, blocks=0, raw_blocks=0)
37
    IntCompare, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
38
    /// Jump(imms=(), vals=0, blocks=1, raw_blocks=0)
39
    Jump, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
40
    /// Load(imms=(flags: ir::MemFlags, offset: ir::immediates::Offset32), vals=1, blocks=0, raw_blocks=0)
41
    Load, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
42
    /// LoadNoOffset(imms=(flags: ir::MemFlags), vals=1, blocks=0, raw_blocks=0)
43
    LoadNoOffset, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
44
    /// MultiAry(imms=(), vals=0, blocks=0, raw_blocks=0)
45
    MultiAry, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
46
    /// NullAry(imms=(), vals=0, blocks=0, raw_blocks=0)
47
    NullAry, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
48
    /// Shuffle(imms=(imm: ir::Immediate), vals=2, blocks=0, raw_blocks=0)
49
    Shuffle, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
50
    /// StackAddr(imms=(stack_slot: ir::StackSlot, offset: ir::immediates::Offset32), vals=0, blocks=0, raw_blocks=0)
51
    StackAddr, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
52
    /// Store(imms=(flags: ir::MemFlags, offset: ir::immediates::Offset32), vals=2, blocks=0, raw_blocks=0)
53
    Store, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
54
    /// StoreNoOffset(imms=(flags: ir::MemFlags), vals=2, blocks=0, raw_blocks=0)
55
    StoreNoOffset, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
56
    /// Ternary(imms=(), vals=3, blocks=0, raw_blocks=0)
57
    Ternary, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
58
    /// TernaryImm8(imms=(imm: ir::immediates::Uimm8), vals=2, blocks=0, raw_blocks=0)
59
    TernaryImm8, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
60
    /// Trap(imms=(code: ir::TrapCode), vals=0, blocks=0, raw_blocks=0)
61
    Trap, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
62
    /// TryCall(imms=(func_ref: ir::FuncRef, exception: ir::ExceptionTable), vals=0, blocks=0, raw_blocks=0)
63
    TryCall, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
64
    /// TryCallIndirect(imms=(exception: ir::ExceptionTable), vals=1, blocks=0, raw_blocks=0)
65
    TryCallIndirect, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
66
    /// Unary(imms=(), vals=1, blocks=0, raw_blocks=0)
67
    Unary, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
68
    /// UnaryConst(imms=(constant_handle: ir::Constant), vals=0, blocks=0, raw_blocks=0)
69
    UnaryConst, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
70
    /// UnaryGlobalValue(imms=(global_value: ir::GlobalValue), vals=0, blocks=0, raw_blocks=0)
71
    UnaryGlobalValue, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
72
    /// UnaryIeee16(imms=(imm: ir::immediates::Ieee16), vals=0, blocks=0, raw_blocks=0)
73
    UnaryIeee16, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
74
    /// UnaryIeee32(imms=(imm: ir::immediates::Ieee32), vals=0, blocks=0, raw_blocks=0)
75
    UnaryIeee32, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
76
    /// UnaryIeee64(imms=(imm: ir::immediates::Ieee64), vals=0, blocks=0, raw_blocks=0)
77
    UnaryIeee64, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
78
    /// UnaryImm(imms=(imm: ir::immediates::Imm64), vals=0, blocks=0, raw_blocks=0)
79
    UnaryImm, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:32
80
}
81
82
impl<'a> From<&'a InstructionData> for InstructionFormat {
83
54.4M
    fn from(inst: &'a InstructionData) -> Self {
84
54.4M
        match *inst {
85
            InstructionData::AtomicCas { .. } => {
86
9.94k
                Self::AtomicCas
87
            }
88
            InstructionData::AtomicRmw { .. } => {
89
50.6k
                Self::AtomicRmw
90
            }
91
            InstructionData::Binary { .. } => {
92
4.10M
                Self::Binary
93
            }
94
            InstructionData::BinaryImm8 { .. } => {
95
136k
                Self::BinaryImm8
96
            }
97
            InstructionData::BranchTable { .. } => {
98
1.07M
                Self::BranchTable
99
            }
100
            InstructionData::Brif { .. } => {
101
2.68M
                Self::Brif
102
            }
103
            InstructionData::Call { .. } => {
104
1.89M
                Self::Call
105
            }
106
            InstructionData::CallIndirect { .. } => {
107
168k
                Self::CallIndirect
108
            }
109
            InstructionData::CondTrap { .. } => {
110
0
                Self::CondTrap
111
            }
112
            InstructionData::DynamicStackAddr { .. } => {
113
0
                Self::DynamicStackAddr
114
            }
115
            InstructionData::ExceptionHandlerAddress { .. } => {
116
0
                Self::ExceptionHandlerAddress
117
            }
118
            InstructionData::FloatCompare { .. } => {
119
320k
                Self::FloatCompare
120
            }
121
            InstructionData::FuncAddr { .. } => {
122
101k
                Self::FuncAddr
123
            }
124
            InstructionData::IntAddTrap { .. } => {
125
0
                Self::IntAddTrap
126
            }
127
            InstructionData::IntCompare { .. } => {
128
2.38M
                Self::IntCompare
129
            }
130
            InstructionData::Jump { .. } => {
131
673k
                Self::Jump
132
            }
133
            InstructionData::Load { .. } => {
134
13.1M
                Self::Load
135
            }
136
            InstructionData::LoadNoOffset { .. } => {
137
416k
                Self::LoadNoOffset
138
            }
139
            InstructionData::MultiAry { .. } => {
140
246k
                Self::MultiAry
141
            }
142
            InstructionData::NullAry { .. } => {
143
6.53k
                Self::NullAry
144
            }
145
            InstructionData::Shuffle { .. } => {
146
347
                Self::Shuffle
147
            }
148
            InstructionData::StackAddr { .. } => {
149
14.8M
                Self::StackAddr
150
            }
151
            InstructionData::Store { .. } => {
152
3.38M
                Self::Store
153
            }
154
            InstructionData::StoreNoOffset { .. } => {
155
9.53k
                Self::StoreNoOffset
156
            }
157
            InstructionData::Ternary { .. } => {
158
811k
                Self::Ternary
159
            }
160
            InstructionData::TernaryImm8 { .. } => {
161
50.7k
                Self::TernaryImm8
162
            }
163
            InstructionData::Trap { .. } => {
164
0
                Self::Trap
165
            }
166
            InstructionData::TryCall { .. } => {
167
0
                Self::TryCall
168
            }
169
            InstructionData::TryCallIndirect { .. } => {
170
0
                Self::TryCallIndirect
171
            }
172
            InstructionData::Unary { .. } => {
173
2.19M
                Self::Unary
174
            }
175
            InstructionData::UnaryConst { .. } => {
176
219k
                Self::UnaryConst
177
            }
178
            InstructionData::UnaryGlobalValue { .. } => {
179
0
                Self::UnaryGlobalValue
180
            }
181
            InstructionData::UnaryIeee16 { .. } => {
182
0
                Self::UnaryIeee16
183
            }
184
            InstructionData::UnaryIeee32 { .. } => {
185
256k
                Self::UnaryIeee32
186
            }
187
            InstructionData::UnaryIeee64 { .. } => {
188
135k
                Self::UnaryIeee64
189
            }
190
            InstructionData::UnaryImm { .. } => {
191
5.14M
                Self::UnaryImm
192
            }
193
        }
194
54.4M
    }
195
}
196
197
#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)]
198
#[cfg_attr(feature = "enable-serde", derive(Serialize, Deserialize))]
199
#[allow(missing_docs, reason = "generated code")]
200
pub enum InstructionData {
201
    AtomicCas {
202
        opcode: Opcode,
203
        args: [Value; 3], // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:76
204
        flags: ir::MemFlags, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:97
205
    }
206
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
207
    AtomicRmw {
208
        opcode: Opcode,
209
        args: [Value; 2], // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:76
210
        flags: ir::MemFlags, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:97
211
        op: ir::AtomicRmwOp, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:97
212
    }
213
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
214
    Binary {
215
        opcode: Opcode,
216
        args: [Value; 2], // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:76
217
    }
218
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
219
    BinaryImm8 {
220
        opcode: Opcode,
221
        arg: Value,
222
        imm: ir::immediates::Uimm8, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:97
223
    }
224
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
225
    BranchTable {
226
        opcode: Opcode,
227
        arg: Value,
228
        table: ir::JumpTable, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:97
229
    }
230
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
231
    Brif {
232
        opcode: Opcode,
233
        arg: Value,
234
        blocks: [ir::BlockCall; 2], // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:82
235
    }
236
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
237
    Call {
238
        opcode: Opcode,
239
        args: ValueList,
240
        func_ref: ir::FuncRef, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:97
241
    }
242
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
243
    CallIndirect {
244
        opcode: Opcode,
245
        args: ValueList,
246
        sig_ref: ir::SigRef, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:97
247
    }
248
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
249
    CondTrap {
250
        opcode: Opcode,
251
        arg: Value,
252
        code: ir::TrapCode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:97
253
    }
254
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
255
    DynamicStackAddr {
256
        opcode: Opcode,
257
        dynamic_stack_slot: ir::DynamicStackSlot, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:97
258
    }
259
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
260
    ExceptionHandlerAddress {
261
        opcode: Opcode,
262
        block: ir::Block,
263
        imm: ir::immediates::Imm64, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:97
264
    }
265
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
266
    FloatCompare {
267
        opcode: Opcode,
268
        args: [Value; 2], // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:76
269
        cond: ir::condcodes::FloatCC, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:97
270
    }
271
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
272
    FuncAddr {
273
        opcode: Opcode,
274
        func_ref: ir::FuncRef, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:97
275
    }
276
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
277
    IntAddTrap {
278
        opcode: Opcode,
279
        args: [Value; 2], // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:76
280
        code: ir::TrapCode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:97
281
    }
282
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
283
    IntCompare {
284
        opcode: Opcode,
285
        args: [Value; 2], // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:76
286
        cond: ir::condcodes::IntCC, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:97
287
    }
288
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
289
    Jump {
290
        opcode: Opcode,
291
        destination: ir::BlockCall,
292
    }
293
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
294
    Load {
295
        opcode: Opcode,
296
        arg: Value,
297
        flags: ir::MemFlags, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:97
298
        offset: ir::immediates::Offset32, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:97
299
    }
300
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
301
    LoadNoOffset {
302
        opcode: Opcode,
303
        arg: Value,
304
        flags: ir::MemFlags, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:97
305
    }
306
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
307
    MultiAry {
308
        opcode: Opcode,
309
        args: ValueList,
310
    }
311
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
312
    NullAry {
313
        opcode: Opcode,
314
    }
315
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
316
    Shuffle {
317
        opcode: Opcode,
318
        args: [Value; 2], // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:76
319
        imm: ir::Immediate, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:97
320
    }
321
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
322
    StackAddr {
323
        opcode: Opcode,
324
        stack_slot: ir::StackSlot, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:97
325
        offset: ir::immediates::Offset32, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:97
326
    }
327
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
328
    Store {
329
        opcode: Opcode,
330
        args: [Value; 2], // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:76
331
        flags: ir::MemFlags, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:97
332
        offset: ir::immediates::Offset32, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:97
333
    }
334
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
335
    StoreNoOffset {
336
        opcode: Opcode,
337
        args: [Value; 2], // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:76
338
        flags: ir::MemFlags, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:97
339
    }
340
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
341
    Ternary {
342
        opcode: Opcode,
343
        args: [Value; 3], // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:76
344
    }
345
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
346
    TernaryImm8 {
347
        opcode: Opcode,
348
        args: [Value; 2], // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:76
349
        imm: ir::immediates::Uimm8, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:97
350
    }
351
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
352
    Trap {
353
        opcode: Opcode,
354
        code: ir::TrapCode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:97
355
    }
356
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
357
    TryCall {
358
        opcode: Opcode,
359
        args: ValueList,
360
        func_ref: ir::FuncRef, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:97
361
        exception: ir::ExceptionTable, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:97
362
    }
363
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
364
    TryCallIndirect {
365
        opcode: Opcode,
366
        args: ValueList,
367
        exception: ir::ExceptionTable, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:97
368
    }
369
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
370
    Unary {
371
        opcode: Opcode,
372
        arg: Value,
373
    }
374
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
375
    UnaryConst {
376
        opcode: Opcode,
377
        constant_handle: ir::Constant, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:97
378
    }
379
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
380
    UnaryGlobalValue {
381
        opcode: Opcode,
382
        global_value: ir::GlobalValue, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:97
383
    }
384
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
385
    UnaryIeee16 {
386
        opcode: Opcode,
387
        imm: ir::immediates::Ieee16, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:97
388
    }
389
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
390
    UnaryIeee32 {
391
        opcode: Opcode,
392
        imm: ir::immediates::Ieee32, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:97
393
    }
394
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
395
    UnaryIeee64 {
396
        opcode: Opcode,
397
        imm: ir::immediates::Ieee64, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:97
398
    }
399
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
400
    UnaryImm {
401
        opcode: Opcode,
402
        imm: ir::immediates::Imm64, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:97
403
    }
404
    , // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:100
405
}
406
407
impl InstructionData {
408
    /// Get the opcode of this instruction.
409
2.73G
    pub fn opcode(&self) -> Opcode {
410
2.73G
        match *self {
411
134k
            Self::AtomicCas { opcode, .. } |
412
686k
            Self::AtomicRmw { opcode, .. } |
413
312M
            Self::Binary { opcode, .. } |
414
4.52M
            Self::BinaryImm8 { opcode, .. } |
415
14.0M
            Self::BranchTable { opcode, .. } |
416
149M
            Self::Brif { opcode, .. } |
417
136M
            Self::Call { opcode, .. } |
418
32.7M
            Self::CallIndirect { opcode, .. } |
419
9.86M
            Self::CondTrap { opcode, .. } |
420
0
            Self::DynamicStackAddr { opcode, .. } |
421
5.71M
            Self::ExceptionHandlerAddress { opcode, .. } |
422
10.9M
            Self::FloatCompare { opcode, .. } |
423
1.52M
            Self::FuncAddr { opcode, .. } |
424
5.45M
            Self::IntAddTrap { opcode, .. } |
425
135M
            Self::IntCompare { opcode, .. } |
426
131M
            Self::Jump { opcode, .. } |
427
542M
            Self::Load { opcode, .. } |
428
15.0M
            Self::LoadNoOffset { opcode, .. } |
429
45.0M
            Self::MultiAry { opcode, .. } |
430
34.0M
            Self::NullAry { opcode, .. } |
431
5.52k
            Self::Shuffle { opcode, .. } |
432
189M
            Self::StackAddr { opcode, .. } |
433
208M
            Self::Store { opcode, .. } |
434
118k
            Self::StoreNoOffset { opcode, .. } |
435
29.6M
            Self::Ternary { opcode, .. } |
436
700k
            Self::TernaryImm8 { opcode, .. } |
437
55.5M
            Self::Trap { opcode, .. } |
438
17.2M
            Self::TryCall { opcode, .. } |
439
199k
            Self::TryCallIndirect { opcode, .. } |
440
158M
            Self::Unary { opcode, .. } |
441
6.34M
            Self::UnaryConst { opcode, .. } |
442
0
            Self::UnaryGlobalValue { opcode, .. } |
443
0
            Self::UnaryIeee16 { opcode, .. } |
444
12.6M
            Self::UnaryIeee32 { opcode, .. } |
445
18.6M
            Self::UnaryIeee64 { opcode, .. } |
446
453M
            Self::UnaryImm { opcode, .. } => {
447
2.73G
                opcode
448
            }
449
        }
450
2.73G
    }
451
452
    /// Get the controlling type variable operand.
453
27.0M
    pub fn typevar_operand(&self, pool: &ir::ValueListPool) -> Option<Value> {
454
27.0M
        match *self {
455
            Self::Call { .. } |
456
            Self::DynamicStackAddr { .. } |
457
            Self::ExceptionHandlerAddress { .. } |
458
            Self::FuncAddr { .. } |
459
            Self::Jump { .. } |
460
            Self::MultiAry { .. } |
461
            Self::NullAry { .. } |
462
            Self::StackAddr { .. } |
463
            Self::Trap { .. } |
464
            Self::TryCall { .. } |
465
            Self::UnaryConst { .. } |
466
            Self::UnaryGlobalValue { .. } |
467
            Self::UnaryIeee16 { .. } |
468
            Self::UnaryIeee32 { .. } |
469
            Self::UnaryIeee64 { .. } |
470
            Self::UnaryImm { .. } => {
471
0
                None
472
            }
473
408k
            Self::BinaryImm8 { arg, .. } |
474
0
            Self::BranchTable { arg, .. } |
475
4.14M
            Self::Brif { arg, .. } |
476
596k
            Self::CondTrap { arg, .. } |
477
7.37k
            Self::Load { arg, .. } |
478
0
            Self::LoadNoOffset { arg, .. } |
479
135k
            Self::Unary { arg, .. } => {
480
5.29M
                Some(arg)
481
            }
482
0
            Self::AtomicRmw { args: ref args_arity2, .. } |
483
1.06M
            Self::Binary { args: ref args_arity2, .. } |
484
1.02M
            Self::FloatCompare { args: ref args_arity2, .. } |
485
0
            Self::IntAddTrap { args: ref args_arity2, .. } |
486
14.5M
            Self::IntCompare { args: ref args_arity2, .. } |
487
0
            Self::Shuffle { args: ref args_arity2, .. } |
488
4.81M
            Self::Store { args: ref args_arity2, .. } |
489
9.69k
            Self::StoreNoOffset { args: ref args_arity2, .. } |
490
0
            Self::TernaryImm8 { args: ref args_arity2, .. } => {
491
21.4M
                Some(args_arity2[0])
492
            }
493
0
            Self::Ternary { args: ref args_arity3, .. } => {
494
0
                Some(args_arity3[1])
495
            }
496
0
            Self::AtomicCas { args: ref args_arity3, .. } => {
497
0
                Some(args_arity3[2])
498
            }
499
270k
            Self::CallIndirect { ref args, .. } |
500
1.24k
            Self::TryCallIndirect { ref args, .. } => {
501
272k
                args.get(0, pool)
502
            }
503
        }
504
27.0M
    }
505
506
    /// Get the value arguments to this instruction.
507
754M
    pub fn arguments<'a>(&'a self, pool: &'a ir::ValueListPool) -> &'a [Value] {
508
754M
        match *self {
509
            Self::DynamicStackAddr { .. } |
510
            Self::ExceptionHandlerAddress { .. } |
511
            Self::FuncAddr { .. } |
512
            Self::Jump { .. } |
513
            Self::NullAry { .. } |
514
            Self::StackAddr { .. } |
515
            Self::Trap { .. } |
516
            Self::UnaryConst { .. } |
517
            Self::UnaryGlobalValue { .. } |
518
            Self::UnaryIeee16 { .. } |
519
            Self::UnaryIeee32 { .. } |
520
            Self::UnaryIeee64 { .. } |
521
            Self::UnaryImm { .. } => {
522
213M
                &[]
523
            }
524
164k
            Self::AtomicRmw { args: ref args_arity2, .. } |
525
119M
            Self::Binary { args: ref args_arity2, .. } |
526
3.29M
            Self::FloatCompare { args: ref args_arity2, .. } |
527
1.91M
            Self::IntAddTrap { args: ref args_arity2, .. } |
528
44.7M
            Self::IntCompare { args: ref args_arity2, .. } |
529
1.57k
            Self::Shuffle { args: ref args_arity2, .. } |
530
55.8M
            Self::Store { args: ref args_arity2, .. } |
531
26.9k
            Self::StoreNoOffset { args: ref args_arity2, .. } |
532
171k
            Self::TernaryImm8 { args: ref args_arity2, .. } => {
533
225M
                args_arity2
534
            }
535
32.2k
            Self::AtomicCas { args: ref args_arity3, .. } |
536
8.92M
            Self::Ternary { args: ref args_arity3, .. } => {
537
8.96M
                args_arity3
538
            }
539
1.21M
            Self::BinaryImm8 { ref arg, .. } |
540
3.31M
            Self::BranchTable { ref arg, .. } |
541
34.9M
            Self::Brif { ref arg, .. } |
542
3.32M
            Self::CondTrap { ref arg, .. } |
543
155M
            Self::Load { ref arg, .. } |
544
4.19M
            Self::LoadNoOffset { ref arg, .. } |
545
45.2M
            Self::Unary { ref arg, .. } => {
546
248M
                core::slice::from_ref(arg)
547
            }
548
37.5M
            Self::Call { ref args, .. } |
549
8.37M
            Self::CallIndirect { ref args, .. } |
550
8.43M
            Self::MultiAry { ref args, .. } |
551
3.39M
            Self::TryCall { ref args, .. } |
552
59.3k
            Self::TryCallIndirect { ref args, .. } => {
553
57.8M
                args.as_slice(pool)
554
            }
555
        }
556
754M
    }
557
558
    /// Get mutable references to the value arguments to this
559
    /// instruction.
560
378M
    pub fn arguments_mut<'a>(&'a mut self, pool: &'a mut ir::ValueListPool) -> &'a mut [Value] {
561
378M
        match *self {
562
            Self::DynamicStackAddr { .. } |
563
            Self::ExceptionHandlerAddress { .. } |
564
            Self::FuncAddr { .. } |
565
            Self::Jump { .. } |
566
            Self::NullAry { .. } |
567
            Self::StackAddr { .. } |
568
            Self::Trap { .. } |
569
            Self::UnaryConst { .. } |
570
            Self::UnaryGlobalValue { .. } |
571
            Self::UnaryIeee16 { .. } |
572
            Self::UnaryIeee32 { .. } |
573
            Self::UnaryIeee64 { .. } |
574
            Self::UnaryImm { .. } => {
575
116M
                &mut []
576
            }
577
25.0k
            Self::AtomicRmw { args: ref mut args_arity2, .. } |
578
42.4M
            Self::Binary { args: ref mut args_arity2, .. } |
579
1.30M
            Self::FloatCompare { args: ref mut args_arity2, .. } |
580
834k
            Self::IntAddTrap { args: ref mut args_arity2, .. } |
581
18.8M
            Self::IntCompare { args: ref mut args_arity2, .. } |
582
353
            Self::Shuffle { args: ref mut args_arity2, .. } |
583
33.8M
            Self::Store { args: ref mut args_arity2, .. } |
584
4.53k
            Self::StoreNoOffset { args: ref mut args_arity2, .. } |
585
29.5k
            Self::TernaryImm8 { args: ref mut args_arity2, .. } => {
586
97.3M
                args_arity2
587
            }
588
4.60k
            Self::AtomicCas { args: ref mut args_arity3, .. } |
589
3.70M
            Self::Ternary { args: ref mut args_arity3, .. } => {
590
3.71M
                args_arity3
591
            }
592
511k
            Self::BinaryImm8 { ref mut arg, .. } |
593
644k
            Self::BranchTable { ref mut arg, .. } |
594
18.7M
            Self::Brif { ref mut arg, .. } |
595
1.85M
            Self::CondTrap { ref mut arg, .. } |
596
79.8M
            Self::Load { ref mut arg, .. } |
597
1.77M
            Self::LoadNoOffset { ref mut arg, .. } |
598
25.4M
            Self::Unary { ref mut arg, .. } => {
599
128M
                core::slice::from_mut(arg)
600
            }
601
18.3M
            Self::Call { ref mut args, .. } |
602
5.11M
            Self::CallIndirect { ref mut args, .. } |
603
6.05M
            Self::MultiAry { ref mut args, .. } |
604
2.51M
            Self::TryCall { ref mut args, .. } |
605
19.9k
            Self::TryCallIndirect { ref mut args, .. } => {
606
32.0M
                args.as_mut_slice(pool)
607
            }
608
        }
609
378M
    }
610
611
    /// Compare two `InstructionData` for equality.
612
    ///
613
    /// This operation requires a reference to a `ValueListPool` to
614
    /// determine if the contents of any `ValueLists` are equal.
615
    ///
616
    /// This operation takes a closure that is allowed to map each
617
    /// argument value to some other value before the instructions
618
    /// are compared. This allows various forms of canonicalization.
619
60.6M
    pub fn eq(&self, other: &Self, pool: &ir::ValueListPool) -> bool {
620
60.6M
        if ::core::mem::discriminant(self) != ::core::mem::discriminant(other) {
621
108
            return false;
622
60.6M
        }
623
60.6M
        match (self, other) {
624
0
            (&Self::AtomicCas { opcode: ref opcode1, args: ref args1, flags: ref flags1 }, &Self::AtomicCas { opcode: ref opcode2, args: ref args2, flags: ref flags2 }) =>  {
625
0
                opcode1 == opcode2
626
0
                && flags1 == flags2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:276
627
0
                && args1.iter().zip(args2.iter()).all(|(a, b)| a == b) // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:279
628
            }
629
0
            (&Self::AtomicRmw { opcode: ref opcode1, args: ref args1, flags: ref flags1, op: ref op1 }, &Self::AtomicRmw { opcode: ref opcode2, args: ref args2, flags: ref flags2, op: ref op2 }) =>  {
630
0
                opcode1 == opcode2
631
0
                && flags1 == flags2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:276
632
0
                && op1 == op2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:276
633
0
                && args1.iter().zip(args2.iter()).all(|(a, b)| a == b) // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:279
634
            }
635
16.0M
            (&Self::Binary { opcode: ref opcode1, args: ref args1 }, &Self::Binary { opcode: ref opcode2, args: ref args2 }) =>  {
636
16.0M
                opcode1 == opcode2
637
32.0M
                && args1.iter().zip(args2.iter()).all(|(a, b)| a == b) // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:279
638
            }
639
10.5k
            (&Self::BinaryImm8 { opcode: ref opcode1, arg: ref arg1, imm: ref imm1 }, &Self::BinaryImm8 { opcode: ref opcode2, arg: ref arg2, imm: ref imm2 }) =>  {
640
10.5k
                opcode1 == opcode2
641
10.5k
                && imm1 == imm2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:276
642
10.5k
                && arg1 == arg2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:279
643
            }
644
0
            (&Self::BranchTable { opcode: ref opcode1, arg: ref arg1, table: ref table1 }, &Self::BranchTable { opcode: ref opcode2, arg: ref arg2, table: ref table2 }) =>  {
645
0
                opcode1 == opcode2
646
0
                && table1 == table2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:276
647
0
                && arg1 == arg2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:279
648
            }
649
0
            (&Self::Brif { opcode: ref opcode1, arg: ref arg1, blocks: ref blocks1 }, &Self::Brif { opcode: ref opcode2, arg: ref arg2, blocks: ref blocks2 }) =>  {
650
0
                opcode1 == opcode2
651
0
                && arg1 == arg2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:279
652
0
                && blocks1.iter().zip(blocks2.iter()).all(|(a, b)| a.block(pool) == b.block(pool)) // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:282
653
            }
654
0
            (&Self::Call { opcode: ref opcode1, args: ref args1, func_ref: ref func_ref1 }, &Self::Call { opcode: ref opcode2, args: ref args2, func_ref: ref func_ref2 }) =>  {
655
0
                opcode1 == opcode2
656
0
                && func_ref1 == func_ref2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:276
657
0
                && args1.as_slice(pool).iter().zip(args2.as_slice(pool).iter()).all(|(a, b)| a == b) // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:279
658
            }
659
0
            (&Self::CallIndirect { opcode: ref opcode1, args: ref args1, sig_ref: ref sig_ref1 }, &Self::CallIndirect { opcode: ref opcode2, args: ref args2, sig_ref: ref sig_ref2 }) =>  {
660
0
                opcode1 == opcode2
661
0
                && sig_ref1 == sig_ref2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:276
662
0
                && args1.as_slice(pool).iter().zip(args2.as_slice(pool).iter()).all(|(a, b)| a == b) // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:279
663
            }
664
0
            (&Self::CondTrap { opcode: ref opcode1, arg: ref arg1, code: ref code1 }, &Self::CondTrap { opcode: ref opcode2, arg: ref arg2, code: ref code2 }) =>  {
665
0
                opcode1 == opcode2
666
0
                && code1 == code2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:276
667
0
                && arg1 == arg2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:279
668
            }
669
0
            (&Self::DynamicStackAddr { opcode: ref opcode1, dynamic_stack_slot: ref dynamic_stack_slot1 }, &Self::DynamicStackAddr { opcode: ref opcode2, dynamic_stack_slot: ref dynamic_stack_slot2 }) =>  {
670
0
                opcode1 == opcode2
671
0
                && dynamic_stack_slot1 == dynamic_stack_slot2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:276
672
            }
673
0
            (&Self::ExceptionHandlerAddress { opcode: ref opcode1, block: ref block1, imm: ref imm1 }, &Self::ExceptionHandlerAddress { opcode: ref opcode2, block: ref block2, imm: ref imm2 }) =>  {
674
0
                opcode1 == opcode2
675
0
                && imm1 == imm2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:276
676
0
                && block1 == block2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:285
677
            }
678
29.1k
            (&Self::FloatCompare { opcode: ref opcode1, args: ref args1, cond: ref cond1 }, &Self::FloatCompare { opcode: ref opcode2, args: ref args2, cond: ref cond2 }) =>  {
679
29.1k
                opcode1 == opcode2
680
29.1k
                && cond1 == cond2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:276
681
58.2k
                && args1.iter().zip(args2.iter()).all(|(a, b)| a == b) // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:279
682
            }
683
10.4k
            (&Self::FuncAddr { opcode: ref opcode1, func_ref: ref func_ref1 }, &Self::FuncAddr { opcode: ref opcode2, func_ref: ref func_ref2 }) =>  {
684
10.4k
                opcode1 == opcode2
685
10.4k
                && func_ref1 == func_ref2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:276
686
            }
687
0
            (&Self::IntAddTrap { opcode: ref opcode1, args: ref args1, code: ref code1 }, &Self::IntAddTrap { opcode: ref opcode2, args: ref args2, code: ref code2 }) =>  {
688
0
                opcode1 == opcode2
689
0
                && code1 == code2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:276
690
0
                && args1.iter().zip(args2.iter()).all(|(a, b)| a == b) // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:279
691
            }
692
1.14M
            (&Self::IntCompare { opcode: ref opcode1, args: ref args1, cond: ref cond1 }, &Self::IntCompare { opcode: ref opcode2, args: ref args2, cond: ref cond2 }) =>  {
693
1.14M
                opcode1 == opcode2
694
1.14M
                && cond1 == cond2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:276
695
2.28M
                && args1.iter().zip(args2.iter()).all(|(a, b)| a == b) // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:279
696
            }
697
0
            (&Self::Jump { opcode: ref opcode1, destination: ref destination1 }, &Self::Jump { opcode: ref opcode2, destination: ref destination2 }) =>  {
698
0
                opcode1 == opcode2
699
0
                && destination1 == destination2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:282
700
            }
701
8.97M
            (&Self::Load { opcode: ref opcode1, arg: ref arg1, flags: ref flags1, offset: ref offset1 }, &Self::Load { opcode: ref opcode2, arg: ref arg2, flags: ref flags2, offset: ref offset2 }) =>  {
702
8.97M
                opcode1 == opcode2
703
8.97M
                && flags1 == flags2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:276
704
8.97M
                && offset1 == offset2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:276
705
8.97M
                && arg1 == arg2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:279
706
            }
707
110k
            (&Self::LoadNoOffset { opcode: ref opcode1, arg: ref arg1, flags: ref flags1 }, &Self::LoadNoOffset { opcode: ref opcode2, arg: ref arg2, flags: ref flags2 }) =>  {
708
110k
                opcode1 == opcode2
709
110k
                && flags1 == flags2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:276
710
110k
                && arg1 == arg2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:279
711
            }
712
0
            (&Self::MultiAry { opcode: ref opcode1, args: ref args1 }, &Self::MultiAry { opcode: ref opcode2, args: ref args2 }) =>  {
713
0
                opcode1 == opcode2
714
0
                && args1.as_slice(pool).iter().zip(args2.as_slice(pool).iter()).all(|(a, b)| a == b) // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:279
715
            }
716
100k
            (&Self::NullAry { opcode: ref opcode1 }, &Self::NullAry { opcode: ref opcode2 }) =>  {
717
100k
                opcode1 == opcode2
718
            }
719
0
            (&Self::Shuffle { opcode: ref opcode1, args: ref args1, imm: ref imm1 }, &Self::Shuffle { opcode: ref opcode2, args: ref args2, imm: ref imm2 }) =>  {
720
0
                opcode1 == opcode2
721
0
                && imm1 == imm2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:276
722
0
                && args1.iter().zip(args2.iter()).all(|(a, b)| a == b) // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:279
723
            }
724
2.10M
            (&Self::StackAddr { opcode: ref opcode1, stack_slot: ref stack_slot1, offset: ref offset1 }, &Self::StackAddr { opcode: ref opcode2, stack_slot: ref stack_slot2, offset: ref offset2 }) =>  {
725
2.10M
                opcode1 == opcode2
726
2.10M
                && stack_slot1 == stack_slot2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:276
727
2.10M
                && offset1 == offset2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:276
728
            }
729
0
            (&Self::Store { opcode: ref opcode1, args: ref args1, flags: ref flags1, offset: ref offset1 }, &Self::Store { opcode: ref opcode2, args: ref args2, flags: ref flags2, offset: ref offset2 }) =>  {
730
0
                opcode1 == opcode2
731
0
                && flags1 == flags2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:276
732
0
                && offset1 == offset2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:276
733
0
                && args1.iter().zip(args2.iter()).all(|(a, b)| a == b) // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:279
734
            }
735
0
            (&Self::StoreNoOffset { opcode: ref opcode1, args: ref args1, flags: ref flags1 }, &Self::StoreNoOffset { opcode: ref opcode2, args: ref args2, flags: ref flags2 }) =>  {
736
0
                opcode1 == opcode2
737
0
                && flags1 == flags2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:276
738
0
                && args1.iter().zip(args2.iter()).all(|(a, b)| a == b) // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:279
739
            }
740
345k
            (&Self::Ternary { opcode: ref opcode1, args: ref args1 }, &Self::Ternary { opcode: ref opcode2, args: ref args2 }) =>  {
741
345k
                opcode1 == opcode2
742
1.03M
                && args1.iter().zip(args2.iter()).all(|(a, b)| a == b) // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:279
743
            }
744
216
            (&Self::TernaryImm8 { opcode: ref opcode1, args: ref args1, imm: ref imm1 }, &Self::TernaryImm8 { opcode: ref opcode2, args: ref args2, imm: ref imm2 }) =>  {
745
216
                opcode1 == opcode2
746
216
                && imm1 == imm2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:276
747
432
                && args1.iter().zip(args2.iter()).all(|(a, b)| a == b) // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:279
748
            }
749
0
            (&Self::Trap { opcode: ref opcode1, code: ref code1 }, &Self::Trap { opcode: ref opcode2, code: ref code2 }) =>  {
750
0
                opcode1 == opcode2
751
0
                && code1 == code2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:276
752
            }
753
0
            (&Self::TryCall { opcode: ref opcode1, args: ref args1, func_ref: ref func_ref1, exception: ref exception1 }, &Self::TryCall { opcode: ref opcode2, args: ref args2, func_ref: ref func_ref2, exception: ref exception2 }) =>  {
754
0
                opcode1 == opcode2
755
0
                && func_ref1 == func_ref2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:276
756
0
                && exception1 == exception2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:276
757
0
                && args1.as_slice(pool).iter().zip(args2.as_slice(pool).iter()).all(|(a, b)| a == b) // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:279
758
            }
759
0
            (&Self::TryCallIndirect { opcode: ref opcode1, args: ref args1, exception: ref exception1 }, &Self::TryCallIndirect { opcode: ref opcode2, args: ref args2, exception: ref exception2 }) =>  {
760
0
                opcode1 == opcode2
761
0
                && exception1 == exception2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:276
762
0
                && args1.as_slice(pool).iter().zip(args2.as_slice(pool).iter()).all(|(a, b)| a == b) // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:279
763
            }
764
3.91M
            (&Self::Unary { opcode: ref opcode1, arg: ref arg1 }, &Self::Unary { opcode: ref opcode2, arg: ref arg2 }) =>  {
765
3.91M
                opcode1 == opcode2
766
3.91M
                && arg1 == arg2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:279
767
            }
768
106k
            (&Self::UnaryConst { opcode: ref opcode1, constant_handle: ref constant_handle1 }, &Self::UnaryConst { opcode: ref opcode2, constant_handle: ref constant_handle2 }) =>  {
769
106k
                opcode1 == opcode2
770
106k
                && constant_handle1 == constant_handle2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:276
771
            }
772
0
            (&Self::UnaryGlobalValue { opcode: ref opcode1, global_value: ref global_value1 }, &Self::UnaryGlobalValue { opcode: ref opcode2, global_value: ref global_value2 }) =>  {
773
0
                opcode1 == opcode2
774
0
                && global_value1 == global_value2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:276
775
            }
776
0
            (&Self::UnaryIeee16 { opcode: ref opcode1, imm: ref imm1 }, &Self::UnaryIeee16 { opcode: ref opcode2, imm: ref imm2 }) =>  {
777
0
                opcode1 == opcode2
778
0
                && imm1 == imm2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:276
779
            }
780
497k
            (&Self::UnaryIeee32 { opcode: ref opcode1, imm: ref imm1 }, &Self::UnaryIeee32 { opcode: ref opcode2, imm: ref imm2 }) =>  {
781
497k
                opcode1 == opcode2
782
497k
                && imm1 == imm2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:276
783
            }
784
946k
            (&Self::UnaryIeee64 { opcode: ref opcode1, imm: ref imm1 }, &Self::UnaryIeee64 { opcode: ref opcode2, imm: ref imm2 }) =>  {
785
946k
                opcode1 == opcode2
786
946k
                && imm1 == imm2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:276
787
            }
788
26.3M
            (&Self::UnaryImm { opcode: ref opcode1, imm: ref imm1 }, &Self::UnaryImm { opcode: ref opcode2, imm: ref imm2 }) =>  {
789
26.3M
                opcode1 == opcode2
790
26.3M
                && imm1 == imm2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:276
791
            }
792
0
            _ => unreachable!()
793
        }
794
60.6M
    }
795
796
    /// Hash an `InstructionData`.
797
    ///
798
    /// This operation requires a reference to a `ValueListPool` to
799
    /// hash the contents of any `ValueLists`.
800
    ///
801
    /// This operation takes a closure that is allowed to map each
802
    /// argument value to some other value before it is hashed. This
803
    /// allows various forms of canonicalization.
804
163M
    pub fn hash<H: ::core::hash::Hasher>(&self, state: &mut H, pool: &ir::ValueListPool) {
805
163M
        match *self {
806
0
            Self::AtomicCas{opcode, ref args, flags} =>  {
807
0
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
808
0
                ::core::hash::Hash::hash(&opcode, state);
809
0
                ::core::hash::Hash::hash(&flags, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:353
810
0
                ::core::hash::Hash::hash(&args.len(), state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
811
0
                for &arg in args {
812
0
                    ::core::hash::Hash::hash(&arg, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:358
813
0
                }
814
            }
815
0
            Self::AtomicRmw{opcode, ref args, flags, op} =>  {
816
0
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
817
0
                ::core::hash::Hash::hash(&opcode, state);
818
0
                ::core::hash::Hash::hash(&flags, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:353
819
0
                ::core::hash::Hash::hash(&op, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:353
820
0
                ::core::hash::Hash::hash(&args.len(), state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
821
0
                for &arg in args {
822
0
                    ::core::hash::Hash::hash(&arg, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:358
823
0
                }
824
            }
825
66.4M
            Self::Binary{opcode, ref args} =>  {
826
66.4M
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
827
66.4M
                ::core::hash::Hash::hash(&opcode, state);
828
66.4M
                ::core::hash::Hash::hash(&args.len(), state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
829
132M
                for &arg in args {
830
132M
                    ::core::hash::Hash::hash(&arg, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:358
831
132M
                }
832
            }
833
261k
            Self::BinaryImm8{opcode, ref arg, imm} =>  {
834
261k
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
835
261k
                ::core::hash::Hash::hash(&opcode, state);
836
261k
                ::core::hash::Hash::hash(&imm, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:353
837
261k
                ::core::hash::Hash::hash(&1, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
838
261k
                for &arg in core::slice::from_ref(arg) {
839
261k
                    ::core::hash::Hash::hash(&arg, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:358
840
261k
                }
841
            }
842
0
            Self::BranchTable{opcode, ref arg, table} =>  {
843
0
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
844
0
                ::core::hash::Hash::hash(&opcode, state);
845
0
                ::core::hash::Hash::hash(&table, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:353
846
0
                ::core::hash::Hash::hash(&1, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
847
0
                for &arg in core::slice::from_ref(arg) {
848
0
                    ::core::hash::Hash::hash(&arg, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:358
849
0
                }
850
            }
851
0
            Self::Brif{opcode, ref arg, ref blocks} =>  {
852
0
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
853
0
                ::core::hash::Hash::hash(&opcode, state);
854
0
                ::core::hash::Hash::hash(&1, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
855
0
                for &arg in core::slice::from_ref(arg) {
856
0
                    ::core::hash::Hash::hash(&arg, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:358
857
0
                }
858
0
                ::core::hash::Hash::hash(&blocks.len(), state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:363
859
0
                for &block in blocks {
860
0
                    ::core::hash::Hash::hash(&block.block(pool), state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:365
861
0
                    for arg in block.args(pool) {
862
0
                        ::core::hash::Hash::hash(&arg, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:367
863
0
                    }
864
                }
865
            }
866
0
            Self::Call{opcode, ref args, func_ref} =>  {
867
0
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
868
0
                ::core::hash::Hash::hash(&opcode, state);
869
0
                ::core::hash::Hash::hash(&func_ref, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:353
870
0
                ::core::hash::Hash::hash(&args.len(pool), state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
871
0
                for &arg in args.as_slice(pool) {
872
0
                    ::core::hash::Hash::hash(&arg, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:358
873
0
                }
874
            }
875
0
            Self::CallIndirect{opcode, ref args, sig_ref} =>  {
876
0
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
877
0
                ::core::hash::Hash::hash(&opcode, state);
878
0
                ::core::hash::Hash::hash(&sig_ref, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:353
879
0
                ::core::hash::Hash::hash(&args.len(pool), state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
880
0
                for &arg in args.as_slice(pool) {
881
0
                    ::core::hash::Hash::hash(&arg, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:358
882
0
                }
883
            }
884
0
            Self::CondTrap{opcode, ref arg, code} =>  {
885
0
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
886
0
                ::core::hash::Hash::hash(&opcode, state);
887
0
                ::core::hash::Hash::hash(&code, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:353
888
0
                ::core::hash::Hash::hash(&1, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
889
0
                for &arg in core::slice::from_ref(arg) {
890
0
                    ::core::hash::Hash::hash(&arg, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:358
891
0
                }
892
            }
893
0
            Self::DynamicStackAddr{opcode, dynamic_stack_slot} =>  {
894
0
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
895
0
                ::core::hash::Hash::hash(&opcode, state);
896
0
                ::core::hash::Hash::hash(&dynamic_stack_slot, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:353
897
0
                ::core::hash::Hash::hash(&0, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
898
0
            }
899
592k
            Self::ExceptionHandlerAddress{opcode, block, imm} =>  {
900
592k
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
901
592k
                ::core::hash::Hash::hash(&opcode, state);
902
592k
                ::core::hash::Hash::hash(&imm, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:353
903
592k
                ::core::hash::Hash::hash(&0, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
904
592k
                ::core::hash::Hash::hash(&block, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:373
905
592k
            }
906
639k
            Self::FloatCompare{opcode, ref args, cond} =>  {
907
639k
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
908
639k
                ::core::hash::Hash::hash(&opcode, state);
909
639k
                ::core::hash::Hash::hash(&cond, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:353
910
639k
                ::core::hash::Hash::hash(&args.len(), state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
911
1.27M
                for &arg in args {
912
1.27M
                    ::core::hash::Hash::hash(&arg, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:358
913
1.27M
                }
914
            }
915
18.9k
            Self::FuncAddr{opcode, func_ref} =>  {
916
18.9k
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
917
18.9k
                ::core::hash::Hash::hash(&opcode, state);
918
18.9k
                ::core::hash::Hash::hash(&func_ref, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:353
919
18.9k
                ::core::hash::Hash::hash(&0, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
920
18.9k
            }
921
0
            Self::IntAddTrap{opcode, ref args, code} =>  {
922
0
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
923
0
                ::core::hash::Hash::hash(&opcode, state);
924
0
                ::core::hash::Hash::hash(&code, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:353
925
0
                ::core::hash::Hash::hash(&args.len(), state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
926
0
                for &arg in args {
927
0
                    ::core::hash::Hash::hash(&arg, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:358
928
0
                }
929
            }
930
12.6M
            Self::IntCompare{opcode, ref args, cond} =>  {
931
12.6M
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
932
12.6M
                ::core::hash::Hash::hash(&opcode, state);
933
12.6M
                ::core::hash::Hash::hash(&cond, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:353
934
12.6M
                ::core::hash::Hash::hash(&args.len(), state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
935
25.3M
                for &arg in args {
936
25.3M
                    ::core::hash::Hash::hash(&arg, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:358
937
25.3M
                }
938
            }
939
0
            Self::Jump{opcode, ref destination} =>  {
940
0
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
941
0
                ::core::hash::Hash::hash(&opcode, state);
942
0
                ::core::hash::Hash::hash(&0, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
943
0
                ::core::hash::Hash::hash(&1, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:363
944
0
                for &block in core::slice::from_ref(destination) {
945
0
                    ::core::hash::Hash::hash(&block.block(pool), state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:365
946
0
                    for arg in block.args(pool) {
947
0
                        ::core::hash::Hash::hash(&arg, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:367
948
0
                    }
949
                }
950
            }
951
14.6M
            Self::Load{opcode, ref arg, flags, offset} =>  {
952
14.6M
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
953
14.6M
                ::core::hash::Hash::hash(&opcode, state);
954
14.6M
                ::core::hash::Hash::hash(&flags, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:353
955
14.6M
                ::core::hash::Hash::hash(&offset, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:353
956
14.6M
                ::core::hash::Hash::hash(&1, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
957
14.6M
                for &arg in core::slice::from_ref(arg) {
958
14.6M
                    ::core::hash::Hash::hash(&arg, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:358
959
14.6M
                }
960
            }
961
890k
            Self::LoadNoOffset{opcode, ref arg, flags} =>  {
962
890k
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
963
890k
                ::core::hash::Hash::hash(&opcode, state);
964
890k
                ::core::hash::Hash::hash(&flags, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:353
965
890k
                ::core::hash::Hash::hash(&1, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
966
890k
                for &arg in core::slice::from_ref(arg) {
967
890k
                    ::core::hash::Hash::hash(&arg, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:358
968
890k
                }
969
            }
970
0
            Self::MultiAry{opcode, ref args} =>  {
971
0
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
972
0
                ::core::hash::Hash::hash(&opcode, state);
973
0
                ::core::hash::Hash::hash(&args.len(pool), state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
974
0
                for &arg in args.as_slice(pool) {
975
0
                    ::core::hash::Hash::hash(&arg, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:358
976
0
                }
977
            }
978
3.46M
            Self::NullAry{opcode} =>  {
979
3.46M
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
980
3.46M
                ::core::hash::Hash::hash(&opcode, state);
981
3.46M
                ::core::hash::Hash::hash(&0, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
982
3.46M
            }
983
208
            Self::Shuffle{opcode, ref args, imm} =>  {
984
208
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
985
208
                ::core::hash::Hash::hash(&opcode, state);
986
208
                ::core::hash::Hash::hash(&imm, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:353
987
208
                ::core::hash::Hash::hash(&args.len(), state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
988
416
                for &arg in args {
989
416
                    ::core::hash::Hash::hash(&arg, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:358
990
416
                }
991
            }
992
3.39M
            Self::StackAddr{opcode, stack_slot, offset} =>  {
993
3.39M
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
994
3.39M
                ::core::hash::Hash::hash(&opcode, state);
995
3.39M
                ::core::hash::Hash::hash(&stack_slot, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:353
996
3.39M
                ::core::hash::Hash::hash(&offset, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:353
997
3.39M
                ::core::hash::Hash::hash(&0, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
998
3.39M
            }
999
0
            Self::Store{opcode, ref args, flags, offset} =>  {
1000
0
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
1001
0
                ::core::hash::Hash::hash(&opcode, state);
1002
0
                ::core::hash::Hash::hash(&flags, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:353
1003
0
                ::core::hash::Hash::hash(&offset, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:353
1004
0
                ::core::hash::Hash::hash(&args.len(), state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
1005
0
                for &arg in args {
1006
0
                    ::core::hash::Hash::hash(&arg, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:358
1007
0
                }
1008
            }
1009
0
            Self::StoreNoOffset{opcode, ref args, flags} =>  {
1010
0
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
1011
0
                ::core::hash::Hash::hash(&opcode, state);
1012
0
                ::core::hash::Hash::hash(&flags, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:353
1013
0
                ::core::hash::Hash::hash(&args.len(), state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
1014
0
                for &arg in args {
1015
0
                    ::core::hash::Hash::hash(&arg, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:358
1016
0
                }
1017
            }
1018
1.97M
            Self::Ternary{opcode, ref args} =>  {
1019
1.97M
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
1020
1.97M
                ::core::hash::Hash::hash(&opcode, state);
1021
1.97M
                ::core::hash::Hash::hash(&args.len(), state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
1022
5.92M
                for &arg in args {
1023
5.92M
                    ::core::hash::Hash::hash(&arg, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:358
1024
5.92M
                }
1025
            }
1026
17.4k
            Self::TernaryImm8{opcode, ref args, imm} =>  {
1027
17.4k
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
1028
17.4k
                ::core::hash::Hash::hash(&opcode, state);
1029
17.4k
                ::core::hash::Hash::hash(&imm, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:353
1030
17.4k
                ::core::hash::Hash::hash(&args.len(), state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
1031
34.8k
                for &arg in args {
1032
34.8k
                    ::core::hash::Hash::hash(&arg, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:358
1033
34.8k
                }
1034
            }
1035
0
            Self::Trap{opcode, code} =>  {
1036
0
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
1037
0
                ::core::hash::Hash::hash(&opcode, state);
1038
0
                ::core::hash::Hash::hash(&code, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:353
1039
0
                ::core::hash::Hash::hash(&0, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
1040
0
            }
1041
0
            Self::TryCall{opcode, ref args, func_ref, exception} =>  {
1042
0
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
1043
0
                ::core::hash::Hash::hash(&opcode, state);
1044
0
                ::core::hash::Hash::hash(&func_ref, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:353
1045
0
                ::core::hash::Hash::hash(&exception, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:353
1046
0
                ::core::hash::Hash::hash(&args.len(pool), state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
1047
0
                for &arg in args.as_slice(pool) {
1048
0
                    ::core::hash::Hash::hash(&arg, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:358
1049
0
                }
1050
            }
1051
0
            Self::TryCallIndirect{opcode, ref args, exception} =>  {
1052
0
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
1053
0
                ::core::hash::Hash::hash(&opcode, state);
1054
0
                ::core::hash::Hash::hash(&exception, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:353
1055
0
                ::core::hash::Hash::hash(&args.len(pool), state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
1056
0
                for &arg in args.as_slice(pool) {
1057
0
                    ::core::hash::Hash::hash(&arg, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:358
1058
0
                }
1059
            }
1060
13.8M
            Self::Unary{opcode, ref arg} =>  {
1061
13.8M
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
1062
13.8M
                ::core::hash::Hash::hash(&opcode, state);
1063
13.8M
                ::core::hash::Hash::hash(&1, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
1064
13.8M
                for &arg in core::slice::from_ref(arg) {
1065
13.8M
                    ::core::hash::Hash::hash(&arg, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:358
1066
13.8M
                }
1067
            }
1068
309k
            Self::UnaryConst{opcode, constant_handle} =>  {
1069
309k
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
1070
309k
                ::core::hash::Hash::hash(&opcode, state);
1071
309k
                ::core::hash::Hash::hash(&constant_handle, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:353
1072
309k
                ::core::hash::Hash::hash(&0, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
1073
309k
            }
1074
0
            Self::UnaryGlobalValue{opcode, global_value} =>  {
1075
0
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
1076
0
                ::core::hash::Hash::hash(&opcode, state);
1077
0
                ::core::hash::Hash::hash(&global_value, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:353
1078
0
                ::core::hash::Hash::hash(&0, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
1079
0
            }
1080
0
            Self::UnaryIeee16{opcode, imm} =>  {
1081
0
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
1082
0
                ::core::hash::Hash::hash(&opcode, state);
1083
0
                ::core::hash::Hash::hash(&imm, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:353
1084
0
                ::core::hash::Hash::hash(&0, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
1085
0
            }
1086
996k
            Self::UnaryIeee32{opcode, imm} =>  {
1087
996k
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
1088
996k
                ::core::hash::Hash::hash(&opcode, state);
1089
996k
                ::core::hash::Hash::hash(&imm, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:353
1090
996k
                ::core::hash::Hash::hash(&0, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
1091
996k
            }
1092
1.60M
            Self::UnaryIeee64{opcode, imm} =>  {
1093
1.60M
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
1094
1.60M
                ::core::hash::Hash::hash(&opcode, state);
1095
1.60M
                ::core::hash::Hash::hash(&imm, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:353
1096
1.60M
                ::core::hash::Hash::hash(&0, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
1097
1.60M
            }
1098
42.0M
            Self::UnaryImm{opcode, imm} =>  {
1099
42.0M
                ::core::hash::Hash::hash( &::core::mem::discriminant(self), state);
1100
42.0M
                ::core::hash::Hash::hash(&opcode, state);
1101
42.0M
                ::core::hash::Hash::hash(&imm, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:353
1102
42.0M
                ::core::hash::Hash::hash(&0, state); // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:355
1103
42.0M
            }
1104
        }
1105
163M
    }
1106
1107
    /// Deep-clone an `InstructionData`, including any referenced lists.
1108
    ///
1109
    /// This operation requires a reference to a `ValueListPool` to
1110
    /// clone the `ValueLists`.
1111
11.2M
    pub fn deep_clone(&self, pool: &mut ir::ValueListPool) -> Self {
1112
11.2M
        match *self {
1113
0
            Self::AtomicCas{opcode, args, flags} =>  {
1114
0
                Self::AtomicCas {
1115
0
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1116
0
                    args, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:434
1117
0
                    flags, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:457
1118
0
                }
1119
            }
1120
0
            Self::AtomicRmw{opcode, args, flags, op} =>  {
1121
0
                Self::AtomicRmw {
1122
0
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1123
0
                    args, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:434
1124
0
                    flags, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:457
1125
0
                    op, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:457
1126
0
                }
1127
            }
1128
2.89M
            Self::Binary{opcode, args} =>  {
1129
2.89M
                Self::Binary {
1130
2.89M
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1131
2.89M
                    args, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:434
1132
2.89M
                }
1133
            }
1134
1.76k
            Self::BinaryImm8{opcode, arg, imm} =>  {
1135
1.76k
                Self::BinaryImm8 {
1136
1.76k
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1137
1.76k
                    arg, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:432
1138
1.76k
                    imm, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:457
1139
1.76k
                }
1140
            }
1141
0
            Self::BranchTable{opcode, arg, table} =>  {
1142
0
                Self::BranchTable {
1143
0
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1144
0
                    arg, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:432
1145
0
                    table, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:457
1146
0
                }
1147
            }
1148
0
            Self::Brif{opcode, arg, blocks} =>  {
1149
0
                Self::Brif {
1150
0
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1151
0
                    arg, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:432
1152
0
                    blocks: [blocks[0].deep_clone(pool), blocks[1].deep_clone(pool)], // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:443
1153
0
                }
1154
            }
1155
0
            Self::Call{opcode, ref args, func_ref} =>  {
1156
0
                Self::Call {
1157
0
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1158
0
                    args: args.deep_clone(pool), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:430
1159
0
                    func_ref, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:457
1160
0
                }
1161
            }
1162
0
            Self::CallIndirect{opcode, ref args, sig_ref} =>  {
1163
0
                Self::CallIndirect {
1164
0
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1165
0
                    args: args.deep_clone(pool), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:430
1166
0
                    sig_ref, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:457
1167
0
                }
1168
            }
1169
0
            Self::CondTrap{opcode, arg, code} =>  {
1170
0
                Self::CondTrap {
1171
0
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1172
0
                    arg, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:432
1173
0
                    code, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:457
1174
0
                }
1175
            }
1176
0
            Self::DynamicStackAddr{opcode, dynamic_stack_slot} =>  {
1177
0
                Self::DynamicStackAddr {
1178
0
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1179
0
                    dynamic_stack_slot, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:457
1180
0
                }
1181
            }
1182
0
            Self::ExceptionHandlerAddress{opcode, block, imm} =>  {
1183
0
                Self::ExceptionHandlerAddress {
1184
0
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1185
0
                    block, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:451
1186
0
                    imm, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:457
1187
0
                }
1188
            }
1189
55.6k
            Self::FloatCompare{opcode, args, cond} =>  {
1190
55.6k
                Self::FloatCompare {
1191
55.6k
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1192
55.6k
                    args, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:434
1193
55.6k
                    cond, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:457
1194
55.6k
                }
1195
            }
1196
487
            Self::FuncAddr{opcode, func_ref} =>  {
1197
487
                Self::FuncAddr {
1198
487
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1199
487
                    func_ref, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:457
1200
487
                }
1201
            }
1202
0
            Self::IntAddTrap{opcode, args, code} =>  {
1203
0
                Self::IntAddTrap {
1204
0
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1205
0
                    args, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:434
1206
0
                    code, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:457
1207
0
                }
1208
            }
1209
820k
            Self::IntCompare{opcode, args, cond} =>  {
1210
820k
                Self::IntCompare {
1211
820k
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1212
820k
                    args, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:434
1213
820k
                    cond, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:457
1214
820k
                }
1215
            }
1216
0
            Self::Jump{opcode, destination} =>  {
1217
0
                Self::Jump {
1218
0
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1219
0
                    destination: destination.deep_clone(pool), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:440
1220
0
                }
1221
            }
1222
671k
            Self::Load{opcode, arg, flags, offset} =>  {
1223
671k
                Self::Load {
1224
671k
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1225
671k
                    arg, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:432
1226
671k
                    flags, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:457
1227
671k
                    offset, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:457
1228
671k
                }
1229
            }
1230
5.78k
            Self::LoadNoOffset{opcode, arg, flags} =>  {
1231
5.78k
                Self::LoadNoOffset {
1232
5.78k
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1233
5.78k
                    arg, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:432
1234
5.78k
                    flags, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:457
1235
5.78k
                }
1236
            }
1237
0
            Self::MultiAry{opcode, ref args} =>  {
1238
0
                Self::MultiAry {
1239
0
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1240
0
                    args: args.deep_clone(pool), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:430
1241
0
                }
1242
            }
1243
0
            Self::NullAry{opcode} =>  {
1244
0
                Self::NullAry {
1245
0
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1246
0
                }
1247
            }
1248
0
            Self::Shuffle{opcode, args, imm} =>  {
1249
0
                Self::Shuffle {
1250
0
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1251
0
                    args, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:434
1252
0
                    imm, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:457
1253
0
                }
1254
            }
1255
1.10k
            Self::StackAddr{opcode, stack_slot, offset} =>  {
1256
1.10k
                Self::StackAddr {
1257
1.10k
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1258
1.10k
                    stack_slot, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:457
1259
1.10k
                    offset, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:457
1260
1.10k
                }
1261
            }
1262
0
            Self::Store{opcode, args, flags, offset} =>  {
1263
0
                Self::Store {
1264
0
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1265
0
                    args, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:434
1266
0
                    flags, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:457
1267
0
                    offset, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:457
1268
0
                }
1269
            }
1270
0
            Self::StoreNoOffset{opcode, args, flags} =>  {
1271
0
                Self::StoreNoOffset {
1272
0
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1273
0
                    args, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:434
1274
0
                    flags, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:457
1275
0
                }
1276
            }
1277
481k
            Self::Ternary{opcode, args} =>  {
1278
481k
                Self::Ternary {
1279
481k
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1280
481k
                    args, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:434
1281
481k
                }
1282
            }
1283
352
            Self::TernaryImm8{opcode, args, imm} =>  {
1284
352
                Self::TernaryImm8 {
1285
352
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1286
352
                    args, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:434
1287
352
                    imm, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:457
1288
352
                }
1289
            }
1290
0
            Self::Trap{opcode, code} =>  {
1291
0
                Self::Trap {
1292
0
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1293
0
                    code, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:457
1294
0
                }
1295
            }
1296
0
            Self::TryCall{opcode, ref args, func_ref, exception} =>  {
1297
0
                Self::TryCall {
1298
0
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1299
0
                    args: args.deep_clone(pool), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:430
1300
0
                    func_ref, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:457
1301
0
                    exception, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:457
1302
0
                }
1303
            }
1304
0
            Self::TryCallIndirect{opcode, ref args, exception} =>  {
1305
0
                Self::TryCallIndirect {
1306
0
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1307
0
                    args: args.deep_clone(pool), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:430
1308
0
                    exception, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:457
1309
0
                }
1310
            }
1311
102k
            Self::Unary{opcode, arg} =>  {
1312
102k
                Self::Unary {
1313
102k
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1314
102k
                    arg, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:432
1315
102k
                }
1316
            }
1317
2.59k
            Self::UnaryConst{opcode, constant_handle} =>  {
1318
2.59k
                Self::UnaryConst {
1319
2.59k
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1320
2.59k
                    constant_handle, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:457
1321
2.59k
                }
1322
            }
1323
0
            Self::UnaryGlobalValue{opcode, global_value} =>  {
1324
0
                Self::UnaryGlobalValue {
1325
0
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1326
0
                    global_value, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:457
1327
0
                }
1328
            }
1329
0
            Self::UnaryIeee16{opcode, imm} =>  {
1330
0
                Self::UnaryIeee16 {
1331
0
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1332
0
                    imm, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:457
1333
0
                }
1334
            }
1335
56.4k
            Self::UnaryIeee32{opcode, imm} =>  {
1336
56.4k
                Self::UnaryIeee32 {
1337
56.4k
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1338
56.4k
                    imm, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:457
1339
56.4k
                }
1340
            }
1341
80.2k
            Self::UnaryIeee64{opcode, imm} =>  {
1342
80.2k
                Self::UnaryIeee64 {
1343
80.2k
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1344
80.2k
                    imm, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:457
1345
80.2k
                }
1346
            }
1347
6.07M
            Self::UnaryImm{opcode, imm} =>  {
1348
6.07M
                Self::UnaryImm {
1349
6.07M
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:427
1350
6.07M
                    imm, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:457
1351
6.07M
                }
1352
            }
1353
        }
1354
11.2M
    }
1355
    /// Map some functions, described by the given `InstructionMapper`, over each of the
1356
    /// entities within this instruction, producing a new `InstructionData`.
1357
17.0M
    pub fn map(&self, mut mapper: impl crate::ir::instructions::InstructionMapper) -> Self {
1358
17.0M
        match *self {
1359
0
            Self::AtomicCas{opcode, args, flags} =>  {
1360
0
                Self::AtomicCas {
1361
0
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1362
0
                    args: [mapper.map_value(args[0]), mapper.map_value(args[1]), mapper.map_value(args[2])], // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:518
1363
0
                    flags: mapper.map_mem_flags(flags), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:563
1364
0
                }
1365
            }
1366
0
            Self::AtomicRmw{opcode, args, flags, op} =>  {
1367
0
                Self::AtomicRmw {
1368
0
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1369
0
                    args: [mapper.map_value(args[0]), mapper.map_value(args[1])], // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:518
1370
0
                    flags: mapper.map_mem_flags(flags), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:563
1371
0
                    op, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:567
1372
0
                }
1373
            }
1374
1.86M
            Self::Binary{opcode, args} =>  {
1375
1.86M
                Self::Binary {
1376
1.86M
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1377
1.86M
                    args: [mapper.map_value(args[0]), mapper.map_value(args[1])], // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:518
1378
1.86M
                }
1379
            }
1380
209
            Self::BinaryImm8{opcode, arg, imm} =>  {
1381
209
                Self::BinaryImm8 {
1382
209
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1383
209
                    arg: mapper.map_value(arg), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:512
1384
209
                    imm, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:567
1385
209
                }
1386
            }
1387
1.85k
            Self::BranchTable{opcode, arg, table} =>  {
1388
1.85k
                Self::BranchTable {
1389
1.85k
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1390
1.85k
                    arg: mapper.map_value(arg), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:512
1391
1.85k
                    table: mapper.map_jump_table(table), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:555
1392
1.85k
                }
1393
            }
1394
937k
            Self::Brif{opcode, arg, blocks} =>  {
1395
937k
                Self::Brif {
1396
937k
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1397
937k
                    arg: mapper.map_value(arg), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:512
1398
937k
                    blocks: [mapper.map_block_call(blocks[0]), mapper.map_block_call(blocks[1])], // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:527
1399
937k
                }
1400
            }
1401
960k
            Self::Call{opcode, args, func_ref} =>  {
1402
960k
                Self::Call {
1403
960k
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1404
960k
                    args: mapper.map_value_list(args), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:510
1405
960k
                    func_ref: mapper.map_func_ref(func_ref), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:555
1406
960k
                }
1407
            }
1408
37.2k
            Self::CallIndirect{opcode, args, sig_ref} =>  {
1409
37.2k
                Self::CallIndirect {
1410
37.2k
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1411
37.2k
                    args: mapper.map_value_list(args), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:510
1412
37.2k
                    sig_ref: mapper.map_sig_ref(sig_ref), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:555
1413
37.2k
                }
1414
            }
1415
28.0k
            Self::CondTrap{opcode, arg, code} =>  {
1416
28.0k
                Self::CondTrap {
1417
28.0k
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1418
28.0k
                    arg: mapper.map_value(arg), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:512
1419
28.0k
                    code, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:567
1420
28.0k
                }
1421
            }
1422
0
            Self::DynamicStackAddr{opcode, dynamic_stack_slot} =>  {
1423
0
                Self::DynamicStackAddr {
1424
0
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1425
0
                    dynamic_stack_slot: mapper.map_dynamic_stack_slot(dynamic_stack_slot), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:555
1426
0
                }
1427
            }
1428
0
            Self::ExceptionHandlerAddress{opcode, block, imm} =>  {
1429
0
                Self::ExceptionHandlerAddress {
1430
0
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1431
0
                    block: mapper.map_block(block), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:535
1432
0
                    imm, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:567
1433
0
                }
1434
            }
1435
645
            Self::FloatCompare{opcode, args, cond} =>  {
1436
645
                Self::FloatCompare {
1437
645
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1438
645
                    args: [mapper.map_value(args[0]), mapper.map_value(args[1])], // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:518
1439
645
                    cond, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:567
1440
645
                }
1441
            }
1442
0
            Self::FuncAddr{opcode, func_ref} =>  {
1443
0
                Self::FuncAddr {
1444
0
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1445
0
                    func_ref: mapper.map_func_ref(func_ref), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:555
1446
0
                }
1447
            }
1448
88.3k
            Self::IntAddTrap{opcode, args, code} =>  {
1449
88.3k
                Self::IntAddTrap {
1450
88.3k
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1451
88.3k
                    args: [mapper.map_value(args[0]), mapper.map_value(args[1])], // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:518
1452
88.3k
                    code, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:567
1453
88.3k
                }
1454
            }
1455
1.00M
            Self::IntCompare{opcode, args, cond} =>  {
1456
1.00M
                Self::IntCompare {
1457
1.00M
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1458
1.00M
                    args: [mapper.map_value(args[0]), mapper.map_value(args[1])], // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:518
1459
1.00M
                    cond, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:567
1460
1.00M
                }
1461
            }
1462
1.47M
            Self::Jump{opcode, destination} =>  {
1463
1.47M
                Self::Jump {
1464
1.47M
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1465
1.47M
                    destination: mapper.map_block_call(destination), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:524
1466
1.47M
                }
1467
            }
1468
4.65M
            Self::Load{opcode, arg, flags, offset} =>  {
1469
4.65M
                Self::Load {
1470
4.65M
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1471
4.65M
                    arg: mapper.map_value(arg), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:512
1472
4.65M
                    flags: mapper.map_mem_flags(flags), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:563
1473
4.65M
                    offset, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:567
1474
4.65M
                }
1475
            }
1476
3.15k
            Self::LoadNoOffset{opcode, arg, flags} =>  {
1477
3.15k
                Self::LoadNoOffset {
1478
3.15k
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1479
3.15k
                    arg: mapper.map_value(arg), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:512
1480
3.15k
                    flags: mapper.map_mem_flags(flags), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:563
1481
3.15k
                }
1482
            }
1483
82.6k
            Self::MultiAry{opcode, args} =>  {
1484
82.6k
                Self::MultiAry {
1485
82.6k
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1486
82.6k
                    args: mapper.map_value_list(args), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:510
1487
82.6k
                }
1488
            }
1489
140k
            Self::NullAry{opcode} =>  {
1490
140k
                Self::NullAry {
1491
140k
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1492
140k
                }
1493
            }
1494
0
            Self::Shuffle{opcode, args, imm} =>  {
1495
0
                Self::Shuffle {
1496
0
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1497
0
                    args: [mapper.map_value(args[0]), mapper.map_value(args[1])], // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:518
1498
0
                    imm: mapper.map_immediate(imm), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:555
1499
0
                }
1500
            }
1501
2.87k
            Self::StackAddr{opcode, stack_slot, offset} =>  {
1502
2.87k
                Self::StackAddr {
1503
2.87k
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1504
2.87k
                    stack_slot: mapper.map_stack_slot(stack_slot), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:555
1505
2.87k
                    offset, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:567
1506
2.87k
                }
1507
            }
1508
1.21M
            Self::Store{opcode, args, flags, offset} =>  {
1509
1.21M
                Self::Store {
1510
1.21M
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1511
1.21M
                    args: [mapper.map_value(args[0]), mapper.map_value(args[1])], // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:518
1512
1.21M
                    flags: mapper.map_mem_flags(flags), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:563
1513
1.21M
                    offset, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:567
1514
1.21M
                }
1515
            }
1516
0
            Self::StoreNoOffset{opcode, args, flags} =>  {
1517
0
                Self::StoreNoOffset {
1518
0
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1519
0
                    args: [mapper.map_value(args[0]), mapper.map_value(args[1])], // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:518
1520
0
                    flags: mapper.map_mem_flags(flags), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:563
1521
0
                }
1522
            }
1523
78.4k
            Self::Ternary{opcode, args} =>  {
1524
78.4k
                Self::Ternary {
1525
78.4k
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1526
78.4k
                    args: [mapper.map_value(args[0]), mapper.map_value(args[1]), mapper.map_value(args[2])], // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:518
1527
78.4k
                }
1528
            }
1529
4
            Self::TernaryImm8{opcode, args, imm} =>  {
1530
4
                Self::TernaryImm8 {
1531
4
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1532
4
                    args: [mapper.map_value(args[0]), mapper.map_value(args[1])], // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:518
1533
4
                    imm, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:567
1534
4
                }
1535
            }
1536
407k
            Self::Trap{opcode, code} =>  {
1537
407k
                Self::Trap {
1538
407k
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1539
407k
                    code, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:567
1540
407k
                }
1541
            }
1542
437k
            Self::TryCall{opcode, args, func_ref, exception} =>  {
1543
437k
                Self::TryCall {
1544
437k
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1545
437k
                    args: mapper.map_value_list(args), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:510
1546
437k
                    func_ref: mapper.map_func_ref(func_ref), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:555
1547
437k
                    exception: mapper.map_exception_table(exception), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:555
1548
437k
                }
1549
            }
1550
1.24k
            Self::TryCallIndirect{opcode, args, exception} =>  {
1551
1.24k
                Self::TryCallIndirect {
1552
1.24k
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1553
1.24k
                    args: mapper.map_value_list(args), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:510
1554
1.24k
                    exception: mapper.map_exception_table(exception), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:555
1555
1.24k
                }
1556
            }
1557
620k
            Self::Unary{opcode, arg} =>  {
1558
620k
                Self::Unary {
1559
620k
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1560
620k
                    arg: mapper.map_value(arg), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:512
1561
620k
                }
1562
            }
1563
2.02k
            Self::UnaryConst{opcode, constant_handle} =>  {
1564
2.02k
                Self::UnaryConst {
1565
2.02k
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1566
2.02k
                    constant_handle: mapper.map_constant(constant_handle), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:555
1567
2.02k
                }
1568
            }
1569
0
            Self::UnaryGlobalValue{opcode, global_value} =>  {
1570
0
                Self::UnaryGlobalValue {
1571
0
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1572
0
                    global_value: mapper.map_global_value(global_value), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:555
1573
0
                }
1574
            }
1575
0
            Self::UnaryIeee16{opcode, imm} =>  {
1576
0
                Self::UnaryIeee16 {
1577
0
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1578
0
                    imm, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:567
1579
0
                }
1580
            }
1581
34.1k
            Self::UnaryIeee32{opcode, imm} =>  {
1582
34.1k
                Self::UnaryIeee32 {
1583
34.1k
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1584
34.1k
                    imm, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:567
1585
34.1k
                }
1586
            }
1587
48.1k
            Self::UnaryIeee64{opcode, imm} =>  {
1588
48.1k
                Self::UnaryIeee64 {
1589
48.1k
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1590
48.1k
                    imm, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:567
1591
48.1k
                }
1592
            }
1593
2.91M
            Self::UnaryImm{opcode, imm} =>  {
1594
2.91M
                Self::UnaryImm {
1595
2.91M
                    opcode, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:507
1596
2.91M
                    imm, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:567
1597
2.91M
                }
1598
            }
1599
        }
1600
17.0M
    }
1601
}
1602
1603
/// An instruction opcode.
1604
///
1605
/// All instructions from all supported ISAs are present.
1606
#[repr(u8)]
1607
#[derive(Copy, Clone, PartialEq, Eq, Debug, Hash)]
1608
#[cfg_attr(
1609
            feature = "enable-serde",
1610
            derive(serde_derive::Serialize, serde_derive::Deserialize)
1611
        )]
1612
pub enum Opcode {
1613
    /// `jump block_call`. (Jump)
1614
    Jump = 1, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:638
1615
    /// `brif c, block_then, block_else`. (Brif)
1616
    /// Type inferred from `c`.
1617
    Brif, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1618
    /// `br_table x, JT`. (BranchTable)
1619
    BrTable, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1620
    /// `debugtrap`. (NullAry)
1621
    Debugtrap, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1622
    /// `trap code`. (Trap)
1623
    Trap, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1624
    /// `trapz c, code`. (CondTrap)
1625
    /// Type inferred from `c`.
1626
    Trapz, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1627
    /// `trapnz c, code`. (CondTrap)
1628
    /// Type inferred from `c`.
1629
    Trapnz, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1630
    /// `return rvals`. (MultiAry)
1631
    Return, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1632
    /// `rvals = call FN, args`. (Call)
1633
    Call, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1634
    /// `rvals = call_indirect SIG, callee, args`. (CallIndirect)
1635
    /// Type inferred from `callee`.
1636
    CallIndirect, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1637
    /// `return_call FN, args`. (Call)
1638
    ReturnCall, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1639
    /// `return_call_indirect SIG, callee, args`. (CallIndirect)
1640
    /// Type inferred from `callee`.
1641
    ReturnCallIndirect, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1642
    /// `addr = func_addr FN`. (FuncAddr)
1643
    FuncAddr, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1644
    /// `try_call callee, args, ET`. (TryCall)
1645
    TryCall, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1646
    /// `try_call_indirect callee, args, ET`. (TryCallIndirect)
1647
    /// Type inferred from `callee`.
1648
    TryCallIndirect, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1649
    /// `a = splat x`. (Unary)
1650
    Splat, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1651
    /// `a = swizzle x, y`. (Binary)
1652
    Swizzle, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1653
    /// `a = x86_pshufb x, y`. (Binary)
1654
    X86Pshufb, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1655
    /// `a = insertlane x, y, Idx`. (TernaryImm8)
1656
    /// Type inferred from `x`.
1657
    Insertlane, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1658
    /// `a = extractlane x, Idx`. (BinaryImm8)
1659
    /// Type inferred from `x`.
1660
    Extractlane, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1661
    /// `a = smin x, y`. (Binary)
1662
    /// Type inferred from `x`.
1663
    Smin, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1664
    /// `a = umin x, y`. (Binary)
1665
    /// Type inferred from `x`.
1666
    Umin, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1667
    /// `a = smax x, y`. (Binary)
1668
    /// Type inferred from `x`.
1669
    Smax, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1670
    /// `a = umax x, y`. (Binary)
1671
    /// Type inferred from `x`.
1672
    Umax, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1673
    /// `a = avg_round x, y`. (Binary)
1674
    /// Type inferred from `x`.
1675
    AvgRound, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1676
    /// `a = uadd_sat x, y`. (Binary)
1677
    /// Type inferred from `x`.
1678
    UaddSat, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1679
    /// `a = sadd_sat x, y`. (Binary)
1680
    /// Type inferred from `x`.
1681
    SaddSat, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1682
    /// `a = usub_sat x, y`. (Binary)
1683
    /// Type inferred from `x`.
1684
    UsubSat, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1685
    /// `a = ssub_sat x, y`. (Binary)
1686
    /// Type inferred from `x`.
1687
    SsubSat, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1688
    /// `a = load MemFlags, p, Offset`. (Load)
1689
    Load, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1690
    /// `store MemFlags, x, p, Offset`. (Store)
1691
    /// Type inferred from `x`.
1692
    Store, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1693
    /// `a = uload8 MemFlags, p, Offset`. (Load)
1694
    Uload8, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1695
    /// `a = sload8 MemFlags, p, Offset`. (Load)
1696
    Sload8, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1697
    /// `istore8 MemFlags, x, p, Offset`. (Store)
1698
    /// Type inferred from `x`.
1699
    Istore8, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1700
    /// `a = uload16 MemFlags, p, Offset`. (Load)
1701
    Uload16, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1702
    /// `a = sload16 MemFlags, p, Offset`. (Load)
1703
    Sload16, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1704
    /// `istore16 MemFlags, x, p, Offset`. (Store)
1705
    /// Type inferred from `x`.
1706
    Istore16, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1707
    /// `a = uload32 MemFlags, p, Offset`. (Load)
1708
    /// Type inferred from `p`.
1709
    Uload32, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1710
    /// `a = sload32 MemFlags, p, Offset`. (Load)
1711
    /// Type inferred from `p`.
1712
    Sload32, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1713
    /// `istore32 MemFlags, x, p, Offset`. (Store)
1714
    /// Type inferred from `x`.
1715
    Istore32, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1716
    /// `out_payload0 = stack_switch store_context_ptr, load_context_ptr, in_payload0`. (Ternary)
1717
    /// Type inferred from `load_context_ptr`.
1718
    StackSwitch, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1719
    /// `a = uload8x8 MemFlags, p, Offset`. (Load)
1720
    /// Type inferred from `p`.
1721
    Uload8x8, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1722
    /// `a = sload8x8 MemFlags, p, Offset`. (Load)
1723
    /// Type inferred from `p`.
1724
    Sload8x8, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1725
    /// `a = uload16x4 MemFlags, p, Offset`. (Load)
1726
    /// Type inferred from `p`.
1727
    Uload16x4, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1728
    /// `a = sload16x4 MemFlags, p, Offset`. (Load)
1729
    /// Type inferred from `p`.
1730
    Sload16x4, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1731
    /// `a = uload32x2 MemFlags, p, Offset`. (Load)
1732
    /// Type inferred from `p`.
1733
    Uload32x2, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1734
    /// `a = sload32x2 MemFlags, p, Offset`. (Load)
1735
    /// Type inferred from `p`.
1736
    Sload32x2, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1737
    /// `addr = stack_addr SS, Offset`. (StackAddr)
1738
    StackAddr, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1739
    /// `addr = dynamic_stack_addr DSS`. (DynamicStackAddr)
1740
    DynamicStackAddr, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1741
    /// `a = symbol_value GV`. (UnaryGlobalValue)
1742
    SymbolValue, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1743
    /// `a = tls_value GV`. (UnaryGlobalValue)
1744
    TlsValue, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1745
    /// `addr = get_pinned_reg`. (NullAry)
1746
    GetPinnedReg, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1747
    /// `set_pinned_reg addr`. (Unary)
1748
    /// Type inferred from `addr`.
1749
    SetPinnedReg, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1750
    /// `addr = get_frame_pointer`. (NullAry)
1751
    GetFramePointer, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1752
    /// `addr = get_stack_pointer`. (NullAry)
1753
    GetStackPointer, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1754
    /// `addr = get_return_address`. (NullAry)
1755
    GetReturnAddress, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1756
    /// `addr = get_exception_handler_address block, index`. (ExceptionHandlerAddress)
1757
    GetExceptionHandlerAddress, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1758
    /// `a = iconst N`. (UnaryImm)
1759
    Iconst, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1760
    /// `a = f16const N`. (UnaryIeee16)
1761
    F16const, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1762
    /// `a = f32const N`. (UnaryIeee32)
1763
    F32const, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1764
    /// `a = f64const N`. (UnaryIeee64)
1765
    F64const, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1766
    /// `a = f128const N`. (UnaryConst)
1767
    F128const, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1768
    /// `a = vconst N`. (UnaryConst)
1769
    Vconst, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1770
    /// `a = shuffle a, b, mask`. (Shuffle)
1771
    Shuffle, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1772
    /// `nop`. (NullAry)
1773
    Nop, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1774
    /// `a = select c, x, y`. (Ternary)
1775
    /// Type inferred from `x`.
1776
    Select, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1777
    /// `a = select_spectre_guard c, x, y`. (Ternary)
1778
    /// Type inferred from `x`.
1779
    SelectSpectreGuard, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1780
    /// `a = bitselect c, x, y`. (Ternary)
1781
    /// Type inferred from `x`.
1782
    Bitselect, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1783
    /// `a = blendv c, x, y`. (Ternary)
1784
    /// Type inferred from `x`.
1785
    Blendv, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1786
    /// `s = vany_true a`. (Unary)
1787
    /// Type inferred from `a`.
1788
    VanyTrue, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1789
    /// `s = vall_true a`. (Unary)
1790
    /// Type inferred from `a`.
1791
    VallTrue, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1792
    /// `x = vhigh_bits a`. (Unary)
1793
    VhighBits, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1794
    /// `a = icmp Cond, x, y`. (IntCompare)
1795
    /// Type inferred from `x`.
1796
    Icmp, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1797
    /// `a = iadd x, y`. (Binary)
1798
    /// Type inferred from `x`.
1799
    Iadd, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1800
    /// `a = isub x, y`. (Binary)
1801
    /// Type inferred from `x`.
1802
    Isub, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1803
    /// `a = ineg x`. (Unary)
1804
    /// Type inferred from `x`.
1805
    Ineg, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1806
    /// `a = iabs x`. (Unary)
1807
    /// Type inferred from `x`.
1808
    Iabs, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1809
    /// `a = imul x, y`. (Binary)
1810
    /// Type inferred from `x`.
1811
    Imul, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1812
    /// `a = umulhi x, y`. (Binary)
1813
    /// Type inferred from `x`.
1814
    Umulhi, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1815
    /// `a = smulhi x, y`. (Binary)
1816
    /// Type inferred from `x`.
1817
    Smulhi, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1818
    /// `a = sqmul_round_sat x, y`. (Binary)
1819
    /// Type inferred from `x`.
1820
    SqmulRoundSat, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1821
    /// `a = x86_pmulhrsw x, y`. (Binary)
1822
    /// Type inferred from `x`.
1823
    X86Pmulhrsw, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1824
    /// `a = udiv x, y`. (Binary)
1825
    /// Type inferred from `x`.
1826
    Udiv, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1827
    /// `a = sdiv x, y`. (Binary)
1828
    /// Type inferred from `x`.
1829
    Sdiv, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1830
    /// `a = urem x, y`. (Binary)
1831
    /// Type inferred from `x`.
1832
    Urem, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1833
    /// `a = srem x, y`. (Binary)
1834
    /// Type inferred from `x`.
1835
    Srem, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1836
    /// `a, c_out = sadd_overflow_cin x, y, c_in`. (Ternary)
1837
    /// Type inferred from `y`.
1838
    SaddOverflowCin, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1839
    /// `a, c_out = uadd_overflow_cin x, y, c_in`. (Ternary)
1840
    /// Type inferred from `y`.
1841
    UaddOverflowCin, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1842
    /// `a, of = uadd_overflow x, y`. (Binary)
1843
    /// Type inferred from `x`.
1844
    UaddOverflow, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1845
    /// `a, of = sadd_overflow x, y`. (Binary)
1846
    /// Type inferred from `x`.
1847
    SaddOverflow, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1848
    /// `a, of = usub_overflow x, y`. (Binary)
1849
    /// Type inferred from `x`.
1850
    UsubOverflow, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1851
    /// `a, of = ssub_overflow x, y`. (Binary)
1852
    /// Type inferred from `x`.
1853
    SsubOverflow, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1854
    /// `a, of = umul_overflow x, y`. (Binary)
1855
    /// Type inferred from `x`.
1856
    UmulOverflow, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1857
    /// `a, of = smul_overflow x, y`. (Binary)
1858
    /// Type inferred from `x`.
1859
    SmulOverflow, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1860
    /// `a = uadd_overflow_trap x, y, code`. (IntAddTrap)
1861
    /// Type inferred from `x`.
1862
    UaddOverflowTrap, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1863
    /// `a, b_out = ssub_overflow_bin x, y, b_in`. (Ternary)
1864
    /// Type inferred from `y`.
1865
    SsubOverflowBin, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1866
    /// `a, b_out = usub_overflow_bin x, y, b_in`. (Ternary)
1867
    /// Type inferred from `y`.
1868
    UsubOverflowBin, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1869
    /// `a = band x, y`. (Binary)
1870
    /// Type inferred from `x`.
1871
    Band, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1872
    /// `a = bor x, y`. (Binary)
1873
    /// Type inferred from `x`.
1874
    Bor, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1875
    /// `a = bxor x, y`. (Binary)
1876
    /// Type inferred from `x`.
1877
    Bxor, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1878
    /// `a = bnot x`. (Unary)
1879
    /// Type inferred from `x`.
1880
    Bnot, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1881
    /// `a = rotl x, y`. (Binary)
1882
    /// Type inferred from `x`.
1883
    Rotl, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1884
    /// `a = rotr x, y`. (Binary)
1885
    /// Type inferred from `x`.
1886
    Rotr, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1887
    /// `a = ishl x, y`. (Binary)
1888
    /// Type inferred from `x`.
1889
    Ishl, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1890
    /// `a = ushr x, y`. (Binary)
1891
    /// Type inferred from `x`.
1892
    Ushr, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1893
    /// `a = sshr x, y`. (Binary)
1894
    /// Type inferred from `x`.
1895
    Sshr, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1896
    /// `a = bitrev x`. (Unary)
1897
    /// Type inferred from `x`.
1898
    Bitrev, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1899
    /// `a = clz x`. (Unary)
1900
    /// Type inferred from `x`.
1901
    Clz, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1902
    /// `a = cls x`. (Unary)
1903
    /// Type inferred from `x`.
1904
    Cls, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1905
    /// `a = ctz x`. (Unary)
1906
    /// Type inferred from `x`.
1907
    Ctz, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1908
    /// `a = bswap x`. (Unary)
1909
    /// Type inferred from `x`.
1910
    Bswap, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1911
    /// `a = popcnt x`. (Unary)
1912
    /// Type inferred from `x`.
1913
    Popcnt, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1914
    /// `a = fcmp Cond, x, y`. (FloatCompare)
1915
    /// Type inferred from `x`.
1916
    Fcmp, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1917
    /// `a = fadd x, y`. (Binary)
1918
    /// Type inferred from `x`.
1919
    Fadd, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1920
    /// `a = fsub x, y`. (Binary)
1921
    /// Type inferred from `x`.
1922
    Fsub, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1923
    /// `a = fmul x, y`. (Binary)
1924
    /// Type inferred from `x`.
1925
    Fmul, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1926
    /// `a = fdiv x, y`. (Binary)
1927
    /// Type inferred from `x`.
1928
    Fdiv, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1929
    /// `a = sqrt x`. (Unary)
1930
    /// Type inferred from `x`.
1931
    Sqrt, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1932
    /// `a = fma x, y, z`. (Ternary)
1933
    /// Type inferred from `y`.
1934
    Fma, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1935
    /// `a = fneg x`. (Unary)
1936
    /// Type inferred from `x`.
1937
    Fneg, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1938
    /// `a = fabs x`. (Unary)
1939
    /// Type inferred from `x`.
1940
    Fabs, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1941
    /// `a = fcopysign x, y`. (Binary)
1942
    /// Type inferred from `x`.
1943
    Fcopysign, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1944
    /// `a = fmin x, y`. (Binary)
1945
    /// Type inferred from `x`.
1946
    Fmin, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1947
    /// `a = fmax x, y`. (Binary)
1948
    /// Type inferred from `x`.
1949
    Fmax, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1950
    /// `a = ceil x`. (Unary)
1951
    /// Type inferred from `x`.
1952
    Ceil, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1953
    /// `a = floor x`. (Unary)
1954
    /// Type inferred from `x`.
1955
    Floor, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1956
    /// `a = trunc x`. (Unary)
1957
    /// Type inferred from `x`.
1958
    Trunc, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1959
    /// `a = nearest x`. (Unary)
1960
    /// Type inferred from `x`.
1961
    Nearest, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1962
    /// `a = bitcast MemFlags, x`. (LoadNoOffset)
1963
    Bitcast, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1964
    /// `a = scalar_to_vector s`. (Unary)
1965
    ScalarToVector, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1966
    /// `a = bmask x`. (Unary)
1967
    Bmask, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1968
    /// `a = ireduce x`. (Unary)
1969
    Ireduce, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1970
    /// `a = snarrow x, y`. (Binary)
1971
    /// Type inferred from `x`.
1972
    Snarrow, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1973
    /// `a = unarrow x, y`. (Binary)
1974
    /// Type inferred from `x`.
1975
    Unarrow, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1976
    /// `a = uunarrow x, y`. (Binary)
1977
    /// Type inferred from `x`.
1978
    Uunarrow, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1979
    /// `a = swiden_low x`. (Unary)
1980
    /// Type inferred from `x`.
1981
    SwidenLow, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1982
    /// `a = swiden_high x`. (Unary)
1983
    /// Type inferred from `x`.
1984
    SwidenHigh, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1985
    /// `a = uwiden_low x`. (Unary)
1986
    /// Type inferred from `x`.
1987
    UwidenLow, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1988
    /// `a = uwiden_high x`. (Unary)
1989
    /// Type inferred from `x`.
1990
    UwidenHigh, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1991
    /// `a = iadd_pairwise x, y`. (Binary)
1992
    /// Type inferred from `x`.
1993
    IaddPairwise, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1994
    /// `a = x86_pmaddubsw x, y`. (Binary)
1995
    X86Pmaddubsw, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1996
    /// `a = uextend x`. (Unary)
1997
    Uextend, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
1998
    /// `a = sextend x`. (Unary)
1999
    Sextend, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
2000
    /// `a = fpromote x`. (Unary)
2001
    Fpromote, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
2002
    /// `a = fdemote x`. (Unary)
2003
    Fdemote, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
2004
    /// `a = fvdemote x`. (Unary)
2005
    Fvdemote, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
2006
    /// `x = fvpromote_low a`. (Unary)
2007
    FvpromoteLow, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
2008
    /// `a = fcvt_to_uint x`. (Unary)
2009
    FcvtToUint, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
2010
    /// `a = fcvt_to_sint x`. (Unary)
2011
    FcvtToSint, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
2012
    /// `a = fcvt_to_uint_sat x`. (Unary)
2013
    FcvtToUintSat, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
2014
    /// `a = fcvt_to_sint_sat x`. (Unary)
2015
    FcvtToSintSat, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
2016
    /// `a = x86_cvtt2dq x`. (Unary)
2017
    X86Cvtt2dq, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
2018
    /// `a = fcvt_from_uint x`. (Unary)
2019
    FcvtFromUint, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
2020
    /// `a = fcvt_from_sint x`. (Unary)
2021
    FcvtFromSint, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
2022
    /// `lo, hi = isplit x`. (Unary)
2023
    /// Type inferred from `x`.
2024
    Isplit, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
2025
    /// `a = iconcat lo, hi`. (Binary)
2026
    /// Type inferred from `lo`.
2027
    Iconcat, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
2028
    /// `a = atomic_rmw MemFlags, AtomicRmwOp, p, x`. (AtomicRmw)
2029
    AtomicRmw, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
2030
    /// `a = atomic_cas MemFlags, p, e, x`. (AtomicCas)
2031
    /// Type inferred from `x`.
2032
    AtomicCas, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
2033
    /// `a = atomic_load MemFlags, p`. (LoadNoOffset)
2034
    AtomicLoad, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
2035
    /// `atomic_store MemFlags, x, p`. (StoreNoOffset)
2036
    /// Type inferred from `x`.
2037
    AtomicStore, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
2038
    /// `fence`. (NullAry)
2039
    Fence, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
2040
    /// `a = extract_vector x, y`. (BinaryImm8)
2041
    /// Type inferred from `x`.
2042
    ExtractVector, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
2043
    /// `sequence_point`. (NullAry)
2044
    SequencePoint, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:641
2045
}
2046
2047
impl Opcode {
2048
    /// True for instructions that terminate the block
2049
563M
    pub fn is_terminator(self) -> bool {
2050
563M
        match self {
2051
            Self::BrTable |
2052
            Self::Brif |
2053
            Self::Jump |
2054
            Self::Return |
2055
            Self::ReturnCall |
2056
            Self::ReturnCallIndirect |
2057
            Self::Trap |
2058
            Self::TryCall |
2059
            Self::TryCallIndirect => {
2060
65.1M
                true
2061
            }
2062
            _ => {
2063
498M
                false
2064
            }
2065
        }
2066
563M
    }
2067
2068
    /// True for all branch or jump instructions.
2069
776M
    pub fn is_branch(self) -> bool {
2070
776M
        match self {
2071
            Self::BrTable |
2072
            Self::Brif |
2073
            Self::Jump |
2074
            Self::TryCall |
2075
            Self::TryCallIndirect => {
2076
89.5M
                true
2077
            }
2078
            _ => {
2079
686M
                false
2080
            }
2081
        }
2082
776M
    }
2083
2084
    /// Is this a call instruction?
2085
562M
    pub fn is_call(self) -> bool {
2086
562M
        match self {
2087
            Self::Call |
2088
            Self::CallIndirect |
2089
            Self::ReturnCall |
2090
            Self::ReturnCallIndirect |
2091
            Self::StackSwitch |
2092
            Self::TryCall |
2093
            Self::TryCallIndirect => {
2094
41.4M
                true
2095
            }
2096
            _ => {
2097
521M
                false
2098
            }
2099
        }
2100
562M
    }
2101
2102
    /// Is this a return instruction?
2103
379M
    pub fn is_return(self) -> bool {
2104
379M
        match self {
2105
            Self::Return |
2106
            Self::ReturnCall |
2107
            Self::ReturnCallIndirect => {
2108
84.0k
                true
2109
            }
2110
            _ => {
2111
379M
                false
2112
            }
2113
        }
2114
379M
    }
2115
2116
    /// Can this instruction read from memory?
2117
703M
    pub fn can_load(self) -> bool {
2118
703M
        match self {
2119
            Self::AtomicCas |
2120
            Self::AtomicLoad |
2121
            Self::AtomicRmw |
2122
            Self::Debugtrap |
2123
            Self::Load |
2124
            Self::Sload16 |
2125
            Self::Sload16x4 |
2126
            Self::Sload32 |
2127
            Self::Sload32x2 |
2128
            Self::Sload8 |
2129
            Self::Sload8x8 |
2130
            Self::StackSwitch |
2131
            Self::Uload16 |
2132
            Self::Uload16x4 |
2133
            Self::Uload32 |
2134
            Self::Uload32x2 |
2135
            Self::Uload8 |
2136
            Self::Uload8x8 => {
2137
213M
                true
2138
            }
2139
            _ => {
2140
490M
                false
2141
            }
2142
        }
2143
703M
    }
2144
2145
    /// Can this instruction write to memory?
2146
650M
    pub fn can_store(self) -> bool {
2147
650M
        match self {
2148
            Self::AtomicCas |
2149
            Self::AtomicRmw |
2150
            Self::AtomicStore |
2151
            Self::Debugtrap |
2152
            Self::Istore16 |
2153
            Self::Istore32 |
2154
            Self::Istore8 |
2155
            Self::StackSwitch |
2156
            Self::Store => {
2157
82.6M
                true
2158
            }
2159
            _ => {
2160
567M
                false
2161
            }
2162
        }
2163
650M
    }
2164
2165
    /// Can this instruction cause a trap?
2166
603M
    pub fn can_trap(self) -> bool {
2167
603M
        match self {
2168
            Self::FcvtToSint |
2169
            Self::FcvtToUint |
2170
            Self::Sdiv |
2171
            Self::Srem |
2172
            Self::Trap |
2173
            Self::Trapnz |
2174
            Self::Trapz |
2175
            Self::UaddOverflowTrap |
2176
            Self::Udiv |
2177
            Self::Urem => {
2178
13.2M
                true
2179
            }
2180
            _ => {
2181
590M
                false
2182
            }
2183
        }
2184
603M
    }
2185
2186
    /// Does this instruction have other side effects besides can_* flags?
2187
409M
    pub fn other_side_effects(self) -> bool {
2188
409M
        match self {
2189
            Self::AtomicCas |
2190
            Self::AtomicLoad |
2191
            Self::AtomicRmw |
2192
            Self::AtomicStore |
2193
            Self::Debugtrap |
2194
            Self::Fence |
2195
            Self::GetPinnedReg |
2196
            Self::SequencePoint |
2197
            Self::SetPinnedReg |
2198
            Self::StackSwitch => {
2199
104k
                true
2200
            }
2201
            _ => {
2202
409M
                false
2203
            }
2204
        }
2205
409M
    }
2206
2207
    /// Despite having side effects, is this instruction okay to GVN?
2208
21.1M
    pub fn side_effects_idempotent(self) -> bool {
2209
21.1M
        match self {
2210
            Self::FcvtToSint |
2211
            Self::FcvtToUint |
2212
            Self::Sdiv |
2213
            Self::Srem |
2214
            Self::Trapnz |
2215
            Self::Trapz |
2216
            Self::UaddOverflowTrap |
2217
            Self::Udiv |
2218
            Self::Urem => {
2219
899k
                true
2220
            }
2221
            _ => {
2222
20.2M
                false
2223
            }
2224
        }
2225
21.1M
    }
2226
2227
    /// All cranelift opcodes.
2228
2
    pub fn all() -> &'static [Opcode] {
2229
2
        return &[
2230
2
            Opcode::Jump, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2231
2
            Opcode::Brif, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2232
2
            Opcode::BrTable, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2233
2
            Opcode::Debugtrap, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2234
2
            Opcode::Trap, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2235
2
            Opcode::Trapz, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2236
2
            Opcode::Trapnz, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2237
2
            Opcode::Return, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2238
2
            Opcode::Call, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2239
2
            Opcode::CallIndirect, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2240
2
            Opcode::ReturnCall, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2241
2
            Opcode::ReturnCallIndirect, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2242
2
            Opcode::FuncAddr, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2243
2
            Opcode::TryCall, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2244
2
            Opcode::TryCallIndirect, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2245
2
            Opcode::Splat, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2246
2
            Opcode::Swizzle, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2247
2
            Opcode::X86Pshufb, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2248
2
            Opcode::Insertlane, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2249
2
            Opcode::Extractlane, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2250
2
            Opcode::Smin, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2251
2
            Opcode::Umin, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2252
2
            Opcode::Smax, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2253
2
            Opcode::Umax, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2254
2
            Opcode::AvgRound, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2255
2
            Opcode::UaddSat, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2256
2
            Opcode::SaddSat, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2257
2
            Opcode::UsubSat, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2258
2
            Opcode::SsubSat, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2259
2
            Opcode::Load, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2260
2
            Opcode::Store, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2261
2
            Opcode::Uload8, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2262
2
            Opcode::Sload8, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2263
2
            Opcode::Istore8, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2264
2
            Opcode::Uload16, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2265
2
            Opcode::Sload16, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2266
2
            Opcode::Istore16, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2267
2
            Opcode::Uload32, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2268
2
            Opcode::Sload32, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2269
2
            Opcode::Istore32, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2270
2
            Opcode::StackSwitch, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2271
2
            Opcode::Uload8x8, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2272
2
            Opcode::Sload8x8, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2273
2
            Opcode::Uload16x4, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2274
2
            Opcode::Sload16x4, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2275
2
            Opcode::Uload32x2, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2276
2
            Opcode::Sload32x2, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2277
2
            Opcode::StackAddr, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2278
2
            Opcode::DynamicStackAddr, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2279
2
            Opcode::SymbolValue, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2280
2
            Opcode::TlsValue, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2281
2
            Opcode::GetPinnedReg, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2282
2
            Opcode::SetPinnedReg, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2283
2
            Opcode::GetFramePointer, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2284
2
            Opcode::GetStackPointer, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2285
2
            Opcode::GetReturnAddress, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2286
2
            Opcode::GetExceptionHandlerAddress, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2287
2
            Opcode::Iconst, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2288
2
            Opcode::F16const, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2289
2
            Opcode::F32const, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2290
2
            Opcode::F64const, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2291
2
            Opcode::F128const, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2292
2
            Opcode::Vconst, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2293
2
            Opcode::Shuffle, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2294
2
            Opcode::Nop, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2295
2
            Opcode::Select, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2296
2
            Opcode::SelectSpectreGuard, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2297
2
            Opcode::Bitselect, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2298
2
            Opcode::Blendv, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2299
2
            Opcode::VanyTrue, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2300
2
            Opcode::VallTrue, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2301
2
            Opcode::VhighBits, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2302
2
            Opcode::Icmp, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2303
2
            Opcode::Iadd, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2304
2
            Opcode::Isub, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2305
2
            Opcode::Ineg, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2306
2
            Opcode::Iabs, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2307
2
            Opcode::Imul, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2308
2
            Opcode::Umulhi, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2309
2
            Opcode::Smulhi, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2310
2
            Opcode::SqmulRoundSat, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2311
2
            Opcode::X86Pmulhrsw, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2312
2
            Opcode::Udiv, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2313
2
            Opcode::Sdiv, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2314
2
            Opcode::Urem, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2315
2
            Opcode::Srem, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2316
2
            Opcode::SaddOverflowCin, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2317
2
            Opcode::UaddOverflowCin, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2318
2
            Opcode::UaddOverflow, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2319
2
            Opcode::SaddOverflow, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2320
2
            Opcode::UsubOverflow, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2321
2
            Opcode::SsubOverflow, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2322
2
            Opcode::UmulOverflow, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2323
2
            Opcode::SmulOverflow, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2324
2
            Opcode::UaddOverflowTrap, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2325
2
            Opcode::SsubOverflowBin, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2326
2
            Opcode::UsubOverflowBin, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2327
2
            Opcode::Band, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2328
2
            Opcode::Bor, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2329
2
            Opcode::Bxor, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2330
2
            Opcode::Bnot, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2331
2
            Opcode::Rotl, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2332
2
            Opcode::Rotr, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2333
2
            Opcode::Ishl, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2334
2
            Opcode::Ushr, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2335
2
            Opcode::Sshr, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2336
2
            Opcode::Bitrev, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2337
2
            Opcode::Clz, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2338
2
            Opcode::Cls, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2339
2
            Opcode::Ctz, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2340
2
            Opcode::Bswap, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2341
2
            Opcode::Popcnt, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2342
2
            Opcode::Fcmp, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2343
2
            Opcode::Fadd, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2344
2
            Opcode::Fsub, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2345
2
            Opcode::Fmul, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2346
2
            Opcode::Fdiv, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2347
2
            Opcode::Sqrt, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2348
2
            Opcode::Fma, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2349
2
            Opcode::Fneg, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2350
2
            Opcode::Fabs, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2351
2
            Opcode::Fcopysign, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2352
2
            Opcode::Fmin, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2353
2
            Opcode::Fmax, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2354
2
            Opcode::Ceil, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2355
2
            Opcode::Floor, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2356
2
            Opcode::Trunc, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2357
2
            Opcode::Nearest, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2358
2
            Opcode::Bitcast, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2359
2
            Opcode::ScalarToVector, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2360
2
            Opcode::Bmask, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2361
2
            Opcode::Ireduce, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2362
2
            Opcode::Snarrow, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2363
2
            Opcode::Unarrow, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2364
2
            Opcode::Uunarrow, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2365
2
            Opcode::SwidenLow, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2366
2
            Opcode::SwidenHigh, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2367
2
            Opcode::UwidenLow, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2368
2
            Opcode::UwidenHigh, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2369
2
            Opcode::IaddPairwise, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2370
2
            Opcode::X86Pmaddubsw, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2371
2
            Opcode::Uextend, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2372
2
            Opcode::Sextend, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2373
2
            Opcode::Fpromote, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2374
2
            Opcode::Fdemote, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2375
2
            Opcode::Fvdemote, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2376
2
            Opcode::FvpromoteLow, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2377
2
            Opcode::FcvtToUint, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2378
2
            Opcode::FcvtToSint, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2379
2
            Opcode::FcvtToUintSat, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2380
2
            Opcode::FcvtToSintSat, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2381
2
            Opcode::X86Cvtt2dq, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2382
2
            Opcode::FcvtFromUint, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2383
2
            Opcode::FcvtFromSint, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2384
2
            Opcode::Isplit, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2385
2
            Opcode::Iconcat, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2386
2
            Opcode::AtomicRmw, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2387
2
            Opcode::AtomicCas, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2388
2
            Opcode::AtomicLoad, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2389
2
            Opcode::AtomicStore, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2390
2
            Opcode::Fence, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2391
2
            Opcode::ExtractVector, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2392
2
            Opcode::SequencePoint, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:718
2393
2
        ];
2394
2
    }
2395
2396
}
2397
2398
const OPCODE_FORMAT: [InstructionFormat; 163] = [ // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:728
2399
    InstructionFormat::Jump, // jump // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2400
    InstructionFormat::Brif, // brif // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2401
    InstructionFormat::BranchTable, // br_table // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2402
    InstructionFormat::NullAry, // debugtrap // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2403
    InstructionFormat::Trap, // trap // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2404
    InstructionFormat::CondTrap, // trapz // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2405
    InstructionFormat::CondTrap, // trapnz // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2406
    InstructionFormat::MultiAry, // return // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2407
    InstructionFormat::Call, // call // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2408
    InstructionFormat::CallIndirect, // call_indirect // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2409
    InstructionFormat::Call, // return_call // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2410
    InstructionFormat::CallIndirect, // return_call_indirect // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2411
    InstructionFormat::FuncAddr, // func_addr // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2412
    InstructionFormat::TryCall, // try_call // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2413
    InstructionFormat::TryCallIndirect, // try_call_indirect // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2414
    InstructionFormat::Unary, // splat // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2415
    InstructionFormat::Binary, // swizzle // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2416
    InstructionFormat::Binary, // x86_pshufb // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2417
    InstructionFormat::TernaryImm8, // insertlane // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2418
    InstructionFormat::BinaryImm8, // extractlane // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2419
    InstructionFormat::Binary, // smin // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2420
    InstructionFormat::Binary, // umin // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2421
    InstructionFormat::Binary, // smax // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2422
    InstructionFormat::Binary, // umax // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2423
    InstructionFormat::Binary, // avg_round // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2424
    InstructionFormat::Binary, // uadd_sat // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2425
    InstructionFormat::Binary, // sadd_sat // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2426
    InstructionFormat::Binary, // usub_sat // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2427
    InstructionFormat::Binary, // ssub_sat // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2428
    InstructionFormat::Load, // load // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2429
    InstructionFormat::Store, // store // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2430
    InstructionFormat::Load, // uload8 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2431
    InstructionFormat::Load, // sload8 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2432
    InstructionFormat::Store, // istore8 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2433
    InstructionFormat::Load, // uload16 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2434
    InstructionFormat::Load, // sload16 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2435
    InstructionFormat::Store, // istore16 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2436
    InstructionFormat::Load, // uload32 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2437
    InstructionFormat::Load, // sload32 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2438
    InstructionFormat::Store, // istore32 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2439
    InstructionFormat::Ternary, // stack_switch // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2440
    InstructionFormat::Load, // uload8x8 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2441
    InstructionFormat::Load, // sload8x8 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2442
    InstructionFormat::Load, // uload16x4 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2443
    InstructionFormat::Load, // sload16x4 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2444
    InstructionFormat::Load, // uload32x2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2445
    InstructionFormat::Load, // sload32x2 // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2446
    InstructionFormat::StackAddr, // stack_addr // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2447
    InstructionFormat::DynamicStackAddr, // dynamic_stack_addr // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2448
    InstructionFormat::UnaryGlobalValue, // symbol_value // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2449
    InstructionFormat::UnaryGlobalValue, // tls_value // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2450
    InstructionFormat::NullAry, // get_pinned_reg // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2451
    InstructionFormat::Unary, // set_pinned_reg // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2452
    InstructionFormat::NullAry, // get_frame_pointer // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2453
    InstructionFormat::NullAry, // get_stack_pointer // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2454
    InstructionFormat::NullAry, // get_return_address // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2455
    InstructionFormat::ExceptionHandlerAddress, // get_exception_handler_address // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2456
    InstructionFormat::UnaryImm, // iconst // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2457
    InstructionFormat::UnaryIeee16, // f16const // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2458
    InstructionFormat::UnaryIeee32, // f32const // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2459
    InstructionFormat::UnaryIeee64, // f64const // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2460
    InstructionFormat::UnaryConst, // f128const // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2461
    InstructionFormat::UnaryConst, // vconst // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2462
    InstructionFormat::Shuffle, // shuffle // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2463
    InstructionFormat::NullAry, // nop // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2464
    InstructionFormat::Ternary, // select // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2465
    InstructionFormat::Ternary, // select_spectre_guard // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2466
    InstructionFormat::Ternary, // bitselect // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2467
    InstructionFormat::Ternary, // blendv // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2468
    InstructionFormat::Unary, // vany_true // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2469
    InstructionFormat::Unary, // vall_true // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2470
    InstructionFormat::Unary, // vhigh_bits // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2471
    InstructionFormat::IntCompare, // icmp // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2472
    InstructionFormat::Binary, // iadd // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2473
    InstructionFormat::Binary, // isub // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2474
    InstructionFormat::Unary, // ineg // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2475
    InstructionFormat::Unary, // iabs // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2476
    InstructionFormat::Binary, // imul // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2477
    InstructionFormat::Binary, // umulhi // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2478
    InstructionFormat::Binary, // smulhi // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2479
    InstructionFormat::Binary, // sqmul_round_sat // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2480
    InstructionFormat::Binary, // x86_pmulhrsw // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2481
    InstructionFormat::Binary, // udiv // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2482
    InstructionFormat::Binary, // sdiv // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2483
    InstructionFormat::Binary, // urem // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2484
    InstructionFormat::Binary, // srem // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2485
    InstructionFormat::Ternary, // sadd_overflow_cin // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2486
    InstructionFormat::Ternary, // uadd_overflow_cin // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2487
    InstructionFormat::Binary, // uadd_overflow // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2488
    InstructionFormat::Binary, // sadd_overflow // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2489
    InstructionFormat::Binary, // usub_overflow // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2490
    InstructionFormat::Binary, // ssub_overflow // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2491
    InstructionFormat::Binary, // umul_overflow // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2492
    InstructionFormat::Binary, // smul_overflow // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2493
    InstructionFormat::IntAddTrap, // uadd_overflow_trap // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2494
    InstructionFormat::Ternary, // ssub_overflow_bin // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2495
    InstructionFormat::Ternary, // usub_overflow_bin // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2496
    InstructionFormat::Binary, // band // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2497
    InstructionFormat::Binary, // bor // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2498
    InstructionFormat::Binary, // bxor // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2499
    InstructionFormat::Unary, // bnot // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2500
    InstructionFormat::Binary, // rotl // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2501
    InstructionFormat::Binary, // rotr // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2502
    InstructionFormat::Binary, // ishl // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2503
    InstructionFormat::Binary, // ushr // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2504
    InstructionFormat::Binary, // sshr // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2505
    InstructionFormat::Unary, // bitrev // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2506
    InstructionFormat::Unary, // clz // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2507
    InstructionFormat::Unary, // cls // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2508
    InstructionFormat::Unary, // ctz // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2509
    InstructionFormat::Unary, // bswap // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2510
    InstructionFormat::Unary, // popcnt // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2511
    InstructionFormat::FloatCompare, // fcmp // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2512
    InstructionFormat::Binary, // fadd // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2513
    InstructionFormat::Binary, // fsub // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2514
    InstructionFormat::Binary, // fmul // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2515
    InstructionFormat::Binary, // fdiv // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2516
    InstructionFormat::Unary, // sqrt // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2517
    InstructionFormat::Ternary, // fma // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2518
    InstructionFormat::Unary, // fneg // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2519
    InstructionFormat::Unary, // fabs // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2520
    InstructionFormat::Binary, // fcopysign // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2521
    InstructionFormat::Binary, // fmin // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2522
    InstructionFormat::Binary, // fmax // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2523
    InstructionFormat::Unary, // ceil // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2524
    InstructionFormat::Unary, // floor // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2525
    InstructionFormat::Unary, // trunc // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2526
    InstructionFormat::Unary, // nearest // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2527
    InstructionFormat::LoadNoOffset, // bitcast // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2528
    InstructionFormat::Unary, // scalar_to_vector // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2529
    InstructionFormat::Unary, // bmask // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2530
    InstructionFormat::Unary, // ireduce // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2531
    InstructionFormat::Binary, // snarrow // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2532
    InstructionFormat::Binary, // unarrow // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2533
    InstructionFormat::Binary, // uunarrow // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2534
    InstructionFormat::Unary, // swiden_low // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2535
    InstructionFormat::Unary, // swiden_high // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2536
    InstructionFormat::Unary, // uwiden_low // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2537
    InstructionFormat::Unary, // uwiden_high // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2538
    InstructionFormat::Binary, // iadd_pairwise // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2539
    InstructionFormat::Binary, // x86_pmaddubsw // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2540
    InstructionFormat::Unary, // uextend // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2541
    InstructionFormat::Unary, // sextend // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2542
    InstructionFormat::Unary, // fpromote // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2543
    InstructionFormat::Unary, // fdemote // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2544
    InstructionFormat::Unary, // fvdemote // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2545
    InstructionFormat::Unary, // fvpromote_low // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2546
    InstructionFormat::Unary, // fcvt_to_uint // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2547
    InstructionFormat::Unary, // fcvt_to_sint // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2548
    InstructionFormat::Unary, // fcvt_to_uint_sat // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2549
    InstructionFormat::Unary, // fcvt_to_sint_sat // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2550
    InstructionFormat::Unary, // x86_cvtt2dq // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2551
    InstructionFormat::Unary, // fcvt_from_uint // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2552
    InstructionFormat::Unary, // fcvt_from_sint // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2553
    InstructionFormat::Unary, // isplit // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2554
    InstructionFormat::Binary, // iconcat // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2555
    InstructionFormat::AtomicRmw, // atomic_rmw // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2556
    InstructionFormat::AtomicCas, // atomic_cas // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2557
    InstructionFormat::LoadNoOffset, // atomic_load // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2558
    InstructionFormat::StoreNoOffset, // atomic_store // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2559
    InstructionFormat::NullAry, // fence // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2560
    InstructionFormat::BinaryImm8, // extract_vector // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2561
    InstructionFormat::NullAry, // sequence_point // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:735
2562
]; // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:743
2563
2564
0
fn opcode_name(opc: Opcode) -> &'static str {
2565
0
    match opc {
2566
        Opcode::AtomicCas => {
2567
0
            "atomic_cas"
2568
        }
2569
        Opcode::AtomicLoad => {
2570
0
            "atomic_load"
2571
        }
2572
        Opcode::AtomicRmw => {
2573
0
            "atomic_rmw"
2574
        }
2575
        Opcode::AtomicStore => {
2576
0
            "atomic_store"
2577
        }
2578
        Opcode::AvgRound => {
2579
0
            "avg_round"
2580
        }
2581
        Opcode::Band => {
2582
0
            "band"
2583
        }
2584
        Opcode::Bitcast => {
2585
0
            "bitcast"
2586
        }
2587
        Opcode::Bitrev => {
2588
0
            "bitrev"
2589
        }
2590
        Opcode::Bitselect => {
2591
0
            "bitselect"
2592
        }
2593
        Opcode::Blendv => {
2594
0
            "blendv"
2595
        }
2596
        Opcode::Bmask => {
2597
0
            "bmask"
2598
        }
2599
        Opcode::Bnot => {
2600
0
            "bnot"
2601
        }
2602
        Opcode::Bor => {
2603
0
            "bor"
2604
        }
2605
        Opcode::BrTable => {
2606
0
            "br_table"
2607
        }
2608
        Opcode::Brif => {
2609
0
            "brif"
2610
        }
2611
        Opcode::Bswap => {
2612
0
            "bswap"
2613
        }
2614
        Opcode::Bxor => {
2615
0
            "bxor"
2616
        }
2617
        Opcode::Call => {
2618
0
            "call"
2619
        }
2620
        Opcode::CallIndirect => {
2621
0
            "call_indirect"
2622
        }
2623
        Opcode::Ceil => {
2624
0
            "ceil"
2625
        }
2626
        Opcode::Cls => {
2627
0
            "cls"
2628
        }
2629
        Opcode::Clz => {
2630
0
            "clz"
2631
        }
2632
        Opcode::Ctz => {
2633
0
            "ctz"
2634
        }
2635
        Opcode::Debugtrap => {
2636
0
            "debugtrap"
2637
        }
2638
        Opcode::DynamicStackAddr => {
2639
0
            "dynamic_stack_addr"
2640
        }
2641
        Opcode::ExtractVector => {
2642
0
            "extract_vector"
2643
        }
2644
        Opcode::Extractlane => {
2645
0
            "extractlane"
2646
        }
2647
        Opcode::F128const => {
2648
0
            "f128const"
2649
        }
2650
        Opcode::F16const => {
2651
0
            "f16const"
2652
        }
2653
        Opcode::F32const => {
2654
0
            "f32const"
2655
        }
2656
        Opcode::F64const => {
2657
0
            "f64const"
2658
        }
2659
        Opcode::Fabs => {
2660
0
            "fabs"
2661
        }
2662
        Opcode::Fadd => {
2663
0
            "fadd"
2664
        }
2665
        Opcode::Fcmp => {
2666
0
            "fcmp"
2667
        }
2668
        Opcode::Fcopysign => {
2669
0
            "fcopysign"
2670
        }
2671
        Opcode::FcvtFromSint => {
2672
0
            "fcvt_from_sint"
2673
        }
2674
        Opcode::FcvtFromUint => {
2675
0
            "fcvt_from_uint"
2676
        }
2677
        Opcode::FcvtToSint => {
2678
0
            "fcvt_to_sint"
2679
        }
2680
        Opcode::FcvtToSintSat => {
2681
0
            "fcvt_to_sint_sat"
2682
        }
2683
        Opcode::FcvtToUint => {
2684
0
            "fcvt_to_uint"
2685
        }
2686
        Opcode::FcvtToUintSat => {
2687
0
            "fcvt_to_uint_sat"
2688
        }
2689
        Opcode::Fdemote => {
2690
0
            "fdemote"
2691
        }
2692
        Opcode::Fdiv => {
2693
0
            "fdiv"
2694
        }
2695
        Opcode::Fence => {
2696
0
            "fence"
2697
        }
2698
        Opcode::Floor => {
2699
0
            "floor"
2700
        }
2701
        Opcode::Fma => {
2702
0
            "fma"
2703
        }
2704
        Opcode::Fmax => {
2705
0
            "fmax"
2706
        }
2707
        Opcode::Fmin => {
2708
0
            "fmin"
2709
        }
2710
        Opcode::Fmul => {
2711
0
            "fmul"
2712
        }
2713
        Opcode::Fneg => {
2714
0
            "fneg"
2715
        }
2716
        Opcode::Fpromote => {
2717
0
            "fpromote"
2718
        }
2719
        Opcode::Fsub => {
2720
0
            "fsub"
2721
        }
2722
        Opcode::FuncAddr => {
2723
0
            "func_addr"
2724
        }
2725
        Opcode::Fvdemote => {
2726
0
            "fvdemote"
2727
        }
2728
        Opcode::FvpromoteLow => {
2729
0
            "fvpromote_low"
2730
        }
2731
        Opcode::GetExceptionHandlerAddress => {
2732
0
            "get_exception_handler_address"
2733
        }
2734
        Opcode::GetFramePointer => {
2735
0
            "get_frame_pointer"
2736
        }
2737
        Opcode::GetPinnedReg => {
2738
0
            "get_pinned_reg"
2739
        }
2740
        Opcode::GetReturnAddress => {
2741
0
            "get_return_address"
2742
        }
2743
        Opcode::GetStackPointer => {
2744
0
            "get_stack_pointer"
2745
        }
2746
        Opcode::Iabs => {
2747
0
            "iabs"
2748
        }
2749
        Opcode::Iadd => {
2750
0
            "iadd"
2751
        }
2752
        Opcode::IaddPairwise => {
2753
0
            "iadd_pairwise"
2754
        }
2755
        Opcode::Icmp => {
2756
0
            "icmp"
2757
        }
2758
        Opcode::Iconcat => {
2759
0
            "iconcat"
2760
        }
2761
        Opcode::Iconst => {
2762
0
            "iconst"
2763
        }
2764
        Opcode::Imul => {
2765
0
            "imul"
2766
        }
2767
        Opcode::Ineg => {
2768
0
            "ineg"
2769
        }
2770
        Opcode::Insertlane => {
2771
0
            "insertlane"
2772
        }
2773
        Opcode::Ireduce => {
2774
0
            "ireduce"
2775
        }
2776
        Opcode::Ishl => {
2777
0
            "ishl"
2778
        }
2779
        Opcode::Isplit => {
2780
0
            "isplit"
2781
        }
2782
        Opcode::Istore16 => {
2783
0
            "istore16"
2784
        }
2785
        Opcode::Istore32 => {
2786
0
            "istore32"
2787
        }
2788
        Opcode::Istore8 => {
2789
0
            "istore8"
2790
        }
2791
        Opcode::Isub => {
2792
0
            "isub"
2793
        }
2794
        Opcode::Jump => {
2795
0
            "jump"
2796
        }
2797
        Opcode::Load => {
2798
0
            "load"
2799
        }
2800
        Opcode::Nearest => {
2801
0
            "nearest"
2802
        }
2803
        Opcode::Nop => {
2804
0
            "nop"
2805
        }
2806
        Opcode::Popcnt => {
2807
0
            "popcnt"
2808
        }
2809
        Opcode::Return => {
2810
0
            "return"
2811
        }
2812
        Opcode::ReturnCall => {
2813
0
            "return_call"
2814
        }
2815
        Opcode::ReturnCallIndirect => {
2816
0
            "return_call_indirect"
2817
        }
2818
        Opcode::Rotl => {
2819
0
            "rotl"
2820
        }
2821
        Opcode::Rotr => {
2822
0
            "rotr"
2823
        }
2824
        Opcode::SaddOverflow => {
2825
0
            "sadd_overflow"
2826
        }
2827
        Opcode::SaddOverflowCin => {
2828
0
            "sadd_overflow_cin"
2829
        }
2830
        Opcode::SaddSat => {
2831
0
            "sadd_sat"
2832
        }
2833
        Opcode::ScalarToVector => {
2834
0
            "scalar_to_vector"
2835
        }
2836
        Opcode::Sdiv => {
2837
0
            "sdiv"
2838
        }
2839
        Opcode::Select => {
2840
0
            "select"
2841
        }
2842
        Opcode::SelectSpectreGuard => {
2843
0
            "select_spectre_guard"
2844
        }
2845
        Opcode::SequencePoint => {
2846
0
            "sequence_point"
2847
        }
2848
        Opcode::SetPinnedReg => {
2849
0
            "set_pinned_reg"
2850
        }
2851
        Opcode::Sextend => {
2852
0
            "sextend"
2853
        }
2854
        Opcode::Shuffle => {
2855
0
            "shuffle"
2856
        }
2857
        Opcode::Sload16 => {
2858
0
            "sload16"
2859
        }
2860
        Opcode::Sload16x4 => {
2861
0
            "sload16x4"
2862
        }
2863
        Opcode::Sload32 => {
2864
0
            "sload32"
2865
        }
2866
        Opcode::Sload32x2 => {
2867
0
            "sload32x2"
2868
        }
2869
        Opcode::Sload8 => {
2870
0
            "sload8"
2871
        }
2872
        Opcode::Sload8x8 => {
2873
0
            "sload8x8"
2874
        }
2875
        Opcode::Smax => {
2876
0
            "smax"
2877
        }
2878
        Opcode::Smin => {
2879
0
            "smin"
2880
        }
2881
        Opcode::SmulOverflow => {
2882
0
            "smul_overflow"
2883
        }
2884
        Opcode::Smulhi => {
2885
0
            "smulhi"
2886
        }
2887
        Opcode::Snarrow => {
2888
0
            "snarrow"
2889
        }
2890
        Opcode::Splat => {
2891
0
            "splat"
2892
        }
2893
        Opcode::SqmulRoundSat => {
2894
0
            "sqmul_round_sat"
2895
        }
2896
        Opcode::Sqrt => {
2897
0
            "sqrt"
2898
        }
2899
        Opcode::Srem => {
2900
0
            "srem"
2901
        }
2902
        Opcode::Sshr => {
2903
0
            "sshr"
2904
        }
2905
        Opcode::SsubOverflow => {
2906
0
            "ssub_overflow"
2907
        }
2908
        Opcode::SsubOverflowBin => {
2909
0
            "ssub_overflow_bin"
2910
        }
2911
        Opcode::SsubSat => {
2912
0
            "ssub_sat"
2913
        }
2914
        Opcode::StackAddr => {
2915
0
            "stack_addr"
2916
        }
2917
        Opcode::StackSwitch => {
2918
0
            "stack_switch"
2919
        }
2920
        Opcode::Store => {
2921
0
            "store"
2922
        }
2923
        Opcode::SwidenHigh => {
2924
0
            "swiden_high"
2925
        }
2926
        Opcode::SwidenLow => {
2927
0
            "swiden_low"
2928
        }
2929
        Opcode::Swizzle => {
2930
0
            "swizzle"
2931
        }
2932
        Opcode::SymbolValue => {
2933
0
            "symbol_value"
2934
        }
2935
        Opcode::TlsValue => {
2936
0
            "tls_value"
2937
        }
2938
        Opcode::Trap => {
2939
0
            "trap"
2940
        }
2941
        Opcode::Trapnz => {
2942
0
            "trapnz"
2943
        }
2944
        Opcode::Trapz => {
2945
0
            "trapz"
2946
        }
2947
        Opcode::Trunc => {
2948
0
            "trunc"
2949
        }
2950
        Opcode::TryCall => {
2951
0
            "try_call"
2952
        }
2953
        Opcode::TryCallIndirect => {
2954
0
            "try_call_indirect"
2955
        }
2956
        Opcode::UaddOverflow => {
2957
0
            "uadd_overflow"
2958
        }
2959
        Opcode::UaddOverflowCin => {
2960
0
            "uadd_overflow_cin"
2961
        }
2962
        Opcode::UaddOverflowTrap => {
2963
0
            "uadd_overflow_trap"
2964
        }
2965
        Opcode::UaddSat => {
2966
0
            "uadd_sat"
2967
        }
2968
        Opcode::Udiv => {
2969
0
            "udiv"
2970
        }
2971
        Opcode::Uextend => {
2972
0
            "uextend"
2973
        }
2974
        Opcode::Uload16 => {
2975
0
            "uload16"
2976
        }
2977
        Opcode::Uload16x4 => {
2978
0
            "uload16x4"
2979
        }
2980
        Opcode::Uload32 => {
2981
0
            "uload32"
2982
        }
2983
        Opcode::Uload32x2 => {
2984
0
            "uload32x2"
2985
        }
2986
        Opcode::Uload8 => {
2987
0
            "uload8"
2988
        }
2989
        Opcode::Uload8x8 => {
2990
0
            "uload8x8"
2991
        }
2992
        Opcode::Umax => {
2993
0
            "umax"
2994
        }
2995
        Opcode::Umin => {
2996
0
            "umin"
2997
        }
2998
        Opcode::UmulOverflow => {
2999
0
            "umul_overflow"
3000
        }
3001
        Opcode::Umulhi => {
3002
0
            "umulhi"
3003
        }
3004
        Opcode::Unarrow => {
3005
0
            "unarrow"
3006
        }
3007
        Opcode::Urem => {
3008
0
            "urem"
3009
        }
3010
        Opcode::Ushr => {
3011
0
            "ushr"
3012
        }
3013
        Opcode::UsubOverflow => {
3014
0
            "usub_overflow"
3015
        }
3016
        Opcode::UsubOverflowBin => {
3017
0
            "usub_overflow_bin"
3018
        }
3019
        Opcode::UsubSat => {
3020
0
            "usub_sat"
3021
        }
3022
        Opcode::Uunarrow => {
3023
0
            "uunarrow"
3024
        }
3025
        Opcode::UwidenHigh => {
3026
0
            "uwiden_high"
3027
        }
3028
        Opcode::UwidenLow => {
3029
0
            "uwiden_low"
3030
        }
3031
        Opcode::VallTrue => {
3032
0
            "vall_true"
3033
        }
3034
        Opcode::VanyTrue => {
3035
0
            "vany_true"
3036
        }
3037
        Opcode::Vconst => {
3038
0
            "vconst"
3039
        }
3040
        Opcode::VhighBits => {
3041
0
            "vhigh_bits"
3042
        }
3043
        Opcode::X86Cvtt2dq => {
3044
0
            "x86_cvtt2dq"
3045
        }
3046
        Opcode::X86Pmaddubsw => {
3047
0
            "x86_pmaddubsw"
3048
        }
3049
        Opcode::X86Pmulhrsw => {
3050
0
            "x86_pmulhrsw"
3051
        }
3052
        Opcode::X86Pshufb => {
3053
0
            "x86_pshufb"
3054
        }
3055
    }
3056
0
}
3057
3058
const OPCODE_HASH_TABLE: [Option<Opcode>; 256] = [ // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:764
3059
    Some(Opcode::Imul), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3060
    Some(Opcode::TlsValue), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3061
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3062
    Some(Opcode::Brif), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3063
    Some(Opcode::Nearest), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3064
    Some(Opcode::FcvtToSintSat), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3065
    Some(Opcode::Fsub), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3066
    Some(Opcode::Trunc), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3067
    Some(Opcode::Urem), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3068
    Some(Opcode::Iconst), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3069
    Some(Opcode::ReturnCall), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3070
    Some(Opcode::Umin), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3071
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3072
    Some(Opcode::Store), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3073
    Some(Opcode::GetFramePointer), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3074
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3075
    Some(Opcode::Isub), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3076
    Some(Opcode::FcvtFromSint), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3077
    Some(Opcode::Trap), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3078
    Some(Opcode::Sdiv), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3079
    Some(Opcode::Srem), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3080
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3081
    Some(Opcode::Uunarrow), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3082
    Some(Opcode::UaddOverflowCin), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3083
    Some(Opcode::Bxor), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3084
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3085
    Some(Opcode::X86Pmaddubsw), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3086
    Some(Opcode::Umax), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3087
    Some(Opcode::FcvtFromUint), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3088
    Some(Opcode::Insertlane), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3089
    Some(Opcode::Fadd), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3090
    Some(Opcode::Swizzle), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3091
    Some(Opcode::Load), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3092
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3093
    Some(Opcode::Jump), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3094
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3095
    Some(Opcode::Shuffle), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3096
    Some(Opcode::Fneg), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3097
    Some(Opcode::Umulhi), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3098
    Some(Opcode::Ushr), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3099
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3100
    Some(Opcode::UaddOverflowTrap), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3101
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3102
    Some(Opcode::VallTrue), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3103
    Some(Opcode::Band), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3104
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3105
    Some(Opcode::SsubOverflow), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3106
    Some(Opcode::Uload16x4), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3107
    Some(Opcode::Ishl), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3108
    Some(Opcode::Fmax), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3109
    Some(Opcode::Vconst), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3110
    Some(Opcode::Call), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3111
    Some(Opcode::ExtractVector), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3112
    Some(Opcode::Sqrt), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3113
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3114
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3115
    Some(Opcode::Ceil), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3116
    Some(Opcode::Ineg), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3117
    Some(Opcode::FuncAddr), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3118
    Some(Opcode::SaddSat), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3119
    Some(Opcode::Popcnt), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3120
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3121
    Some(Opcode::Fabs), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3122
    Some(Opcode::Fmin), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3123
    Some(Opcode::SsubOverflowBin), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3124
    Some(Opcode::FcvtToUint), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3125
    Some(Opcode::Bnot), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3126
    Some(Opcode::Sextend), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3127
    Some(Opcode::Isplit), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3128
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3129
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3130
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3131
    Some(Opcode::Fdiv), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3132
    Some(Opcode::Fcmp), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3133
    Some(Opcode::SwidenHigh), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3134
    Some(Opcode::Fmul), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3135
    Some(Opcode::FcvtToSint), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3136
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3137
    Some(Opcode::UsubOverflow), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3138
    Some(Opcode::Uload8x8), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3139
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3140
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3141
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3142
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3143
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3144
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3145
    Some(Opcode::AtomicLoad), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3146
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3147
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3148
    Some(Opcode::Trapnz), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3149
    Some(Opcode::Uload16), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3150
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3151
    Some(Opcode::Uload32), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3152
    Some(Opcode::Bitrev), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3153
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3154
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3155
    Some(Opcode::Smulhi), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3156
    Some(Opcode::TryCall), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3157
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3158
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3159
    Some(Opcode::Blendv), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3160
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3161
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3162
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3163
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3164
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3165
    Some(Opcode::Sload8x8), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3166
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3167
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3168
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3169
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3170
    Some(Opcode::SetPinnedReg), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3171
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3172
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3173
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3174
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3175
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3176
    Some(Opcode::Ireduce), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3177
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3178
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3179
    Some(Opcode::Fdemote), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3180
    Some(Opcode::FvpromoteLow), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3181
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3182
    Some(Opcode::UwidenLow), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3183
    Some(Opcode::Select), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3184
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3185
    Some(Opcode::Istore32), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3186
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3187
    Some(Opcode::Istore16), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3188
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3189
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3190
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3191
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3192
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3193
    Some(Opcode::Fvdemote), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3194
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3195
    Some(Opcode::Sload16), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3196
    Some(Opcode::Fcopysign), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3197
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3198
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3199
    Some(Opcode::Unarrow), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3200
    Some(Opcode::AvgRound), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3201
    Some(Opcode::Sload32), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3202
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3203
    Some(Opcode::X86Pshufb), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3204
    Some(Opcode::Extractlane), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3205
    Some(Opcode::StackAddr), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3206
    Some(Opcode::SaddOverflowCin), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3207
    Some(Opcode::UaddOverflow), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3208
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3209
    Some(Opcode::Return), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3210
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3211
    Some(Opcode::Uload32x2), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3212
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3213
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3214
    Some(Opcode::VanyTrue), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3215
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3216
    Some(Opcode::UsubSat), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3217
    Some(Opcode::GetExceptionHandlerAddress), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3218
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3219
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3220
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3221
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3222
    Some(Opcode::Iconcat), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3223
    Some(Opcode::SmulOverflow), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3224
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3225
    Some(Opcode::Fence), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3226
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3227
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3228
    Some(Opcode::Fma), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3229
    Some(Opcode::Bitselect), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3230
    Some(Opcode::Istore8), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3231
    Some(Opcode::BrTable), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3232
    Some(Opcode::F64const), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3233
    Some(Opcode::StackSwitch), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3234
    Some(Opcode::Nop), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3235
    Some(Opcode::Bor), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3236
    Some(Opcode::Clz), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3237
    Some(Opcode::SqmulRoundSat), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3238
    Some(Opcode::X86Pmulhrsw), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3239
    Some(Opcode::Debugtrap), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3240
    Some(Opcode::Sload16x4), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3241
    Some(Opcode::UmulOverflow), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3242
    Some(Opcode::Cls), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3243
    Some(Opcode::SaddOverflow), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3244
    Some(Opcode::Ctz), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3245
    Some(Opcode::SequencePoint), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3246
    Some(Opcode::TryCallIndirect), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3247
    Some(Opcode::UwidenHigh), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3248
    Some(Opcode::Bitcast), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3249
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3250
    Some(Opcode::Uextend), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3251
    Some(Opcode::Floor), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3252
    Some(Opcode::UaddSat), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3253
    Some(Opcode::Sload32x2), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3254
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3255
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3256
    Some(Opcode::SelectSpectreGuard), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3257
    Some(Opcode::Fpromote), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3258
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3259
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3260
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3261
    Some(Opcode::SymbolValue), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3262
    Some(Opcode::DynamicStackAddr), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3263
    Some(Opcode::Bmask), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3264
    Some(Opcode::GetPinnedReg), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3265
    Some(Opcode::SsubSat), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3266
    Some(Opcode::AtomicRmw), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3267
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3268
    Some(Opcode::ScalarToVector), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3269
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3270
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3271
    Some(Opcode::Uload8), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3272
    Some(Opcode::FcvtToUintSat), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3273
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3274
    Some(Opcode::Smin), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3275
    Some(Opcode::Trapz), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3276
    Some(Opcode::Iabs), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3277
    Some(Opcode::F16const), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3278
    Some(Opcode::Udiv), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3279
    Some(Opcode::AtomicCas), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3280
    Some(Opcode::GetReturnAddress), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3281
    Some(Opcode::UsubOverflowBin), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3282
    Some(Opcode::SwidenLow), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3283
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3284
    Some(Opcode::ReturnCallIndirect), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3285
    Some(Opcode::Rotl), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3286
    Some(Opcode::IaddPairwise), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3287
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3288
    Some(Opcode::Smax), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3289
    Some(Opcode::F128const), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3290
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3291
    Some(Opcode::F32const), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3292
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3293
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3294
    Some(Opcode::Splat), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3295
    Some(Opcode::Rotr), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3296
    Some(Opcode::Snarrow), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3297
    Some(Opcode::CallIndirect), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3298
    Some(Opcode::Sload8), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3299
    Some(Opcode::X86Cvtt2dq), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3300
    Some(Opcode::VhighBits), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3301
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3302
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3303
    Some(Opcode::Iadd), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3304
    Some(Opcode::Icmp), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3305
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3306
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3307
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3308
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3309
    Some(Opcode::GetStackPointer), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3310
    Some(Opcode::Bswap), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3311
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3312
    Some(Opcode::Sshr), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3313
    Some(Opcode::AtomicStore), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:772
3314
    None, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:773
3315
]; // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:777
3316
3317
3318
// Table of opcode constraints.
3319
const OPCODE_CONSTRAINTS: [OpcodeConstraints; 163] = [ // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:898
3320
    // Jump: fixed_results=0, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=0
3321
    // Constraints=[]
3322
    OpcodeConstraints {
3323
        flags: 0x00, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3324
        typeset_offset: 255, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3325
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3326
    }
3327
    ,
3328
    // Brif: fixed_results=0, use_typevar_operand=true, requires_typevar_operand=true, fixed_values=1
3329
    // Constraints=['Same']
3330
    // Polymorphic over TypeSet(lanes={1}, ints={8, 16, 32, 64, 128})
3331
    OpcodeConstraints {
3332
        flags: 0x38, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3333
        typeset_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3334
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3335
    }
3336
    ,
3337
    // BrTable: fixed_results=0, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=1
3338
    // Constraints=['Concrete(ir::types::I32)']
3339
    OpcodeConstraints {
3340
        flags: 0x20, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3341
        typeset_offset: 255, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3342
        constraint_offset: 3, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3343
    }
3344
    ,
3345
    // Debugtrap: fixed_results=0, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=0
3346
    // Constraints=[]
3347
    OpcodeConstraints {
3348
        flags: 0x00, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3349
        typeset_offset: 255, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3350
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3351
    }
3352
    ,
3353
    // Trap: fixed_results=0, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=0
3354
    // Constraints=[]
3355
    OpcodeConstraints {
3356
        flags: 0x00, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3357
        typeset_offset: 255, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3358
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3359
    }
3360
    ,
3361
    // Trapz: fixed_results=0, use_typevar_operand=true, requires_typevar_operand=true, fixed_values=1
3362
    // Constraints=['Same']
3363
    // Polymorphic over TypeSet(lanes={1}, ints={8, 16, 32, 64, 128})
3364
    OpcodeConstraints {
3365
        flags: 0x38, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3366
        typeset_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3367
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3368
    }
3369
    ,
3370
    // Trapnz: fixed_results=0, use_typevar_operand=true, requires_typevar_operand=true, fixed_values=1
3371
    // Constraints=['Same']
3372
    // Polymorphic over TypeSet(lanes={1}, ints={8, 16, 32, 64, 128})
3373
    OpcodeConstraints {
3374
        flags: 0x38, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3375
        typeset_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3376
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3377
    }
3378
    ,
3379
    // Return: fixed_results=0, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=0
3380
    // Constraints=[]
3381
    OpcodeConstraints {
3382
        flags: 0x00, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3383
        typeset_offset: 255, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3384
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3385
    }
3386
    ,
3387
    // Call: fixed_results=0, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=0
3388
    // Constraints=[]
3389
    OpcodeConstraints {
3390
        flags: 0x00, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3391
        typeset_offset: 255, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3392
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3393
    }
3394
    ,
3395
    // CallIndirect: fixed_results=0, use_typevar_operand=true, requires_typevar_operand=true, fixed_values=1
3396
    // Constraints=['Same']
3397
    // Polymorphic over TypeSet(lanes={1}, ints={32, 64})
3398
    OpcodeConstraints {
3399
        flags: 0x38, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3400
        typeset_offset: 1, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3401
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3402
    }
3403
    ,
3404
    // ReturnCall: fixed_results=0, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=0
3405
    // Constraints=[]
3406
    OpcodeConstraints {
3407
        flags: 0x00, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3408
        typeset_offset: 255, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3409
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3410
    }
3411
    ,
3412
    // ReturnCallIndirect: fixed_results=0, use_typevar_operand=true, requires_typevar_operand=true, fixed_values=1
3413
    // Constraints=['Same']
3414
    // Polymorphic over TypeSet(lanes={1}, ints={32, 64})
3415
    OpcodeConstraints {
3416
        flags: 0x38, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3417
        typeset_offset: 1, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3418
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3419
    }
3420
    ,
3421
    // FuncAddr: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=0
3422
    // Constraints=['Same']
3423
    // Polymorphic over TypeSet(lanes={1}, ints={32, 64})
3424
    OpcodeConstraints {
3425
        flags: 0x01, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3426
        typeset_offset: 1, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3427
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3428
    }
3429
    ,
3430
    // TryCall: fixed_results=0, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=0
3431
    // Constraints=[]
3432
    OpcodeConstraints {
3433
        flags: 0x00, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3434
        typeset_offset: 255, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3435
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3436
    }
3437
    ,
3438
    // TryCallIndirect: fixed_results=0, use_typevar_operand=true, requires_typevar_operand=true, fixed_values=1
3439
    // Constraints=['Same']
3440
    // Polymorphic over TypeSet(lanes={1}, ints={32, 64})
3441
    OpcodeConstraints {
3442
        flags: 0x38, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3443
        typeset_offset: 1, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3444
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3445
    }
3446
    ,
3447
    // Splat: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=1
3448
    // Constraints=['Same', 'LaneOf']
3449
    // Polymorphic over TypeSet(lanes={2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128}, floats={16, 32, 64, 128})
3450
    OpcodeConstraints {
3451
        flags: 0x21, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3452
        typeset_offset: 2, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3453
        constraint_offset: 4, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3454
    }
3455
    ,
3456
    // Swizzle: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=2
3457
    // Constraints=['Concrete(ir::types::I8X16)', 'Concrete(ir::types::I8X16)', 'Concrete(ir::types::I8X16)']
3458
    OpcodeConstraints {
3459
        flags: 0x41, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3460
        typeset_offset: 255, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3461
        constraint_offset: 6, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3462
    }
3463
    ,
3464
    // X86Pshufb: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=2
3465
    // Constraints=['Concrete(ir::types::I8X16)', 'Concrete(ir::types::I8X16)', 'Concrete(ir::types::I8X16)']
3466
    OpcodeConstraints {
3467
        flags: 0x41, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3468
        typeset_offset: 255, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3469
        constraint_offset: 6, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3470
    }
3471
    ,
3472
    // Insertlane: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
3473
    // Constraints=['Same', 'Same', 'LaneOf']
3474
    // Polymorphic over TypeSet(lanes={2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128}, floats={16, 32, 64, 128})
3475
    OpcodeConstraints {
3476
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3477
        typeset_offset: 2, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3478
        constraint_offset: 9, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3479
    }
3480
    ,
3481
    // Extractlane: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=true, fixed_values=1
3482
    // Constraints=['LaneOf', 'Same']
3483
    // Polymorphic over TypeSet(lanes={2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128}, floats={16, 32, 64, 128})
3484
    OpcodeConstraints {
3485
        flags: 0x39, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3486
        typeset_offset: 2, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3487
        constraint_offset: 11, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3488
    }
3489
    ,
3490
    // Smin: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
3491
    // Constraints=['Same', 'Same', 'Same']
3492
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128})
3493
    OpcodeConstraints {
3494
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3495
        typeset_offset: 3, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3496
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3497
    }
3498
    ,
3499
    // Umin: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
3500
    // Constraints=['Same', 'Same', 'Same']
3501
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128})
3502
    OpcodeConstraints {
3503
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3504
        typeset_offset: 3, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3505
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3506
    }
3507
    ,
3508
    // Smax: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
3509
    // Constraints=['Same', 'Same', 'Same']
3510
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128})
3511
    OpcodeConstraints {
3512
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3513
        typeset_offset: 3, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3514
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3515
    }
3516
    ,
3517
    // Umax: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
3518
    // Constraints=['Same', 'Same', 'Same']
3519
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128})
3520
    OpcodeConstraints {
3521
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3522
        typeset_offset: 3, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3523
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3524
    }
3525
    ,
3526
    // AvgRound: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
3527
    // Constraints=['Same', 'Same', 'Same']
3528
    // Polymorphic over TypeSet(lanes={2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128})
3529
    OpcodeConstraints {
3530
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3531
        typeset_offset: 4, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3532
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3533
    }
3534
    ,
3535
    // UaddSat: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
3536
    // Constraints=['Same', 'Same', 'Same']
3537
    // Polymorphic over TypeSet(lanes={2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128})
3538
    OpcodeConstraints {
3539
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3540
        typeset_offset: 4, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3541
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3542
    }
3543
    ,
3544
    // SaddSat: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
3545
    // Constraints=['Same', 'Same', 'Same']
3546
    // Polymorphic over TypeSet(lanes={2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128})
3547
    OpcodeConstraints {
3548
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3549
        typeset_offset: 4, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3550
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3551
    }
3552
    ,
3553
    // UsubSat: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
3554
    // Constraints=['Same', 'Same', 'Same']
3555
    // Polymorphic over TypeSet(lanes={2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128})
3556
    OpcodeConstraints {
3557
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3558
        typeset_offset: 4, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3559
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3560
    }
3561
    ,
3562
    // SsubSat: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
3563
    // Constraints=['Same', 'Same', 'Same']
3564
    // Polymorphic over TypeSet(lanes={2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128})
3565
    OpcodeConstraints {
3566
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3567
        typeset_offset: 4, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3568
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3569
    }
3570
    ,
3571
    // Load: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=1
3572
    // Constraints=['Same', 'Free(1)']
3573
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128}, floats={16, 32, 64, 128})
3574
    OpcodeConstraints {
3575
        flags: 0x21, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3576
        typeset_offset: 5, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3577
        constraint_offset: 12, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3578
    }
3579
    ,
3580
    // Store: fixed_results=0, use_typevar_operand=true, requires_typevar_operand=true, fixed_values=2
3581
    // Constraints=['Same', 'Free(1)']
3582
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128}, floats={16, 32, 64, 128})
3583
    OpcodeConstraints {
3584
        flags: 0x58, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3585
        typeset_offset: 5, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3586
        constraint_offset: 12, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3587
    }
3588
    ,
3589
    // Uload8: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=1
3590
    // Constraints=['Same', 'Free(1)']
3591
    // Polymorphic over TypeSet(lanes={1}, ints={16, 32, 64})
3592
    OpcodeConstraints {
3593
        flags: 0x21, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3594
        typeset_offset: 6, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3595
        constraint_offset: 12, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3596
    }
3597
    ,
3598
    // Sload8: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=1
3599
    // Constraints=['Same', 'Free(1)']
3600
    // Polymorphic over TypeSet(lanes={1}, ints={16, 32, 64})
3601
    OpcodeConstraints {
3602
        flags: 0x21, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3603
        typeset_offset: 6, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3604
        constraint_offset: 12, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3605
    }
3606
    ,
3607
    // Istore8: fixed_results=0, use_typevar_operand=true, requires_typevar_operand=true, fixed_values=2
3608
    // Constraints=['Same', 'Free(1)']
3609
    // Polymorphic over TypeSet(lanes={1}, ints={16, 32, 64})
3610
    OpcodeConstraints {
3611
        flags: 0x58, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3612
        typeset_offset: 6, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3613
        constraint_offset: 12, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3614
    }
3615
    ,
3616
    // Uload16: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=1
3617
    // Constraints=['Same', 'Free(1)']
3618
    // Polymorphic over TypeSet(lanes={1}, ints={32, 64})
3619
    OpcodeConstraints {
3620
        flags: 0x21, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3621
        typeset_offset: 1, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3622
        constraint_offset: 12, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3623
    }
3624
    ,
3625
    // Sload16: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=1
3626
    // Constraints=['Same', 'Free(1)']
3627
    // Polymorphic over TypeSet(lanes={1}, ints={32, 64})
3628
    OpcodeConstraints {
3629
        flags: 0x21, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3630
        typeset_offset: 1, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3631
        constraint_offset: 12, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3632
    }
3633
    ,
3634
    // Istore16: fixed_results=0, use_typevar_operand=true, requires_typevar_operand=true, fixed_values=2
3635
    // Constraints=['Same', 'Free(1)']
3636
    // Polymorphic over TypeSet(lanes={1}, ints={32, 64})
3637
    OpcodeConstraints {
3638
        flags: 0x58, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3639
        typeset_offset: 1, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3640
        constraint_offset: 12, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3641
    }
3642
    ,
3643
    // Uload32: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=true, fixed_values=1
3644
    // Constraints=['Concrete(ir::types::I64)', 'Same']
3645
    // Polymorphic over TypeSet(lanes={1}, ints={32, 64})
3646
    OpcodeConstraints {
3647
        flags: 0x39, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3648
        typeset_offset: 1, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3649
        constraint_offset: 14, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3650
    }
3651
    ,
3652
    // Sload32: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=true, fixed_values=1
3653
    // Constraints=['Concrete(ir::types::I64)', 'Same']
3654
    // Polymorphic over TypeSet(lanes={1}, ints={32, 64})
3655
    OpcodeConstraints {
3656
        flags: 0x39, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3657
        typeset_offset: 1, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3658
        constraint_offset: 14, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3659
    }
3660
    ,
3661
    // Istore32: fixed_results=0, use_typevar_operand=true, requires_typevar_operand=true, fixed_values=2
3662
    // Constraints=['Concrete(ir::types::I64)', 'Free(1)']
3663
    // Polymorphic over TypeSet(lanes={1}, ints={64})
3664
    OpcodeConstraints {
3665
        flags: 0x58, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3666
        typeset_offset: 7, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3667
        constraint_offset: 16, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3668
    }
3669
    ,
3670
    // StackSwitch: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=3
3671
    // Constraints=['Same', 'Same', 'Same', 'Same']
3672
    // Polymorphic over TypeSet(lanes={1}, ints={32, 64})
3673
    OpcodeConstraints {
3674
        flags: 0x69, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3675
        typeset_offset: 1, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3676
        constraint_offset: 18, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3677
    }
3678
    ,
3679
    // Uload8x8: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=true, fixed_values=1
3680
    // Constraints=['Concrete(ir::types::I16X8)', 'Same']
3681
    // Polymorphic over TypeSet(lanes={1}, ints={32, 64})
3682
    OpcodeConstraints {
3683
        flags: 0x39, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3684
        typeset_offset: 1, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3685
        constraint_offset: 22, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3686
    }
3687
    ,
3688
    // Sload8x8: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=true, fixed_values=1
3689
    // Constraints=['Concrete(ir::types::I16X8)', 'Same']
3690
    // Polymorphic over TypeSet(lanes={1}, ints={32, 64})
3691
    OpcodeConstraints {
3692
        flags: 0x39, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3693
        typeset_offset: 1, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3694
        constraint_offset: 22, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3695
    }
3696
    ,
3697
    // Uload16x4: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=true, fixed_values=1
3698
    // Constraints=['Concrete(ir::types::I32X4)', 'Same']
3699
    // Polymorphic over TypeSet(lanes={1}, ints={32, 64})
3700
    OpcodeConstraints {
3701
        flags: 0x39, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3702
        typeset_offset: 1, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3703
        constraint_offset: 24, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3704
    }
3705
    ,
3706
    // Sload16x4: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=true, fixed_values=1
3707
    // Constraints=['Concrete(ir::types::I32X4)', 'Same']
3708
    // Polymorphic over TypeSet(lanes={1}, ints={32, 64})
3709
    OpcodeConstraints {
3710
        flags: 0x39, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3711
        typeset_offset: 1, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3712
        constraint_offset: 24, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3713
    }
3714
    ,
3715
    // Uload32x2: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=true, fixed_values=1
3716
    // Constraints=['Concrete(ir::types::I64X2)', 'Same']
3717
    // Polymorphic over TypeSet(lanes={1}, ints={32, 64})
3718
    OpcodeConstraints {
3719
        flags: 0x39, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3720
        typeset_offset: 1, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3721
        constraint_offset: 26, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3722
    }
3723
    ,
3724
    // Sload32x2: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=true, fixed_values=1
3725
    // Constraints=['Concrete(ir::types::I64X2)', 'Same']
3726
    // Polymorphic over TypeSet(lanes={1}, ints={32, 64})
3727
    OpcodeConstraints {
3728
        flags: 0x39, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3729
        typeset_offset: 1, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3730
        constraint_offset: 26, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3731
    }
3732
    ,
3733
    // StackAddr: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=0
3734
    // Constraints=['Same']
3735
    // Polymorphic over TypeSet(lanes={1}, ints={32, 64})
3736
    OpcodeConstraints {
3737
        flags: 0x01, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3738
        typeset_offset: 1, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3739
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3740
    }
3741
    ,
3742
    // DynamicStackAddr: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=0
3743
    // Constraints=['Same']
3744
    // Polymorphic over TypeSet(lanes={1}, ints={32, 64})
3745
    OpcodeConstraints {
3746
        flags: 0x01, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3747
        typeset_offset: 1, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3748
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3749
    }
3750
    ,
3751
    // SymbolValue: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=0
3752
    // Constraints=['Same']
3753
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128}, floats={16, 32, 64, 128})
3754
    OpcodeConstraints {
3755
        flags: 0x01, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3756
        typeset_offset: 5, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3757
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3758
    }
3759
    ,
3760
    // TlsValue: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=0
3761
    // Constraints=['Same']
3762
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128}, floats={16, 32, 64, 128})
3763
    OpcodeConstraints {
3764
        flags: 0x01, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3765
        typeset_offset: 5, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3766
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3767
    }
3768
    ,
3769
    // GetPinnedReg: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=0
3770
    // Constraints=['Same']
3771
    // Polymorphic over TypeSet(lanes={1}, ints={32, 64})
3772
    OpcodeConstraints {
3773
        flags: 0x01, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3774
        typeset_offset: 1, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3775
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3776
    }
3777
    ,
3778
    // SetPinnedReg: fixed_results=0, use_typevar_operand=true, requires_typevar_operand=true, fixed_values=1
3779
    // Constraints=['Same']
3780
    // Polymorphic over TypeSet(lanes={1}, ints={32, 64})
3781
    OpcodeConstraints {
3782
        flags: 0x38, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3783
        typeset_offset: 1, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3784
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3785
    }
3786
    ,
3787
    // GetFramePointer: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=0
3788
    // Constraints=['Same']
3789
    // Polymorphic over TypeSet(lanes={1}, ints={32, 64})
3790
    OpcodeConstraints {
3791
        flags: 0x01, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3792
        typeset_offset: 1, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3793
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3794
    }
3795
    ,
3796
    // GetStackPointer: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=0
3797
    // Constraints=['Same']
3798
    // Polymorphic over TypeSet(lanes={1}, ints={32, 64})
3799
    OpcodeConstraints {
3800
        flags: 0x01, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3801
        typeset_offset: 1, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3802
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3803
    }
3804
    ,
3805
    // GetReturnAddress: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=0
3806
    // Constraints=['Same']
3807
    // Polymorphic over TypeSet(lanes={1}, ints={32, 64})
3808
    OpcodeConstraints {
3809
        flags: 0x01, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3810
        typeset_offset: 1, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3811
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3812
    }
3813
    ,
3814
    // GetExceptionHandlerAddress: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=0
3815
    // Constraints=['Same']
3816
    // Polymorphic over TypeSet(lanes={1}, ints={32, 64})
3817
    OpcodeConstraints {
3818
        flags: 0x01, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3819
        typeset_offset: 1, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3820
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3821
    }
3822
    ,
3823
    // Iconst: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=0
3824
    // Constraints=['Same']
3825
    // Polymorphic over TypeSet(lanes={1}, ints={8, 16, 32, 64})
3826
    OpcodeConstraints {
3827
        flags: 0x01, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3828
        typeset_offset: 8, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3829
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3830
    }
3831
    ,
3832
    // F16const: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=0
3833
    // Constraints=['Concrete(ir::types::F16)']
3834
    OpcodeConstraints {
3835
        flags: 0x01, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3836
        typeset_offset: 255, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3837
        constraint_offset: 28, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3838
    }
3839
    ,
3840
    // F32const: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=0
3841
    // Constraints=['Concrete(ir::types::F32)']
3842
    OpcodeConstraints {
3843
        flags: 0x01, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3844
        typeset_offset: 255, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3845
        constraint_offset: 29, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3846
    }
3847
    ,
3848
    // F64const: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=0
3849
    // Constraints=['Concrete(ir::types::F64)']
3850
    OpcodeConstraints {
3851
        flags: 0x01, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3852
        typeset_offset: 255, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3853
        constraint_offset: 30, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3854
    }
3855
    ,
3856
    // F128const: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=0
3857
    // Constraints=['Concrete(ir::types::F128)']
3858
    OpcodeConstraints {
3859
        flags: 0x01, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3860
        typeset_offset: 255, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3861
        constraint_offset: 31, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3862
    }
3863
    ,
3864
    // Vconst: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=0
3865
    // Constraints=['Same']
3866
    // Polymorphic over TypeSet(lanes={2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128}, floats={16, 32, 64, 128})
3867
    OpcodeConstraints {
3868
        flags: 0x01, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3869
        typeset_offset: 9, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3870
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3871
    }
3872
    ,
3873
    // Shuffle: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=2
3874
    // Constraints=['Concrete(ir::types::I8X16)', 'Concrete(ir::types::I8X16)', 'Concrete(ir::types::I8X16)']
3875
    OpcodeConstraints {
3876
        flags: 0x41, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3877
        typeset_offset: 255, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3878
        constraint_offset: 6, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3879
    }
3880
    ,
3881
    // Nop: fixed_results=0, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=0
3882
    // Constraints=[]
3883
    OpcodeConstraints {
3884
        flags: 0x00, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3885
        typeset_offset: 255, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3886
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3887
    }
3888
    ,
3889
    // Select: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=3
3890
    // Constraints=['Same', 'Free(0)', 'Same', 'Same']
3891
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128}, floats={16, 32, 64, 128})
3892
    OpcodeConstraints {
3893
        flags: 0x69, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3894
        typeset_offset: 10, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3895
        constraint_offset: 32, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3896
    }
3897
    ,
3898
    // SelectSpectreGuard: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=3
3899
    // Constraints=['Same', 'Free(0)', 'Same', 'Same']
3900
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128}, floats={16, 32, 64, 128})
3901
    OpcodeConstraints {
3902
        flags: 0x69, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3903
        typeset_offset: 10, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3904
        constraint_offset: 32, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3905
    }
3906
    ,
3907
    // Bitselect: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=3
3908
    // Constraints=['Same', 'Same', 'Same', 'Same']
3909
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128}, floats={16, 32, 64, 128})
3910
    OpcodeConstraints {
3911
        flags: 0x69, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3912
        typeset_offset: 10, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3913
        constraint_offset: 18, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3914
    }
3915
    ,
3916
    // Blendv: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=3
3917
    // Constraints=['Same', 'Same', 'Same', 'Same']
3918
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128}, floats={16, 32, 64, 128})
3919
    OpcodeConstraints {
3920
        flags: 0x69, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3921
        typeset_offset: 10, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3922
        constraint_offset: 18, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3923
    }
3924
    ,
3925
    // VanyTrue: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=true, fixed_values=1
3926
    // Constraints=['Concrete(ir::types::I8)', 'Same']
3927
    // Polymorphic over TypeSet(lanes={2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128}, floats={16, 32, 64, 128})
3928
    OpcodeConstraints {
3929
        flags: 0x39, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3930
        typeset_offset: 9, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3931
        constraint_offset: 36, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3932
    }
3933
    ,
3934
    // VallTrue: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=true, fixed_values=1
3935
    // Constraints=['Concrete(ir::types::I8)', 'Same']
3936
    // Polymorphic over TypeSet(lanes={2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128}, floats={16, 32, 64, 128})
3937
    OpcodeConstraints {
3938
        flags: 0x39, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3939
        typeset_offset: 9, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3940
        constraint_offset: 36, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3941
    }
3942
    ,
3943
    // VhighBits: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=1
3944
    // Constraints=['Same', 'Free(9)']
3945
    // Polymorphic over TypeSet(lanes={1}, ints={8, 16, 32, 64})
3946
    OpcodeConstraints {
3947
        flags: 0x21, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3948
        typeset_offset: 8, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3949
        constraint_offset: 37, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3950
    }
3951
    ,
3952
    // Icmp: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=true, fixed_values=2
3953
    // Constraints=['AsTruthy', 'Same', 'Same']
3954
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128})
3955
    OpcodeConstraints {
3956
        flags: 0x59, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3957
        typeset_offset: 11, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3958
        constraint_offset: 39, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3959
    }
3960
    ,
3961
    // Iadd: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
3962
    // Constraints=['Same', 'Same', 'Same']
3963
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128})
3964
    OpcodeConstraints {
3965
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3966
        typeset_offset: 11, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3967
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3968
    }
3969
    ,
3970
    // Isub: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
3971
    // Constraints=['Same', 'Same', 'Same']
3972
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128})
3973
    OpcodeConstraints {
3974
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3975
        typeset_offset: 11, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3976
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3977
    }
3978
    ,
3979
    // Ineg: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=1
3980
    // Constraints=['Same', 'Same']
3981
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128})
3982
    OpcodeConstraints {
3983
        flags: 0x29, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3984
        typeset_offset: 11, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3985
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3986
    }
3987
    ,
3988
    // Iabs: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=1
3989
    // Constraints=['Same', 'Same']
3990
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128})
3991
    OpcodeConstraints {
3992
        flags: 0x29, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
3993
        typeset_offset: 11, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
3994
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
3995
    }
3996
    ,
3997
    // Imul: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
3998
    // Constraints=['Same', 'Same', 'Same']
3999
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128})
4000
    OpcodeConstraints {
4001
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4002
        typeset_offset: 11, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4003
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4004
    }
4005
    ,
4006
    // Umulhi: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
4007
    // Constraints=['Same', 'Same', 'Same']
4008
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128})
4009
    OpcodeConstraints {
4010
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4011
        typeset_offset: 11, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4012
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4013
    }
4014
    ,
4015
    // Smulhi: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
4016
    // Constraints=['Same', 'Same', 'Same']
4017
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128})
4018
    OpcodeConstraints {
4019
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4020
        typeset_offset: 11, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4021
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4022
    }
4023
    ,
4024
    // SqmulRoundSat: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
4025
    // Constraints=['Same', 'Same', 'Same']
4026
    // Polymorphic over TypeSet(lanes={4, 8}, ints={16, 32})
4027
    OpcodeConstraints {
4028
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4029
        typeset_offset: 12, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4030
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4031
    }
4032
    ,
4033
    // X86Pmulhrsw: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
4034
    // Constraints=['Same', 'Same', 'Same']
4035
    // Polymorphic over TypeSet(lanes={4, 8}, ints={16, 32})
4036
    OpcodeConstraints {
4037
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4038
        typeset_offset: 12, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4039
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4040
    }
4041
    ,
4042
    // Udiv: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
4043
    // Constraints=['Same', 'Same', 'Same']
4044
    // Polymorphic over TypeSet(lanes={1}, ints={8, 16, 32, 64, 128})
4045
    OpcodeConstraints {
4046
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4047
        typeset_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4048
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4049
    }
4050
    ,
4051
    // Sdiv: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
4052
    // Constraints=['Same', 'Same', 'Same']
4053
    // Polymorphic over TypeSet(lanes={1}, ints={8, 16, 32, 64, 128})
4054
    OpcodeConstraints {
4055
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4056
        typeset_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4057
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4058
    }
4059
    ,
4060
    // Urem: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
4061
    // Constraints=['Same', 'Same', 'Same']
4062
    // Polymorphic over TypeSet(lanes={1}, ints={8, 16, 32, 64, 128})
4063
    OpcodeConstraints {
4064
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4065
        typeset_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4066
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4067
    }
4068
    ,
4069
    // Srem: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
4070
    // Constraints=['Same', 'Same', 'Same']
4071
    // Polymorphic over TypeSet(lanes={1}, ints={8, 16, 32, 64, 128})
4072
    OpcodeConstraints {
4073
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4074
        typeset_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4075
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4076
    }
4077
    ,
4078
    // SaddOverflowCin: fixed_results=2, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=3
4079
    // Constraints=['Same', 'Concrete(ir::types::I8)', 'Same', 'Same', 'Concrete(ir::types::I8)']
4080
    // Polymorphic over TypeSet(lanes={1}, ints={8, 16, 32, 64, 128})
4081
    OpcodeConstraints {
4082
        flags: 0x6a, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4083
        typeset_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4084
        constraint_offset: 41, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4085
    }
4086
    ,
4087
    // UaddOverflowCin: fixed_results=2, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=3
4088
    // Constraints=['Same', 'Concrete(ir::types::I8)', 'Same', 'Same', 'Concrete(ir::types::I8)']
4089
    // Polymorphic over TypeSet(lanes={1}, ints={8, 16, 32, 64, 128})
4090
    OpcodeConstraints {
4091
        flags: 0x6a, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4092
        typeset_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4093
        constraint_offset: 41, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4094
    }
4095
    ,
4096
    // UaddOverflow: fixed_results=2, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
4097
    // Constraints=['Same', 'Concrete(ir::types::I8)', 'Same', 'Same']
4098
    // Polymorphic over TypeSet(lanes={1}, ints={8, 16, 32, 64, 128})
4099
    OpcodeConstraints {
4100
        flags: 0x4a, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4101
        typeset_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4102
        constraint_offset: 41, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4103
    }
4104
    ,
4105
    // SaddOverflow: fixed_results=2, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
4106
    // Constraints=['Same', 'Concrete(ir::types::I8)', 'Same', 'Same']
4107
    // Polymorphic over TypeSet(lanes={1}, ints={8, 16, 32, 64, 128})
4108
    OpcodeConstraints {
4109
        flags: 0x4a, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4110
        typeset_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4111
        constraint_offset: 41, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4112
    }
4113
    ,
4114
    // UsubOverflow: fixed_results=2, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
4115
    // Constraints=['Same', 'Concrete(ir::types::I8)', 'Same', 'Same']
4116
    // Polymorphic over TypeSet(lanes={1}, ints={8, 16, 32, 64, 128})
4117
    OpcodeConstraints {
4118
        flags: 0x4a, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4119
        typeset_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4120
        constraint_offset: 41, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4121
    }
4122
    ,
4123
    // SsubOverflow: fixed_results=2, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
4124
    // Constraints=['Same', 'Concrete(ir::types::I8)', 'Same', 'Same']
4125
    // Polymorphic over TypeSet(lanes={1}, ints={8, 16, 32, 64, 128})
4126
    OpcodeConstraints {
4127
        flags: 0x4a, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4128
        typeset_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4129
        constraint_offset: 41, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4130
    }
4131
    ,
4132
    // UmulOverflow: fixed_results=2, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
4133
    // Constraints=['Same', 'Concrete(ir::types::I8)', 'Same', 'Same']
4134
    // Polymorphic over TypeSet(lanes={1}, ints={8, 16, 32, 64})
4135
    OpcodeConstraints {
4136
        flags: 0x4a, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4137
        typeset_offset: 8, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4138
        constraint_offset: 41, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4139
    }
4140
    ,
4141
    // SmulOverflow: fixed_results=2, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
4142
    // Constraints=['Same', 'Concrete(ir::types::I8)', 'Same', 'Same']
4143
    // Polymorphic over TypeSet(lanes={1}, ints={8, 16, 32, 64})
4144
    OpcodeConstraints {
4145
        flags: 0x4a, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4146
        typeset_offset: 8, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4147
        constraint_offset: 41, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4148
    }
4149
    ,
4150
    // UaddOverflowTrap: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
4151
    // Constraints=['Same', 'Same', 'Same']
4152
    // Polymorphic over TypeSet(lanes={1}, ints={32, 64})
4153
    OpcodeConstraints {
4154
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4155
        typeset_offset: 1, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4156
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4157
    }
4158
    ,
4159
    // SsubOverflowBin: fixed_results=2, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=3
4160
    // Constraints=['Same', 'Concrete(ir::types::I8)', 'Same', 'Same', 'Concrete(ir::types::I8)']
4161
    // Polymorphic over TypeSet(lanes={1}, ints={8, 16, 32, 64, 128})
4162
    OpcodeConstraints {
4163
        flags: 0x6a, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4164
        typeset_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4165
        constraint_offset: 41, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4166
    }
4167
    ,
4168
    // UsubOverflowBin: fixed_results=2, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=3
4169
    // Constraints=['Same', 'Concrete(ir::types::I8)', 'Same', 'Same', 'Concrete(ir::types::I8)']
4170
    // Polymorphic over TypeSet(lanes={1}, ints={8, 16, 32, 64, 128})
4171
    OpcodeConstraints {
4172
        flags: 0x6a, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4173
        typeset_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4174
        constraint_offset: 41, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4175
    }
4176
    ,
4177
    // Band: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
4178
    // Constraints=['Same', 'Same', 'Same']
4179
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128}, floats={16, 32, 64, 128})
4180
    OpcodeConstraints {
4181
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4182
        typeset_offset: 10, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4183
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4184
    }
4185
    ,
4186
    // Bor: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
4187
    // Constraints=['Same', 'Same', 'Same']
4188
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128}, floats={16, 32, 64, 128})
4189
    OpcodeConstraints {
4190
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4191
        typeset_offset: 10, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4192
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4193
    }
4194
    ,
4195
    // Bxor: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
4196
    // Constraints=['Same', 'Same', 'Same']
4197
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128}, floats={16, 32, 64, 128})
4198
    OpcodeConstraints {
4199
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4200
        typeset_offset: 10, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4201
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4202
    }
4203
    ,
4204
    // Bnot: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=1
4205
    // Constraints=['Same', 'Same']
4206
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128}, floats={16, 32, 64, 128})
4207
    OpcodeConstraints {
4208
        flags: 0x29, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4209
        typeset_offset: 10, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4210
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4211
    }
4212
    ,
4213
    // Rotl: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
4214
    // Constraints=['Same', 'Same', 'Free(0)']
4215
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128})
4216
    OpcodeConstraints {
4217
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4218
        typeset_offset: 11, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4219
        constraint_offset: 46, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4220
    }
4221
    ,
4222
    // Rotr: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
4223
    // Constraints=['Same', 'Same', 'Free(0)']
4224
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128})
4225
    OpcodeConstraints {
4226
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4227
        typeset_offset: 11, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4228
        constraint_offset: 46, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4229
    }
4230
    ,
4231
    // Ishl: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
4232
    // Constraints=['Same', 'Same', 'Free(0)']
4233
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128})
4234
    OpcodeConstraints {
4235
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4236
        typeset_offset: 11, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4237
        constraint_offset: 46, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4238
    }
4239
    ,
4240
    // Ushr: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
4241
    // Constraints=['Same', 'Same', 'Free(0)']
4242
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128})
4243
    OpcodeConstraints {
4244
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4245
        typeset_offset: 11, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4246
        constraint_offset: 46, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4247
    }
4248
    ,
4249
    // Sshr: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
4250
    // Constraints=['Same', 'Same', 'Free(0)']
4251
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128})
4252
    OpcodeConstraints {
4253
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4254
        typeset_offset: 11, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4255
        constraint_offset: 46, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4256
    }
4257
    ,
4258
    // Bitrev: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=1
4259
    // Constraints=['Same', 'Same']
4260
    // Polymorphic over TypeSet(lanes={1}, ints={8, 16, 32, 64, 128})
4261
    OpcodeConstraints {
4262
        flags: 0x29, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4263
        typeset_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4264
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4265
    }
4266
    ,
4267
    // Clz: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=1
4268
    // Constraints=['Same', 'Same']
4269
    // Polymorphic over TypeSet(lanes={1}, ints={8, 16, 32, 64, 128})
4270
    OpcodeConstraints {
4271
        flags: 0x29, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4272
        typeset_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4273
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4274
    }
4275
    ,
4276
    // Cls: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=1
4277
    // Constraints=['Same', 'Same']
4278
    // Polymorphic over TypeSet(lanes={1}, ints={8, 16, 32, 64, 128})
4279
    OpcodeConstraints {
4280
        flags: 0x29, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4281
        typeset_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4282
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4283
    }
4284
    ,
4285
    // Ctz: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=1
4286
    // Constraints=['Same', 'Same']
4287
    // Polymorphic over TypeSet(lanes={1}, ints={8, 16, 32, 64, 128})
4288
    OpcodeConstraints {
4289
        flags: 0x29, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4290
        typeset_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4291
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4292
    }
4293
    ,
4294
    // Bswap: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=1
4295
    // Constraints=['Same', 'Same']
4296
    // Polymorphic over TypeSet(lanes={1}, ints={16, 32, 64, 128})
4297
    OpcodeConstraints {
4298
        flags: 0x29, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4299
        typeset_offset: 13, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4300
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4301
    }
4302
    ,
4303
    // Popcnt: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=1
4304
    // Constraints=['Same', 'Same']
4305
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128})
4306
    OpcodeConstraints {
4307
        flags: 0x29, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4308
        typeset_offset: 11, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4309
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4310
    }
4311
    ,
4312
    // Fcmp: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=true, fixed_values=2
4313
    // Constraints=['AsTruthy', 'Same', 'Same']
4314
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, floats={16, 32, 64, 128})
4315
    OpcodeConstraints {
4316
        flags: 0x59, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4317
        typeset_offset: 14, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4318
        constraint_offset: 39, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4319
    }
4320
    ,
4321
    // Fadd: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
4322
    // Constraints=['Same', 'Same', 'Same']
4323
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, floats={16, 32, 64, 128})
4324
    OpcodeConstraints {
4325
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4326
        typeset_offset: 14, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4327
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4328
    }
4329
    ,
4330
    // Fsub: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
4331
    // Constraints=['Same', 'Same', 'Same']
4332
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, floats={16, 32, 64, 128})
4333
    OpcodeConstraints {
4334
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4335
        typeset_offset: 14, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4336
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4337
    }
4338
    ,
4339
    // Fmul: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
4340
    // Constraints=['Same', 'Same', 'Same']
4341
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, floats={16, 32, 64, 128})
4342
    OpcodeConstraints {
4343
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4344
        typeset_offset: 14, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4345
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4346
    }
4347
    ,
4348
    // Fdiv: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
4349
    // Constraints=['Same', 'Same', 'Same']
4350
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, floats={16, 32, 64, 128})
4351
    OpcodeConstraints {
4352
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4353
        typeset_offset: 14, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4354
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4355
    }
4356
    ,
4357
    // Sqrt: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=1
4358
    // Constraints=['Same', 'Same']
4359
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, floats={16, 32, 64, 128})
4360
    OpcodeConstraints {
4361
        flags: 0x29, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4362
        typeset_offset: 14, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4363
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4364
    }
4365
    ,
4366
    // Fma: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=3
4367
    // Constraints=['Same', 'Same', 'Same', 'Same']
4368
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, floats={16, 32, 64, 128})
4369
    OpcodeConstraints {
4370
        flags: 0x69, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4371
        typeset_offset: 14, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4372
        constraint_offset: 18, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4373
    }
4374
    ,
4375
    // Fneg: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=1
4376
    // Constraints=['Same', 'Same']
4377
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, floats={16, 32, 64, 128})
4378
    OpcodeConstraints {
4379
        flags: 0x29, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4380
        typeset_offset: 14, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4381
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4382
    }
4383
    ,
4384
    // Fabs: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=1
4385
    // Constraints=['Same', 'Same']
4386
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, floats={16, 32, 64, 128})
4387
    OpcodeConstraints {
4388
        flags: 0x29, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4389
        typeset_offset: 14, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4390
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4391
    }
4392
    ,
4393
    // Fcopysign: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
4394
    // Constraints=['Same', 'Same', 'Same']
4395
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, floats={16, 32, 64, 128})
4396
    OpcodeConstraints {
4397
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4398
        typeset_offset: 14, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4399
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4400
    }
4401
    ,
4402
    // Fmin: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
4403
    // Constraints=['Same', 'Same', 'Same']
4404
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, floats={16, 32, 64, 128})
4405
    OpcodeConstraints {
4406
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4407
        typeset_offset: 14, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4408
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4409
    }
4410
    ,
4411
    // Fmax: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
4412
    // Constraints=['Same', 'Same', 'Same']
4413
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, floats={16, 32, 64, 128})
4414
    OpcodeConstraints {
4415
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4416
        typeset_offset: 14, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4417
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4418
    }
4419
    ,
4420
    // Ceil: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=1
4421
    // Constraints=['Same', 'Same']
4422
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, floats={16, 32, 64, 128})
4423
    OpcodeConstraints {
4424
        flags: 0x29, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4425
        typeset_offset: 14, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4426
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4427
    }
4428
    ,
4429
    // Floor: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=1
4430
    // Constraints=['Same', 'Same']
4431
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, floats={16, 32, 64, 128})
4432
    OpcodeConstraints {
4433
        flags: 0x29, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4434
        typeset_offset: 14, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4435
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4436
    }
4437
    ,
4438
    // Trunc: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=1
4439
    // Constraints=['Same', 'Same']
4440
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, floats={16, 32, 64, 128})
4441
    OpcodeConstraints {
4442
        flags: 0x29, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4443
        typeset_offset: 14, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4444
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4445
    }
4446
    ,
4447
    // Nearest: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=1
4448
    // Constraints=['Same', 'Same']
4449
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, floats={16, 32, 64, 128})
4450
    OpcodeConstraints {
4451
        flags: 0x29, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4452
        typeset_offset: 14, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4453
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4454
    }
4455
    ,
4456
    // Bitcast: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=1
4457
    // Constraints=['Same', 'Free(5)']
4458
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128}, floats={16, 32, 64, 128})
4459
    OpcodeConstraints {
4460
        flags: 0x21, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4461
        typeset_offset: 5, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4462
        constraint_offset: 49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4463
    }
4464
    ,
4465
    // ScalarToVector: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=1
4466
    // Constraints=['Same', 'LaneOf']
4467
    // Polymorphic over TypeSet(lanes={2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128}, floats={16, 32, 64, 128})
4468
    OpcodeConstraints {
4469
        flags: 0x21, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4470
        typeset_offset: 9, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4471
        constraint_offset: 4, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4472
    }
4473
    ,
4474
    // Bmask: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=1
4475
    // Constraints=['Same', 'Free(0)']
4476
    // Polymorphic over TypeSet(lanes={1}, ints={8, 16, 32, 64, 128})
4477
    OpcodeConstraints {
4478
        flags: 0x21, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4479
        typeset_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4480
        constraint_offset: 32, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4481
    }
4482
    ,
4483
    // Ireduce: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=1
4484
    // Constraints=['Same', 'Wider']
4485
    // Polymorphic over TypeSet(lanes={1}, ints={8, 16, 32, 64, 128})
4486
    OpcodeConstraints {
4487
        flags: 0x21, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4488
        typeset_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4489
        constraint_offset: 51, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4490
    }
4491
    ,
4492
    // Snarrow: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=true, fixed_values=2
4493
    // Constraints=['SplitLanes', 'Same', 'Same']
4494
    // Polymorphic over TypeSet(lanes={2, 4, 8}, ints={16, 32, 64})
4495
    OpcodeConstraints {
4496
        flags: 0x59, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4497
        typeset_offset: 15, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4498
        constraint_offset: 53, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4499
    }
4500
    ,
4501
    // Unarrow: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=true, fixed_values=2
4502
    // Constraints=['SplitLanes', 'Same', 'Same']
4503
    // Polymorphic over TypeSet(lanes={2, 4, 8}, ints={16, 32, 64})
4504
    OpcodeConstraints {
4505
        flags: 0x59, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4506
        typeset_offset: 15, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4507
        constraint_offset: 53, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4508
    }
4509
    ,
4510
    // Uunarrow: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=true, fixed_values=2
4511
    // Constraints=['SplitLanes', 'Same', 'Same']
4512
    // Polymorphic over TypeSet(lanes={2, 4, 8}, ints={16, 32, 64})
4513
    OpcodeConstraints {
4514
        flags: 0x59, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4515
        typeset_offset: 15, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4516
        constraint_offset: 53, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4517
    }
4518
    ,
4519
    // SwidenLow: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=true, fixed_values=1
4520
    // Constraints=['MergeLanes', 'Same']
4521
    // Polymorphic over TypeSet(lanes={2, 4, 8, 16}, ints={8, 16, 32})
4522
    OpcodeConstraints {
4523
        flags: 0x39, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4524
        typeset_offset: 16, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4525
        constraint_offset: 56, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4526
    }
4527
    ,
4528
    // SwidenHigh: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=true, fixed_values=1
4529
    // Constraints=['MergeLanes', 'Same']
4530
    // Polymorphic over TypeSet(lanes={2, 4, 8, 16}, ints={8, 16, 32})
4531
    OpcodeConstraints {
4532
        flags: 0x39, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4533
        typeset_offset: 16, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4534
        constraint_offset: 56, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4535
    }
4536
    ,
4537
    // UwidenLow: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=true, fixed_values=1
4538
    // Constraints=['MergeLanes', 'Same']
4539
    // Polymorphic over TypeSet(lanes={2, 4, 8, 16}, ints={8, 16, 32})
4540
    OpcodeConstraints {
4541
        flags: 0x39, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4542
        typeset_offset: 16, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4543
        constraint_offset: 56, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4544
    }
4545
    ,
4546
    // UwidenHigh: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=true, fixed_values=1
4547
    // Constraints=['MergeLanes', 'Same']
4548
    // Polymorphic over TypeSet(lanes={2, 4, 8, 16}, ints={8, 16, 32})
4549
    OpcodeConstraints {
4550
        flags: 0x39, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4551
        typeset_offset: 16, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4552
        constraint_offset: 56, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4553
    }
4554
    ,
4555
    // IaddPairwise: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=2
4556
    // Constraints=['Same', 'Same', 'Same']
4557
    // Polymorphic over TypeSet(lanes={2, 4, 8, 16}, ints={8, 16, 32})
4558
    OpcodeConstraints {
4559
        flags: 0x49, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4560
        typeset_offset: 16, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4561
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4562
    }
4563
    ,
4564
    // X86Pmaddubsw: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=2
4565
    // Constraints=['Concrete(ir::types::I16X8)', 'Concrete(ir::types::I8X16)', 'Concrete(ir::types::I8X16)']
4566
    OpcodeConstraints {
4567
        flags: 0x41, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4568
        typeset_offset: 255, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4569
        constraint_offset: 58, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4570
    }
4571
    ,
4572
    // Uextend: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=1
4573
    // Constraints=['Same', 'Narrower']
4574
    // Polymorphic over TypeSet(lanes={1}, ints={8, 16, 32, 64, 128})
4575
    OpcodeConstraints {
4576
        flags: 0x21, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4577
        typeset_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4578
        constraint_offset: 61, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4579
    }
4580
    ,
4581
    // Sextend: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=1
4582
    // Constraints=['Same', 'Narrower']
4583
    // Polymorphic over TypeSet(lanes={1}, ints={8, 16, 32, 64, 128})
4584
    OpcodeConstraints {
4585
        flags: 0x21, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4586
        typeset_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4587
        constraint_offset: 61, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4588
    }
4589
    ,
4590
    // Fpromote: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=1
4591
    // Constraints=['Same', 'Narrower']
4592
    // Polymorphic over TypeSet(lanes={1}, floats={16, 32, 64, 128})
4593
    OpcodeConstraints {
4594
        flags: 0x21, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4595
        typeset_offset: 17, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4596
        constraint_offset: 61, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4597
    }
4598
    ,
4599
    // Fdemote: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=1
4600
    // Constraints=['Same', 'Wider']
4601
    // Polymorphic over TypeSet(lanes={1}, floats={16, 32, 64, 128})
4602
    OpcodeConstraints {
4603
        flags: 0x21, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4604
        typeset_offset: 17, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4605
        constraint_offset: 51, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4606
    }
4607
    ,
4608
    // Fvdemote: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=1
4609
    // Constraints=['Concrete(ir::types::F32X4)', 'Concrete(ir::types::F64X2)']
4610
    OpcodeConstraints {
4611
        flags: 0x21, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4612
        typeset_offset: 255, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4613
        constraint_offset: 63, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4614
    }
4615
    ,
4616
    // FvpromoteLow: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=1
4617
    // Constraints=['Concrete(ir::types::F64X2)', 'Concrete(ir::types::F32X4)']
4618
    OpcodeConstraints {
4619
        flags: 0x21, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4620
        typeset_offset: 255, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4621
        constraint_offset: 64, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4622
    }
4623
    ,
4624
    // FcvtToUint: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=1
4625
    // Constraints=['Same', 'Free(17)']
4626
    // Polymorphic over TypeSet(lanes={1}, ints={8, 16, 32, 64, 128})
4627
    OpcodeConstraints {
4628
        flags: 0x21, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4629
        typeset_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4630
        constraint_offset: 66, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4631
    }
4632
    ,
4633
    // FcvtToSint: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=1
4634
    // Constraints=['Same', 'Free(17)']
4635
    // Polymorphic over TypeSet(lanes={1}, ints={8, 16, 32, 64, 128})
4636
    OpcodeConstraints {
4637
        flags: 0x21, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4638
        typeset_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4639
        constraint_offset: 66, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4640
    }
4641
    ,
4642
    // FcvtToUintSat: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=1
4643
    // Constraints=['Same', 'Free(14)']
4644
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128})
4645
    OpcodeConstraints {
4646
        flags: 0x21, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4647
        typeset_offset: 3, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4648
        constraint_offset: 68, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4649
    }
4650
    ,
4651
    // FcvtToSintSat: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=1
4652
    // Constraints=['Same', 'Free(14)']
4653
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128})
4654
    OpcodeConstraints {
4655
        flags: 0x21, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4656
        typeset_offset: 3, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4657
        constraint_offset: 68, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4658
    }
4659
    ,
4660
    // X86Cvtt2dq: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=1
4661
    // Constraints=['Same', 'Free(14)']
4662
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128})
4663
    OpcodeConstraints {
4664
        flags: 0x21, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4665
        typeset_offset: 3, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4666
        constraint_offset: 68, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4667
    }
4668
    ,
4669
    // FcvtFromUint: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=1
4670
    // Constraints=['Same', 'Free(3)']
4671
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, floats={16, 32, 64, 128})
4672
    OpcodeConstraints {
4673
        flags: 0x21, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4674
        typeset_offset: 18, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4675
        constraint_offset: 70, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4676
    }
4677
    ,
4678
    // FcvtFromSint: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=1
4679
    // Constraints=['Same', 'Free(3)']
4680
    // Polymorphic over TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, floats={16, 32, 64, 128})
4681
    OpcodeConstraints {
4682
        flags: 0x21, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4683
        typeset_offset: 18, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4684
        constraint_offset: 70, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4685
    }
4686
    ,
4687
    // Isplit: fixed_results=2, use_typevar_operand=true, requires_typevar_operand=true, fixed_values=1
4688
    // Constraints=['HalfWidth', 'HalfWidth', 'Same']
4689
    // Polymorphic over TypeSet(lanes={1}, ints={16, 32, 64, 128})
4690
    OpcodeConstraints {
4691
        flags: 0x3a, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4692
        typeset_offset: 13, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4693
        constraint_offset: 72, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4694
    }
4695
    ,
4696
    // Iconcat: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=true, fixed_values=2
4697
    // Constraints=['DoubleWidth', 'Same', 'Same']
4698
    // Polymorphic over TypeSet(lanes={1}, ints={8, 16, 32, 64})
4699
    OpcodeConstraints {
4700
        flags: 0x59, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4701
        typeset_offset: 8, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4702
        constraint_offset: 75, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4703
    }
4704
    ,
4705
    // AtomicRmw: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=2
4706
    // Constraints=['Same', 'Free(1)', 'Same']
4707
    // Polymorphic over TypeSet(lanes={1}, ints={8, 16, 32, 64, 128})
4708
    OpcodeConstraints {
4709
        flags: 0x41, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4710
        typeset_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4711
        constraint_offset: 77, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4712
    }
4713
    ,
4714
    // AtomicCas: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=false, fixed_values=3
4715
    // Constraints=['Same', 'Free(1)', 'Same', 'Same']
4716
    // Polymorphic over TypeSet(lanes={1}, ints={8, 16, 32, 64, 128})
4717
    OpcodeConstraints {
4718
        flags: 0x69, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4719
        typeset_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4720
        constraint_offset: 77, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4721
    }
4722
    ,
4723
    // AtomicLoad: fixed_results=1, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=1
4724
    // Constraints=['Same', 'Free(1)']
4725
    // Polymorphic over TypeSet(lanes={1}, ints={8, 16, 32, 64, 128})
4726
    OpcodeConstraints {
4727
        flags: 0x21, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4728
        typeset_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4729
        constraint_offset: 12, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4730
    }
4731
    ,
4732
    // AtomicStore: fixed_results=0, use_typevar_operand=true, requires_typevar_operand=true, fixed_values=2
4733
    // Constraints=['Same', 'Free(1)']
4734
    // Polymorphic over TypeSet(lanes={1}, ints={8, 16, 32, 64, 128})
4735
    OpcodeConstraints {
4736
        flags: 0x58, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4737
        typeset_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4738
        constraint_offset: 12, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4739
    }
4740
    ,
4741
    // Fence: fixed_results=0, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=0
4742
    // Constraints=[]
4743
    OpcodeConstraints {
4744
        flags: 0x00, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4745
        typeset_offset: 255, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4746
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4747
    }
4748
    ,
4749
    // ExtractVector: fixed_results=1, use_typevar_operand=true, requires_typevar_operand=true, fixed_values=1
4750
    // Constraints=['DynamicToVector', 'Same']
4751
    // Polymorphic over TypeSet(lanes={1}, ints={8, 16, 32, 64, 128}, floats={16, 32, 64, 128})
4752
    OpcodeConstraints {
4753
        flags: 0x39, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4754
        typeset_offset: 19, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4755
        constraint_offset: 81, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4756
    }
4757
    ,
4758
    // SequencePoint: fixed_results=0, use_typevar_operand=false, requires_typevar_operand=false, fixed_values=0
4759
    // Constraints=[]
4760
    OpcodeConstraints {
4761
        flags: 0x00, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:969
4762
        typeset_offset: 255, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:970
4763
        constraint_offset: 0, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:971
4764
    }
4765
    ,
4766
]; // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:976
4767
4768
// Table of value type sets.
4769
const TYPE_SETS: [ir::instructions::ValueTypeSet; 20] = [ // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:859
4770
    ir::instructions::ValueTypeSet {
4771
        // TypeSet(lanes={1}, ints={8, 16, 32, 64, 128})
4772
        lanes: ScalarBitSet::<u16>(1), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4773
        dynamic_lanes: ScalarBitSet::<u16>(0), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4774
        ints: ScalarBitSet::<u8>(248), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4775
        floats: ScalarBitSet::<u8>(0), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4776
    }
4777
    ,
4778
    ir::instructions::ValueTypeSet {
4779
        // TypeSet(lanes={1}, ints={32, 64})
4780
        lanes: ScalarBitSet::<u16>(1), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4781
        dynamic_lanes: ScalarBitSet::<u16>(0), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4782
        ints: ScalarBitSet::<u8>(96), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4783
        floats: ScalarBitSet::<u8>(0), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4784
    }
4785
    ,
4786
    ir::instructions::ValueTypeSet {
4787
        // TypeSet(lanes={2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128}, floats={16, 32, 64, 128})
4788
        lanes: ScalarBitSet::<u16>(510), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4789
        dynamic_lanes: ScalarBitSet::<u16>(510), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4790
        ints: ScalarBitSet::<u8>(248), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4791
        floats: ScalarBitSet::<u8>(240), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4792
    }
4793
    ,
4794
    ir::instructions::ValueTypeSet {
4795
        // TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128})
4796
        lanes: ScalarBitSet::<u16>(511), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4797
        dynamic_lanes: ScalarBitSet::<u16>(0), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4798
        ints: ScalarBitSet::<u8>(248), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4799
        floats: ScalarBitSet::<u8>(0), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4800
    }
4801
    ,
4802
    ir::instructions::ValueTypeSet {
4803
        // TypeSet(lanes={2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128})
4804
        lanes: ScalarBitSet::<u16>(510), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4805
        dynamic_lanes: ScalarBitSet::<u16>(0), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4806
        ints: ScalarBitSet::<u8>(248), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4807
        floats: ScalarBitSet::<u8>(0), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4808
    }
4809
    ,
4810
    ir::instructions::ValueTypeSet {
4811
        // TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128}, floats={16, 32, 64, 128})
4812
        lanes: ScalarBitSet::<u16>(511), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4813
        dynamic_lanes: ScalarBitSet::<u16>(510), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4814
        ints: ScalarBitSet::<u8>(248), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4815
        floats: ScalarBitSet::<u8>(240), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4816
    }
4817
    ,
4818
    ir::instructions::ValueTypeSet {
4819
        // TypeSet(lanes={1}, ints={16, 32, 64})
4820
        lanes: ScalarBitSet::<u16>(1), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4821
        dynamic_lanes: ScalarBitSet::<u16>(0), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4822
        ints: ScalarBitSet::<u8>(112), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4823
        floats: ScalarBitSet::<u8>(0), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4824
    }
4825
    ,
4826
    ir::instructions::ValueTypeSet {
4827
        // TypeSet(lanes={1}, ints={64})
4828
        lanes: ScalarBitSet::<u16>(1), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4829
        dynamic_lanes: ScalarBitSet::<u16>(0), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4830
        ints: ScalarBitSet::<u8>(64), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4831
        floats: ScalarBitSet::<u8>(0), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4832
    }
4833
    ,
4834
    ir::instructions::ValueTypeSet {
4835
        // TypeSet(lanes={1}, ints={8, 16, 32, 64})
4836
        lanes: ScalarBitSet::<u16>(1), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4837
        dynamic_lanes: ScalarBitSet::<u16>(0), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4838
        ints: ScalarBitSet::<u8>(120), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4839
        floats: ScalarBitSet::<u8>(0), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4840
    }
4841
    ,
4842
    ir::instructions::ValueTypeSet {
4843
        // TypeSet(lanes={2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128}, floats={16, 32, 64, 128})
4844
        lanes: ScalarBitSet::<u16>(510), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4845
        dynamic_lanes: ScalarBitSet::<u16>(0), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4846
        ints: ScalarBitSet::<u8>(248), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4847
        floats: ScalarBitSet::<u8>(240), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4848
    }
4849
    ,
4850
    ir::instructions::ValueTypeSet {
4851
        // TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128}, floats={16, 32, 64, 128})
4852
        lanes: ScalarBitSet::<u16>(511), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4853
        dynamic_lanes: ScalarBitSet::<u16>(0), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4854
        ints: ScalarBitSet::<u8>(248), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4855
        floats: ScalarBitSet::<u8>(240), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4856
    }
4857
    ,
4858
    ir::instructions::ValueTypeSet {
4859
        // TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, ints={8, 16, 32, 64, 128})
4860
        lanes: ScalarBitSet::<u16>(511), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4861
        dynamic_lanes: ScalarBitSet::<u16>(510), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4862
        ints: ScalarBitSet::<u8>(248), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4863
        floats: ScalarBitSet::<u8>(0), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4864
    }
4865
    ,
4866
    ir::instructions::ValueTypeSet {
4867
        // TypeSet(lanes={4, 8}, ints={16, 32})
4868
        lanes: ScalarBitSet::<u16>(12), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4869
        dynamic_lanes: ScalarBitSet::<u16>(0), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4870
        ints: ScalarBitSet::<u8>(48), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4871
        floats: ScalarBitSet::<u8>(0), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4872
    }
4873
    ,
4874
    ir::instructions::ValueTypeSet {
4875
        // TypeSet(lanes={1}, ints={16, 32, 64, 128})
4876
        lanes: ScalarBitSet::<u16>(1), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4877
        dynamic_lanes: ScalarBitSet::<u16>(0), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4878
        ints: ScalarBitSet::<u8>(240), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4879
        floats: ScalarBitSet::<u8>(0), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4880
    }
4881
    ,
4882
    ir::instructions::ValueTypeSet {
4883
        // TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, floats={16, 32, 64, 128})
4884
        lanes: ScalarBitSet::<u16>(511), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4885
        dynamic_lanes: ScalarBitSet::<u16>(510), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4886
        ints: ScalarBitSet::<u8>(0), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4887
        floats: ScalarBitSet::<u8>(240), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4888
    }
4889
    ,
4890
    ir::instructions::ValueTypeSet {
4891
        // TypeSet(lanes={2, 4, 8}, ints={16, 32, 64})
4892
        lanes: ScalarBitSet::<u16>(14), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4893
        dynamic_lanes: ScalarBitSet::<u16>(14), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4894
        ints: ScalarBitSet::<u8>(112), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4895
        floats: ScalarBitSet::<u8>(0), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4896
    }
4897
    ,
4898
    ir::instructions::ValueTypeSet {
4899
        // TypeSet(lanes={2, 4, 8, 16}, ints={8, 16, 32})
4900
        lanes: ScalarBitSet::<u16>(30), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4901
        dynamic_lanes: ScalarBitSet::<u16>(30), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4902
        ints: ScalarBitSet::<u8>(56), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4903
        floats: ScalarBitSet::<u8>(0), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4904
    }
4905
    ,
4906
    ir::instructions::ValueTypeSet {
4907
        // TypeSet(lanes={1}, floats={16, 32, 64, 128})
4908
        lanes: ScalarBitSet::<u16>(1), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4909
        dynamic_lanes: ScalarBitSet::<u16>(0), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4910
        ints: ScalarBitSet::<u8>(0), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4911
        floats: ScalarBitSet::<u8>(240), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4912
    }
4913
    ,
4914
    ir::instructions::ValueTypeSet {
4915
        // TypeSet(lanes={1, 2, 4, 8, 16, 32, 64, 128, 256}, floats={16, 32, 64, 128})
4916
        lanes: ScalarBitSet::<u16>(511), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4917
        dynamic_lanes: ScalarBitSet::<u16>(0), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4918
        ints: ScalarBitSet::<u8>(0), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4919
        floats: ScalarBitSet::<u8>(240), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4920
    }
4921
    ,
4922
    ir::instructions::ValueTypeSet {
4923
        // TypeSet(lanes={1}, ints={8, 16, 32, 64, 128}, floats={16, 32, 64, 128})
4924
        lanes: ScalarBitSet::<u16>(1), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4925
        dynamic_lanes: ScalarBitSet::<u16>(510), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4926
        ints: ScalarBitSet::<u8>(248), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4927
        floats: ScalarBitSet::<u8>(240), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:827
4928
    }
4929
    ,
4930
]; // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:876
4931
4932
// Table of operand constraint sequences.
4933
const OPERAND_CONSTRAINTS: [OperandConstraint; 83] = [ // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:983
4934
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4935
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4936
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4937
    OperandConstraint::Concrete(ir::types::I32), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4938
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4939
    OperandConstraint::LaneOf, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4940
    OperandConstraint::Concrete(ir::types::I8X16), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4941
    OperandConstraint::Concrete(ir::types::I8X16), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4942
    OperandConstraint::Concrete(ir::types::I8X16), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4943
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4944
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4945
    OperandConstraint::LaneOf, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4946
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4947
    OperandConstraint::Free(1), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4948
    OperandConstraint::Concrete(ir::types::I64), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4949
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4950
    OperandConstraint::Concrete(ir::types::I64), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4951
    OperandConstraint::Free(1), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4952
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4953
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4954
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4955
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4956
    OperandConstraint::Concrete(ir::types::I16X8), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4957
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4958
    OperandConstraint::Concrete(ir::types::I32X4), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4959
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4960
    OperandConstraint::Concrete(ir::types::I64X2), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4961
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4962
    OperandConstraint::Concrete(ir::types::F16), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4963
    OperandConstraint::Concrete(ir::types::F32), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4964
    OperandConstraint::Concrete(ir::types::F64), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4965
    OperandConstraint::Concrete(ir::types::F128), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4966
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4967
    OperandConstraint::Free(0), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4968
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4969
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4970
    OperandConstraint::Concrete(ir::types::I8), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4971
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4972
    OperandConstraint::Free(9), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4973
    OperandConstraint::AsTruthy, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4974
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4975
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4976
    OperandConstraint::Concrete(ir::types::I8), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4977
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4978
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4979
    OperandConstraint::Concrete(ir::types::I8), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4980
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4981
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4982
    OperandConstraint::Free(0), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4983
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4984
    OperandConstraint::Free(5), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4985
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4986
    OperandConstraint::Wider, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4987
    OperandConstraint::SplitLanes, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4988
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4989
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4990
    OperandConstraint::MergeLanes, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4991
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4992
    OperandConstraint::Concrete(ir::types::I16X8), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4993
    OperandConstraint::Concrete(ir::types::I8X16), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4994
    OperandConstraint::Concrete(ir::types::I8X16), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4995
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4996
    OperandConstraint::Narrower, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4997
    OperandConstraint::Concrete(ir::types::F32X4), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4998
    OperandConstraint::Concrete(ir::types::F64X2), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
4999
    OperandConstraint::Concrete(ir::types::F32X4), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
5000
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
5001
    OperandConstraint::Free(17), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
5002
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
5003
    OperandConstraint::Free(14), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
5004
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
5005
    OperandConstraint::Free(3), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
5006
    OperandConstraint::HalfWidth, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
5007
    OperandConstraint::HalfWidth, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
5008
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
5009
    OperandConstraint::DoubleWidth, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
5010
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
5011
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
5012
    OperandConstraint::Free(1), // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
5013
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
5014
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
5015
    OperandConstraint::DynamicToVector, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
5016
    OperandConstraint::Same, // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:990
5017
]; // /src/wasmtime/cranelift/codegen/meta/src/gen_inst.rs:993