/ src / ARMeilleure / Instructions / InstName.cs
InstName.cs
  1  namespace ARMeilleure.Instructions
  2  {
  3      enum InstName
  4      {
  5          // Base (AArch64)
  6          Adc,
  7          Adcs,
  8          Add,
  9          Adds,
 10          Adr,
 11          Adrp,
 12          And,
 13          Ands,
 14          Asrv,
 15          B,
 16          B_Cond,
 17          Bfm,
 18          Bic,
 19          Bics,
 20          Bl,
 21          Blr,
 22          Br,
 23          Brk,
 24          Cbnz,
 25          Cbz,
 26          Ccmn,
 27          Ccmp,
 28          Clrex,
 29          Cls,
 30          Clz,
 31          Crc32b,
 32          Crc32h,
 33          Crc32w,
 34          Crc32x,
 35          Crc32cb,
 36          Crc32ch,
 37          Crc32cw,
 38          Crc32cx,
 39          Csdb,
 40          Csel,
 41          Csinc,
 42          Csinv,
 43          Csneg,
 44          Dmb,
 45          Dsb,
 46          Eon,
 47          Eor,
 48          Esb,
 49          Extr,
 50          Hint,
 51          Isb,
 52          It,
 53          Ldar,
 54          Ldaxp,
 55          Ldaxr,
 56          Ldp,
 57          Ldr,
 58          Ldr_Literal,
 59          Ldrs,
 60          Ldxr,
 61          Ldxp,
 62          Lslv,
 63          Lsrv,
 64          Madd,
 65          Movk,
 66          Movn,
 67          Movz,
 68          Mrs,
 69          Msr,
 70          Msub,
 71          Nop,
 72          Orn,
 73          Orr,
 74          Prfm,
 75          Rbit,
 76          Ret,
 77          Rev16,
 78          Rev32,
 79          Rev64,
 80          Rorv,
 81          Sbc,
 82          Sbcs,
 83          Sbfm,
 84          Sdiv,
 85          Sel,
 86          Sev,
 87          Sevl,
 88          Shsub8,
 89          Smaddl,
 90          Smsubl,
 91          Smulh,
 92          Smull,
 93          Smulw_,
 94          Ssat,
 95          Ssat16,
 96          Stlr,
 97          Stlxp,
 98          Stlxr,
 99          Stp,
100          Str,
101          Stxp,
102          Stxr,
103          Sub,
104          Subs,
105          Svc,
106          Sxtb,
107          Sxth,
108          Sys,
109          Tbnz,
110          Tbz,
111          Tsb,
112          Ubfm,
113          Udiv,
114          Umaddl,
115          Umsubl,
116          Umulh,
117          Und,
118          Wfe,
119          Wfi,
120          Yield,
121  
122          // FP & SIMD (AArch64)
123          Abs_S,
124          Abs_V,
125          Add_S,
126          Add_V,
127          Addhn_V,
128          Addp_S,
129          Addp_V,
130          Addv_V,
131          Aesd_V,
132          Aese_V,
133          Aesimc_V,
134          Aesmc_V,
135          And_V,
136          Bic_V,
137          Bic_Vi,
138          Bif_V,
139          Bit_V,
140          Bsl_V,
141          Cls_V,
142          Clz_V,
143          Cmeq_S,
144          Cmeq_V,
145          Cmge_S,
146          Cmge_V,
147          Cmgt_S,
148          Cmgt_V,
149          Cmhi_S,
150          Cmhi_V,
151          Cmhs_S,
152          Cmhs_V,
153          Cmle_S,
154          Cmle_V,
155          Cmlt_S,
156          Cmlt_V,
157          Cmtst_S,
158          Cmtst_V,
159          Cnt_V,
160          Dup_Gp,
161          Dup_S,
162          Dup_V,
163          Eor_V,
164          Ext_V,
165          Fabd_S,
166          Fabd_V,
167          Fabs_S,
168          Fabs_V,
169          Facge_S,
170          Facge_V,
171          Facgt_S,
172          Facgt_V,
173          Fadd_S,
174          Fadd_V,
175          Faddp_S,
176          Faddp_V,
177          Fccmp_S,
178          Fccmpe_S,
179          Fcmeq_S,
180          Fcmeq_V,
181          Fcmge_S,
182          Fcmge_V,
183          Fcmgt_S,
184          Fcmgt_V,
185          Fcmle_S,
186          Fcmle_V,
187          Fcmlt_S,
188          Fcmlt_V,
189          Fcmp_S,
190          Fcmpe_S,
191          Fcsel_S,
192          Fcvt_S,
193          Fcvtas_Gp,
194          Fcvtas_S,
195          Fcvtas_V,
196          Fcvtau_Gp,
197          Fcvtau_S,
198          Fcvtau_V,
199          Fcvtl_V,
200          Fcvtms_Gp,
201          Fcvtms_V,
202          Fcvtmu_Gp,
203          Fcvtn_V,
204          Fcvtns_Gp,
205          Fcvtns_S,
206          Fcvtns_V,
207          Fcvtnu_S,
208          Fcvtnu_V,
209          Fcvtps_Gp,
210          Fcvtpu_Gp,
211          Fcvtzs_Gp,
212          Fcvtzs_Gp_Fixed,
213          Fcvtzs_S,
214          Fcvtzs_V,
215          Fcvtzs_V_Fixed,
216          Fcvtzu_Gp,
217          Fcvtzu_Gp_Fixed,
218          Fcvtzu_S,
219          Fcvtzu_V,
220          Fcvtzu_V_Fixed,
221          Fdiv_S,
222          Fdiv_V,
223          Fmadd_S,
224          Fmax_S,
225          Fmax_V,
226          Fmaxnm_S,
227          Fmaxnm_V,
228          Fmaxnmp_S,
229          Fmaxnmp_V,
230          Fmaxnmv_V,
231          Fmaxp_S,
232          Fmaxp_V,
233          Fmaxv_V,
234          Fmin_S,
235          Fmin_V,
236          Fminnm_S,
237          Fminnm_V,
238          Fminnmp_S,
239          Fminnmp_V,
240          Fminnmv_V,
241          Fminp_S,
242          Fminp_V,
243          Fminv_V,
244          Fmla_Se,
245          Fmla_V,
246          Fmla_Ve,
247          Fmls_Se,
248          Fmls_V,
249          Fmls_Ve,
250          Fmov_S,
251          Fmov_Si,
252          Fmov_Vi,
253          Fmov_Ftoi,
254          Fmov_Itof,
255          Fmov_Ftoi1,
256          Fmov_Itof1,
257          Fmsub_S,
258          Fmul_S,
259          Fmul_Se,
260          Fmul_V,
261          Fmul_Ve,
262          Fmulx_S,
263          Fmulx_Se,
264          Fmulx_V,
265          Fmulx_Ve,
266          Fneg_S,
267          Fneg_V,
268          Fnmadd_S,
269          Fnmsub_S,
270          Fnmul_S,
271          Frecpe_S,
272          Frecpe_V,
273          Frecps_S,
274          Frecps_V,
275          Frecpx_S,
276          Frinta_S,
277          Frinta_V,
278          Frinti_S,
279          Frinti_V,
280          Frintm_S,
281          Frintm_V,
282          Frintn_S,
283          Frintn_V,
284          Frintp_S,
285          Frintp_V,
286          Frintx_S,
287          Frintx_V,
288          Frintz_S,
289          Frintz_V,
290          Frsqrte_S,
291          Frsqrte_V,
292          Frsqrts_S,
293          Frsqrts_V,
294          Fsqrt_S,
295          Fsqrt_V,
296          Fsub_S,
297          Fsub_V,
298          Ins_Gp,
299          Ins_V,
300          Ld__Vms,
301          Ld__Vss,
302          Mla_V,
303          Mla_Ve,
304          Mls_V,
305          Mls_Ve,
306          Movi_V,
307          Mul_V,
308          Mul_Ve,
309          Mvni_V,
310          Neg_S,
311          Neg_V,
312          Not_V,
313          Orn_V,
314          Orr_V,
315          Orr_Vi,
316          Pmull_V,
317          Raddhn_V,
318          Rbit_V,
319          Rev16_V,
320          Rev32_V,
321          Rev64_V,
322          Rshrn_V,
323          Rsubhn_V,
324          Saba_V,
325          Sabal_V,
326          Sabd_V,
327          Sabdl_V,
328          Sadalp_V,
329          Saddl_V,
330          Saddlp_V,
331          Saddlv_V,
332          Saddw_V,
333          Scvtf_Gp,
334          Scvtf_Gp_Fixed,
335          Scvtf_S,
336          Scvtf_S_Fixed,
337          Scvtf_V,
338          Scvtf_V_Fixed,
339          Sha1c_V,
340          Sha1h_V,
341          Sha1m_V,
342          Sha1p_V,
343          Sha1su0_V,
344          Sha1su1_V,
345          Sha256h_V,
346          Sha256h2_V,
347          Sha256su0_V,
348          Sha256su1_V,
349          Shadd_V,
350          Shl_S,
351          Shl_V,
352          Shll_V,
353          Shrn_V,
354          Shsub_V,
355          Sli_S,
356          Sli_V,
357          Smax_V,
358          Smaxp_V,
359          Smaxv_V,
360          Smin_V,
361          Sminp_V,
362          Sminv_V,
363          Smlal_V,
364          Smlal_Ve,
365          Smlsl_V,
366          Smlsl_Ve,
367          Smov_S,
368          Smull_V,
369          Smull_Ve,
370          Sqabs_S,
371          Sqabs_V,
372          Sqadd_S,
373          Sqadd_V,
374          Sqdmulh_S,
375          Sqdmulh_V,
376          Sqdmulh_Ve,
377          Sqneg_S,
378          Sqneg_V,
379          Sqrdmulh_S,
380          Sqrdmulh_V,
381          Sqrdmulh_Ve,
382          Sqrshl_V,
383          Sqrshrn_S,
384          Sqrshrn_V,
385          Sqrshrun_S,
386          Sqrshrun_V,
387          Sqshl_Si,
388          Sqshl_V,
389          Sqshl_Vi,
390          Sqshrn_S,
391          Sqshrn_V,
392          Sqshrun_S,
393          Sqshrun_V,
394          Sqsub_S,
395          Sqsub_V,
396          Sqxtn_S,
397          Sqxtn_V,
398          Sqxtun_S,
399          Sqxtun_V,
400          Srhadd_V,
401          Sri_S,
402          Sri_V,
403          Srshl_V,
404          Srshr_S,
405          Srshr_V,
406          Srsra_S,
407          Srsra_V,
408          Sshl_S,
409          Sshl_V,
410          Sshll_V,
411          Sshr_S,
412          Sshr_V,
413          Ssra_S,
414          Ssra_V,
415          Ssubl_V,
416          Ssubw_V,
417          St__Vms,
418          St__Vss,
419          Sub_S,
420          Sub_V,
421          Subhn_V,
422          Suqadd_S,
423          Suqadd_V,
424          Tbl_V,
425          Tbx_V,
426          Trn1_V,
427          Trn2_V,
428          Uaba_V,
429          Uabal_V,
430          Uabd_V,
431          Uabdl_V,
432          Uadalp_V,
433          Uaddl_V,
434          Uaddlp_V,
435          Uaddlv_V,
436          Uaddw_V,
437          Ucvtf_Gp,
438          Ucvtf_Gp_Fixed,
439          Ucvtf_S,
440          Ucvtf_S_Fixed,
441          Ucvtf_V,
442          Ucvtf_V_Fixed,
443          Uhadd_V,
444          Uhsub_V,
445          Umax_V,
446          Umaxp_V,
447          Umaxv_V,
448          Umin_V,
449          Uminp_V,
450          Uminv_V,
451          Umlal_V,
452          Umlal_Ve,
453          Umlsl_V,
454          Umlsl_Ve,
455          Umov_S,
456          Umull_V,
457          Umull_Ve,
458          Uqadd_S,
459          Uqadd_V,
460          Uqrshl_V,
461          Uqrshrn_S,
462          Uqrshrn_V,
463          Uqshl_V,
464          Uqshrn_S,
465          Uqshrn_V,
466          Uqsub_S,
467          Uqsub_V,
468          Uqxtn_S,
469          Uqxtn_V,
470          Urhadd_V,
471          Urshl_V,
472          Urshr_S,
473          Urshr_V,
474          Ursra_S,
475          Ursra_V,
476          Ushl_S,
477          Ushl_V,
478          Ushll_V,
479          Ushr_S,
480          Ushr_V,
481          Usqadd_S,
482          Usqadd_V,
483          Usra_S,
484          Usra_V,
485          Usubl_V,
486          Usubw_V,
487          Uzp1_V,
488          Uzp2_V,
489          Xtn_V,
490          Zip1_V,
491          Zip2_V,
492  
493          // Base (AArch32)
494          Bfc,
495          Bfi,
496          Blx,
497          Bx,
498          Cmp,
499          Cmn,
500          Movt,
501          Mul,
502          Lda,
503          Ldab,
504          Ldaex,
505          Ldaexb,
506          Ldaexd,
507          Ldaexh,
508          Ldah,
509          Ldm,
510          Ldrb,
511          Ldrd,
512          Ldrex,
513          Ldrexb,
514          Ldrexd,
515          Ldrexh,
516          Ldrh,
517          Ldrsb,
518          Ldrsh,
519          Mcr,
520          Mla,
521          Mls,
522          Mov,
523          Mrc,
524          Mrrc,
525          Mvn,
526          Pkh,
527          Pld,
528          Pop,
529          Push,
530          Qadd16,
531          Rev,
532          Revsh,
533          Rsb,
534          Rsc,
535          Sadd8,
536          Sbfx,
537          Shadd8,
538          Smla__,
539          Smlal,
540          Smlal__,
541          Smlaw_,
542          Smmla,
543          Smmls,
544          Smul__,
545          Smmul,
546          Ssub8,
547          Stl,
548          Stlb,
549          Stlex,
550          Stlexb,
551          Stlexd,
552          Stlexh,
553          Stlh,
554          Stm,
555          Strb,
556          Strd,
557          Strex,
558          Strexb,
559          Strexd,
560          Strexh,
561          Strh,
562          Sxtb16,
563          Tbb,
564          Tbh,
565          Teq,
566          Trap,
567          Tst,
568          Uadd8,
569          Ubfx,
570          Uhadd8,
571          Uhsub8,
572          Umaal,
573          Umlal,
574          Umull,
575          Uqadd16,
576          Uqadd8,
577          Uqsub16,
578          Uqsub8,
579          Usat,
580          Usat16,
581          Usub8,
582          Uxtb,
583          Uxtb16,
584          Uxth,
585  
586          // FP & SIMD (AArch32)
587          Vabd,
588          Vabdl,
589          Vabs,
590          Vadd,
591          Vaddl,
592          Vaddw,
593          Vand,
594          Vbic,
595          Vbif,
596          Vbit,
597          Vbsl,
598          Vceq,
599          Vcge,
600          Vcgt,
601          Vcle,
602          Vclt,
603          Vcmp,
604          Vcmpe,
605          Vcnt,
606          Vcvt,
607          Vdiv,
608          Vdup,
609          Veor,
610          Vext,
611          Vfma,
612          Vfms,
613          Vfnma,
614          Vfnms,
615          Vhadd,
616          Vld1,
617          Vld2,
618          Vld3,
619          Vld4,
620          Vldm,
621          Vldr,
622          Vmax,
623          Vmaxnm,
624          Vmin,
625          Vminnm,
626          Vmla,
627          Vmlal,
628          Vmls,
629          Vmlsl,
630          Vmov,
631          Vmovl,
632          Vmovn,
633          Vmrs,
634          Vmsr,
635          Vmul,
636          Vmull,
637          Vmvn,
638          Vneg,
639          Vnmul,
640          Vnmla,
641          Vnmls,
642          Vorn,
643          Vorr,
644          Vpadd,
645          Vpadal,
646          Vpaddl,
647          Vpmax,
648          Vpmin,
649          Vqadd,
650          Vqdmulh,
651          Vqmovn,
652          Vqmovun,
653          Vqrdmulh,
654          Vqrshrn,
655          Vqrshrun,
656          Vqshrn,
657          Vqshrun,
658          Vqsub,
659          Vrev,
660          Vrhadd,
661          Vrint,
662          Vrinta,
663          Vrintm,
664          Vrintn,
665          Vrintp,
666          Vrintr,
667          Vrintx,
668          Vrshr,
669          Vrshrn,
670          Vsel,
671          Vshl,
672          Vshll,
673          Vshr,
674          Vshrn,
675          Vsli,
676          Vst1,
677          Vst2,
678          Vst3,
679          Vst4,
680          Vstm,
681          Vstr,
682          Vsqrt,
683          Vrecpe,
684          Vrecps,
685          Vrsqrte,
686          Vrsqrts,
687          Vrsra,
688          Vsra,
689          Vsub,
690          Vsubl,
691          Vsubw,
692          Vswp,
693          Vtbl,
694          Vtrn,
695          Vtst,
696          Vuzp,
697          Vzip,
698      }
699  }