Changed order of start and end bit names in oeprand templates and added updated ARM64...
[dyninst.git] / common / h / entryIDs.h
1 /*
2  * See the dyninst/COPYRIGHT file for copyright information.
3  *
4  * We provide the Paradyn Tools (below described as "Paradyn")
5  * on an AS IS basis, and do not warrant its validity or performance.
6  * We reserve the right to update, modify, or discontinue this
7  * software at any time.  We shall have no obligation to supply such
8  * updates or modifications or any other form of support to you.
9  *
10  * By your use of Paradyn, you understand and agree that we (or any
11  * other person or entity with proprietary rights in Paradyn) are
12  * under no obligation to provide either maintenance services,
13  * update services, notices of latent defects, or correction of
14  * defects for Paradyn.
15  *
16  * This library is free software; you can redistribute it and/or
17  * modify it under the terms of the GNU Lesser General Public
18  * License as published by the Free Software Foundation; either
19  * version 2.1 of the License, or (at your option) any later version.
20  *
21  * This library is distributed in the hope that it will be useful,
22  * but WITHOUT ANY WARRANTY; without even the implied warranty of
23  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
24  * Lesser General Public License for more details.
25  *
26  * You should have received a copy of the GNU Lesser General Public
27  * License along with this library; if not, write to the Free Software
28  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
29  */
30
31 #if !defined(ENTRYIDS_IA32_H)
32 #define ENTRYIDS_IA32_H
33
34 #include "dyntypes.h"
35
36 enum entryID {
37   e_jb = 0,
38   e_jb_jnaej_j,
39   e_jbe,
40   e_jcxz_jec,
41   e_jl,
42   e_jle,
43   e_jmp,
44   e_jmpe,
45   e_jnb,
46   e_jnb_jae_j,
47   e_jnbe,
48   e_jnl,
49   e_jnle,
50   e_jno,
51   e_jnp,
52   e_jns,
53   e_jnz,
54   e_jo,
55   e_jp,
56   e_js,
57   e_jz,
58   e_loop,
59   e_loope,
60   e_loopn,
61   e_call,
62   e_cmp,
63   e_cmppd,
64   e_cmpps,
65   e_cmpsb,
66   e_cmpsd,
67   e_cmpsd_sse,
68   e_cmpss,
69   e_cmpsw,
70   e_cmpxch,
71   e_cmpxch8b,
72   e_ret_far,
73   e_ret_near,
74   e_prefetch,
75   e_prefetchNTA,
76   e_prefetchT0,
77   e_prefetchT1,
78   e_prefetchT2,
79   e_prefetch_w,
80   e_prefetchw,
81   e_No_Entry,
82   e_aaa,
83   e_aad,
84   e_aam,
85   e_aas,
86   e_adc,
87   e_add,
88   e_addpd,
89   e_addps,
90   e_addsd,
91   e_addss,
92   e_addsubpd,
93   e_addsubps,
94   e_and,
95   e_andnpd,
96   e_andnps,
97   e_andpd,
98   e_andps,
99   e_arpl,
100   e_blendpd,  // SSE 4.1
101   e_blendps,  // SSE 4.1
102   e_blendvpd, // SSE 4.1
103   e_blendvps, // SSE 4.1
104   e_bound,
105   e_bsf,
106   e_bsr,
107   e_bswap,
108   e_bt,
109   e_btc,
110   e_btr,
111   e_bts,
112   e_cbw,
113   e_cdq,
114   e_clc,
115   e_cld,
116   e_clflush,
117   e_cli,
118   e_clts,
119   e_cmc,
120   e_cmovbe,
121   e_cmove,
122   e_cmovnae,
123   e_cmovnb,
124   e_cmovnbe,
125   e_cmovne,
126   e_cmovng,
127   e_cmovnge,
128   e_cmovnl,
129   e_cmovno,
130   e_cmovns,
131   e_cmovo,
132   e_cmovpe,
133   e_cmovpo,
134   e_cmovs,
135   e_comisd,
136   e_comiss,
137   e_cpuid,
138   e_crc32,              // SSE 4.2
139   e_cvtdq2pd,
140   e_cvtdq2ps,
141   e_cvtpd2dq,
142   e_cvtpd2pi,
143   e_cvtpd2ps,
144   e_cvtpi2pd,
145   e_cvtpi2ps,
146   e_cvtps2dq,
147   e_cvtps2pd,
148   e_cvtps2pi,
149   e_cvtsd2si,
150   e_cvtsd2ss,
151   e_cvtsi2sd,
152   e_cvtsi2ss,
153   e_cvtss2sd,
154   e_cvtss2si,
155   e_cvttpd2dq,
156   e_cvttpd2pi,
157   e_cvttps2dq,
158   e_cvttps2pi,
159   e_cvttsd2si,
160   e_cvttss2si,
161   e_cwd,
162   e_cwde,
163   e_daa,
164   e_das,
165   e_dec,
166   e_div,
167   e_divpd,
168   e_divps,
169   e_divsd,
170   e_divss,
171   e_dppd,       // SSE 4.1
172   e_dpps,       // SSE 4.1
173   e_emms,
174   e_enter,
175   e_extractps,  // SSE 4.1
176   e_extrq,
177   e_fadd,
178   e_faddp,
179   e_f2xm1,
180   e_fbld,
181   e_fbstp,
182   e_fchs,
183   e_fcmovb,
184   e_fcmovbe,
185   e_fcmove,
186   e_fcmovne,
187   e_fcmovu,
188   e_fcmovnu,
189   e_fcmovnb,
190   e_fcmovnbe,
191   e_fcom,
192   e_fcomi,
193   e_fcomip,
194   e_fcomp,
195   e_fcompp,
196   e_fdiv,
197   e_fdivp,
198   e_fdivr,
199   e_fdivrp,
200   e_femms,
201   e_ffree,
202   e_fiadd,
203   e_ficom,
204   e_ficomp,
205   e_fidiv,
206   e_fidivr,
207   e_fild,
208   e_fimul,
209   e_fist,
210   e_fistp,
211   e_fisttp,
212   e_fisub,
213   e_fisubr,
214   e_fld,
215   e_fld1, // note: numeral '1', as in load the constant
216   e_fldcw,
217   e_fldenv,
218   e_fmul,
219   e_fmulp,
220   e_fnop,
221   e_fprem,
222   e_frstor,
223   e_fsave,
224   e_fst,
225   e_fstcw,
226   e_fstenv,
227   e_fstp,
228   e_fstsw,
229   e_fsub,
230   e_fsubp,
231   e_fsubr,
232   e_fsubrp,
233   e_fucom,
234   e_fucomp,
235   e_fucomi,
236   e_fucomip,
237   e_fucompp,
238   e_fxch,
239   e_fxrstor,
240   e_fxsave,
241   e_haddpd,
242   e_haddps,
243   e_hlt,
244   e_hsubpd,
245   e_hsubps,
246   e_idiv,
247   e_imul,
248   e_in,
249   e_inc,
250   e_insb,
251   e_insd,
252   e_insertps,   // SSE 4.1
253   e_insertq,
254   e_insw,
255   e_int,
256   e_int3,
257   e_int1,
258   e_int80,
259   e_into,
260   e_invd,
261   e_invlpg,
262   e_iret,
263   e_lahf,
264   e_lar,
265   e_lddqu,
266   e_ldmxcsr,
267   e_lds,
268   e_lea,
269   e_leave,
270   e_les,
271   e_lfence,
272   e_lfs,
273   e_lgdt,
274   e_lgs,
275   e_lidt,
276   e_lldt,
277   e_lmsw,
278   e_lodsb,
279   e_lodsd,
280   e_lodsw,
281   e_lsl,
282   e_lss,
283   e_ltr,
284   e_maskmovdqu,
285   e_maskmovq,
286   e_maxpd,
287   e_maxps,
288   e_maxsd,
289   e_maxss,
290   e_mfence,
291   e_minpd,
292   e_minps,
293   e_minsd,
294   e_minss,
295   e_mmxud,
296   e_mov,
297   e_movapd,
298   e_movaps,
299   e_movd,
300   e_movddup,
301   e_movdq2q,
302   e_movdqa,
303   e_movdqu,
304   e_movhpd,
305   e_movhps,
306   e_movhps_movlhps,
307   e_movlpd,
308   e_movlps,
309   e_movlps_movhlps,
310   e_movmskpd,
311   e_movmskps,
312   e_movntdq,
313   e_movntdqa,   // SSE 4.1
314   e_movnti,
315   e_movntpd,
316   e_movntps,
317   e_movntq,
318   e_movntsd,
319   e_movntss,
320   e_movq,
321   e_movq2dq,
322   e_movsb,
323   e_movsd,
324   e_movsd_sse,
325   e_movshdup,
326   e_movsldup,
327   e_movss,
328   e_movsw,
329   e_movsx,
330   e_movsxd,
331   e_movupd,
332   e_movups,
333   e_movzx,
334   e_mpsadbw,    // SSE 4.1
335   e_mul,
336   e_mulpd,
337   e_mulps,
338   e_mulsd,
339   e_mulss,
340   e_neg,
341   e_nop,
342   e_not,
343   e_or,
344   e_orpd,
345   e_orps,
346   e_out,
347   e_outsb,
348   e_outsd,
349   e_outsw,
350   e_pabsb, // SSSE3
351   e_pabsd, // SSSE3
352   e_pabsw, // SSSE3
353   e_packssdw,
354   e_packsswb,
355   e_packusdw,   // SSE 4.1
356   e_packuswb,
357   e_paddb,
358   e_paddd,
359   e_paddq,
360   e_paddsb,
361   e_paddsw,
362   e_paddusb,
363   e_paddusw,
364   e_paddw,
365   e_palignr, // SSSE3
366   e_pand,
367   e_pandn,
368   e_pavgb,
369   e_pavgw,
370   e_pblendvb,   // SSE 4.1
371   e_pblendw,    // SSE 4.1
372   e_pcmpeqb,
373   e_pcmpeqd,
374   e_pcmpeqq,    // SSE 4.1
375   e_pcmpeqw,
376   e_pcmpestri,  // SSE 4.2
377   e_pcmpestrm,  // SSE 4.2
378   e_pcmpgdt,
379   e_pcmpgtb,
380   e_pcmpgtq,    // SSE 4.2
381   e_pcmpgtw,
382   e_pcmpistri,  // SSE 4.2
383   e_pcmpistrm,  // SSE 4.2
384   e_pextrb,             // SSE 4.1
385   e_pextrd_pextrq,              // SSE 4.1
386   e_pextrw,             // SSE 4.1
387   e_phaddd, // SSSE3
388   e_phaddw, // SSSE3
389   e_phaddsw, // SSSE3
390   e_phminposuw, // SSE 4.1
391   e_phsubd, // SSSE3
392   e_phsubw, // SSSE3
393   e_phsubsw, // SSSE3
394   e_pinsrb,             // SSE 4.1
395   e_pinsrd_pinsrq,              // SSE 4.1
396   e_pinsrw,
397   e_pmaddwd,
398   e_pmaddubsw, // SSSE3
399   e_pmaxsb,             // SSE 4.1
400   e_pmaxsd,             // SSE 4.1
401   e_pmaxud,             // SSE 4.1
402   e_pmaxuw,             // SSE 4.1
403   e_pmaxsw,
404   e_pmaxub,
405   e_pminsb,             // SSE 4.1
406   e_pminsd,             // SSE 4.1
407   e_pminud,             // SSE 4.1
408   e_pminuw,             // SSE 4.1
409   e_pminsw,
410   e_pminub,
411   e_pmovmskb,
412   e_pmovntdqa,  // SSE 4.1
413   e_pmovsxbd,   // SSE 4.1
414   e_pmovsxbq,   // SSE 4.1
415   e_pmovsxbw,   // SSE 4.1
416   e_pmovsxwd,   // SSE 4.1
417   e_pmovsxwq,   // SSE 4.1
418   e_pmovsxdq,   // SSE 4.1
419   e_pmovzxbd,   // SSE 4.1
420   e_pmovzxbq,   // SSE 4.1
421   e_pmovzxbw,   // SSE 4.1
422   e_pmovzxwd,   // SSE 4.1
423   e_pmovzxwq,   // SSE 4.1
424   e_pmovzxdq,   // SSE 4.1
425   e_pmuldq,             // SSE 4.1
426   e_pmulhrsw,   // SSSE3
427   e_pmulhuw,
428   e_pmulhw,
429   e_pmulld,             // SSE 4.1
430   e_pmullw,
431   e_pmuludq,
432   e_pop,
433   e_popa,
434   e_popad,
435   e_popf,
436   e_popfd,
437   e_popcnt,
438   e_por,
439   e_psadbw,
440   e_pshufb, // SSSE3
441   e_pshufd,
442   e_pshufhw,
443   e_pshuflw,
444   e_pshufw,
445   e_psignd, // SSSE3
446   e_psignw, // SSSE3
447   e_psignb, // SSSE3
448   e_pslld,
449   e_pslldq,
450   e_psllq,
451   e_psllw,
452   e_psrad,
453   e_psraw,
454   e_psrld,
455   e_psrldq,
456   e_psrlq,
457   e_psrlw,
458   e_psubb,
459   e_psubd,
460   e_psubsb,
461   e_psubsw,
462   e_psubusb,
463   e_psubusw,
464   e_psubw,
465   e_ptest,      // SSE 4.1
466   e_punpckhbw,
467   e_punpckhdq,
468   e_punpckhqd,
469   e_punpckhwd,
470   e_punpcklbw,
471   e_punpcklqd,
472   e_punpcklqld,
473   e_punpcklwd,
474   e_push,
475   e_pusha,
476   e_pushad,
477   e_pushf,
478   e_pushfd,
479   e_pxor,
480   e_rcl,
481   e_rcpps,
482   e_rcpss,
483   e_rcr,
484   e_rdmsr,
485   e_rdpmc,
486   e_rdtsc,
487   e_rol,
488   e_ror,
489   e_roundpd,    // SSE 4.1
490   e_roundps,    // SSE 4.1
491   e_roundsd,    // SSE 4.1
492   e_roundss,    // SSE 4.1
493   e_rsm,
494   e_rsqrtps,
495   e_rsqrtss,
496   e_sahf,
497   e_salc,
498   e_sar,
499   e_sbb,
500   e_scasb,
501   e_scasd,
502   e_scasw,
503   e_setb,
504   e_setbe,
505   e_setl,
506   e_setle,
507   e_setnb,
508   e_setnbe,
509   e_setnl,
510   e_setnle,
511   e_setno,
512   e_setnp,
513   e_setns,
514   e_setnz,
515   e_seto,
516   e_setp,
517   e_sets,
518   e_setz,
519   e_sfence,
520   e_sgdt,
521   e_shl_sal,
522   e_shld,
523   e_shr,
524   e_shrd,
525   e_shufpd,
526   e_shufps,
527   e_sidt,
528   e_sldt,
529   e_smsw,
530   e_sqrtpd,
531   e_sqrtps,
532   e_sqrtsd,
533   e_sqrtss,
534   e_stc,
535   e_std,
536   e_sti,
537   e_stmxcsr,
538   e_stosb,
539   e_stosd,
540   e_stosw,
541   e_str,
542   e_sub,
543   e_subpd,
544   e_subps,
545   e_subsd,
546   e_subss,
547   e_syscall,
548   e_sysenter,
549   e_sysexit,
550   e_sysret,
551   e_test,
552   e_ucomisd,
553   e_ucomiss,
554   e_ud,
555   e_ud2,
556   e_ud2grp10,
557   e_unpckhpd,
558   e_unpckhps,
559   e_unpcklpd,
560   e_unpcklps,
561   e_verr,
562   e_verw,
563   e_vmread,
564   e_vmwrite,
565   e_vsyscall,
566   e_wait,
567   e_wbinvd,
568   e_wrmsr,
569   e_xadd,
570   e_xchg,
571   e_xlat,
572   e_xor,
573   e_xorpd,
574   e_xorps,
575   e_fp_generic,
576   e_3dnow_generic,
577
578   power_op_INVALID,
579   power_op_extended,
580   power_op_stfdu,
581   power_op_fadd,
582   power_op_xoris,
583   power_op_mulhwu,
584   power_op_stbux,
585   power_op_cmpl,
586   power_op_subf,
587   power_op_svcs,
588   power_op_fmuls,
589   power_op_subfic,
590   power_op_mcrfs,
591   power_op_divs,
592   power_op_lwzx,
593   power_op_fctiw,
594   power_op_mtcrf,
595   power_op_srq,
596   power_op_sraw,
597   power_op_lfdx,
598   power_op_stdcx_rc,
599   power_op_nor,
600   power_op_crandc,
601   power_op_stdu,
602   power_op_addme,
603   power_op_fmul,
604   power_op_sthbrx,
605   power_op_mtspr,
606   power_op_lfsx,
607   power_op_lbzx,
608   power_op_nand,
609   power_op_fnmadds,
610   power_op_fnmadd,
611   power_op_mulhw,
612   power_op_sradi,
613   power_op_fnmsubs,
614   power_op_addze,
615   power_op_mulld,
616   power_op_addic,
617   power_op_lfs,
618   power_op_andc,
619   power_op_eciwx,
620   power_op_rfid,
621   power_op_divw,
622   power_op_creqv,
623   power_op_fctiwz,
624   power_op_crnor,
625   power_op_lbzux,
626   power_op_td,
627   power_op_dcbi,
628   power_op_cli,
629   power_op_div,
630   power_op_add,
631   power_op_extsh,
632   power_op_divd,
633   power_op_fmsub,
634   power_op_stbx,
635   power_op_nabs,
636   power_op_isync,
637   power_op_mfsri,
638   power_op_stfdx,
639   power_op_fsqrt,
640   power_op_dcbz,
641   power_op_dcbst,
642   power_op_stswi,
643   power_op_mulli,
644   power_op_stfs,
645   power_op_clf,
646   power_op_fnmsub,
647   power_op_lhz,
648   power_op_ecowx,
649   power_op_fres,
650   power_op_stwu,
651   power_op_lhau,
652   power_op_slq,
653   power_op_srawi,
654   power_op_divwu,
655   power_op_addis,
656   power_op_mfmsr,
657   power_op_mulhd,
658   power_op_fdivs,
659   power_op_abs,
660   power_op_lwzu,
661   power_op_tlbli,
662   power_op_orc,
663   power_op_mtfsf,
664   power_op_lswx,
665   power_op_stb,
666   power_op_andis_rc,
667   power_op_fsel,
668   power_op_xori,
669   power_op_lwax,
670   power_op_tdi,
671   power_op_rlwimi,
672   power_op_stw,
673   power_op_rldcr,
674   power_op_sraq,
675   power_op_fmr,
676   power_op_tlbld,
677   power_op_doz,
678   power_op_lbz,
679   power_op_stdux,
680   power_op_mtfsfi,
681   power_op_srea,
682   power_op_lscbx,
683   power_op_rlwinm,
684   power_op_sld,
685   power_op_addc,
686   power_op_lfqux,
687   power_op_sleq,
688   power_op_extsb,
689   power_op_ld,
690   power_op_ldu,
691   power_op_fctidz,
692   power_op_lfq,
693   power_op_lwbrx,
694   power_op_fsqrts,
695   power_op_srd,
696   power_op_lfdu,
697   power_op_stfsux,
698   power_op_lhzu,
699   power_op_crnand,
700   power_op_icbi,
701   power_op_rlwnm,
702   power_op_rldcl,
703   power_op_stwcx_rc,
704   power_op_lhzx,
705   power_op_stfsx,
706   power_op_rlmi,
707   power_op_twi,
708   power_op_srliq,
709   power_op_tlbie,
710   power_op_mfcr,
711   power_op_tlbsync,
712   power_op_extsw,
713   power_op_rldicl,
714   power_op_bclr,
715   power_op_rfsvc,
716   power_op_mcrxr,
717   power_op_clcs,
718   power_op_srad,
719   power_op_subfc,
720   power_op_mfsrin,
721   power_op_rfi,
722   power_op_sreq,
723   power_op_frsqrte,
724   power_op_mffs,
725   power_op_lwz,
726   power_op_lfqu,
727   power_op_and,
728   power_op_stswx,
729   power_op_stfd,
730   power_op_fmsubs,
731   power_op_bcctr,
732   power_op_lhaux,
733   power_op_ldux,
734   power_op_fctid,
735   power_op_frsp,
736   power_op_slw,
737   power_op_cmpli,
738   power_op_sync,
739   power_op_cntlzw,
740   power_op_maskg,
741   power_op_divdu,
742   power_op_xor,
743   power_op_fadds,
744   power_op_fneg,
745   power_op_lwaux,
746   power_op_fsub,
747   power_op_stfqux,
748   power_op_srlq,
749   power_op_lfqx,
750   power_op_dcbt,
751   power_op_sliq,
752   power_op_fcmpo,
753   power_op_lhax,
754   power_op_cror,
755   power_op_dozi,
756   power_op_crand,
757   power_op_stfsu,
758   power_op_lha,
759   power_op_mcrf,
760   power_op_fdiv,
761   power_op_ori,
762   power_op_fmadd,
763   power_op_stmw,
764   power_op_lwarx,
765   power_op_sle,
766   power_op_fsubs,
767   power_op_stdx,
768   power_op_stwx,
769   power_op_sthux,
770   power_op_stwbrx,
771   power_op_sthu,
772   power_op_dclst,
773   power_op_fcmpu,
774   power_op_subfme,
775   power_op_stfiwx,
776   power_op_mul,
777   power_op_bc,
778   power_op_stwux,
779   power_op_sllq,
780   power_op_mullw,
781   power_op_cmpi,
782   power_op_rldicr,
783   power_op_sth,
784   power_op_sre,
785   power_op_slliq,
786   power_op_rldic,
787   power_op_fnabs,
788   power_op_sc,
789   power_op_addic_rc,
790   power_op_rldimi,
791   power_op_stfqu,
792   power_op_neg,
793   power_op_oris,
794   power_op_lfsux,
795   power_op_mtfsb1,
796   power_op_dcbtst,
797   power_op_subfe,
798   power_op_b,
799   power_op_lwzux,
800   power_op_rac,
801   power_op_lfdux,
802   power_op_lbzu,
803   power_op_lhzux,
804   power_op_lhbrx,
805   power_op_lfsu,
806   power_op_srw,
807   power_op_crxor,
808   power_op_stfdux,
809   power_op_lmw,
810   power_op_adde,
811   power_op_mfsr,
812   power_op_sraiq,
813   power_op_rrib,
814   power_op_addi,
815   power_op_sthx,
816   power_op_stfqx,
817   power_op_andi_rc,
818   power_op_or,
819   power_op_dcbf,
820   power_op_fcfid,
821   power_op_fmadds,
822   power_op_mtfsb0,
823   power_op_lswi,
824   power_op_mulhdu,
825   power_op_ldarx,
826   power_op_eieio,
827   power_op_cntlzd,
828   power_op_subfze,
829   power_op_fabs,
830   power_op_tw,
831   power_op_eqv,
832   power_op_stfq,
833   power_op_maskir,
834   power_op_sriq,
835   power_op_mfspr,
836   power_op_ldx,
837   power_op_crorc,
838   power_op_lfd,
839   power_op_cmp,
840   power_op_stbu,
841   power_op_stfpdux,
842   power_op_stfpdx,
843   power_op_stfpsux,
844   power_op_stfpsx,
845   power_op_stfxdux,
846   power_op_stfxdx,
847   power_op_stfxsux,
848   power_op_stfxsx,
849   power_op_stfsdux,
850   power_op_stfsdx,
851   power_op_stfssux,
852   power_op_stfssx,
853   power_op_stfpiwx,
854   power_op_lfpdux,
855   power_op_lfpdx,
856   power_op_lfpsux,
857   power_op_lfpsx,
858   power_op_lfxdux,
859   power_op_lfxdx,
860   power_op_lfxsux,
861   power_op_lfxsx,
862   power_op_lfsdux,
863   power_op_lfsdx,
864   power_op_lfssux,
865   power_op_lfssx,
866   power_op_qvfcfids,
867   power_op_qvlfsx,
868   power_op_qvlfsux,
869   power_op_qvlfcsx,
870   power_op_qvlfcsux,
871   power_op_qvlfdx,
872   power_op_qvlfdux,
873   power_op_qvlfcdx,
874   power_op_qvlfcdux,
875   power_op_qvlfiwax,
876   power_op_qvlfiwzx,
877   power_op_qvlpcldx,
878   power_op_qvlpclsx,
879   power_op_qvlpcrdx,
880   power_op_qvlpcrsx,
881   power_op_qvstfsx,
882   power_op_qvstfsux,
883   power_op_qvstfsxi,
884   power_op_qvstfsuxi,
885   power_op_qvstfdx,
886   power_op_qvstfdux,
887   power_op_qvstfdxi,
888   power_op_qvstfduxi,
889   power_op_qvstfcsx,
890   power_op_qvstfcsux,
891   power_op_qvstfcsxi,
892   power_op_qvstfcsuxi,
893   power_op_qvstfcdx,
894   power_op_qvstfcdux,
895   power_op_qvstfcdxi,
896   power_op_qvstfcduxi,
897   power_op_qvstfiwx,
898   power_op_qvfmr,
899   power_op_qvfcpsgn,
900   power_op_qvfneg,
901   power_op_qvfabs,
902   power_op_qvfnabs,
903   power_op_qvfadd,
904   power_op_qvfadds,
905   power_op_qvfsub,
906   power_op_qvfsubs,
907   power_op_qvfmul,
908   power_op_qvfmuls,
909   power_op_qvfre,
910   power_op_qvfres,
911   power_op_qvfrsqrte,
912   power_op_qvfrsqrtes,
913   power_op_qvfmadd,
914   power_op_qvfmadds,
915   power_op_qvfmsub,
916   power_op_qvfmsubs,
917   power_op_qvfnmadd,
918   power_op_qvfnmadds,
919   power_op_qvfnmsub,
920   power_op_qvfnmsubs,
921   power_op_qvfxmadd,
922   power_op_qvfxmadds,
923   power_op_qvfxxnpmadd,
924   power_op_qvfxxnpmadds,
925   power_op_qvfxxmadd,
926   power_op_qvfxxmadds,
927   power_op_qvfxxcpnmadd,
928   power_op_qvfxxcpnmadds,
929   power_op_qvfxmul,
930   power_op_qvfxmuls,
931   power_op_qvfrsp,
932   power_op_qvfctid,
933   power_op_qvfctidz,
934   power_op_qvfctidu,
935   power_op_qvfctiduz,
936   power_op_qvfctiw,
937   power_op_qvfctiwu,
938   power_op_qvfctiwz,
939   power_op_qvfctiwuz,
940   power_op_qvfcfid,
941   power_op_qvfcfidu,
942   power_op_qvfcfidus,
943   power_op_qvfrin,
944   power_op_qvfriz,
945   power_op_qvfrip,
946   power_op_qvfrim,
947   power_op_qvfcmpgt,
948   power_op_qvftstnan,
949   power_op_qvfcmplt,
950   power_op_qvfcmpeq,
951   power_op_qvfsel,
952   power_op_qvfaligni,
953   power_op_qvfperm,
954   power_op_qvesplati,
955   power_op_qvgpci,
956   power_op_qvflogical,
957   power_op_qvlstdux,
958   power_op_qvlstduxi,
959   power_op_fxcxnms,
960   power_op_fxcxma,
961   power_op_fxcxnsma,
962   power_op_fxcxnpma,
963   power_op_fxcsnsma,
964   power_op_fxcpnsma,
965   power_op_fxcsnpma,
966   power_op_fxcpnpma,
967   power_op_fsmtp,
968   power_op_fsmfp,
969   power_op_fpctiwz,
970   power_op_fpctiw,
971   power_op_fxmr,
972   power_op_fpsel,
973   power_op_fpmul,
974   power_op_fxmul,
975   power_op_fxpmul,
976   power_op_fxsmul,
977   power_op_fpadd,
978   power_op_fpsub,
979   power_op_fpre,
980   power_op_fprsqrte,
981   power_op_fpmadd,
982   power_op_fxmadd,
983   power_op_fxcpmadd,
984   power_op_fxcsmadd,
985   power_op_fpnmadd,
986   power_op_fxnmadd,
987   power_op_fxcpnmadd,
988   power_op_fxcsnmadd,
989   power_op_fpmsub,
990   power_op_fxmsub,
991   power_op_fxcpmsub,
992   power_op_fxcsmsub,
993   power_op_fpnmsub,
994   power_op_fxnmsub,
995   power_op_fxcpnmsub,
996   power_op_fxcsnmsub,
997   power_op_fpmr,
998   power_op_fpabs,
999   power_op_fpneg,
1000   power_op_fprsp,
1001   power_op_fpnabs,
1002   power_op_fsmr,
1003   power_op_fscmp,
1004   power_op_fsabs,
1005   power_op_fsneg,
1006   power_op_fsnabs,
1007   power_op_lwa,
1008
1009   // ***********
1010   // Steve note:
1011   // aarch64 opcode IDs.
1012   // These are generated by the script in instructionAPI dir
1013   // ***********
1014   aarch64_op_INVALID,
1015   aarch64_op_extended,
1016   aarch64_op_abs_advsimd,
1017   aarch64_op_adc,
1018   aarch64_op_adcs,
1019   aarch64_op_add_addsub_ext,
1020   aarch64_op_add_addsub_imm,
1021   aarch64_op_add_addsub_shift,
1022   aarch64_op_add_advsimd,
1023   aarch64_op_addhn_advsimd,
1024   aarch64_op_addp_advsimd_pair,
1025   aarch64_op_addp_advsimd_vec,
1026   aarch64_op_adds_addsub_ext,
1027   aarch64_op_adds_addsub_imm,
1028   aarch64_op_adds_addsub_shift,
1029   aarch64_op_addv_advsimd,
1030   aarch64_op_adr,
1031   aarch64_op_adrp,
1032   aarch64_op_aesd_advsimd,
1033   aarch64_op_aese_advsimd,
1034   aarch64_op_aesimc_advsimd,
1035   aarch64_op_aesmc_advsimd,
1036   aarch64_op_and_advsimd,
1037   aarch64_op_and_log_imm,
1038   aarch64_op_and_log_shift,
1039   aarch64_op_ands_log_imm,
1040   aarch64_op_ands_log_shift,
1041   aarch64_op_asr_asrv,
1042   aarch64_op_asr_sbfm,
1043   aarch64_op_asrv,
1044   aarch64_op_at_sys,
1045   aarch64_op_b_cond,
1046   aarch64_op_b_uncond,
1047   aarch64_op_bfi_bfm,
1048   aarch64_op_bfm,
1049   aarch64_op_bfxil_bfm,
1050   aarch64_op_bic_advsimd_imm,
1051   aarch64_op_bic_advsimd_reg,
1052   aarch64_op_bic_log_shift,
1053   aarch64_op_bics,
1054   aarch64_op_bif_advsimd,
1055   aarch64_op_bit_advsimd,
1056   aarch64_op_bl,
1057   aarch64_op_blr,
1058   aarch64_op_br,
1059   aarch64_op_brk,
1060   aarch64_op_bsl_advsimd,
1061   aarch64_op_cbnz,
1062   aarch64_op_cbz,
1063   aarch64_op_ccmn_imm,
1064   aarch64_op_ccmn_reg,
1065   aarch64_op_ccmp_imm,
1066   aarch64_op_ccmp_reg,
1067   aarch64_op_cinc_csinc,
1068   aarch64_op_cinv_csinv,
1069   aarch64_op_clrex,
1070   aarch64_op_cls_advsimd,
1071   aarch64_op_cls_int,
1072   aarch64_op_clz_advsimd,
1073   aarch64_op_clz_int,
1074   aarch64_op_cmeq_advsimd_reg,
1075   aarch64_op_cmeq_advsimd_zero,
1076   aarch64_op_cmge_advsimd_reg,
1077   aarch64_op_cmge_advsimd_zero,
1078   aarch64_op_cmgt_advsimd_reg,
1079   aarch64_op_cmgt_advsimd_zero,
1080   aarch64_op_cmhi_advsimd,
1081   aarch64_op_cmhs_advsimd,
1082   aarch64_op_cmle_advsimd,
1083   aarch64_op_cmlt_advsimd,
1084   aarch64_op_cmn_adds_addsub_ext,
1085   aarch64_op_cmn_adds_addsub_imm,
1086   aarch64_op_cmn_adds_addsub_shift,
1087   aarch64_op_cmp_subs_addsub_ext,
1088   aarch64_op_cmp_subs_addsub_imm,
1089   aarch64_op_cmp_subs_addsub_shift,
1090   aarch64_op_cmtst_advsimd,
1091   aarch64_op_cneg_csneg,
1092   aarch64_op_cnt_advsimd,
1093   aarch64_op_crc32,
1094   aarch64_op_crc32c,
1095   aarch64_op_csel,
1096   aarch64_op_cset_csinc,
1097   aarch64_op_csetm_csinv,
1098   aarch64_op_csinc,
1099   aarch64_op_csinv,
1100   aarch64_op_csneg,
1101   aarch64_op_dc_sys,
1102   aarch64_op_dcps1,
1103   aarch64_op_dcps2,
1104   aarch64_op_dcps3,
1105   aarch64_op_dmb,
1106   aarch64_op_drps,
1107   aarch64_op_dsb,
1108   aarch64_op_dup_advsimd_elt,
1109   aarch64_op_dup_advsimd_gen,
1110   aarch64_op_eon,
1111   aarch64_op_eor_advsimd,
1112   aarch64_op_eor_log_imm,
1113   aarch64_op_eor_log_shift,
1114   aarch64_op_eret,
1115   aarch64_op_ext_advsimd,
1116   aarch64_op_extr,
1117   aarch64_op_fabd_advsimd,
1118   aarch64_op_fabs_advsimd,
1119   aarch64_op_fabs_float,
1120   aarch64_op_facge_advsimd,
1121   aarch64_op_facgt_advsimd,
1122   aarch64_op_fadd_advsimd,
1123   aarch64_op_fadd_float,
1124   aarch64_op_faddp_advsimd_pair,
1125   aarch64_op_faddp_advsimd_vec,
1126   aarch64_op_fccmp_float,
1127   aarch64_op_fccmpe_float,
1128   aarch64_op_fcmeq_advsimd_reg,
1129   aarch64_op_fcmeq_advsimd_zero,
1130   aarch64_op_fcmge_advsimd_reg,
1131   aarch64_op_fcmge_advsimd_zero,
1132   aarch64_op_fcmgt_advsimd_reg,
1133   aarch64_op_fcmgt_advsimd_zero,
1134   aarch64_op_fcmle_advsimd,
1135   aarch64_op_fcmlt_advsimd,
1136   aarch64_op_fcmp_float,
1137   aarch64_op_fcmpe_float,
1138   aarch64_op_fcsel_float,
1139   aarch64_op_fcvt_float,
1140   aarch64_op_fcvtas_advsimd,
1141   aarch64_op_fcvtas_float,
1142   aarch64_op_fcvtau_advsimd,
1143   aarch64_op_fcvtau_float,
1144   aarch64_op_fcvtl_advsimd,
1145   aarch64_op_fcvtms_advsimd,
1146   aarch64_op_fcvtms_float,
1147   aarch64_op_fcvtmu_advsimd,
1148   aarch64_op_fcvtmu_float,
1149   aarch64_op_fcvtn_advsimd,
1150   aarch64_op_fcvtns_advsimd,
1151   aarch64_op_fcvtns_float,
1152   aarch64_op_fcvtnu_advsimd,
1153   aarch64_op_fcvtnu_float,
1154   aarch64_op_fcvtps_advsimd,
1155   aarch64_op_fcvtps_float,
1156   aarch64_op_fcvtpu_advsimd,
1157   aarch64_op_fcvtpu_float,
1158   aarch64_op_fcvtxn_advsimd,
1159   aarch64_op_fcvtzs_advsimd_fix,
1160   aarch64_op_fcvtzs_advsimd_int,
1161   aarch64_op_fcvtzs_float_fix,
1162   aarch64_op_fcvtzs_float_int,
1163   aarch64_op_fcvtzu_advsimd_fix,
1164   aarch64_op_fcvtzu_advsimd_int,
1165   aarch64_op_fcvtzu_float_fix,
1166   aarch64_op_fcvtzu_float_int,
1167   aarch64_op_fdiv_advsimd,
1168   aarch64_op_fdiv_float,
1169   aarch64_op_fmadd_float,
1170   aarch64_op_fmax_advsimd,
1171   aarch64_op_fmax_float,
1172   aarch64_op_fmaxnm_advsimd,
1173   aarch64_op_fmaxnm_float,
1174   aarch64_op_fmaxnmp_advsimd_pair,
1175   aarch64_op_fmaxnmp_advsimd_vec,
1176   aarch64_op_fmaxnmv_advsimd,
1177   aarch64_op_fmaxp_advsimd_pair,
1178   aarch64_op_fmaxp_advsimd_vec,
1179   aarch64_op_fmaxv_advsimd,
1180   aarch64_op_fmin_advsimd,
1181   aarch64_op_fmin_float,
1182   aarch64_op_fminnm_advsimd,
1183   aarch64_op_fminnm_float,
1184   aarch64_op_fminnmp_advsimd_pair,
1185   aarch64_op_fminnmp_advsimd_vec,
1186   aarch64_op_fminnmv_advsimd,
1187   aarch64_op_fminp_advsimd_pair,
1188   aarch64_op_fminp_advsimd_vec,
1189   aarch64_op_fminv_advsimd,
1190   aarch64_op_fmla_advsimd_elt,
1191   aarch64_op_fmla_advsimd_vec,
1192   aarch64_op_fmls_advsimd_elt,
1193   aarch64_op_fmls_advsimd_vec,
1194   aarch64_op_fmov_advsimd,
1195   aarch64_op_fmov_float,
1196   aarch64_op_fmov_float_gen,
1197   aarch64_op_fmov_float_imm,
1198   aarch64_op_fmsub_float,
1199   aarch64_op_fmul_advsimd_elt,
1200   aarch64_op_fmul_advsimd_vec,
1201   aarch64_op_fmul_float,
1202   aarch64_op_fmulx_advsimd_elt,
1203   aarch64_op_fmulx_advsimd_vec,
1204   aarch64_op_fneg_advsimd,
1205   aarch64_op_fneg_float,
1206   aarch64_op_fnmadd_float,
1207   aarch64_op_fnmsub_float,
1208   aarch64_op_fnmul_float,
1209   aarch64_op_frecpe_advsimd,
1210   aarch64_op_frecps_advsimd,
1211   aarch64_op_frecpx_advsimd,
1212   aarch64_op_frinta_advsimd,
1213   aarch64_op_frinta_float,
1214   aarch64_op_frinti_advsimd,
1215   aarch64_op_frinti_float,
1216   aarch64_op_frintm_advsimd,
1217   aarch64_op_frintm_float,
1218   aarch64_op_frintn_advsimd,
1219   aarch64_op_frintn_float,
1220   aarch64_op_frintp_advsimd,
1221   aarch64_op_frintp_float,
1222   aarch64_op_frintx_advsimd,
1223   aarch64_op_frintx_float,
1224   aarch64_op_frintz_advsimd,
1225   aarch64_op_frintz_float,
1226   aarch64_op_frsqrte_advsimd,
1227   aarch64_op_frsqrts_advsimd,
1228   aarch64_op_fsqrt_advsimd,
1229   aarch64_op_fsqrt_float,
1230   aarch64_op_fsub_advsimd,
1231   aarch64_op_fsub_float,
1232   aarch64_op_hint,
1233   aarch64_op_hlt,
1234   aarch64_op_hvc,
1235   aarch64_op_ic_sys,
1236   aarch64_op_ins_advsimd_elt,
1237   aarch64_op_ins_advsimd_gen,
1238   aarch64_op_isb,
1239   aarch64_op_ld1_advsimd_mult,
1240   aarch64_op_ld1_advsimd_sngl,
1241   aarch64_op_ld1r_advsimd,
1242   aarch64_op_ld2_advsimd_mult,
1243   aarch64_op_ld2_advsimd_sngl,
1244   aarch64_op_ld2r_advsimd,
1245   aarch64_op_ld3_advsimd_mult,
1246   aarch64_op_ld3_advsimd_sngl,
1247   aarch64_op_ld3r_advsimd,
1248   aarch64_op_ld4_advsimd_mult,
1249   aarch64_op_ld4_advsimd_sngl,
1250   aarch64_op_ld4r_advsimd,
1251   aarch64_op_ldar,
1252   aarch64_op_ldarb,
1253   aarch64_op_ldarh,
1254   aarch64_op_ldaxp,
1255   aarch64_op_ldaxr,
1256   aarch64_op_ldaxrb,
1257   aarch64_op_ldaxrh,
1258   aarch64_op_ldnp_fpsimd,
1259   aarch64_op_ldnp_gen,
1260   aarch64_op_ldp_fpsimd,
1261   aarch64_op_ldp_gen,
1262   aarch64_op_ldpsw,
1263   aarch64_op_ldr_imm_fpsimd,
1264   aarch64_op_ldr_imm_gen,
1265   aarch64_op_ldr_lit_fpsimd,
1266   aarch64_op_ldr_lit_gen,
1267   aarch64_op_ldr_reg_fpsimd,
1268   aarch64_op_ldr_reg_gen,
1269   aarch64_op_ldrb_imm,
1270   aarch64_op_ldrb_reg,
1271   aarch64_op_ldrh_imm,
1272   aarch64_op_ldrh_reg,
1273   aarch64_op_ldrsb_imm,
1274   aarch64_op_ldrsb_reg,
1275   aarch64_op_ldrsh_imm,
1276   aarch64_op_ldrsh_reg,
1277   aarch64_op_ldrsw_imm,
1278   aarch64_op_ldrsw_lit,
1279   aarch64_op_ldrsw_reg,
1280   aarch64_op_ldtr,
1281   aarch64_op_ldtrb,
1282   aarch64_op_ldtrh,
1283   aarch64_op_ldtrsb,
1284   aarch64_op_ldtrsh,
1285   aarch64_op_ldtrsw,
1286   aarch64_op_ldur_fpsimd,
1287   aarch64_op_ldur_gen,
1288   aarch64_op_ldurb,
1289   aarch64_op_ldurh,
1290   aarch64_op_ldursb,
1291   aarch64_op_ldursh,
1292   aarch64_op_ldursw,
1293   aarch64_op_ldxp,
1294   aarch64_op_ldxr,
1295   aarch64_op_ldxrb,
1296   aarch64_op_ldxrh,
1297   aarch64_op_lsl_lslv,
1298   aarch64_op_lsl_ubfm,
1299   aarch64_op_lslv,
1300   aarch64_op_lsr_lsrv,
1301   aarch64_op_lsr_ubfm,
1302   aarch64_op_lsrv,
1303   aarch64_op_madd,
1304   aarch64_op_mla_advsimd_elt,
1305   aarch64_op_mla_advsimd_vec,
1306   aarch64_op_mls_advsimd_elt,
1307   aarch64_op_mls_advsimd_vec,
1308   aarch64_op_mneg_msub,
1309   aarch64_op_mov_add_addsub_imm,
1310   aarch64_op_mov_dup_advsimd_elt,
1311   aarch64_op_mov_ins_advsimd_elt,
1312   aarch64_op_mov_ins_advsimd_gen,
1313   aarch64_op_mov_movn,
1314   aarch64_op_mov_movz,
1315   aarch64_op_mov_orr_advsimd_reg,
1316   aarch64_op_mov_orr_log_imm,
1317   aarch64_op_mov_orr_log_shift,
1318   aarch64_op_mov_umov_advsimd,
1319   aarch64_op_movi_advsimd,
1320   aarch64_op_movk,
1321   aarch64_op_movn,
1322   aarch64_op_movz,
1323   aarch64_op_mrs,
1324   aarch64_op_msr_imm,
1325   aarch64_op_msr_reg,
1326   aarch64_op_msub,
1327   aarch64_op_mul_advsimd_elt,
1328   aarch64_op_mul_advsimd_vec,
1329   aarch64_op_mul_madd,
1330   aarch64_op_mvn_not_advsimd,
1331   aarch64_op_mvn_orn_log_shift,
1332   aarch64_op_mvni_advsimd,
1333   aarch64_op_neg_advsimd,
1334   aarch64_op_neg_sub_addsub_shift,
1335   aarch64_op_negs_subs_addsub_shift,
1336   aarch64_op_ngc_sbc,
1337   aarch64_op_ngcs_sbcs,
1338   aarch64_op_nop_hint,
1339   aarch64_op_not_advsimd,
1340   aarch64_op_orn_advsimd,
1341   aarch64_op_orn_log_shift,
1342   aarch64_op_orr_advsimd_imm,
1343   aarch64_op_orr_advsimd_reg,
1344   aarch64_op_orr_log_imm,
1345   aarch64_op_orr_log_shift,
1346   aarch64_op_pmul_advsimd,
1347   aarch64_op_pmull_advsimd,
1348   aarch64_op_prfm_imm,
1349   aarch64_op_prfm_lit,
1350   aarch64_op_prfm_reg,
1351   aarch64_op_prfum,
1352   aarch64_op_raddhn_advsimd,
1353   aarch64_op_rbit_advsimd,
1354   aarch64_op_rbit_int,
1355   aarch64_op_ret,
1356   aarch64_op_rev,
1357   aarch64_op_rev16_advsimd,
1358   aarch64_op_rev16_int,
1359   aarch64_op_rev32_advsimd,
1360   aarch64_op_rev32_int,
1361   aarch64_op_rev64_advsimd,
1362   aarch64_op_ror_extr,
1363   aarch64_op_ror_rorv,
1364   aarch64_op_rorv,
1365   aarch64_op_rshrn_advsimd,
1366   aarch64_op_rsubhn_advsimd,
1367   aarch64_op_saba_advsimd,
1368   aarch64_op_sabal_advsimd,
1369   aarch64_op_sabd_advsimd,
1370   aarch64_op_sabdl_advsimd,
1371   aarch64_op_sadalp_advsimd,
1372   aarch64_op_saddl_advsimd,
1373   aarch64_op_saddlp_advsimd,
1374   aarch64_op_saddlv_advsimd,
1375   aarch64_op_saddw_advsimd,
1376   aarch64_op_sbc,
1377   aarch64_op_sbcs,
1378   aarch64_op_sbfiz_sbfm,
1379   aarch64_op_sbfm,
1380   aarch64_op_sbfx_sbfm,
1381   aarch64_op_scvtf_advsimd_fix,
1382   aarch64_op_scvtf_advsimd_int,
1383   aarch64_op_scvtf_float_fix,
1384   aarch64_op_scvtf_float_int,
1385   aarch64_op_sdiv,
1386   aarch64_op_sev_hint,
1387   aarch64_op_sevl_hint,
1388   aarch64_op_sha1c_advsimd,
1389   aarch64_op_sha1h_advsimd,
1390   aarch64_op_sha1m_advsimd,
1391   aarch64_op_sha1p_advsimd,
1392   aarch64_op_sha1su0_advsimd,
1393   aarch64_op_sha1su1_advsimd,
1394   aarch64_op_sha256h2_advsimd,
1395   aarch64_op_sha256h_advsimd,
1396   aarch64_op_sha256su0_advsimd,
1397   aarch64_op_sha256su1_advsimd,
1398   aarch64_op_shadd_advsimd,
1399   aarch64_op_shl_advsimd,
1400   aarch64_op_shll_advsimd,
1401   aarch64_op_shrn_advsimd,
1402   aarch64_op_shsub_advsimd,
1403   aarch64_op_sli_advsimd,
1404   aarch64_op_smaddl,
1405   aarch64_op_smax_advsimd,
1406   aarch64_op_smaxp_advsimd,
1407   aarch64_op_smaxv_advsimd,
1408   aarch64_op_smc,
1409   aarch64_op_smin_advsimd,
1410   aarch64_op_sminp_advsimd,
1411   aarch64_op_sminv_advsimd,
1412   aarch64_op_smlal_advsimd_elt,
1413   aarch64_op_smlal_advsimd_vec,
1414   aarch64_op_smlsl_advsimd_elt,
1415   aarch64_op_smlsl_advsimd_vec,
1416   aarch64_op_smnegl_smsubl,
1417   aarch64_op_smov_advsimd,
1418   aarch64_op_smsubl,
1419   aarch64_op_smulh,
1420   aarch64_op_smull_advsimd_elt,
1421   aarch64_op_smull_advsimd_vec,
1422   aarch64_op_smull_smaddl,
1423   aarch64_op_sqabs_advsimd,
1424   aarch64_op_sqadd_advsimd,
1425   aarch64_op_sqdmlal_advsimd_elt,
1426   aarch64_op_sqdmlal_advsimd_vec,
1427   aarch64_op_sqdmlsl_advsimd_elt,
1428   aarch64_op_sqdmlsl_advsimd_vec,
1429   aarch64_op_sqdmulh_advsimd_elt,
1430   aarch64_op_sqdmulh_advsimd_vec,
1431   aarch64_op_sqdmull_advsimd_elt,
1432   aarch64_op_sqdmull_advsimd_vec,
1433   aarch64_op_sqneg_advsimd,
1434   aarch64_op_sqrdmulh_advsimd_elt,
1435   aarch64_op_sqrdmulh_advsimd_vec,
1436   aarch64_op_sqrshl_advsimd,
1437   aarch64_op_sqrshrn_advsimd,
1438   aarch64_op_sqrshrun_advsimd,
1439   aarch64_op_sqshl_advsimd_imm,
1440   aarch64_op_sqshl_advsimd_reg,
1441   aarch64_op_sqshlu_advsimd,
1442   aarch64_op_sqshrn_advsimd,
1443   aarch64_op_sqshrun_advsimd,
1444   aarch64_op_sqsub_advsimd,
1445   aarch64_op_sqxtn_advsimd,
1446   aarch64_op_sqxtun_advsimd,
1447   aarch64_op_srhadd_advsimd,
1448   aarch64_op_sri_advsimd,
1449   aarch64_op_srshl_advsimd,
1450   aarch64_op_srshr_advsimd,
1451   aarch64_op_srsra_advsimd,
1452   aarch64_op_sshl_advsimd,
1453   aarch64_op_sshll_advsimd,
1454   aarch64_op_sshr_advsimd,
1455   aarch64_op_ssra_advsimd,
1456   aarch64_op_ssubl_advsimd,
1457   aarch64_op_ssubw_advsimd,
1458   aarch64_op_st1_advsimd_mult,
1459   aarch64_op_st1_advsimd_sngl,
1460   aarch64_op_st2_advsimd_mult,
1461   aarch64_op_st2_advsimd_sngl,
1462   aarch64_op_st3_advsimd_mult,
1463   aarch64_op_st3_advsimd_sngl,
1464   aarch64_op_st4_advsimd_mult,
1465   aarch64_op_st4_advsimd_sngl,
1466   aarch64_op_stlr,
1467   aarch64_op_stlrb,
1468   aarch64_op_stlrh,
1469   aarch64_op_stlxp,
1470   aarch64_op_stlxr,
1471   aarch64_op_stlxrb,
1472   aarch64_op_stlxrh,
1473   aarch64_op_stnp_fpsimd,
1474   aarch64_op_stnp_gen,
1475   aarch64_op_stp_fpsimd,
1476   aarch64_op_stp_gen,
1477   aarch64_op_str_imm_fpsimd,
1478   aarch64_op_str_imm_gen,
1479   aarch64_op_str_reg_fpsimd,
1480   aarch64_op_str_reg_gen,
1481   aarch64_op_strb_imm,
1482   aarch64_op_strb_reg,
1483   aarch64_op_strh_imm,
1484   aarch64_op_strh_reg,
1485   aarch64_op_sttr,
1486   aarch64_op_sttrb,
1487   aarch64_op_sttrh,
1488   aarch64_op_stur_fpsimd,
1489   aarch64_op_stur_gen,
1490   aarch64_op_sturb,
1491   aarch64_op_sturh,
1492   aarch64_op_stxp,
1493   aarch64_op_stxr,
1494   aarch64_op_stxrb,
1495   aarch64_op_stxrh,
1496   aarch64_op_sub_addsub_ext,
1497   aarch64_op_sub_addsub_imm,
1498   aarch64_op_sub_addsub_shift,
1499   aarch64_op_sub_advsimd,
1500   aarch64_op_subhn_advsimd,
1501   aarch64_op_subs_addsub_ext,
1502   aarch64_op_subs_addsub_imm,
1503   aarch64_op_subs_addsub_shift,
1504   aarch64_op_suqadd_advsimd,
1505   aarch64_op_svc,
1506   aarch64_op_sxtb_sbfm,
1507   aarch64_op_sxth_sbfm,
1508   aarch64_op_sxtl_sshll_advsimd,
1509   aarch64_op_sxtw_sbfm,
1510   aarch64_op_sys,
1511   aarch64_op_sysl,
1512   aarch64_op_tbl_advsimd,
1513   aarch64_op_tbnz,
1514   aarch64_op_tbx_advsimd,
1515   aarch64_op_tbz,
1516   aarch64_op_tlbi_sys,
1517   aarch64_op_trn1_advsimd,
1518   aarch64_op_trn2_advsimd,
1519   aarch64_op_tst_ands_log_imm,
1520   aarch64_op_tst_ands_log_shift,
1521   aarch64_op_uaba_advsimd,
1522   aarch64_op_uabal_advsimd,
1523   aarch64_op_uabd_advsimd,
1524   aarch64_op_uabdl_advsimd,
1525   aarch64_op_uadalp_advsimd,
1526   aarch64_op_uaddl_advsimd,
1527   aarch64_op_uaddlp_advsimd,
1528   aarch64_op_uaddlv_advsimd,
1529   aarch64_op_uaddw_advsimd,
1530   aarch64_op_ubfiz_ubfm,
1531   aarch64_op_ubfm,
1532   aarch64_op_ubfx_ubfm,
1533   aarch64_op_ucvtf_advsimd_fix,
1534   aarch64_op_ucvtf_advsimd_int,
1535   aarch64_op_ucvtf_float_fix,
1536   aarch64_op_ucvtf_float_int,
1537   aarch64_op_udiv,
1538   aarch64_op_uhadd_advsimd,
1539   aarch64_op_uhsub_advsimd,
1540   aarch64_op_umaddl,
1541   aarch64_op_umax_advsimd,
1542   aarch64_op_umaxp_advsimd,
1543   aarch64_op_umaxv_advsimd,
1544   aarch64_op_umin_advsimd,
1545   aarch64_op_uminp_advsimd,
1546   aarch64_op_uminv_advsimd,
1547   aarch64_op_umlal_advsimd_elt,
1548   aarch64_op_umlal_advsimd_vec,
1549   aarch64_op_umlsl_advsimd_elt,
1550   aarch64_op_umlsl_advsimd_vec,
1551   aarch64_op_umnegl_umsubl,
1552   aarch64_op_umov_advsimd,
1553   aarch64_op_umsubl,
1554   aarch64_op_umulh,
1555   aarch64_op_umull_advsimd_elt,
1556   aarch64_op_umull_advsimd_vec,
1557   aarch64_op_umull_umaddl,
1558   aarch64_op_uqadd_advsimd,
1559   aarch64_op_uqrshl_advsimd,
1560   aarch64_op_uqrshrn_advsimd,
1561   aarch64_op_uqshl_advsimd_imm,
1562   aarch64_op_uqshl_advsimd_reg,
1563   aarch64_op_uqshrn_advsimd,
1564   aarch64_op_uqsub_advsimd,
1565   aarch64_op_uqxtn_advsimd,
1566   aarch64_op_urecpe_advsimd,
1567   aarch64_op_urhadd_advsimd,
1568   aarch64_op_urshl_advsimd,
1569   aarch64_op_urshr_advsimd,
1570   aarch64_op_ursqrte_advsimd,
1571   aarch64_op_ursra_advsimd,
1572   aarch64_op_ushl_advsimd,
1573   aarch64_op_ushll_advsimd,
1574   aarch64_op_ushr_advsimd,
1575   aarch64_op_usqadd_advsimd,
1576   aarch64_op_usra_advsimd,
1577   aarch64_op_usubl_advsimd,
1578   aarch64_op_usubw_advsimd,
1579   aarch64_op_uxtb_ubfm,
1580   aarch64_op_uxth_ubfm,
1581   aarch64_op_uxtl_ushll_advsimd,
1582   aarch64_op_uzp1_advsimd,
1583   aarch64_op_uzp2_advsimd,
1584   aarch64_op_wfe_hint,
1585   aarch64_op_wfi_hint,
1586   aarch64_op_xtn_advsimd,
1587   aarch64_op_yield_hint,
1588   aarch64_op_zip1_advsimd,
1589   aarch64_op_zip2_advsimd,
1590   _entry_ids_max_
1591 };
1592
1593 enum prefixEntryID {
1594   prefix_none,
1595   prefix_rep,
1596   prefix_repnz
1597 };
1598
1599 #if defined(__GNUC__)
1600 //***************** GCC ***********************
1601   #if !defined(cap_tr1)
1602   //**************** GCC < 4.3.0 ************
1603   namespace __gnu_cxx {
1604
1605     template<> struct hash<entryID> {
1606       hash<unsigned int> h;
1607       unsigned operator()(const entryID &e) const
1608       {
1609          return h(static_cast<unsigned int>(e));
1610       };
1611     };
1612     template<> struct hash<prefixEntryID> {
1613       hash<unsigned int> h;
1614       unsigned operator()(const prefixEntryID &e) const
1615       {
1616          return h(static_cast<unsigned int>(e));
1617       };
1618     };
1619   }
1620         #else
1621   namespace std
1622   {
1623     namespace tr1
1624     {
1625       template <>
1626       struct hash<entryID>
1627       {
1628         hash<size_t> h;
1629         size_t operator()(const entryID &eid) const
1630         {
1631            return h(static_cast<size_t>(eid));
1632         }
1633       };
1634       template <>
1635          struct hash<prefixEntryID>
1636       {
1637         hash<size_t> h;
1638         size_t operator()(const prefixEntryID &eid) const
1639         {
1640           return h(static_cast<size_t>(eid));
1641         }
1642       };
1643     }
1644   }
1645         #endif
1646 #endif
1647 namespace NS_x86 {
1648 COMMON_EXPORT extern dyn_hash_map<entryID, std::string> entryNames_IAPI;
1649 COMMON_EXPORT extern dyn_hash_map<prefixEntryID, std::string> prefixEntryNames_IAPI;
1650 }
1651
1652 #endif // defined(ENTRYIDS_IA32_H)