1use wasmer_api::wasmparser::Operator;
2
3#[repr(C)]
4#[allow(non_camel_case_types)]
5pub enum wasmer_parser_operator_t {
6 Unreachable,
7 Nop,
8 Block,
9 Loop,
10 If,
11 Else,
12 Try,
13 Catch,
14 CatchAll,
15 Delegate,
16 Throw,
17 Rethrow,
18 Unwind,
19 End,
20 Br,
21 BrIf,
22 BrTable,
23 Return,
24 Call,
25 CallIndirect,
26 ReturnCall,
27 ReturnCallIndirect,
28 Drop,
29 Select,
30 TypedSelect,
31 LocalGet,
32 LocalSet,
33 LocalTee,
34 GlobalGet,
35 GlobalSet,
36 I32Load,
37 I64Load,
38 F32Load,
39 F64Load,
40 I32Load8S,
41 I32Load8U,
42 I32Load16S,
43 I32Load16U,
44 I64Load8S,
45 I64Load8U,
46 I64Load16S,
47 I64Load16U,
48 I64Load32S,
49 I64Load32U,
50 I32Store,
51 I64Store,
52 F32Store,
53 F64Store,
54 I32Store8,
55 I32Store16,
56 I64Store8,
57 I64Store16,
58 I64Store32,
59 MemorySize,
60 MemoryGrow,
61 I32Const,
62 I64Const,
63 F32Const,
64 F64Const,
65 RefNull,
66 RefIsNull,
67 RefFunc,
68 I32Eqz,
69 I32Eq,
70 I32Ne,
71 I32LtS,
72 I32LtU,
73 I32GtS,
74 I32GtU,
75 I32LeS,
76 I32LeU,
77 I32GeS,
78 I32GeU,
79 I64Eqz,
80 I64Eq,
81 I64Ne,
82 I64LtS,
83 I64LtU,
84 I64GtS,
85 I64GtU,
86 I64LeS,
87 I64LeU,
88 I64GeS,
89 I64GeU,
90 F32Eq,
91 F32Ne,
92 F32Lt,
93 F32Gt,
94 F32Le,
95 F32Ge,
96 F64Eq,
97 F64Ne,
98 F64Lt,
99 F64Gt,
100 F64Le,
101 F64Ge,
102 I32Clz,
103 I32Ctz,
104 I32Popcnt,
105 I32Add,
106 I32Sub,
107 I32Mul,
108 I32DivS,
109 I32DivU,
110 I32RemS,
111 I32RemU,
112 I32And,
113 I32Or,
114 I32Xor,
115 I32Shl,
116 I32ShrS,
117 I32ShrU,
118 I32Rotl,
119 I32Rotr,
120 I64Clz,
121 I64Ctz,
122 I64Popcnt,
123 I64Add,
124 I64Sub,
125 I64Mul,
126 I64DivS,
127 I64DivU,
128 I64RemS,
129 I64RemU,
130 I64And,
131 I64Or,
132 I64Xor,
133 I64Shl,
134 I64ShrS,
135 I64ShrU,
136 I64Rotl,
137 I64Rotr,
138 F32Abs,
139 F32Neg,
140 F32Ceil,
141 F32Floor,
142 F32Trunc,
143 F32Nearest,
144 F32Sqrt,
145 F32Add,
146 F32Sub,
147 F32Mul,
148 F32Div,
149 F32Min,
150 F32Max,
151 F32Copysign,
152 F64Abs,
153 F64Neg,
154 F64Ceil,
155 F64Floor,
156 F64Trunc,
157 F64Nearest,
158 F64Sqrt,
159 F64Add,
160 F64Sub,
161 F64Mul,
162 F64Div,
163 F64Min,
164 F64Max,
165 F64Copysign,
166 I32WrapI64,
167 I32TruncF32S,
168 I32TruncF32U,
169 I32TruncF64S,
170 I32TruncF64U,
171 I64ExtendI32S,
172 I64ExtendI32U,
173 I64TruncF32S,
174 I64TruncF32U,
175 I64TruncF64S,
176 I64TruncF64U,
177 F32ConvertI32S,
178 F32ConvertI32U,
179 F32ConvertI64S,
180 F32ConvertI64U,
181 F32DemoteF64,
182 F64ConvertI32S,
183 F64ConvertI32U,
184 F64ConvertI64S,
185 F64ConvertI64U,
186 F64PromoteF32,
187 I32ReinterpretF32,
188 I64ReinterpretF64,
189 F32ReinterpretI32,
190 F64ReinterpretI64,
191 I32Extend8S,
192 I32Extend16S,
193 I64Extend8S,
194 I64Extend16S,
195 I64Extend32S,
196 I32TruncSatF32S,
197 I32TruncSatF32U,
198 I32TruncSatF64S,
199 I32TruncSatF64U,
200 I64TruncSatF32S,
201 I64TruncSatF32U,
202 I64TruncSatF64S,
203 I64TruncSatF64U,
204 MemoryInit,
205 DataDrop,
206 MemoryCopy,
207 MemoryFill,
208 TableInit,
209 ElemDrop,
210 TableCopy,
211 TableFill,
212 TableGet,
213 TableSet,
214 TableGrow,
215 TableSize,
216 MemoryAtomicNotify,
217 MemoryAtomicWait32,
218 MemoryAtomicWait64,
219 AtomicFence,
220 I32AtomicLoad,
221 I64AtomicLoad,
222 I32AtomicLoad8U,
223 I32AtomicLoad16U,
224 I64AtomicLoad8U,
225 I64AtomicLoad16U,
226 I64AtomicLoad32U,
227 I32AtomicStore,
228 I64AtomicStore,
229 I32AtomicStore8,
230 I32AtomicStore16,
231 I64AtomicStore8,
232 I64AtomicStore16,
233 I64AtomicStore32,
234 I32AtomicRmwAdd,
235 I64AtomicRmwAdd,
236 I32AtomicRmw8AddU,
237 I32AtomicRmw16AddU,
238 I64AtomicRmw8AddU,
239 I64AtomicRmw16AddU,
240 I64AtomicRmw32AddU,
241 I32AtomicRmwSub,
242 I64AtomicRmwSub,
243 I32AtomicRmw8SubU,
244 I32AtomicRmw16SubU,
245 I64AtomicRmw8SubU,
246 I64AtomicRmw16SubU,
247 I64AtomicRmw32SubU,
248 I32AtomicRmwAnd,
249 I64AtomicRmwAnd,
250 I32AtomicRmw8AndU,
251 I32AtomicRmw16AndU,
252 I64AtomicRmw8AndU,
253 I64AtomicRmw16AndU,
254 I64AtomicRmw32AndU,
255 I32AtomicRmwOr,
256 I64AtomicRmwOr,
257 I32AtomicRmw8OrU,
258 I32AtomicRmw16OrU,
259 I64AtomicRmw8OrU,
260 I64AtomicRmw16OrU,
261 I64AtomicRmw32OrU,
262 I32AtomicRmwXor,
263 I64AtomicRmwXor,
264 I32AtomicRmw8XorU,
265 I32AtomicRmw16XorU,
266 I64AtomicRmw8XorU,
267 I64AtomicRmw16XorU,
268 I64AtomicRmw32XorU,
269 I32AtomicRmwXchg,
270 I64AtomicRmwXchg,
271 I32AtomicRmw8XchgU,
272 I32AtomicRmw16XchgU,
273 I64AtomicRmw8XchgU,
274 I64AtomicRmw16XchgU,
275 I64AtomicRmw32XchgU,
276 I32AtomicRmwCmpxchg,
277 I64AtomicRmwCmpxchg,
278 I32AtomicRmw8CmpxchgU,
279 I32AtomicRmw16CmpxchgU,
280 I64AtomicRmw8CmpxchgU,
281 I64AtomicRmw16CmpxchgU,
282 I64AtomicRmw32CmpxchgU,
283 V128Load,
284 V128Store,
285 V128Const,
286 I8x16Splat,
287 I8x16ExtractLaneS,
288 I8x16ExtractLaneU,
289 I8x16ReplaceLane,
290 I16x8Splat,
291 I16x8ExtractLaneS,
292 I16x8ExtractLaneU,
293 I16x8ReplaceLane,
294 I32x4Splat,
295 I32x4ExtractLane,
296 I32x4ReplaceLane,
297 I64x2Splat,
298 I64x2ExtractLane,
299 I64x2ReplaceLane,
300 F32x4Splat,
301 F32x4ExtractLane,
302 F32x4ReplaceLane,
303 F64x2Splat,
304 F64x2ExtractLane,
305 F64x2ReplaceLane,
306 I8x16Eq,
307 I8x16Ne,
308 I8x16LtS,
309 I8x16LtU,
310 I8x16GtS,
311 I8x16GtU,
312 I8x16LeS,
313 I8x16LeU,
314 I8x16GeS,
315 I8x16GeU,
316 I16x8Eq,
317 I16x8Ne,
318 I16x8LtS,
319 I16x8LtU,
320 I16x8GtS,
321 I16x8GtU,
322 I16x8LeS,
323 I16x8LeU,
324 I16x8GeS,
325 I16x8GeU,
326 I32x4Eq,
327 I32x4Ne,
328 I32x4LtS,
329 I32x4LtU,
330 I32x4GtS,
331 I32x4GtU,
332 I32x4LeS,
333 I32x4LeU,
334 I32x4GeS,
335 I32x4GeU,
336 I64x2Eq,
337 I64x2Ne,
338 I64x2LtS,
339 I64x2GtS,
340 I64x2LeS,
341 I64x2GeS,
342 F32x4Eq,
343 F32x4Ne,
344 F32x4Lt,
345 F32x4Gt,
346 F32x4Le,
347 F32x4Ge,
348 F64x2Eq,
349 F64x2Ne,
350 F64x2Lt,
351 F64x2Gt,
352 F64x2Le,
353 F64x2Ge,
354 V128Not,
355 V128And,
356 V128AndNot,
357 V128Or,
358 V128Xor,
359 V128Bitselect,
360 V128AnyTrue,
361 I8x16Abs,
362 I8x16Neg,
363 I8x16AllTrue,
364 I8x16Bitmask,
365 I8x16Shl,
366 I8x16ShrS,
367 I8x16ShrU,
368 I8x16Add,
369 I8x16AddSatS,
370 I8x16AddSatU,
371 I8x16Sub,
372 I8x16SubSatS,
373 I8x16SubSatU,
374 I8x16MinS,
375 I8x16MinU,
376 I8x16MaxS,
377 I8x16MaxU,
378 I8x16Popcnt,
379 I16x8Abs,
380 I16x8Neg,
381 I16x8AllTrue,
382 I16x8Bitmask,
383 I16x8Shl,
384 I16x8ShrS,
385 I16x8ShrU,
386 I16x8Add,
387 I16x8AddSatS,
388 I16x8AddSatU,
389 I16x8Sub,
390 I16x8SubSatS,
391 I16x8SubSatU,
392 I16x8Mul,
393 I16x8MinS,
394 I16x8MinU,
395 I16x8MaxS,
396 I16x8MaxU,
397 I16x8ExtAddPairwiseI8x16S,
398 I16x8ExtAddPairwiseI8x16U,
399 I32x4Abs,
400 I32x4Neg,
401 I32x4AllTrue,
402 I32x4Bitmask,
403 I32x4Shl,
404 I32x4ShrS,
405 I32x4ShrU,
406 I32x4Add,
407 I32x4Sub,
408 I32x4Mul,
409 I32x4MinS,
410 I32x4MinU,
411 I32x4MaxS,
412 I32x4MaxU,
413 I32x4DotI16x8S,
414 I32x4ExtAddPairwiseI16x8S,
415 I32x4ExtAddPairwiseI16x8U,
416 I64x2Abs,
417 I64x2Neg,
418 I64x2AllTrue,
419 I64x2Bitmask,
420 I64x2Shl,
421 I64x2ShrS,
422 I64x2ShrU,
423 I64x2Add,
424 I64x2Sub,
425 I64x2Mul,
426 F32x4Ceil,
427 F32x4Floor,
428 F32x4Trunc,
429 F32x4Nearest,
430 F64x2Ceil,
431 F64x2Floor,
432 F64x2Trunc,
433 F64x2Nearest,
434 F32x4Abs,
435 F32x4Neg,
436 F32x4Sqrt,
437 F32x4Add,
438 F32x4Sub,
439 F32x4Mul,
440 F32x4Div,
441 F32x4Min,
442 F32x4Max,
443 F32x4PMin,
444 F32x4PMax,
445 F64x2Abs,
446 F64x2Neg,
447 F64x2Sqrt,
448 F64x2Add,
449 F64x2Sub,
450 F64x2Mul,
451 F64x2Div,
452 F64x2Min,
453 F64x2Max,
454 F64x2PMin,
455 F64x2PMax,
456 I32x4TruncSatF32x4S,
457 I32x4TruncSatF32x4U,
458 F32x4ConvertI32x4S,
459 F32x4ConvertI32x4U,
460 I8x16Swizzle,
461 I8x16Shuffle,
462 V128Load8Splat,
463 V128Load16Splat,
464 V128Load32Splat,
465 V128Load32Zero,
466 V128Load64Splat,
467 V128Load64Zero,
468 I8x16NarrowI16x8S,
469 I8x16NarrowI16x8U,
470 I16x8NarrowI32x4S,
471 I16x8NarrowI32x4U,
472 I16x8ExtendLowI8x16S,
473 I16x8ExtendHighI8x16S,
474 I16x8ExtendLowI8x16U,
475 I16x8ExtendHighI8x16U,
476 I32x4ExtendLowI16x8S,
477 I32x4ExtendHighI16x8S,
478 I32x4ExtendLowI16x8U,
479 I32x4ExtendHighI16x8U,
480 I64x2ExtendLowI32x4S,
481 I64x2ExtendHighI32x4S,
482 I64x2ExtendLowI32x4U,
483 I64x2ExtendHighI32x4U,
484 I16x8ExtMulLowI8x16S,
485 I16x8ExtMulHighI8x16S,
486 I16x8ExtMulLowI8x16U,
487 I16x8ExtMulHighI8x16U,
488 I32x4ExtMulLowI16x8S,
489 I32x4ExtMulHighI16x8S,
490 I32x4ExtMulLowI16x8U,
491 I32x4ExtMulHighI16x8U,
492 I64x2ExtMulLowI32x4S,
493 I64x2ExtMulHighI32x4S,
494 I64x2ExtMulLowI32x4U,
495 I64x2ExtMulHighI32x4U,
496 V128Load8x8S,
497 V128Load8x8U,
498 V128Load16x4S,
499 V128Load16x4U,
500 V128Load32x2S,
501 V128Load32x2U,
502 V128Load8Lane,
503 V128Load16Lane,
504 V128Load32Lane,
505 V128Load64Lane,
506 V128Store8Lane,
507 V128Store16Lane,
508 V128Store32Lane,
509 V128Store64Lane,
510 I8x16RoundingAverageU,
511 I16x8RoundingAverageU,
512 I16x8Q15MulrSatS,
513 F32x4DemoteF64x2Zero,
514 F64x2PromoteLowF32x4,
515 F64x2ConvertLowI32x4S,
516 F64x2ConvertLowI32x4U,
517 I32x4TruncSatF64x2SZero,
518 I32x4TruncSatF64x2UZero,
519 I8x16RelaxedSwizzle,
520 I32x4RelaxedTruncSatF32x4S,
521 I32x4RelaxedTruncSatF32x4U,
522 I32x4RelaxedTruncSatF64x2SZero,
523 I32x4RelaxedTruncSatF64x2UZero,
524 F32x4Fma,
525 F32x4Fms,
526 F64x2Fma,
527 F64x2Fms,
528 I8x16LaneSelect,
529 I16x8LaneSelect,
530 I32x4LaneSelect,
531 I64x2LaneSelect,
532 F32x4RelaxedMin,
533 F32x4RelaxedMax,
534 F64x2RelaxedMin,
535 F64x2RelaxedMax,
536 I16x8RelaxedQ15mulrS,
537 I16x8DotI8x16I7x16S,
538 I32x4DotI8x16I7x16AddS,
539 F32x4RelaxedDotBf16x8AddF32x4,
540}
541
542impl<'a> From<&Operator<'a>> for wasmer_parser_operator_t {
543 fn from(operator: &Operator<'a>) -> Self {
544 use Operator as O;
545
546 match operator {
547 O::Unreachable => Self::Unreachable,
548 O::Nop => Self::Nop,
549 O::Block { .. } => Self::Block,
550 O::Loop { .. } => Self::Loop,
551 O::If { .. } => Self::If,
552 O::Else => Self::Else,
553 O::Try { .. } => Self::Try,
554 O::Catch { .. } => Self::Catch,
555 O::CatchAll => Self::CatchAll,
556 O::Delegate { .. } => Self::Delegate,
557 O::Throw { .. } => Self::Throw,
558 O::Rethrow { .. } => Self::Rethrow,
559 O::End => Self::End,
561 O::Br { .. } => Self::Br,
562 O::BrIf { .. } => Self::BrIf,
563 O::BrTable { .. } => Self::BrTable,
564 O::Return => Self::Return,
565 O::Call { .. } => Self::Call,
566 O::CallIndirect { .. } => Self::CallIndirect,
567 O::ReturnCall { .. } => Self::ReturnCall,
568 O::ReturnCallIndirect { .. } => Self::ReturnCallIndirect,
569 O::Drop => Self::Drop,
570 O::Select => Self::Select,
571 O::TypedSelect { .. } => Self::TypedSelect,
572 O::LocalGet { .. } => Self::LocalGet,
573 O::LocalSet { .. } => Self::LocalSet,
574 O::LocalTee { .. } => Self::LocalTee,
575 O::GlobalGet { .. } => Self::GlobalGet,
576 O::GlobalSet { .. } => Self::GlobalSet,
577 O::I32Load { .. } => Self::I32Load,
578 O::I64Load { .. } => Self::I64Load,
579 O::F32Load { .. } => Self::F32Load,
580 O::F64Load { .. } => Self::F64Load,
581 O::I32Load8S { .. } => Self::I32Load8S,
582 O::I32Load8U { .. } => Self::I32Load8U,
583 O::I32Load16S { .. } => Self::I32Load16S,
584 O::I32Load16U { .. } => Self::I32Load16U,
585 O::I64Load8S { .. } => Self::I64Load8S,
586 O::I64Load8U { .. } => Self::I64Load8U,
587 O::I64Load16S { .. } => Self::I64Load16S,
588 O::I64Load16U { .. } => Self::I64Load16U,
589 O::I64Load32S { .. } => Self::I64Load32S,
590 O::I64Load32U { .. } => Self::I64Load32U,
591 O::I32Store { .. } => Self::I32Store,
592 O::I64Store { .. } => Self::I64Store,
593 O::F32Store { .. } => Self::F32Store,
594 O::F64Store { .. } => Self::F64Store,
595 O::I32Store8 { .. } => Self::I32Store8,
596 O::I32Store16 { .. } => Self::I32Store16,
597 O::I64Store8 { .. } => Self::I64Store8,
598 O::I64Store16 { .. } => Self::I64Store16,
599 O::I64Store32 { .. } => Self::I64Store32,
600 O::MemorySize { .. } => Self::MemorySize,
601 O::MemoryGrow { .. } => Self::MemoryGrow,
602 O::I32Const { .. } => Self::I32Const,
603 O::I64Const { .. } => Self::I64Const,
604 O::F32Const { .. } => Self::F32Const,
605 O::F64Const { .. } => Self::F64Const,
606 O::RefNull { .. } => Self::RefNull,
607 O::RefIsNull => Self::RefIsNull,
608 O::RefFunc { .. } => Self::RefFunc,
609 O::I32Eqz => Self::I32Eqz,
610 O::I32Eq => Self::I32Eq,
611 O::I32Ne => Self::I32Ne,
612 O::I32LtS => Self::I32LtS,
613 O::I32LtU => Self::I32LtU,
614 O::I32GtS => Self::I32GtS,
615 O::I32GtU => Self::I32GtU,
616 O::I32LeS => Self::I32LeS,
617 O::I32LeU => Self::I32LeU,
618 O::I32GeS => Self::I32GeS,
619 O::I32GeU => Self::I32GeU,
620 O::I64Eqz => Self::I64Eqz,
621 O::I64Eq => Self::I64Eq,
622 O::I64Ne => Self::I64Ne,
623 O::I64LtS => Self::I64LtS,
624 O::I64LtU => Self::I64LtU,
625 O::I64GtS => Self::I64GtS,
626 O::I64GtU => Self::I64GtU,
627 O::I64LeS => Self::I64LeS,
628 O::I64LeU => Self::I64LeU,
629 O::I64GeS => Self::I64GeS,
630 O::I64GeU => Self::I64GeU,
631 O::F32Eq => Self::F32Eq,
632 O::F32Ne => Self::F32Ne,
633 O::F32Lt => Self::F32Lt,
634 O::F32Gt => Self::F32Gt,
635 O::F32Le => Self::F32Le,
636 O::F32Ge => Self::F32Ge,
637 O::F64Eq => Self::F64Eq,
638 O::F64Ne => Self::F64Ne,
639 O::F64Lt => Self::F64Lt,
640 O::F64Gt => Self::F64Gt,
641 O::F64Le => Self::F64Le,
642 O::F64Ge => Self::F64Ge,
643 O::I32Clz => Self::I32Clz,
644 O::I32Ctz => Self::I32Ctz,
645 O::I32Popcnt => Self::I32Popcnt,
646 O::I32Add => Self::I32Add,
647 O::I32Sub => Self::I32Sub,
648 O::I32Mul => Self::I32Mul,
649 O::I32DivS => Self::I32DivS,
650 O::I32DivU => Self::I32DivU,
651 O::I32RemS => Self::I32RemS,
652 O::I32RemU => Self::I32RemU,
653 O::I32And => Self::I32And,
654 O::I32Or => Self::I32Or,
655 O::I32Xor => Self::I32Xor,
656 O::I32Shl => Self::I32Shl,
657 O::I32ShrS => Self::I32ShrS,
658 O::I32ShrU => Self::I32ShrU,
659 O::I32Rotl => Self::I32Rotl,
660 O::I32Rotr => Self::I32Rotr,
661 O::I64Clz => Self::I64Clz,
662 O::I64Ctz => Self::I64Ctz,
663 O::I64Popcnt => Self::I64Popcnt,
664 O::I64Add => Self::I64Add,
665 O::I64Sub => Self::I64Sub,
666 O::I64Mul => Self::I64Mul,
667 O::I64DivS => Self::I64DivS,
668 O::I64DivU => Self::I64DivU,
669 O::I64RemS => Self::I64RemS,
670 O::I64RemU => Self::I64RemU,
671 O::I64And => Self::I64And,
672 O::I64Or => Self::I64Or,
673 O::I64Xor => Self::I64Xor,
674 O::I64Shl => Self::I64Shl,
675 O::I64ShrS => Self::I64ShrS,
676 O::I64ShrU => Self::I64ShrU,
677 O::I64Rotl => Self::I64Rotl,
678 O::I64Rotr => Self::I64Rotr,
679 O::F32Abs => Self::F32Abs,
680 O::F32Neg => Self::F32Neg,
681 O::F32Ceil => Self::F32Ceil,
682 O::F32Floor => Self::F32Floor,
683 O::F32Trunc => Self::F32Trunc,
684 O::F32Nearest => Self::F32Nearest,
685 O::F32Sqrt => Self::F32Sqrt,
686 O::F32Add => Self::F32Add,
687 O::F32Sub => Self::F32Sub,
688 O::F32Mul => Self::F32Mul,
689 O::F32Div => Self::F32Div,
690 O::F32Min => Self::F32Min,
691 O::F32Max => Self::F32Max,
692 O::F32Copysign => Self::F32Copysign,
693 O::F64Abs => Self::F64Abs,
694 O::F64Neg => Self::F64Neg,
695 O::F64Ceil => Self::F64Ceil,
696 O::F64Floor => Self::F64Floor,
697 O::F64Trunc => Self::F64Trunc,
698 O::F64Nearest => Self::F64Nearest,
699 O::F64Sqrt => Self::F64Sqrt,
700 O::F64Add => Self::F64Add,
701 O::F64Sub => Self::F64Sub,
702 O::F64Mul => Self::F64Mul,
703 O::F64Div => Self::F64Div,
704 O::F64Min => Self::F64Min,
705 O::F64Max => Self::F64Max,
706 O::F64Copysign => Self::F64Copysign,
707 O::I32WrapI64 => Self::I32WrapI64,
708 O::I32TruncF32S => Self::I32TruncF32S,
709 O::I32TruncF32U => Self::I32TruncF32U,
710 O::I32TruncF64S => Self::I32TruncF64S,
711 O::I32TruncF64U => Self::I32TruncF64U,
712 O::I64ExtendI32S => Self::I64ExtendI32S,
713 O::I64ExtendI32U => Self::I64ExtendI32U,
714 O::I64TruncF32S => Self::I64TruncF32S,
715 O::I64TruncF32U => Self::I64TruncF32U,
716 O::I64TruncF64S => Self::I64TruncF64S,
717 O::I64TruncF64U => Self::I64TruncF64U,
718 O::F32ConvertI32S => Self::F32ConvertI32S,
719 O::F32ConvertI32U => Self::F32ConvertI32U,
720 O::F32ConvertI64S => Self::F32ConvertI64S,
721 O::F32ConvertI64U => Self::F32ConvertI64U,
722 O::F32DemoteF64 => Self::F32DemoteF64,
723 O::F64ConvertI32S => Self::F64ConvertI32S,
724 O::F64ConvertI32U => Self::F64ConvertI32U,
725 O::F64ConvertI64S => Self::F64ConvertI64S,
726 O::F64ConvertI64U => Self::F64ConvertI64U,
727 O::F64PromoteF32 => Self::F64PromoteF32,
728 O::I32ReinterpretF32 => Self::I32ReinterpretF32,
729 O::I64ReinterpretF64 => Self::I64ReinterpretF64,
730 O::F32ReinterpretI32 => Self::F32ReinterpretI32,
731 O::F64ReinterpretI64 => Self::F64ReinterpretI64,
732 O::I32Extend8S => Self::I32Extend8S,
733 O::I32Extend16S => Self::I32Extend16S,
734 O::I64Extend8S => Self::I64Extend8S,
735 O::I64Extend16S => Self::I64Extend16S,
736 O::I64Extend32S => Self::I64Extend32S,
737 O::I32TruncSatF32S => Self::I32TruncSatF32S,
738 O::I32TruncSatF32U => Self::I32TruncSatF32U,
739 O::I32TruncSatF64S => Self::I32TruncSatF64S,
740 O::I32TruncSatF64U => Self::I32TruncSatF64U,
741 O::I64TruncSatF32S => Self::I64TruncSatF32S,
742 O::I64TruncSatF32U => Self::I64TruncSatF32U,
743 O::I64TruncSatF64S => Self::I64TruncSatF64S,
744 O::I64TruncSatF64U => Self::I64TruncSatF64U,
745 O::MemoryInit { .. } => Self::MemoryInit,
746 O::DataDrop { .. } => Self::DataDrop,
747 O::MemoryCopy { .. } => Self::MemoryCopy,
748 O::MemoryFill { .. } => Self::MemoryFill,
749 O::TableInit { .. } => Self::TableInit,
750 O::ElemDrop { .. } => Self::ElemDrop,
751 O::TableCopy { .. } => Self::TableCopy,
752 O::TableFill { .. } => Self::TableFill,
753 O::TableGet { .. } => Self::TableGet,
754 O::TableSet { .. } => Self::TableSet,
755 O::TableGrow { .. } => Self::TableGrow,
756 O::TableSize { .. } => Self::TableSize,
757 O::MemoryAtomicNotify { .. } => Self::MemoryAtomicNotify,
758 O::MemoryAtomicWait32 { .. } => Self::MemoryAtomicWait32,
759 O::MemoryAtomicWait64 { .. } => Self::MemoryAtomicWait64,
760 O::AtomicFence { .. } => Self::AtomicFence,
761 O::I32AtomicLoad { .. } => Self::I32AtomicLoad,
762 O::I64AtomicLoad { .. } => Self::I64AtomicLoad,
763 O::I32AtomicLoad8U { .. } => Self::I32AtomicLoad8U,
764 O::I32AtomicLoad16U { .. } => Self::I32AtomicLoad16U,
765 O::I64AtomicLoad8U { .. } => Self::I64AtomicLoad8U,
766 O::I64AtomicLoad16U { .. } => Self::I64AtomicLoad16U,
767 O::I64AtomicLoad32U { .. } => Self::I64AtomicLoad32U,
768 O::I32AtomicStore { .. } => Self::I32AtomicStore,
769 O::I64AtomicStore { .. } => Self::I64AtomicStore,
770 O::I32AtomicStore8 { .. } => Self::I32AtomicStore8,
771 O::I32AtomicStore16 { .. } => Self::I32AtomicStore16,
772 O::I64AtomicStore8 { .. } => Self::I64AtomicStore8,
773 O::I64AtomicStore16 { .. } => Self::I64AtomicStore16,
774 O::I64AtomicStore32 { .. } => Self::I64AtomicStore32,
775 O::I32AtomicRmwAdd { .. } => Self::I32AtomicRmwAdd,
776 O::I64AtomicRmwAdd { .. } => Self::I64AtomicRmwAdd,
777 O::I32AtomicRmw8AddU { .. } => Self::I32AtomicRmw8AddU,
778 O::I32AtomicRmw16AddU { .. } => Self::I32AtomicRmw16AddU,
779 O::I64AtomicRmw8AddU { .. } => Self::I64AtomicRmw8AddU,
780 O::I64AtomicRmw16AddU { .. } => Self::I64AtomicRmw16AddU,
781 O::I64AtomicRmw32AddU { .. } => Self::I64AtomicRmw32AddU,
782 O::I32AtomicRmwSub { .. } => Self::I32AtomicRmwSub,
783 O::I64AtomicRmwSub { .. } => Self::I64AtomicRmwSub,
784 O::I32AtomicRmw8SubU { .. } => Self::I32AtomicRmw8SubU,
785 O::I32AtomicRmw16SubU { .. } => Self::I32AtomicRmw16SubU,
786 O::I64AtomicRmw8SubU { .. } => Self::I64AtomicRmw8SubU,
787 O::I64AtomicRmw16SubU { .. } => Self::I64AtomicRmw16SubU,
788 O::I64AtomicRmw32SubU { .. } => Self::I64AtomicRmw32SubU,
789 O::I32AtomicRmwAnd { .. } => Self::I32AtomicRmwAnd,
790 O::I64AtomicRmwAnd { .. } => Self::I64AtomicRmwAnd,
791 O::I32AtomicRmw8AndU { .. } => Self::I32AtomicRmw8AndU,
792 O::I32AtomicRmw16AndU { .. } => Self::I32AtomicRmw16AndU,
793 O::I64AtomicRmw8AndU { .. } => Self::I64AtomicRmw8AndU,
794 O::I64AtomicRmw16AndU { .. } => Self::I64AtomicRmw16AndU,
795 O::I64AtomicRmw32AndU { .. } => Self::I64AtomicRmw32AndU,
796 O::I32AtomicRmwOr { .. } => Self::I32AtomicRmwOr,
797 O::I64AtomicRmwOr { .. } => Self::I64AtomicRmwOr,
798 O::I32AtomicRmw8OrU { .. } => Self::I32AtomicRmw8OrU,
799 O::I32AtomicRmw16OrU { .. } => Self::I32AtomicRmw16OrU,
800 O::I64AtomicRmw8OrU { .. } => Self::I64AtomicRmw8OrU,
801 O::I64AtomicRmw16OrU { .. } => Self::I64AtomicRmw16OrU,
802 O::I64AtomicRmw32OrU { .. } => Self::I64AtomicRmw32OrU,
803 O::I32AtomicRmwXor { .. } => Self::I32AtomicRmwXor,
804 O::I64AtomicRmwXor { .. } => Self::I64AtomicRmwXor,
805 O::I32AtomicRmw8XorU { .. } => Self::I32AtomicRmw8XorU,
806 O::I32AtomicRmw16XorU { .. } => Self::I32AtomicRmw16XorU,
807 O::I64AtomicRmw8XorU { .. } => Self::I64AtomicRmw8XorU,
808 O::I64AtomicRmw16XorU { .. } => Self::I64AtomicRmw16XorU,
809 O::I64AtomicRmw32XorU { .. } => Self::I64AtomicRmw32XorU,
810 O::I32AtomicRmwXchg { .. } => Self::I32AtomicRmwXchg,
811 O::I64AtomicRmwXchg { .. } => Self::I64AtomicRmwXchg,
812 O::I32AtomicRmw8XchgU { .. } => Self::I32AtomicRmw8XchgU,
813 O::I32AtomicRmw16XchgU { .. } => Self::I32AtomicRmw16XchgU,
814 O::I64AtomicRmw8XchgU { .. } => Self::I64AtomicRmw8XchgU,
815 O::I64AtomicRmw16XchgU { .. } => Self::I64AtomicRmw16XchgU,
816 O::I64AtomicRmw32XchgU { .. } => Self::I64AtomicRmw32XchgU,
817 O::I32AtomicRmwCmpxchg { .. } => Self::I32AtomicRmwCmpxchg,
818 O::I64AtomicRmwCmpxchg { .. } => Self::I64AtomicRmwCmpxchg,
819 O::I32AtomicRmw8CmpxchgU { .. } => Self::I32AtomicRmw8CmpxchgU,
820 O::I32AtomicRmw16CmpxchgU { .. } => Self::I32AtomicRmw16CmpxchgU,
821 O::I64AtomicRmw8CmpxchgU { .. } => Self::I64AtomicRmw8CmpxchgU,
822 O::I64AtomicRmw16CmpxchgU { .. } => Self::I64AtomicRmw16CmpxchgU,
823 O::I64AtomicRmw32CmpxchgU { .. } => Self::I64AtomicRmw32CmpxchgU,
824 O::V128Load { .. } => Self::V128Load,
825 O::V128Store { .. } => Self::V128Store,
826 O::V128Const { .. } => Self::V128Const,
827 O::I8x16Splat => Self::I8x16Splat,
828 O::I8x16ExtractLaneS { .. } => Self::I8x16ExtractLaneS,
829 O::I8x16ExtractLaneU { .. } => Self::I8x16ExtractLaneU,
830 O::I8x16ReplaceLane { .. } => Self::I8x16ReplaceLane,
831 O::I16x8Splat => Self::I16x8Splat,
832 O::I16x8ExtractLaneS { .. } => Self::I16x8ExtractLaneS,
833 O::I16x8ExtractLaneU { .. } => Self::I16x8ExtractLaneU,
834 O::I16x8ReplaceLane { .. } => Self::I16x8ReplaceLane,
835 O::I32x4Splat => Self::I32x4Splat,
836 O::I32x4ExtractLane { .. } => Self::I32x4ExtractLane,
837 O::I32x4ReplaceLane { .. } => Self::I32x4ReplaceLane,
838 O::I64x2Splat => Self::I64x2Splat,
839 O::I64x2ExtractLane { .. } => Self::I64x2ExtractLane,
840 O::I64x2ReplaceLane { .. } => Self::I64x2ReplaceLane,
841 O::F32x4Splat => Self::F32x4Splat,
842 O::F32x4ExtractLane { .. } => Self::F32x4ExtractLane,
843 O::F32x4ReplaceLane { .. } => Self::F32x4ReplaceLane,
844 O::F64x2Splat => Self::F64x2Splat,
845 O::F64x2ExtractLane { .. } => Self::F64x2ExtractLane,
846 O::F64x2ReplaceLane { .. } => Self::F64x2ReplaceLane,
847 O::I8x16Eq => Self::I8x16Eq,
848 O::I8x16Ne => Self::I8x16Ne,
849 O::I8x16LtS => Self::I8x16LtS,
850 O::I8x16LtU => Self::I8x16LtU,
851 O::I8x16GtS => Self::I8x16GtS,
852 O::I8x16GtU => Self::I8x16GtU,
853 O::I8x16LeS => Self::I8x16LeS,
854 O::I8x16LeU => Self::I8x16LeU,
855 O::I8x16GeS => Self::I8x16GeS,
856 O::I8x16GeU => Self::I8x16GeU,
857 O::I16x8Eq => Self::I16x8Eq,
858 O::I16x8Ne => Self::I16x8Ne,
859 O::I16x8LtS => Self::I16x8LtS,
860 O::I16x8LtU => Self::I16x8LtU,
861 O::I16x8GtS => Self::I16x8GtS,
862 O::I16x8GtU => Self::I16x8GtU,
863 O::I16x8LeS => Self::I16x8LeS,
864 O::I16x8LeU => Self::I16x8LeU,
865 O::I16x8GeS => Self::I16x8GeS,
866 O::I16x8GeU => Self::I16x8GeU,
867 O::I32x4Eq => Self::I32x4Eq,
868 O::I32x4Ne => Self::I32x4Ne,
869 O::I32x4LtS => Self::I32x4LtS,
870 O::I32x4LtU => Self::I32x4LtU,
871 O::I32x4GtS => Self::I32x4GtS,
872 O::I32x4GtU => Self::I32x4GtU,
873 O::I32x4LeS => Self::I32x4LeS,
874 O::I32x4LeU => Self::I32x4LeU,
875 O::I32x4GeS => Self::I32x4GeS,
876 O::I32x4GeU => Self::I32x4GeU,
877 O::I64x2Eq => Self::I64x2Eq,
878 O::I64x2Ne => Self::I64x2Ne,
879 O::I64x2LtS => Self::I64x2LtS,
880 O::I64x2GtS => Self::I64x2GtS,
881 O::I64x2LeS => Self::I64x2LeS,
882 O::I64x2GeS => Self::I64x2GeS,
883 O::F32x4Eq => Self::F32x4Eq,
884 O::F32x4Ne => Self::F32x4Ne,
885 O::F32x4Lt => Self::F32x4Lt,
886 O::F32x4Gt => Self::F32x4Gt,
887 O::F32x4Le => Self::F32x4Le,
888 O::F32x4Ge => Self::F32x4Ge,
889 O::F64x2Eq => Self::F64x2Eq,
890 O::F64x2Ne => Self::F64x2Ne,
891 O::F64x2Lt => Self::F64x2Lt,
892 O::F64x2Gt => Self::F64x2Gt,
893 O::F64x2Le => Self::F64x2Le,
894 O::F64x2Ge => Self::F64x2Ge,
895 O::V128Not => Self::V128Not,
896 O::V128And => Self::V128And,
897 O::V128AndNot => Self::V128AndNot,
898 O::V128Or => Self::V128Or,
899 O::V128Xor => Self::V128Xor,
900 O::V128Bitselect => Self::V128Bitselect,
901 O::V128AnyTrue => Self::V128AnyTrue,
902 O::I8x16Popcnt => Self::I8x16Popcnt,
903 O::I8x16Abs => Self::I8x16Abs,
904 O::I8x16Neg => Self::I8x16Neg,
905 O::I8x16AllTrue => Self::I8x16AllTrue,
906 O::I8x16Bitmask => Self::I8x16Bitmask,
907 O::I8x16Shl => Self::I8x16Shl,
908 O::I8x16ShrS => Self::I8x16ShrS,
909 O::I8x16ShrU => Self::I8x16ShrU,
910 O::I8x16Add => Self::I8x16Add,
911 O::I8x16AddSatS => Self::I8x16AddSatS,
912 O::I8x16AddSatU => Self::I8x16AddSatU,
913 O::I8x16Sub => Self::I8x16Sub,
914 O::I8x16SubSatS => Self::I8x16SubSatS,
915 O::I8x16SubSatU => Self::I8x16SubSatU,
916 O::I8x16MinS => Self::I8x16MinS,
917 O::I8x16MinU => Self::I8x16MinU,
918 O::I8x16MaxS => Self::I8x16MaxS,
919 O::I8x16MaxU => Self::I8x16MaxU,
920 O::I16x8Abs => Self::I16x8Abs,
921 O::I16x8Neg => Self::I16x8Neg,
922 O::I16x8AllTrue => Self::I16x8AllTrue,
923 O::I16x8Bitmask => Self::I16x8Bitmask,
924 O::I16x8Shl => Self::I16x8Shl,
925 O::I16x8ShrS => Self::I16x8ShrS,
926 O::I16x8ShrU => Self::I16x8ShrU,
927 O::I16x8Add => Self::I16x8Add,
928 O::I16x8AddSatS => Self::I16x8AddSatS,
929 O::I16x8AddSatU => Self::I16x8AddSatU,
930 O::I16x8Sub => Self::I16x8Sub,
931 O::I16x8SubSatS => Self::I16x8SubSatS,
932 O::I16x8SubSatU => Self::I16x8SubSatU,
933 O::I16x8Mul => Self::I16x8Mul,
934 O::I16x8MinS => Self::I16x8MinS,
935 O::I16x8MinU => Self::I16x8MinU,
936 O::I16x8MaxS => Self::I16x8MaxS,
937 O::I16x8MaxU => Self::I16x8MaxU,
938 O::I16x8ExtAddPairwiseI8x16S => Self::I16x8ExtAddPairwiseI8x16S,
939 O::I16x8ExtAddPairwiseI8x16U => Self::I16x8ExtAddPairwiseI8x16U,
940 O::I32x4Abs => Self::I32x4Abs,
941 O::I32x4Neg => Self::I32x4Neg,
942 O::I32x4AllTrue => Self::I32x4AllTrue,
943 O::I32x4Bitmask => Self::I32x4Bitmask,
944 O::I32x4Shl => Self::I32x4Shl,
945 O::I32x4ShrS => Self::I32x4ShrS,
946 O::I32x4ShrU => Self::I32x4ShrU,
947 O::I32x4Add => Self::I32x4Add,
948 O::I32x4Sub => Self::I32x4Sub,
949 O::I32x4Mul => Self::I32x4Mul,
950 O::I32x4MinS => Self::I32x4MinS,
951 O::I32x4MinU => Self::I32x4MinU,
952 O::I32x4MaxS => Self::I32x4MaxS,
953 O::I32x4MaxU => Self::I32x4MaxU,
954 O::I32x4DotI16x8S => Self::I32x4DotI16x8S,
955 O::I32x4ExtAddPairwiseI16x8S => Self::I32x4ExtAddPairwiseI16x8S,
956 O::I32x4ExtAddPairwiseI16x8U => Self::I32x4ExtAddPairwiseI16x8U,
957 O::I64x2Abs => Self::I64x2Abs,
958 O::I64x2Neg => Self::I64x2Neg,
959 O::I64x2AllTrue => Self::I64x2AllTrue,
960 O::I64x2Bitmask => Self::I64x2Bitmask,
961 O::I64x2Shl => Self::I64x2Shl,
962 O::I64x2ShrS => Self::I64x2ShrS,
963 O::I64x2ShrU => Self::I64x2ShrU,
964 O::I64x2Add => Self::I64x2Add,
965 O::I64x2Sub => Self::I64x2Sub,
966 O::I64x2Mul => Self::I64x2Mul,
967 O::F32x4Ceil => Self::F32x4Ceil,
968 O::F32x4Floor => Self::F32x4Floor,
969 O::F32x4Trunc => Self::F32x4Trunc,
970 O::F32x4Nearest => Self::F32x4Nearest,
971 O::F64x2Ceil => Self::F64x2Ceil,
972 O::F64x2Floor => Self::F64x2Floor,
973 O::F64x2Trunc => Self::F64x2Trunc,
974 O::F64x2Nearest => Self::F64x2Nearest,
975 O::F32x4Abs => Self::F32x4Abs,
976 O::F32x4Neg => Self::F32x4Neg,
977 O::F32x4Sqrt => Self::F32x4Sqrt,
978 O::F32x4Add => Self::F32x4Add,
979 O::F32x4Sub => Self::F32x4Sub,
980 O::F32x4Mul => Self::F32x4Mul,
981 O::F32x4Div => Self::F32x4Div,
982 O::F32x4Min => Self::F32x4Min,
983 O::F32x4Max => Self::F32x4Max,
984 O::F32x4PMin => Self::F32x4PMin,
985 O::F32x4PMax => Self::F32x4PMax,
986 O::F64x2Abs => Self::F64x2Abs,
987 O::F64x2Neg => Self::F64x2Neg,
988 O::F64x2Sqrt => Self::F64x2Sqrt,
989 O::F64x2Add => Self::F64x2Add,
990 O::F64x2Sub => Self::F64x2Sub,
991 O::F64x2Mul => Self::F64x2Mul,
992 O::F64x2Div => Self::F64x2Div,
993 O::F64x2Min => Self::F64x2Min,
994 O::F64x2Max => Self::F64x2Max,
995 O::F64x2PMin => Self::F64x2PMin,
996 O::F64x2PMax => Self::F64x2PMax,
997 O::I32x4TruncSatF32x4S => Self::I32x4TruncSatF32x4S,
998 O::I32x4TruncSatF32x4U => Self::I32x4TruncSatF32x4U,
999 O::F32x4ConvertI32x4S => Self::F32x4ConvertI32x4S,
1000 O::F32x4ConvertI32x4U => Self::F32x4ConvertI32x4U,
1001 O::I8x16Swizzle => Self::I8x16Swizzle,
1002 O::I8x16Shuffle { .. } => Self::I8x16Shuffle,
1003 O::V128Load8Splat { .. } => Self::V128Load8Splat,
1004 O::V128Load16Splat { .. } => Self::V128Load16Splat,
1005 O::V128Load32Splat { .. } => Self::V128Load32Splat,
1006 O::V128Load32Zero { .. } => Self::V128Load32Zero,
1007 O::V128Load64Splat { .. } => Self::V128Load64Splat,
1008 O::V128Load64Zero { .. } => Self::V128Load64Zero,
1009 O::I8x16NarrowI16x8S => Self::I8x16NarrowI16x8S,
1010 O::I8x16NarrowI16x8U => Self::I8x16NarrowI16x8U,
1011 O::I16x8NarrowI32x4S => Self::I16x8NarrowI32x4S,
1012 O::I16x8NarrowI32x4U => Self::I16x8NarrowI32x4U,
1013 O::I16x8ExtendLowI8x16S => Self::I16x8ExtendLowI8x16S,
1014 O::I16x8ExtendHighI8x16S => Self::I16x8ExtendHighI8x16S,
1015 O::I16x8ExtendLowI8x16U => Self::I16x8ExtendLowI8x16U,
1016 O::I16x8ExtendHighI8x16U => Self::I16x8ExtendHighI8x16U,
1017 O::I32x4ExtendLowI16x8S => Self::I32x4ExtendLowI16x8S,
1018 O::I32x4ExtendHighI16x8S => Self::I32x4ExtendHighI16x8S,
1019 O::I32x4ExtendLowI16x8U => Self::I32x4ExtendLowI16x8U,
1020 O::I32x4ExtendHighI16x8U => Self::I32x4ExtendHighI16x8U,
1021 O::I64x2ExtendLowI32x4S => Self::I64x2ExtendLowI32x4S,
1022 O::I64x2ExtendHighI32x4S => Self::I64x2ExtendHighI32x4S,
1023 O::I64x2ExtendLowI32x4U => Self::I64x2ExtendLowI32x4U,
1024 O::I64x2ExtendHighI32x4U => Self::I64x2ExtendHighI32x4U,
1025 O::I16x8ExtMulLowI8x16S => Self::I16x8ExtMulLowI8x16S,
1026 O::I16x8ExtMulHighI8x16S => Self::I16x8ExtMulHighI8x16S,
1027 O::I16x8ExtMulLowI8x16U => Self::I16x8ExtMulLowI8x16U,
1028 O::I16x8ExtMulHighI8x16U => Self::I16x8ExtMulHighI8x16U,
1029 O::I32x4ExtMulLowI16x8S => Self::I32x4ExtMulLowI16x8S,
1030 O::I32x4ExtMulHighI16x8S => Self::I32x4ExtMulHighI16x8S,
1031 O::I32x4ExtMulLowI16x8U => Self::I32x4ExtMulLowI16x8U,
1032 O::I32x4ExtMulHighI16x8U => Self::I32x4ExtMulHighI16x8U,
1033 O::I64x2ExtMulLowI32x4S => Self::I64x2ExtMulLowI32x4S,
1034 O::I64x2ExtMulHighI32x4S => Self::I64x2ExtMulHighI32x4S,
1035 O::I64x2ExtMulLowI32x4U => Self::I64x2ExtMulLowI32x4U,
1036 O::I64x2ExtMulHighI32x4U => Self::I64x2ExtMulHighI32x4U,
1037 O::V128Load8x8S { .. } => Self::V128Load8x8S,
1038 O::V128Load8x8U { .. } => Self::V128Load8x8U,
1039 O::V128Load16x4S { .. } => Self::V128Load16x4S,
1040 O::V128Load16x4U { .. } => Self::V128Load16x4U,
1041 O::V128Load32x2S { .. } => Self::V128Load32x2S,
1042 O::V128Load32x2U { .. } => Self::V128Load32x2U,
1043 O::V128Load8Lane { .. } => Self::V128Load8Lane,
1044 O::V128Load16Lane { .. } => Self::V128Load16Lane,
1045 O::V128Load32Lane { .. } => Self::V128Load32Lane,
1046 O::V128Load64Lane { .. } => Self::V128Load64Lane,
1047 O::V128Store8Lane { .. } => Self::V128Store8Lane,
1048 O::V128Store16Lane { .. } => Self::V128Store16Lane,
1049 O::V128Store32Lane { .. } => Self::V128Store32Lane,
1050 O::V128Store64Lane { .. } => Self::V128Store64Lane,
1051 O::I8x16AvgrU => Self::I8x16RoundingAverageU,
1052 O::I16x8AvgrU => Self::I16x8RoundingAverageU,
1053 O::I16x8Q15MulrSatS => Self::I16x8Q15MulrSatS,
1054 O::F32x4DemoteF64x2Zero => Self::F32x4DemoteF64x2Zero,
1055 O::F64x2PromoteLowF32x4 => Self::F64x2PromoteLowF32x4,
1056 O::F64x2ConvertLowI32x4S => Self::F64x2ConvertLowI32x4S,
1057 O::F64x2ConvertLowI32x4U => Self::F64x2ConvertLowI32x4U,
1058 O::I32x4TruncSatF64x2SZero => Self::I32x4TruncSatF64x2SZero,
1059 O::I32x4TruncSatF64x2UZero => Self::I32x4TruncSatF64x2UZero,
1060 O::I8x16RelaxedSwizzle => Self::I8x16RelaxedSwizzle,
1061 O::I32x4RelaxedTruncF32x4S => Self::I32x4RelaxedTruncSatF32x4S,
1062 O::I32x4RelaxedTruncF32x4U => Self::I32x4RelaxedTruncSatF32x4U,
1063 O::I32x4RelaxedTruncF64x2SZero => Self::I32x4RelaxedTruncSatF64x2SZero,
1064 O::I32x4RelaxedTruncF64x2UZero => Self::I32x4RelaxedTruncSatF64x2UZero,
1065 O::F32x4RelaxedMadd => Self::F32x4Fma,
1066 O::I8x16RelaxedLaneselect => Self::I8x16LaneSelect,
1067 O::I16x8RelaxedLaneselect => Self::I16x8LaneSelect,
1068 O::I32x4RelaxedLaneselect => Self::I32x4LaneSelect,
1069 O::I64x2RelaxedLaneselect => Self::I64x2LaneSelect,
1070 O::F32x4RelaxedMin => Self::F32x4RelaxedMin,
1071 O::F32x4RelaxedMax => Self::F32x4RelaxedMax,
1072 O::F64x2RelaxedMin => Self::F64x2RelaxedMin,
1073 O::F64x2RelaxedMax => Self::F64x2RelaxedMax,
1074 O::I16x8RelaxedQ15mulrS => Self::I16x8RelaxedQ15mulrS,
1075 _ => {
1076 panic!("unimplemented operator {operator:?}");
1077 }
1078 }
1079 }
1080}