Line data Source code
1 : #[allow(non_camel_case_types)]
2 0 : #[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
3 : pub enum Opcode {
4 : PHI,
5 : INLINEASM,
6 : INLINEASM_BR,
7 : CFI_INSTRUCTION,
8 : EH_LABEL,
9 : GC_LABEL,
10 : ANNOTATION_LABEL,
11 : KILL,
12 : EXTRACT_SUBREG,
13 : INSERT_SUBREG,
14 : IMPLICIT_DEF,
15 : SUBREG_TO_REG,
16 : COPY_TO_REGCLASS,
17 : DBG_VALUE,
18 : DBG_VALUE_LIST,
19 : DBG_INSTR_REF,
20 : DBG_PHI,
21 : DBG_LABEL,
22 : REG_SEQUENCE,
23 : COPY,
24 : BUNDLE,
25 : LIFETIME_START,
26 : LIFETIME_END,
27 : PSEUDO_PROBE,
28 : ARITH_FENCE,
29 : STACKMAP,
30 : FENTRY_CALL,
31 : PATCHPOINT,
32 : LOAD_STACK_GUARD,
33 : PREALLOCATED_SETUP,
34 : PREALLOCATED_ARG,
35 : STATEPOINT,
36 : LOCAL_ESCAPE,
37 : FAULTING_OP,
38 : PATCHABLE_OP,
39 : PATCHABLE_FUNCTION_ENTER,
40 : PATCHABLE_RET,
41 : PATCHABLE_FUNCTION_EXIT,
42 : PATCHABLE_TAIL_CALL,
43 : PATCHABLE_EVENT_CALL,
44 : PATCHABLE_TYPED_EVENT_CALL,
45 : ICALL_BRANCH_FUNNEL,
46 : MEMBARRIER,
47 : JUMP_TABLE_DEBUG_INFO,
48 : CONVERGENCECTRL_ENTRY,
49 : CONVERGENCECTRL_ANCHOR,
50 : CONVERGENCECTRL_LOOP,
51 : CONVERGENCECTRL_GLUE,
52 : G_ASSERT_SEXT,
53 : G_ASSERT_ZEXT,
54 : G_ASSERT_ALIGN,
55 : G_ADD,
56 : G_SUB,
57 : G_MUL,
58 : G_SDIV,
59 : G_UDIV,
60 : G_SREM,
61 : G_UREM,
62 : G_SDIVREM,
63 : G_UDIVREM,
64 : G_AND,
65 : G_OR,
66 : G_XOR,
67 : G_IMPLICIT_DEF,
68 : G_PHI,
69 : G_FRAME_INDEX,
70 : G_GLOBAL_VALUE,
71 : G_PTRAUTH_GLOBAL_VALUE,
72 : G_CONSTANT_POOL,
73 : G_EXTRACT,
74 : G_UNMERGE_VALUES,
75 : G_INSERT,
76 : G_MERGE_VALUES,
77 : G_BUILD_VECTOR,
78 : G_BUILD_VECTOR_TRUNC,
79 : G_CONCAT_VECTORS,
80 : G_PTRTOINT,
81 : G_INTTOPTR,
82 : G_BITCAST,
83 : G_FREEZE,
84 : G_CONSTANT_FOLD_BARRIER,
85 : G_INTRINSIC_FPTRUNC_ROUND,
86 : G_INTRINSIC_TRUNC,
87 : G_INTRINSIC_ROUND,
88 : G_INTRINSIC_LRINT,
89 : G_INTRINSIC_LLRINT,
90 : G_INTRINSIC_ROUNDEVEN,
91 : G_READCYCLECOUNTER,
92 : G_READSTEADYCOUNTER,
93 : G_LOAD,
94 : G_SEXTLOAD,
95 : G_ZEXTLOAD,
96 : G_INDEXED_LOAD,
97 : G_INDEXED_SEXTLOAD,
98 : G_INDEXED_ZEXTLOAD,
99 : G_STORE,
100 : G_INDEXED_STORE,
101 : G_ATOMIC_CMPXCHG_WITH_SUCCESS,
102 : G_ATOMIC_CMPXCHG,
103 : G_ATOMICRMW_XCHG,
104 : G_ATOMICRMW_ADD,
105 : G_ATOMICRMW_SUB,
106 : G_ATOMICRMW_AND,
107 : G_ATOMICRMW_NAND,
108 : G_ATOMICRMW_OR,
109 : G_ATOMICRMW_XOR,
110 : G_ATOMICRMW_MAX,
111 : G_ATOMICRMW_MIN,
112 : G_ATOMICRMW_UMAX,
113 : G_ATOMICRMW_UMIN,
114 : G_ATOMICRMW_FADD,
115 : G_ATOMICRMW_FSUB,
116 : G_ATOMICRMW_FMAX,
117 : G_ATOMICRMW_FMIN,
118 : G_ATOMICRMW_UINC_WRAP,
119 : G_ATOMICRMW_UDEC_WRAP,
120 : G_FENCE,
121 : G_PREFETCH,
122 : G_BRCOND,
123 : G_BRINDIRECT,
124 : G_INVOKE_REGION_START,
125 : G_INTRINSIC,
126 : G_INTRINSIC_W_SIDE_EFFECTS,
127 : G_INTRINSIC_CONVERGENT,
128 : G_INTRINSIC_CONVERGENT_W_SIDE_EFFECTS,
129 : G_ANYEXT,
130 : G_TRUNC,
131 : G_CONSTANT,
132 : G_FCONSTANT,
133 : G_VASTART,
134 : G_VAARG,
135 : G_SEXT,
136 : G_SEXT_INREG,
137 : G_ZEXT,
138 : G_SHL,
139 : G_LSHR,
140 : G_ASHR,
141 : G_FSHL,
142 : G_FSHR,
143 : G_ROTR,
144 : G_ROTL,
145 : G_ICMP,
146 : G_FCMP,
147 : G_SCMP,
148 : G_UCMP,
149 : G_SELECT,
150 : G_UADDO,
151 : G_UADDE,
152 : G_USUBO,
153 : G_USUBE,
154 : G_SADDO,
155 : G_SADDE,
156 : G_SSUBO,
157 : G_SSUBE,
158 : G_UMULO,
159 : G_SMULO,
160 : G_UMULH,
161 : G_SMULH,
162 : G_UADDSAT,
163 : G_SADDSAT,
164 : G_USUBSAT,
165 : G_SSUBSAT,
166 : G_USHLSAT,
167 : G_SSHLSAT,
168 : G_SMULFIX,
169 : G_UMULFIX,
170 : G_SMULFIXSAT,
171 : G_UMULFIXSAT,
172 : G_SDIVFIX,
173 : G_UDIVFIX,
174 : G_SDIVFIXSAT,
175 : G_UDIVFIXSAT,
176 : G_FADD,
177 : G_FSUB,
178 : G_FMUL,
179 : G_FMA,
180 : G_FMAD,
181 : G_FDIV,
182 : G_FREM,
183 : G_FPOW,
184 : G_FPOWI,
185 : G_FEXP,
186 : G_FEXP2,
187 : G_FEXP10,
188 : G_FLOG,
189 : G_FLOG2,
190 : G_FLOG10,
191 : G_FLDEXP,
192 : G_FFREXP,
193 : G_FNEG,
194 : G_FPEXT,
195 : G_FPTRUNC,
196 : G_FPTOSI,
197 : G_FPTOUI,
198 : G_SITOFP,
199 : G_UITOFP,
200 : G_FABS,
201 : G_FCOPYSIGN,
202 : G_IS_FPCLASS,
203 : G_FCANONICALIZE,
204 : G_FMINNUM,
205 : G_FMAXNUM,
206 : G_FMINNUM_IEEE,
207 : G_FMAXNUM_IEEE,
208 : G_FMINIMUM,
209 : G_FMAXIMUM,
210 : G_GET_FPENV,
211 : G_SET_FPENV,
212 : G_RESET_FPENV,
213 : G_GET_FPMODE,
214 : G_SET_FPMODE,
215 : G_RESET_FPMODE,
216 : G_PTR_ADD,
217 : G_PTRMASK,
218 : G_SMIN,
219 : G_SMAX,
220 : G_UMIN,
221 : G_UMAX,
222 : G_ABS,
223 : G_LROUND,
224 : G_LLROUND,
225 : G_BR,
226 : G_BRJT,
227 : G_VSCALE,
228 : G_INSERT_SUBVECTOR,
229 : G_EXTRACT_SUBVECTOR,
230 : G_INSERT_VECTOR_ELT,
231 : G_EXTRACT_VECTOR_ELT,
232 : G_SHUFFLE_VECTOR,
233 : G_SPLAT_VECTOR,
234 : G_VECTOR_COMPRESS,
235 : G_CTTZ,
236 : G_CTTZ_ZERO_UNDEF,
237 : G_CTLZ,
238 : G_CTLZ_ZERO_UNDEF,
239 : G_CTPOP,
240 : G_BSWAP,
241 : G_BITREVERSE,
242 : G_FCEIL,
243 : G_FCOS,
244 : G_FSIN,
245 : G_FTAN,
246 : G_FACOS,
247 : G_FASIN,
248 : G_FATAN,
249 : G_FCOSH,
250 : G_FSINH,
251 : G_FTANH,
252 : G_FSQRT,
253 : G_FFLOOR,
254 : G_FRINT,
255 : G_FNEARBYINT,
256 : G_ADDRSPACE_CAST,
257 : G_BLOCK_ADDR,
258 : G_JUMP_TABLE,
259 : G_DYN_STACKALLOC,
260 : G_STACKSAVE,
261 : G_STACKRESTORE,
262 : G_STRICT_FADD,
263 : G_STRICT_FSUB,
264 : G_STRICT_FMUL,
265 : G_STRICT_FDIV,
266 : G_STRICT_FREM,
267 : G_STRICT_FMA,
268 : G_STRICT_FSQRT,
269 : G_STRICT_FLDEXP,
270 : G_READ_REGISTER,
271 : G_WRITE_REGISTER,
272 : G_MEMCPY,
273 : G_MEMCPY_INLINE,
274 : G_MEMMOVE,
275 : G_MEMSET,
276 : G_BZERO,
277 : G_TRAP,
278 : G_DEBUGTRAP,
279 : G_UBSANTRAP,
280 : G_VECREDUCE_SEQ_FADD,
281 : G_VECREDUCE_SEQ_FMUL,
282 : G_VECREDUCE_FADD,
283 : G_VECREDUCE_FMUL,
284 : G_VECREDUCE_FMAX,
285 : G_VECREDUCE_FMIN,
286 : G_VECREDUCE_FMAXIMUM,
287 : G_VECREDUCE_FMINIMUM,
288 : G_VECREDUCE_ADD,
289 : G_VECREDUCE_MUL,
290 : G_VECREDUCE_AND,
291 : G_VECREDUCE_OR,
292 : G_VECREDUCE_XOR,
293 : G_VECREDUCE_SMAX,
294 : G_VECREDUCE_SMIN,
295 : G_VECREDUCE_UMAX,
296 : G_VECREDUCE_UMIN,
297 : G_SBFX,
298 : G_UBFX,
299 : ADJCALLSTACKDOWN,
300 : ADJCALLSTACKUP,
301 : FI_ri,
302 : MEMCPY,
303 : Select,
304 : Select_32,
305 : Select_32_64,
306 : Select_64_32,
307 : Select_Ri,
308 : Select_Ri_32,
309 : Select_Ri_32_64,
310 : Select_Ri_64_32,
311 : ADDR_SPACE_CAST,
312 : ADD_ri,
313 : ADD_ri_32,
314 : ADD_rr,
315 : ADD_rr_32,
316 : AND_ri,
317 : AND_ri_32,
318 : AND_rr,
319 : AND_rr_32,
320 : BE16,
321 : BE32,
322 : BE64,
323 : BSWAP16,
324 : BSWAP32,
325 : BSWAP64,
326 : CMPXCHGD,
327 : CMPXCHGW32,
328 : CORE_LD32,
329 : CORE_LD64,
330 : CORE_SHIFT,
331 : CORE_ST,
332 : DIV_ri,
333 : DIV_ri_32,
334 : DIV_rr,
335 : DIV_rr_32,
336 : JAL,
337 : JALX,
338 : JCOND,
339 : JEQ_ri,
340 : JEQ_ri_32,
341 : JEQ_rr,
342 : JEQ_rr_32,
343 : JMP,
344 : JMPL,
345 : JNE_ri,
346 : JNE_ri_32,
347 : JNE_rr,
348 : JNE_rr_32,
349 : JSET_ri,
350 : JSET_ri_32,
351 : JSET_rr,
352 : JSET_rr_32,
353 : JSGE_ri,
354 : JSGE_ri_32,
355 : JSGE_rr,
356 : JSGE_rr_32,
357 : JSGT_ri,
358 : JSGT_ri_32,
359 : JSGT_rr,
360 : JSGT_rr_32,
361 : JSLE_ri,
362 : JSLE_ri_32,
363 : JSLE_rr,
364 : JSLE_rr_32,
365 : JSLT_ri,
366 : JSLT_ri_32,
367 : JSLT_rr,
368 : JSLT_rr_32,
369 : JUGE_ri,
370 : JUGE_ri_32,
371 : JUGE_rr,
372 : JUGE_rr_32,
373 : JUGT_ri,
374 : JUGT_ri_32,
375 : JUGT_rr,
376 : JUGT_rr_32,
377 : JULE_ri,
378 : JULE_ri_32,
379 : JULE_rr,
380 : JULE_rr_32,
381 : JULT_ri,
382 : JULT_ri_32,
383 : JULT_rr,
384 : JULT_rr_32,
385 : LDB,
386 : LDB32,
387 : LDBSX,
388 : LDD,
389 : LDH,
390 : LDH32,
391 : LDHSX,
392 : LDW,
393 : LDW32,
394 : LDWSX,
395 : LD_ABS_B,
396 : LD_ABS_H,
397 : LD_ABS_W,
398 : LD_IND_B,
399 : LD_IND_H,
400 : LD_IND_W,
401 : LD_imm64,
402 : LD_pseudo,
403 : LE16,
404 : LE32,
405 : LE64,
406 : MOD_ri,
407 : MOD_ri_32,
408 : MOD_rr,
409 : MOD_rr_32,
410 : MOVSX_rr_16,
411 : MOVSX_rr_32,
412 : MOVSX_rr_32_16,
413 : MOVSX_rr_32_8,
414 : MOVSX_rr_8,
415 : MOV_32_64,
416 : MOV_ri,
417 : MOV_ri_32,
418 : MOV_rr,
419 : MOV_rr_32,
420 : MUL_ri,
421 : MUL_ri_32,
422 : MUL_rr,
423 : MUL_rr_32,
424 : NEG_32,
425 : NEG_64,
426 : NOP,
427 : OR_ri,
428 : OR_ri_32,
429 : OR_rr,
430 : OR_rr_32,
431 : RET,
432 : SDIV_ri,
433 : SDIV_ri_32,
434 : SDIV_rr,
435 : SDIV_rr_32,
436 : SLL_ri,
437 : SLL_ri_32,
438 : SLL_rr,
439 : SLL_rr_32,
440 : SMOD_ri,
441 : SMOD_ri_32,
442 : SMOD_rr,
443 : SMOD_rr_32,
444 : SRA_ri,
445 : SRA_ri_32,
446 : SRA_rr,
447 : SRA_rr_32,
448 : SRL_ri,
449 : SRL_ri_32,
450 : SRL_rr,
451 : SRL_rr_32,
452 : STB,
453 : STB32,
454 : STB_imm,
455 : STD,
456 : STD_imm,
457 : STH,
458 : STH32,
459 : STH_imm,
460 : STW,
461 : STW32,
462 : STW_imm,
463 : SUB_ri,
464 : SUB_ri_32,
465 : SUB_rr,
466 : SUB_rr_32,
467 : XADDD,
468 : XADDW,
469 : XADDW32,
470 : XANDD,
471 : XANDW32,
472 : XCHGD,
473 : XCHGW32,
474 : XFADDD,
475 : XFADDW32,
476 : XFANDD,
477 : XFANDW32,
478 : XFORD,
479 : XFORW32,
480 : XFXORD,
481 : XFXORW32,
482 : XORD,
483 : XORW32,
484 : XOR_ri,
485 : XOR_ri_32,
486 : XOR_rr,
487 : XOR_rr_32,
488 : XXORD,
489 : XXORW32,
490 : INSTRUCTION_LIST_END,
491 : UNKNOWN(u64),
492 : }
493 :
494 : impl From<u64> for Opcode {
495 0 : fn from(value: u64) -> Self {
496 0 : match value {
497 0 : 0 => Opcode::PHI,
498 0 : 1 => Opcode::INLINEASM,
499 0 : 2 => Opcode::INLINEASM_BR,
500 0 : 3 => Opcode::CFI_INSTRUCTION,
501 0 : 4 => Opcode::EH_LABEL,
502 0 : 5 => Opcode::GC_LABEL,
503 0 : 6 => Opcode::ANNOTATION_LABEL,
504 0 : 7 => Opcode::KILL,
505 0 : 8 => Opcode::EXTRACT_SUBREG,
506 0 : 9 => Opcode::INSERT_SUBREG,
507 0 : 10 => Opcode::IMPLICIT_DEF,
508 0 : 11 => Opcode::SUBREG_TO_REG,
509 0 : 12 => Opcode::COPY_TO_REGCLASS,
510 0 : 13 => Opcode::DBG_VALUE,
511 0 : 14 => Opcode::DBG_VALUE_LIST,
512 0 : 15 => Opcode::DBG_INSTR_REF,
513 0 : 16 => Opcode::DBG_PHI,
514 0 : 17 => Opcode::DBG_LABEL,
515 0 : 18 => Opcode::REG_SEQUENCE,
516 0 : 19 => Opcode::COPY,
517 0 : 20 => Opcode::BUNDLE,
518 0 : 21 => Opcode::LIFETIME_START,
519 0 : 22 => Opcode::LIFETIME_END,
520 0 : 23 => Opcode::PSEUDO_PROBE,
521 0 : 24 => Opcode::ARITH_FENCE,
522 0 : 25 => Opcode::STACKMAP,
523 0 : 26 => Opcode::FENTRY_CALL,
524 0 : 27 => Opcode::PATCHPOINT,
525 0 : 28 => Opcode::LOAD_STACK_GUARD,
526 0 : 29 => Opcode::PREALLOCATED_SETUP,
527 0 : 30 => Opcode::PREALLOCATED_ARG,
528 0 : 31 => Opcode::STATEPOINT,
529 0 : 32 => Opcode::LOCAL_ESCAPE,
530 0 : 33 => Opcode::FAULTING_OP,
531 0 : 34 => Opcode::PATCHABLE_OP,
532 0 : 35 => Opcode::PATCHABLE_FUNCTION_ENTER,
533 0 : 36 => Opcode::PATCHABLE_RET,
534 0 : 37 => Opcode::PATCHABLE_FUNCTION_EXIT,
535 0 : 38 => Opcode::PATCHABLE_TAIL_CALL,
536 0 : 39 => Opcode::PATCHABLE_EVENT_CALL,
537 0 : 40 => Opcode::PATCHABLE_TYPED_EVENT_CALL,
538 0 : 41 => Opcode::ICALL_BRANCH_FUNNEL,
539 0 : 42 => Opcode::MEMBARRIER,
540 0 : 43 => Opcode::JUMP_TABLE_DEBUG_INFO,
541 0 : 44 => Opcode::CONVERGENCECTRL_ENTRY,
542 0 : 45 => Opcode::CONVERGENCECTRL_ANCHOR,
543 0 : 46 => Opcode::CONVERGENCECTRL_LOOP,
544 0 : 47 => Opcode::CONVERGENCECTRL_GLUE,
545 0 : 48 => Opcode::G_ASSERT_SEXT,
546 0 : 49 => Opcode::G_ASSERT_ZEXT,
547 0 : 50 => Opcode::G_ASSERT_ALIGN,
548 0 : 51 => Opcode::G_ADD,
549 0 : 52 => Opcode::G_SUB,
550 0 : 53 => Opcode::G_MUL,
551 0 : 54 => Opcode::G_SDIV,
552 0 : 55 => Opcode::G_UDIV,
553 0 : 56 => Opcode::G_SREM,
554 0 : 57 => Opcode::G_UREM,
555 0 : 58 => Opcode::G_SDIVREM,
556 0 : 59 => Opcode::G_UDIVREM,
557 0 : 60 => Opcode::G_AND,
558 0 : 61 => Opcode::G_OR,
559 0 : 62 => Opcode::G_XOR,
560 0 : 63 => Opcode::G_IMPLICIT_DEF,
561 0 : 64 => Opcode::G_PHI,
562 0 : 65 => Opcode::G_FRAME_INDEX,
563 0 : 66 => Opcode::G_GLOBAL_VALUE,
564 0 : 67 => Opcode::G_PTRAUTH_GLOBAL_VALUE,
565 0 : 68 => Opcode::G_CONSTANT_POOL,
566 0 : 69 => Opcode::G_EXTRACT,
567 0 : 70 => Opcode::G_UNMERGE_VALUES,
568 0 : 71 => Opcode::G_INSERT,
569 0 : 72 => Opcode::G_MERGE_VALUES,
570 0 : 73 => Opcode::G_BUILD_VECTOR,
571 0 : 74 => Opcode::G_BUILD_VECTOR_TRUNC,
572 0 : 75 => Opcode::G_CONCAT_VECTORS,
573 0 : 76 => Opcode::G_PTRTOINT,
574 0 : 77 => Opcode::G_INTTOPTR,
575 0 : 78 => Opcode::G_BITCAST,
576 0 : 79 => Opcode::G_FREEZE,
577 0 : 80 => Opcode::G_CONSTANT_FOLD_BARRIER,
578 0 : 81 => Opcode::G_INTRINSIC_FPTRUNC_ROUND,
579 0 : 82 => Opcode::G_INTRINSIC_TRUNC,
580 0 : 83 => Opcode::G_INTRINSIC_ROUND,
581 0 : 84 => Opcode::G_INTRINSIC_LRINT,
582 0 : 85 => Opcode::G_INTRINSIC_LLRINT,
583 0 : 86 => Opcode::G_INTRINSIC_ROUNDEVEN,
584 0 : 87 => Opcode::G_READCYCLECOUNTER,
585 0 : 88 => Opcode::G_READSTEADYCOUNTER,
586 0 : 89 => Opcode::G_LOAD,
587 0 : 90 => Opcode::G_SEXTLOAD,
588 0 : 91 => Opcode::G_ZEXTLOAD,
589 0 : 92 => Opcode::G_INDEXED_LOAD,
590 0 : 93 => Opcode::G_INDEXED_SEXTLOAD,
591 0 : 94 => Opcode::G_INDEXED_ZEXTLOAD,
592 0 : 95 => Opcode::G_STORE,
593 0 : 96 => Opcode::G_INDEXED_STORE,
594 0 : 97 => Opcode::G_ATOMIC_CMPXCHG_WITH_SUCCESS,
595 0 : 98 => Opcode::G_ATOMIC_CMPXCHG,
596 0 : 99 => Opcode::G_ATOMICRMW_XCHG,
597 0 : 100 => Opcode::G_ATOMICRMW_ADD,
598 0 : 101 => Opcode::G_ATOMICRMW_SUB,
599 0 : 102 => Opcode::G_ATOMICRMW_AND,
600 0 : 103 => Opcode::G_ATOMICRMW_NAND,
601 0 : 104 => Opcode::G_ATOMICRMW_OR,
602 0 : 105 => Opcode::G_ATOMICRMW_XOR,
603 0 : 106 => Opcode::G_ATOMICRMW_MAX,
604 0 : 107 => Opcode::G_ATOMICRMW_MIN,
605 0 : 108 => Opcode::G_ATOMICRMW_UMAX,
606 0 : 109 => Opcode::G_ATOMICRMW_UMIN,
607 0 : 110 => Opcode::G_ATOMICRMW_FADD,
608 0 : 111 => Opcode::G_ATOMICRMW_FSUB,
609 0 : 112 => Opcode::G_ATOMICRMW_FMAX,
610 0 : 113 => Opcode::G_ATOMICRMW_FMIN,
611 0 : 114 => Opcode::G_ATOMICRMW_UINC_WRAP,
612 0 : 115 => Opcode::G_ATOMICRMW_UDEC_WRAP,
613 0 : 116 => Opcode::G_FENCE,
614 0 : 117 => Opcode::G_PREFETCH,
615 0 : 118 => Opcode::G_BRCOND,
616 0 : 119 => Opcode::G_BRINDIRECT,
617 0 : 120 => Opcode::G_INVOKE_REGION_START,
618 0 : 121 => Opcode::G_INTRINSIC,
619 0 : 122 => Opcode::G_INTRINSIC_W_SIDE_EFFECTS,
620 0 : 123 => Opcode::G_INTRINSIC_CONVERGENT,
621 0 : 124 => Opcode::G_INTRINSIC_CONVERGENT_W_SIDE_EFFECTS,
622 0 : 125 => Opcode::G_ANYEXT,
623 0 : 126 => Opcode::G_TRUNC,
624 0 : 127 => Opcode::G_CONSTANT,
625 0 : 128 => Opcode::G_FCONSTANT,
626 0 : 129 => Opcode::G_VASTART,
627 0 : 130 => Opcode::G_VAARG,
628 0 : 131 => Opcode::G_SEXT,
629 0 : 132 => Opcode::G_SEXT_INREG,
630 0 : 133 => Opcode::G_ZEXT,
631 0 : 134 => Opcode::G_SHL,
632 0 : 135 => Opcode::G_LSHR,
633 0 : 136 => Opcode::G_ASHR,
634 0 : 137 => Opcode::G_FSHL,
635 0 : 138 => Opcode::G_FSHR,
636 0 : 139 => Opcode::G_ROTR,
637 0 : 140 => Opcode::G_ROTL,
638 0 : 141 => Opcode::G_ICMP,
639 0 : 142 => Opcode::G_FCMP,
640 0 : 143 => Opcode::G_SCMP,
641 0 : 144 => Opcode::G_UCMP,
642 0 : 145 => Opcode::G_SELECT,
643 0 : 146 => Opcode::G_UADDO,
644 0 : 147 => Opcode::G_UADDE,
645 0 : 148 => Opcode::G_USUBO,
646 0 : 149 => Opcode::G_USUBE,
647 0 : 150 => Opcode::G_SADDO,
648 0 : 151 => Opcode::G_SADDE,
649 0 : 152 => Opcode::G_SSUBO,
650 0 : 153 => Opcode::G_SSUBE,
651 0 : 154 => Opcode::G_UMULO,
652 0 : 155 => Opcode::G_SMULO,
653 0 : 156 => Opcode::G_UMULH,
654 0 : 157 => Opcode::G_SMULH,
655 0 : 158 => Opcode::G_UADDSAT,
656 0 : 159 => Opcode::G_SADDSAT,
657 0 : 160 => Opcode::G_USUBSAT,
658 0 : 161 => Opcode::G_SSUBSAT,
659 0 : 162 => Opcode::G_USHLSAT,
660 0 : 163 => Opcode::G_SSHLSAT,
661 0 : 164 => Opcode::G_SMULFIX,
662 0 : 165 => Opcode::G_UMULFIX,
663 0 : 166 => Opcode::G_SMULFIXSAT,
664 0 : 167 => Opcode::G_UMULFIXSAT,
665 0 : 168 => Opcode::G_SDIVFIX,
666 0 : 169 => Opcode::G_UDIVFIX,
667 0 : 170 => Opcode::G_SDIVFIXSAT,
668 0 : 171 => Opcode::G_UDIVFIXSAT,
669 0 : 172 => Opcode::G_FADD,
670 0 : 173 => Opcode::G_FSUB,
671 0 : 174 => Opcode::G_FMUL,
672 0 : 175 => Opcode::G_FMA,
673 0 : 176 => Opcode::G_FMAD,
674 0 : 177 => Opcode::G_FDIV,
675 0 : 178 => Opcode::G_FREM,
676 0 : 179 => Opcode::G_FPOW,
677 0 : 180 => Opcode::G_FPOWI,
678 0 : 181 => Opcode::G_FEXP,
679 0 : 182 => Opcode::G_FEXP2,
680 0 : 183 => Opcode::G_FEXP10,
681 0 : 184 => Opcode::G_FLOG,
682 0 : 185 => Opcode::G_FLOG2,
683 0 : 186 => Opcode::G_FLOG10,
684 0 : 187 => Opcode::G_FLDEXP,
685 0 : 188 => Opcode::G_FFREXP,
686 0 : 189 => Opcode::G_FNEG,
687 0 : 190 => Opcode::G_FPEXT,
688 0 : 191 => Opcode::G_FPTRUNC,
689 0 : 192 => Opcode::G_FPTOSI,
690 0 : 193 => Opcode::G_FPTOUI,
691 0 : 194 => Opcode::G_SITOFP,
692 0 : 195 => Opcode::G_UITOFP,
693 0 : 196 => Opcode::G_FABS,
694 0 : 197 => Opcode::G_FCOPYSIGN,
695 0 : 198 => Opcode::G_IS_FPCLASS,
696 0 : 199 => Opcode::G_FCANONICALIZE,
697 0 : 200 => Opcode::G_FMINNUM,
698 0 : 201 => Opcode::G_FMAXNUM,
699 0 : 202 => Opcode::G_FMINNUM_IEEE,
700 0 : 203 => Opcode::G_FMAXNUM_IEEE,
701 0 : 204 => Opcode::G_FMINIMUM,
702 0 : 205 => Opcode::G_FMAXIMUM,
703 0 : 206 => Opcode::G_GET_FPENV,
704 0 : 207 => Opcode::G_SET_FPENV,
705 0 : 208 => Opcode::G_RESET_FPENV,
706 0 : 209 => Opcode::G_GET_FPMODE,
707 0 : 210 => Opcode::G_SET_FPMODE,
708 0 : 211 => Opcode::G_RESET_FPMODE,
709 0 : 212 => Opcode::G_PTR_ADD,
710 0 : 213 => Opcode::G_PTRMASK,
711 0 : 214 => Opcode::G_SMIN,
712 0 : 215 => Opcode::G_SMAX,
713 0 : 216 => Opcode::G_UMIN,
714 0 : 217 => Opcode::G_UMAX,
715 0 : 218 => Opcode::G_ABS,
716 0 : 219 => Opcode::G_LROUND,
717 0 : 220 => Opcode::G_LLROUND,
718 0 : 221 => Opcode::G_BR,
719 0 : 222 => Opcode::G_BRJT,
720 0 : 223 => Opcode::G_VSCALE,
721 0 : 224 => Opcode::G_INSERT_SUBVECTOR,
722 0 : 225 => Opcode::G_EXTRACT_SUBVECTOR,
723 0 : 226 => Opcode::G_INSERT_VECTOR_ELT,
724 0 : 227 => Opcode::G_EXTRACT_VECTOR_ELT,
725 0 : 228 => Opcode::G_SHUFFLE_VECTOR,
726 0 : 229 => Opcode::G_SPLAT_VECTOR,
727 0 : 230 => Opcode::G_VECTOR_COMPRESS,
728 0 : 231 => Opcode::G_CTTZ,
729 0 : 232 => Opcode::G_CTTZ_ZERO_UNDEF,
730 0 : 233 => Opcode::G_CTLZ,
731 0 : 234 => Opcode::G_CTLZ_ZERO_UNDEF,
732 0 : 235 => Opcode::G_CTPOP,
733 0 : 236 => Opcode::G_BSWAP,
734 0 : 237 => Opcode::G_BITREVERSE,
735 0 : 238 => Opcode::G_FCEIL,
736 0 : 239 => Opcode::G_FCOS,
737 0 : 240 => Opcode::G_FSIN,
738 0 : 241 => Opcode::G_FTAN,
739 0 : 242 => Opcode::G_FACOS,
740 0 : 243 => Opcode::G_FASIN,
741 0 : 244 => Opcode::G_FATAN,
742 0 : 245 => Opcode::G_FCOSH,
743 0 : 246 => Opcode::G_FSINH,
744 0 : 247 => Opcode::G_FTANH,
745 0 : 248 => Opcode::G_FSQRT,
746 0 : 249 => Opcode::G_FFLOOR,
747 0 : 250 => Opcode::G_FRINT,
748 0 : 251 => Opcode::G_FNEARBYINT,
749 0 : 252 => Opcode::G_ADDRSPACE_CAST,
750 0 : 253 => Opcode::G_BLOCK_ADDR,
751 0 : 254 => Opcode::G_JUMP_TABLE,
752 0 : 255 => Opcode::G_DYN_STACKALLOC,
753 0 : 256 => Opcode::G_STACKSAVE,
754 0 : 257 => Opcode::G_STACKRESTORE,
755 0 : 258 => Opcode::G_STRICT_FADD,
756 0 : 259 => Opcode::G_STRICT_FSUB,
757 0 : 260 => Opcode::G_STRICT_FMUL,
758 0 : 261 => Opcode::G_STRICT_FDIV,
759 0 : 262 => Opcode::G_STRICT_FREM,
760 0 : 263 => Opcode::G_STRICT_FMA,
761 0 : 264 => Opcode::G_STRICT_FSQRT,
762 0 : 265 => Opcode::G_STRICT_FLDEXP,
763 0 : 266 => Opcode::G_READ_REGISTER,
764 0 : 267 => Opcode::G_WRITE_REGISTER,
765 0 : 268 => Opcode::G_MEMCPY,
766 0 : 269 => Opcode::G_MEMCPY_INLINE,
767 0 : 270 => Opcode::G_MEMMOVE,
768 0 : 271 => Opcode::G_MEMSET,
769 0 : 272 => Opcode::G_BZERO,
770 0 : 273 => Opcode::G_TRAP,
771 0 : 274 => Opcode::G_DEBUGTRAP,
772 0 : 275 => Opcode::G_UBSANTRAP,
773 0 : 276 => Opcode::G_VECREDUCE_SEQ_FADD,
774 0 : 277 => Opcode::G_VECREDUCE_SEQ_FMUL,
775 0 : 278 => Opcode::G_VECREDUCE_FADD,
776 0 : 279 => Opcode::G_VECREDUCE_FMUL,
777 0 : 280 => Opcode::G_VECREDUCE_FMAX,
778 0 : 281 => Opcode::G_VECREDUCE_FMIN,
779 0 : 282 => Opcode::G_VECREDUCE_FMAXIMUM,
780 0 : 283 => Opcode::G_VECREDUCE_FMINIMUM,
781 0 : 284 => Opcode::G_VECREDUCE_ADD,
782 0 : 285 => Opcode::G_VECREDUCE_MUL,
783 0 : 286 => Opcode::G_VECREDUCE_AND,
784 0 : 287 => Opcode::G_VECREDUCE_OR,
785 0 : 288 => Opcode::G_VECREDUCE_XOR,
786 0 : 289 => Opcode::G_VECREDUCE_SMAX,
787 0 : 290 => Opcode::G_VECREDUCE_SMIN,
788 0 : 291 => Opcode::G_VECREDUCE_UMAX,
789 0 : 292 => Opcode::G_VECREDUCE_UMIN,
790 0 : 293 => Opcode::G_SBFX,
791 0 : 294 => Opcode::G_UBFX,
792 0 : 295 => Opcode::ADJCALLSTACKDOWN,
793 0 : 296 => Opcode::ADJCALLSTACKUP,
794 0 : 297 => Opcode::FI_ri,
795 0 : 298 => Opcode::MEMCPY,
796 0 : 299 => Opcode::Select,
797 0 : 300 => Opcode::Select_32,
798 0 : 301 => Opcode::Select_32_64,
799 0 : 302 => Opcode::Select_64_32,
800 0 : 303 => Opcode::Select_Ri,
801 0 : 304 => Opcode::Select_Ri_32,
802 0 : 305 => Opcode::Select_Ri_32_64,
803 0 : 306 => Opcode::Select_Ri_64_32,
804 0 : 307 => Opcode::ADDR_SPACE_CAST,
805 0 : 308 => Opcode::ADD_ri,
806 0 : 309 => Opcode::ADD_ri_32,
807 0 : 310 => Opcode::ADD_rr,
808 0 : 311 => Opcode::ADD_rr_32,
809 0 : 312 => Opcode::AND_ri,
810 0 : 313 => Opcode::AND_ri_32,
811 0 : 314 => Opcode::AND_rr,
812 0 : 315 => Opcode::AND_rr_32,
813 0 : 316 => Opcode::BE16,
814 0 : 317 => Opcode::BE32,
815 0 : 318 => Opcode::BE64,
816 0 : 319 => Opcode::BSWAP16,
817 0 : 320 => Opcode::BSWAP32,
818 0 : 321 => Opcode::BSWAP64,
819 0 : 322 => Opcode::CMPXCHGD,
820 0 : 323 => Opcode::CMPXCHGW32,
821 0 : 324 => Opcode::CORE_LD32,
822 0 : 325 => Opcode::CORE_LD64,
823 0 : 326 => Opcode::CORE_SHIFT,
824 0 : 327 => Opcode::CORE_ST,
825 0 : 328 => Opcode::DIV_ri,
826 0 : 329 => Opcode::DIV_ri_32,
827 0 : 330 => Opcode::DIV_rr,
828 0 : 331 => Opcode::DIV_rr_32,
829 0 : 332 => Opcode::JAL,
830 0 : 333 => Opcode::JALX,
831 0 : 334 => Opcode::JCOND,
832 0 : 335 => Opcode::JEQ_ri,
833 0 : 336 => Opcode::JEQ_ri_32,
834 0 : 337 => Opcode::JEQ_rr,
835 0 : 338 => Opcode::JEQ_rr_32,
836 0 : 339 => Opcode::JMP,
837 0 : 340 => Opcode::JMPL,
838 0 : 341 => Opcode::JNE_ri,
839 0 : 342 => Opcode::JNE_ri_32,
840 0 : 343 => Opcode::JNE_rr,
841 0 : 344 => Opcode::JNE_rr_32,
842 0 : 345 => Opcode::JSET_ri,
843 0 : 346 => Opcode::JSET_ri_32,
844 0 : 347 => Opcode::JSET_rr,
845 0 : 348 => Opcode::JSET_rr_32,
846 0 : 349 => Opcode::JSGE_ri,
847 0 : 350 => Opcode::JSGE_ri_32,
848 0 : 351 => Opcode::JSGE_rr,
849 0 : 352 => Opcode::JSGE_rr_32,
850 0 : 353 => Opcode::JSGT_ri,
851 0 : 354 => Opcode::JSGT_ri_32,
852 0 : 355 => Opcode::JSGT_rr,
853 0 : 356 => Opcode::JSGT_rr_32,
854 0 : 357 => Opcode::JSLE_ri,
855 0 : 358 => Opcode::JSLE_ri_32,
856 0 : 359 => Opcode::JSLE_rr,
857 0 : 360 => Opcode::JSLE_rr_32,
858 0 : 361 => Opcode::JSLT_ri,
859 0 : 362 => Opcode::JSLT_ri_32,
860 0 : 363 => Opcode::JSLT_rr,
861 0 : 364 => Opcode::JSLT_rr_32,
862 0 : 365 => Opcode::JUGE_ri,
863 0 : 366 => Opcode::JUGE_ri_32,
864 0 : 367 => Opcode::JUGE_rr,
865 0 : 368 => Opcode::JUGE_rr_32,
866 0 : 369 => Opcode::JUGT_ri,
867 0 : 370 => Opcode::JUGT_ri_32,
868 0 : 371 => Opcode::JUGT_rr,
869 0 : 372 => Opcode::JUGT_rr_32,
870 0 : 373 => Opcode::JULE_ri,
871 0 : 374 => Opcode::JULE_ri_32,
872 0 : 375 => Opcode::JULE_rr,
873 0 : 376 => Opcode::JULE_rr_32,
874 0 : 377 => Opcode::JULT_ri,
875 0 : 378 => Opcode::JULT_ri_32,
876 0 : 379 => Opcode::JULT_rr,
877 0 : 380 => Opcode::JULT_rr_32,
878 0 : 381 => Opcode::LDB,
879 0 : 382 => Opcode::LDB32,
880 0 : 383 => Opcode::LDBSX,
881 0 : 384 => Opcode::LDD,
882 0 : 385 => Opcode::LDH,
883 0 : 386 => Opcode::LDH32,
884 0 : 387 => Opcode::LDHSX,
885 0 : 388 => Opcode::LDW,
886 0 : 389 => Opcode::LDW32,
887 0 : 390 => Opcode::LDWSX,
888 0 : 391 => Opcode::LD_ABS_B,
889 0 : 392 => Opcode::LD_ABS_H,
890 0 : 393 => Opcode::LD_ABS_W,
891 0 : 394 => Opcode::LD_IND_B,
892 0 : 395 => Opcode::LD_IND_H,
893 0 : 396 => Opcode::LD_IND_W,
894 0 : 397 => Opcode::LD_imm64,
895 0 : 398 => Opcode::LD_pseudo,
896 0 : 399 => Opcode::LE16,
897 0 : 400 => Opcode::LE32,
898 0 : 401 => Opcode::LE64,
899 0 : 402 => Opcode::MOD_ri,
900 0 : 403 => Opcode::MOD_ri_32,
901 0 : 404 => Opcode::MOD_rr,
902 0 : 405 => Opcode::MOD_rr_32,
903 0 : 406 => Opcode::MOVSX_rr_16,
904 0 : 407 => Opcode::MOVSX_rr_32,
905 0 : 408 => Opcode::MOVSX_rr_32_16,
906 0 : 409 => Opcode::MOVSX_rr_32_8,
907 0 : 410 => Opcode::MOVSX_rr_8,
908 0 : 411 => Opcode::MOV_32_64,
909 0 : 412 => Opcode::MOV_ri,
910 0 : 413 => Opcode::MOV_ri_32,
911 0 : 414 => Opcode::MOV_rr,
912 0 : 415 => Opcode::MOV_rr_32,
913 0 : 416 => Opcode::MUL_ri,
914 0 : 417 => Opcode::MUL_ri_32,
915 0 : 418 => Opcode::MUL_rr,
916 0 : 419 => Opcode::MUL_rr_32,
917 0 : 420 => Opcode::NEG_32,
918 0 : 421 => Opcode::NEG_64,
919 0 : 422 => Opcode::NOP,
920 0 : 423 => Opcode::OR_ri,
921 0 : 424 => Opcode::OR_ri_32,
922 0 : 425 => Opcode::OR_rr,
923 0 : 426 => Opcode::OR_rr_32,
924 0 : 427 => Opcode::RET,
925 0 : 428 => Opcode::SDIV_ri,
926 0 : 429 => Opcode::SDIV_ri_32,
927 0 : 430 => Opcode::SDIV_rr,
928 0 : 431 => Opcode::SDIV_rr_32,
929 0 : 432 => Opcode::SLL_ri,
930 0 : 433 => Opcode::SLL_ri_32,
931 0 : 434 => Opcode::SLL_rr,
932 0 : 435 => Opcode::SLL_rr_32,
933 0 : 436 => Opcode::SMOD_ri,
934 0 : 437 => Opcode::SMOD_ri_32,
935 0 : 438 => Opcode::SMOD_rr,
936 0 : 439 => Opcode::SMOD_rr_32,
937 0 : 440 => Opcode::SRA_ri,
938 0 : 441 => Opcode::SRA_ri_32,
939 0 : 442 => Opcode::SRA_rr,
940 0 : 443 => Opcode::SRA_rr_32,
941 0 : 444 => Opcode::SRL_ri,
942 0 : 445 => Opcode::SRL_ri_32,
943 0 : 446 => Opcode::SRL_rr,
944 0 : 447 => Opcode::SRL_rr_32,
945 0 : 448 => Opcode::STB,
946 0 : 449 => Opcode::STB32,
947 0 : 450 => Opcode::STB_imm,
948 0 : 451 => Opcode::STD,
949 0 : 452 => Opcode::STD_imm,
950 0 : 453 => Opcode::STH,
951 0 : 454 => Opcode::STH32,
952 0 : 455 => Opcode::STH_imm,
953 0 : 456 => Opcode::STW,
954 0 : 457 => Opcode::STW32,
955 0 : 458 => Opcode::STW_imm,
956 0 : 459 => Opcode::SUB_ri,
957 0 : 460 => Opcode::SUB_ri_32,
958 0 : 461 => Opcode::SUB_rr,
959 0 : 462 => Opcode::SUB_rr_32,
960 0 : 463 => Opcode::XADDD,
961 0 : 464 => Opcode::XADDW,
962 0 : 465 => Opcode::XADDW32,
963 0 : 466 => Opcode::XANDD,
964 0 : 467 => Opcode::XANDW32,
965 0 : 468 => Opcode::XCHGD,
966 0 : 469 => Opcode::XCHGW32,
967 0 : 470 => Opcode::XFADDD,
968 0 : 471 => Opcode::XFADDW32,
969 0 : 472 => Opcode::XFANDD,
970 0 : 473 => Opcode::XFANDW32,
971 0 : 474 => Opcode::XFORD,
972 0 : 475 => Opcode::XFORW32,
973 0 : 476 => Opcode::XFXORD,
974 0 : 477 => Opcode::XFXORW32,
975 0 : 478 => Opcode::XORD,
976 0 : 479 => Opcode::XORW32,
977 0 : 480 => Opcode::XOR_ri,
978 0 : 481 => Opcode::XOR_ri_32,
979 0 : 482 => Opcode::XOR_rr,
980 0 : 483 => Opcode::XOR_rr_32,
981 0 : 484 => Opcode::XXORD,
982 0 : 485 => Opcode::XXORW32,
983 0 : 486 => Opcode::INSTRUCTION_LIST_END,
984 0 : _ => Opcode::UNKNOWN(value),
985 : }
986 0 : }
987 : }
|