Skip to main content

asmkit/x86/
instdb.rs

1/* Copyright (c) 2008-2024 The AsmJit Authors
2
3   This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
4
5   Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
6
7   The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
8   Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
9   This notice may not be removed or altered from any source distribution.
10*/
11
12// [AsmKit] This file is a derived work: it was translated from AsmJit's generated
13// instruction-database tables (asmjit/x86/x86globals.h, asmjit/x86/x86instdb.h,
14// asmjit/x86/x86instdb_p.h, asmjit/x86/x86instdb.cpp, asmjit/core/cpuinfo.h)
15// by meta/asmjit2rust.py. Do not edit manually; fix the translator instead.
16
17use bitflags::bitflags;
18
19use crate::core::rwinfo::{CpuRwFlags, InstControlFlow, InstRwFlags, InstSameRegHint, OpRwFlags};
20
21/// X86 CPU feature identifiers.
22#[derive(Debug, Clone, Copy, PartialEq, Eq)]
23#[allow(non_camel_case_types)]
24#[repr(u8)]
25pub enum CpuFeature {
26    /// No feature (never set, used internally).
27    None,
28    /// CPU has multi-threading capabilities.
29    MT,
30    /// CPU has Not-Execute-Bit aka DEP (data-execution prevention).
31    NX,
32    /// CPU has ADX              (multi-precision add-carry instruction extensions).
33    ADX,
34    /// CPU has LOCK MOV R<->CR0 (supports `MOV R<->CR8` via `LOCK MOV R<->CR0` in 32-bit mode) {AMD}.
35    ALTMOVCR8,
36    /// CPU has APX_F            (advanced performance extensions - 32 GP registers, REX2 prefix, ...) {X86_64}.
37    APX_F,
38    /// CPU has BMI              (bit manipulation instructions #1).
39    BMI,
40    /// CPU has BMI2             (bit manipulation instructions #2).
41    BMI2,
42    /// CPU has CET-IBT          (indirect branch tracking).
43    CET_IBT,
44    /// CPU has CET-SS.
45    CET_SS,
46    /// CPU has CET-SSS.
47    CET_SSS,
48    /// CPU has CLDEMOTE         (cache line demote).
49    CLDEMOTE,
50    /// CPU has CLFUSH           (cache Line flush).
51    CLFLUSH,
52    /// CPU has CLFUSHOPT        (cache Line flush - optimized).
53    CLFLUSHOPT,
54    /// CPU has CLWB.
55    CLWB,
56    /// CPU has CLZERO.
57    CLZERO,
58    /// CPU has CMOV             (CMOV and FCMOV instructions).
59    CMOV,
60    /// CPU has CMPCCXADD.
61    CMPCCXADD,
62    /// CPU has CMPXCHG16B       (compare-exchange 16 bytes) {X86_64}.
63    CMPXCHG16B,
64    /// CPU has CMPXCHG8B        (compare-exchange 8 bytes).
65    CMPXCHG8B,
66    /// CPU has ENCLV.
67    ENCLV,
68    /// CPU has ENQCMD           (enqueue stores).
69    ENQCMD,
70    /// CPU has ERMS             (enhanced REP MOVSB/STOSB).
71    ERMS,
72    /// CPU has FSGSBASE.
73    FSGSBASE,
74    /// CPU has FSRM             (fast short REP MOVSB).
75    FSRM,
76    /// CPU has FSRC             (fast short REP CMPSB|SCASB).
77    FSRC,
78    /// CPU has FSRS             (fast short REP STOSB)
79    FSRS,
80    /// CPU has FXSR             (FXSAVE/FXRSTOR instructions).
81    FXSR,
82    /// CPU has FXSROTP          (FXSAVE/FXRSTOR is optimized).
83    FXSROPT,
84    /// CPU has FZRM             (fast zero-length REP MOVSB).
85    FZRM,
86    /// CPU has HRESET.
87    HRESET,
88    /// CPU has I486 features    (I486+ support).
89    I486,
90    /// CPU has INVLPGB.
91    INVLPGB,
92    /// CPU has LAHF/SAHF        (LAHF/SAHF in 64-bit mode) {X86_64}.
93    LAHFSAHF,
94    /// CPU has LAM              (linear address masking) {X86_64}.
95    LAM,
96    /// CPU has LWP              (lightweight profiling) {AMD}.
97    LWP,
98    /// CPU has LZCNT            (LZCNT instruction).
99    LZCNT,
100    /// CPU has MCOMMIT          (MCOMMIT instruction).
101    MCOMMIT,
102    /// CPU has MONITOR          (MONITOR/MWAIT instructions).
103    MONITOR,
104    /// CPU has MONITORX         (MONITORX/MWAITX instructions).
105    MONITORX,
106    /// CPU has MOVBE            (move with byte-order swap).
107    MOVBE,
108    /// CPU has MOVDIR64B        (move 64 bytes as direct store).
109    MOVDIR64B,
110    /// CPU has MOVDIRI          (move dword/qword as direct store).
111    MOVDIRI,
112    /// CPU has MOVRS            (move from shared memory).
113    MOVRS,
114    /// CPU has MPX              (memory protection extensions).
115    MPX,
116    /// CPU has MSR              (RDMSR/WRMSR instructions).
117    MSR,
118    /// CPU has MSRLIST.
119    MSRLIST,
120    /// CPU has MSR_IMM          (RDMSR/WRMSR immediate encoding).
121    MSR_IMM,
122    /// CPU has MSSE             (misaligned SSE support).
123    MSSE,
124    /// CPU has OSXSAVE          (XSAVE enabled by OS).
125    OSXSAVE,
126    /// CPU has OSPKE            (PKE enabled by OS).
127    OSPKE,
128    /// CPU has PCONFIG          (PCONFIG instruction).
129    PCONFIG,
130    /// CPU has POPCNT           (POPCNT instruction).
131    POPCNT,
132    /// CPU has PREFETCHI.
133    PREFETCHI,
134    /// CPU has PREFETCHW.
135    PREFETCHW,
136    /// CPU has PREFETCHWT1.
137    PREFETCHWT1,
138    /// CPU has PTWRITE.
139    PTWRITE,
140    /// CPU has RAO_INT          (AADD, AAND, AOR, AXOR instructions).
141    RAO_INT,
142    /// CPU has RMPQUERY         (RMPQUERY instruction).
143    RMPQUERY,
144    /// CPU has RDPID            (RDPID instruction).
145    RDPID,
146    /// CPU has RDPRU            (RDPRU instruction).
147    RDPRU,
148    /// CPU has RDRAND           (RDRAND instruction).
149    RDRAND,
150    /// CPU has RDSEED           (RDSEED instruction).
151    RDSEED,
152    /// CPU has RDTSC.
153    RDTSC,
154    /// CPU has RDTSCP.
155    RDTSCP,
156    /// CPU has RTM              (RTM instructions - deprecated).
157    RTM,
158    /// CPU has SEAM.
159    SEAM,
160    /// CPU has SERIALIZE.
161    SERIALIZE,
162    /// CPU has SEV              (secure encrypted virtualization).
163    SEV,
164    /// CPU has SEV_ES           (SEV encrypted state).
165    SEV_ES,
166    /// CPU has SEV_SNP          (SEV secure nested paging).
167    SEV_SNP,
168    /// CPU has SKINIT           (SKINIT/STGI instructions) {AMD}.
169    SKINIT,
170    /// CPU has SMAP             (supervisor-mode access prevention).
171    SMAP,
172    /// CPU has SME              (secure memory encryption).
173    SME,
174    /// CPU has SMEP             (supervisor-mode execution prevention).
175    SMEP,
176    /// CPU has SMX              (safer mode extensions).
177    SMX,
178    /// CPU has SVM              (virtualization) {AMD}.
179    SVM,
180    /// CPU has TBM              (trailing bit manipulation) {AMD}.
181    TBM,
182    /// CPU has TSE.
183    TSE,
184    /// CPU has TSXLDTRK.
185    TSXLDTRK,
186    /// CPU has UINTR            (user interrupts).
187    UINTR,
188    /// CPU has VMX              (virtualization) {INTEL}.
189    VMX,
190    /// CPU has WAITPKG          (UMONITOR, UMWAIT, TPAUSE).
191    WAITPKG,
192    /// CPU has WBNOINVD.
193    WBNOINVD,
194    /// CPU has WRMSRNS.
195    WRMSRNS,
196    /// CPU has XSAVE.
197    XSAVE,
198    /// CPU has XSAVEC.
199    XSAVEC,
200    /// CPU has XSAVEOPT.
201    XSAVEOPT,
202    /// CPU has XSAVES.
203    XSAVES,
204    /// CPU has FPU              (FPU support).
205    FPU,
206    /// CPU has MMX              (MMX base instructions) (deprecated).
207    MMX,
208    /// CPU has MMX2             (MMX2 extensions or initial SSE extensions) (deprecated).
209    MMX2,
210    /// CPU has 3DNOW            (3DNOW base instructions) {AMD} (deprecated).
211    _3DNOW,
212    /// CPU has 3DNOW2           (enhanced 3DNOW) {AMD} (deprecated).
213    _3DNOW2,
214    /// CPU has GEODE extensions (GEODE 3DNOW additions) (deprecated).
215    GEODE,
216    /// CPU has SSE              (SSE instructions).
217    SSE,
218    /// CPU has SSE2             (SSE2 instructions).
219    SSE2,
220    /// CPU has SSE3             (SSE3 instructions).
221    SSE3,
222    /// CPU has SSSE3            (SSSE3 instructions).
223    SSSE3,
224    /// CPU has SSE4.1           (SSE4.1 instructions).
225    SSE4_1,
226    /// CPU has SSE4.2           (SSE4.2 instructions).
227    SSE4_2,
228    /// CPU has SSE4A            (SSE4.A instructions) {AMD} (deprecated).
229    SSE4A,
230    /// CPU has PCLMULQDQ        (packed carry-less multiplication).
231    PCLMULQDQ,
232    /// CPU has AVX              (advanced vector extensions).
233    AVX,
234    /// CPU has AVX2             (advanced vector extensions 2).
235    AVX2,
236    /// CPU has AVX_IFMA         (AVX/VEX encoding of vpmadd52huq/vpmadd52luq).
237    AVX_IFMA,
238    /// CPU has AVX_NE_CONVERT.
239    AVX_NE_CONVERT,
240    /// CPU has AVX_VNNI         (AVX/VEX encoding of vpdpbusd/vpdpbusds/vpdpwssd/vpdpwssds).
241    AVX_VNNI,
242    /// CPU has AVX_VNNI_INT16.
243    AVX_VNNI_INT16,
244    /// CPU has AVX_VNNI_INT8.
245    AVX_VNNI_INT8,
246    /// CPU has F16C             (AVX FP16 conversion instructions).
247    F16C,
248    /// CPU has FMA              (AVX fused-multiply-add - 3 operand form).
249    FMA,
250    /// CPU has FMA4             (AVX fused-multiply-add - 4 operand form) (deprecated).
251    FMA4,
252    /// CPU has XOP              (XOP instructions) {AMD} (deprecated).
253    XOP,
254    /// CPU has AVX512_BF16      (AVX512 BFLOAT16 support instructions).
255    AVX512_BF16,
256    /// CPU has AVX512_BITALG    (AVX512 VPOPCNT[B|W] and VPSHUFBITQMB instructions).
257    AVX512_BITALG,
258    /// CPU has AVX512_BW        (AVX512 integer BYTE|WORD instructions).
259    AVX512_BW,
260    /// CPU has AVX512_CD        (AVX512 conflict detection DWORD|QWORD instructions).
261    AVX512_CD,
262    /// CPU has AVX512_DQ        (AVX512 integer DWORD|QWORD instructions).
263    AVX512_DQ,
264    /// CPU has AVX512_F         (AVX512 foundation).
265    AVX512_F,
266    /// CPU has AVX512_FP16      (AVX512 FP16 instructions).
267    AVX512_FP16,
268    /// CPU has AVX512_IFMA      (AVX512 integer fused-multiply-add using 52-bit precision).
269    AVX512_IFMA,
270    /// CPU has AVX512_VBMI      (AVX512 vector byte manipulation instructions).
271    AVX512_VBMI,
272    /// CPU has AVX512_VBMI2     (AVX512 vector byte manipulation instructions v2).
273    AVX512_VBMI2,
274    /// CPU has AVX512_VL        (AVX512 vector length extensions).
275    AVX512_VL,
276    /// CPU has AVX512_VNNI      (AVX512 vector neural network instructions).
277    AVX512_VNNI,
278    /// CPU has AVX512_VP2INTERSECT
279    AVX512_VP2INTERSECT,
280    /// CPU has AVX512_VPOPCNTDQ (AVX512 VPOPCNT[D|Q] instructions).
281    AVX512_VPOPCNTDQ,
282    /// CPU has AESNI            (AES encode/decode instructions).
283    AESNI,
284    /// CPU has GFNI             (galois field instructions).
285    GFNI,
286    /// CPU has SHA              (SHA-1 and SHA-256 instructions).
287    SHA,
288    /// CPU has SHA512           (SHA-512 instructions).
289    SHA512,
290    /// CPU has SM3              (SM3 hash extensions).
291    SM3,
292    /// CPU has SM4              (SM4 cipher extensions).
293    SM4,
294    /// CPU has VAES             (vector AES 256|512 bit support).
295    VAES,
296    /// CPU has VPCLMULQDQ       (vector PCLMULQDQ 256|512-bit support).
297    VPCLMULQDQ,
298    /// CPU has KL               (Key Locker).
299    KL,
300    /// CPU has AESKLE           (AESKLE).
301    AESKLE,
302    /// CPU has AESKLE+WIDEKL+KL (AESKLE & WIDEKL instructions and KL enabled)
303    AESKLEWIDE_KL,
304    /// CPU has AVX10.1/512      (AVX10.1 with 512-bit vectors).
305    AVX10_1,
306    /// CPU has AVX10.2/512      (AVX10.2 with 512-bit vectors).
307    AVX10_2,
308    /// CPU has AMX_AVX512       (AMX-AVX512 instructions).
309    AMX_AVX512,
310    /// CPU has AMX_BF16         (AMX-BF16 instructions).
311    AMX_BF16,
312    /// CPU has AMX_COMPLEX      (AMX-COMPLEX instructions).
313    AMX_COMPLEX,
314    /// CPU has AMX_FP16         (AMX-FP16 instructions).
315    AMX_FP16,
316    /// CPU has AMX_FP8          (AMX-FP8 instructions).
317    AMX_FP8,
318    /// CPU has AMX_INT8         (AMX-INT8 instructions).
319    AMX_INT8,
320    /// CPU has AMX_MOVRS        (AMX-MOVRS instructions).
321    AMX_MOVRS,
322    /// CPU has AMX_TF32         (AMX-TF32 instructions).
323    AMX_TF32,
324    /// CPU has AMX_TILE         (advanced matrix extensions).
325    AMX_TILE,
326    /// CPU has AMX_TRANSPOSE    (AMX-TRANSPOSE instructions).
327    AMX_TRANSPOSE,
328}
329
330pub const CPU_FEATURE_COUNT: usize = 151;
331pub static CPU_FEATURE_NAMES: &[&str] = &[
332    "None",
333    "MT",
334    "NX",
335    "ADX",
336    "ALTMOVCR8",
337    "APX_F",
338    "BMI",
339    "BMI2",
340    "CET_IBT",
341    "CET_SS",
342    "CET_SSS",
343    "CLDEMOTE",
344    "CLFLUSH",
345    "CLFLUSHOPT",
346    "CLWB",
347    "CLZERO",
348    "CMOV",
349    "CMPCCXADD",
350    "CMPXCHG16B",
351    "CMPXCHG8B",
352    "ENCLV",
353    "ENQCMD",
354    "ERMS",
355    "FSGSBASE",
356    "FSRM",
357    "FSRC",
358    "FSRS",
359    "FXSR",
360    "FXSROPT",
361    "FZRM",
362    "HRESET",
363    "I486",
364    "INVLPGB",
365    "LAHFSAHF",
366    "LAM",
367    "LWP",
368    "LZCNT",
369    "MCOMMIT",
370    "MONITOR",
371    "MONITORX",
372    "MOVBE",
373    "MOVDIR64B",
374    "MOVDIRI",
375    "MOVRS",
376    "MPX",
377    "MSR",
378    "MSRLIST",
379    "MSR_IMM",
380    "MSSE",
381    "OSXSAVE",
382    "OSPKE",
383    "PCONFIG",
384    "POPCNT",
385    "PREFETCHI",
386    "PREFETCHW",
387    "PREFETCHWT1",
388    "PTWRITE",
389    "RAO_INT",
390    "RMPQUERY",
391    "RDPID",
392    "RDPRU",
393    "RDRAND",
394    "RDSEED",
395    "RDTSC",
396    "RDTSCP",
397    "RTM",
398    "SEAM",
399    "SERIALIZE",
400    "SEV",
401    "SEV_ES",
402    "SEV_SNP",
403    "SKINIT",
404    "SMAP",
405    "SME",
406    "SMEP",
407    "SMX",
408    "SVM",
409    "TBM",
410    "TSE",
411    "TSXLDTRK",
412    "UINTR",
413    "VMX",
414    "WAITPKG",
415    "WBNOINVD",
416    "WRMSRNS",
417    "XSAVE",
418    "XSAVEC",
419    "XSAVEOPT",
420    "XSAVES",
421    "FPU",
422    "MMX",
423    "MMX2",
424    "_3DNOW",
425    "_3DNOW2",
426    "GEODE",
427    "SSE",
428    "SSE2",
429    "SSE3",
430    "SSSE3",
431    "SSE4_1",
432    "SSE4_2",
433    "SSE4A",
434    "PCLMULQDQ",
435    "AVX",
436    "AVX2",
437    "AVX_IFMA",
438    "AVX_NE_CONVERT",
439    "AVX_VNNI",
440    "AVX_VNNI_INT16",
441    "AVX_VNNI_INT8",
442    "F16C",
443    "FMA",
444    "FMA4",
445    "XOP",
446    "AVX512_BF16",
447    "AVX512_BITALG",
448    "AVX512_BW",
449    "AVX512_CD",
450    "AVX512_DQ",
451    "AVX512_F",
452    "AVX512_FP16",
453    "AVX512_IFMA",
454    "AVX512_VBMI",
455    "AVX512_VBMI2",
456    "AVX512_VL",
457    "AVX512_VNNI",
458    "AVX512_VP2INTERSECT",
459    "AVX512_VPOPCNTDQ",
460    "AESNI",
461    "GFNI",
462    "SHA",
463    "SHA512",
464    "SM3",
465    "SM4",
466    "VAES",
467    "VPCLMULQDQ",
468    "KL",
469    "AESKLE",
470    "AESKLEWIDE_KL",
471    "AVX10_1",
472    "AVX10_2",
473    "AMX_AVX512",
474    "AMX_BF16",
475    "AMX_COMPLEX",
476    "AMX_FP16",
477    "AMX_FP8",
478    "AMX_INT8",
479    "AMX_MOVRS",
480    "AMX_TF32",
481    "AMX_TILE",
482    "AMX_TRANSPOSE",
483];
484pub const DEFAULT_X86_FEATURES: &[CpuFeature] = &[
485    CpuFeature::MT,
486    CpuFeature::NX,
487    CpuFeature::ADX,
488    CpuFeature::ALTMOVCR8,
489    CpuFeature::APX_F,
490    CpuFeature::BMI,
491    CpuFeature::BMI2,
492    CpuFeature::CET_IBT,
493    CpuFeature::CET_SS,
494    CpuFeature::CET_SSS,
495    CpuFeature::CLDEMOTE,
496    CpuFeature::CLFLUSH,
497    CpuFeature::CLFLUSHOPT,
498    CpuFeature::CLWB,
499    CpuFeature::CLZERO,
500    CpuFeature::CMOV,
501    CpuFeature::CMPCCXADD,
502    CpuFeature::CMPXCHG16B,
503    CpuFeature::CMPXCHG8B,
504    CpuFeature::ENCLV,
505    CpuFeature::ENQCMD,
506    CpuFeature::ERMS,
507    CpuFeature::FSGSBASE,
508    CpuFeature::FSRM,
509    CpuFeature::FSRC,
510    CpuFeature::FSRS,
511    CpuFeature::FXSR,
512    CpuFeature::FXSROPT,
513    CpuFeature::FZRM,
514    CpuFeature::HRESET,
515    CpuFeature::I486,
516    CpuFeature::INVLPGB,
517    CpuFeature::LAHFSAHF,
518    CpuFeature::LAM,
519    CpuFeature::LWP,
520    CpuFeature::LZCNT,
521    CpuFeature::MCOMMIT,
522    CpuFeature::MONITOR,
523    CpuFeature::MONITORX,
524    CpuFeature::MOVBE,
525    CpuFeature::MOVDIR64B,
526    CpuFeature::MOVDIRI,
527    CpuFeature::MOVRS,
528    CpuFeature::MPX,
529    CpuFeature::MSR,
530    CpuFeature::MSRLIST,
531    CpuFeature::MSR_IMM,
532    CpuFeature::MSSE,
533    CpuFeature::OSXSAVE,
534    CpuFeature::OSPKE,
535    CpuFeature::PCONFIG,
536    CpuFeature::POPCNT,
537    CpuFeature::PREFETCHI,
538    CpuFeature::PREFETCHW,
539    CpuFeature::PREFETCHWT1,
540    CpuFeature::PTWRITE,
541    CpuFeature::RAO_INT,
542    CpuFeature::RMPQUERY,
543    CpuFeature::RDPID,
544    CpuFeature::RDPRU,
545    CpuFeature::RDRAND,
546    CpuFeature::RDSEED,
547    CpuFeature::RDTSC,
548    CpuFeature::RDTSCP,
549    CpuFeature::RTM,
550    CpuFeature::SEAM,
551    CpuFeature::SERIALIZE,
552    CpuFeature::SEV,
553    CpuFeature::SEV_ES,
554    CpuFeature::SEV_SNP,
555    CpuFeature::SKINIT,
556    CpuFeature::SMAP,
557    CpuFeature::SME,
558    CpuFeature::SMEP,
559    CpuFeature::SMX,
560    CpuFeature::SVM,
561    CpuFeature::TBM,
562    CpuFeature::TSE,
563    CpuFeature::TSXLDTRK,
564    CpuFeature::UINTR,
565    CpuFeature::VMX,
566    CpuFeature::WAITPKG,
567    CpuFeature::WBNOINVD,
568    CpuFeature::WRMSRNS,
569    CpuFeature::XSAVE,
570    CpuFeature::XSAVEC,
571    CpuFeature::XSAVEOPT,
572    CpuFeature::XSAVES,
573    CpuFeature::FPU,
574    CpuFeature::MMX,
575    CpuFeature::MMX2,
576    CpuFeature::_3DNOW,
577    CpuFeature::_3DNOW2,
578    CpuFeature::GEODE,
579    CpuFeature::SSE,
580    CpuFeature::SSE2,
581    CpuFeature::SSE3,
582    CpuFeature::SSSE3,
583    CpuFeature::SSE4_1,
584    CpuFeature::SSE4_2,
585    CpuFeature::SSE4A,
586    CpuFeature::PCLMULQDQ,
587    CpuFeature::AVX,
588    CpuFeature::AVX2,
589    CpuFeature::AVX_IFMA,
590    CpuFeature::AVX_NE_CONVERT,
591    CpuFeature::AVX_VNNI,
592    CpuFeature::AVX_VNNI_INT16,
593    CpuFeature::AVX_VNNI_INT8,
594    CpuFeature::F16C,
595    CpuFeature::FMA,
596    CpuFeature::FMA4,
597    CpuFeature::XOP,
598    CpuFeature::AVX512_BF16,
599    CpuFeature::AVX512_BITALG,
600    CpuFeature::AVX512_BW,
601    CpuFeature::AVX512_CD,
602    CpuFeature::AVX512_DQ,
603    CpuFeature::AVX512_F,
604    CpuFeature::AVX512_FP16,
605    CpuFeature::AVX512_IFMA,
606    CpuFeature::AVX512_VBMI,
607    CpuFeature::AVX512_VBMI2,
608    CpuFeature::AVX512_VL,
609    CpuFeature::AVX512_VNNI,
610    CpuFeature::AVX512_VP2INTERSECT,
611    CpuFeature::AVX512_VPOPCNTDQ,
612    CpuFeature::AESNI,
613    CpuFeature::GFNI,
614    CpuFeature::SHA,
615    CpuFeature::SHA512,
616    CpuFeature::SM3,
617    CpuFeature::SM4,
618    CpuFeature::VAES,
619    CpuFeature::VPCLMULQDQ,
620    CpuFeature::KL,
621    CpuFeature::AESKLE,
622    CpuFeature::AESKLEWIDE_KL,
623    CpuFeature::AVX10_1,
624    CpuFeature::AVX10_2,
625    CpuFeature::AMX_AVX512,
626    CpuFeature::AMX_BF16,
627    CpuFeature::AMX_COMPLEX,
628    CpuFeature::AMX_FP16,
629    CpuFeature::AMX_FP8,
630    CpuFeature::AMX_INT8,
631    CpuFeature::AMX_MOVRS,
632    CpuFeature::AMX_TF32,
633    CpuFeature::AMX_TILE,
634    CpuFeature::AMX_TRANSPOSE,
635];
636
637impl CpuFeature {
638    pub const AVX512F: Self = Self::AVX512_F;
639    pub const AVX512BW: Self = Self::AVX512_BW;
640    pub const AVX512CD: Self = Self::AVX512_CD;
641    pub const AVX512DQ: Self = Self::AVX512_DQ;
642    pub const AVX512VL: Self = Self::AVX512_VL;
643}
644
645/// X86 instruction id.
646#[derive(Debug, Clone, Copy, PartialEq, Eq)]
647#[repr(u32)]
648pub enum InstId {
649    /// Invalid instruction id.
650    None = 0,
651    /// Instruction 'aaa' (X86).
652    Aaa,
653    /// Instruction 'aad' (X86).
654    Aad,
655    /// Instruction 'aadd' {RAO_INT}.
656    Aadd,
657    /// Instruction 'aam' (X86).
658    Aam,
659    /// Instruction 'aand' {RAO_INT}.
660    Aand,
661    /// Instruction 'aas' (X86).
662    Aas,
663    /// Instruction 'adc'.
664    Adc,
665    /// Instruction 'adcx' {ADX}.
666    Adcx,
667    /// Instruction 'add'.
668    Add,
669    /// Instruction 'addpd' {SSE2}.
670    Addpd,
671    /// Instruction 'addps' {SSE}.
672    Addps,
673    /// Instruction 'addsd' {SSE2}.
674    Addsd,
675    /// Instruction 'addss' {SSE}.
676    Addss,
677    /// Instruction 'addsubpd' {SSE3}.
678    Addsubpd,
679    /// Instruction 'addsubps' {SSE3}.
680    Addsubps,
681    /// Instruction 'adox' {ADX}.
682    Adox,
683    /// Instruction 'aesdec' {AESNI}.
684    Aesdec,
685    /// Instruction 'aesdeclast' {AESNI}.
686    Aesdeclast,
687    /// Instruction 'aesenc' {AESNI}.
688    Aesenc,
689    /// Instruction 'aesenclast' {AESNI}.
690    Aesenclast,
691    /// Instruction 'aesimc' {AESNI}.
692    Aesimc,
693    /// Instruction 'aeskeygenassist' {AESNI}.
694    Aeskeygenassist,
695    /// Instruction 'and'.
696    And,
697    /// Instruction 'andn' {BMI}.
698    Andn,
699    /// Instruction 'andnpd' {SSE2}.
700    Andnpd,
701    /// Instruction 'andnps' {SSE}.
702    Andnps,
703    /// Instruction 'andpd' {SSE2}.
704    Andpd,
705    /// Instruction 'andps' {SSE}.
706    Andps,
707    /// Instruction 'aor' {RAO_INT}.
708    Aor,
709    /// Instruction 'arpl' (X86).
710    Arpl,
711    /// Instruction 'axor' {RAO_INT}.
712    Axor,
713    /// Instruction 'bextr' {BMI}.
714    Bextr,
715    /// Instruction 'blcfill' {TBM}.
716    Blcfill,
717    /// Instruction 'blci' {TBM}.
718    Blci,
719    /// Instruction 'blcic' {TBM}.
720    Blcic,
721    /// Instruction 'blcmsk' {TBM}.
722    Blcmsk,
723    /// Instruction 'blcs' {TBM}.
724    Blcs,
725    /// Instruction 'blendpd' {SSE4_1}.
726    Blendpd,
727    /// Instruction 'blendps' {SSE4_1}.
728    Blendps,
729    /// Instruction 'blendvpd' {SSE4_1}.
730    Blendvpd,
731    /// Instruction 'blendvps' {SSE4_1}.
732    Blendvps,
733    /// Instruction 'blsfill' {TBM}.
734    Blsfill,
735    /// Instruction 'blsi' {BMI}.
736    Blsi,
737    /// Instruction 'blsic' {TBM}.
738    Blsic,
739    /// Instruction 'blsmsk' {BMI}.
740    Blsmsk,
741    /// Instruction 'blsr' {BMI}.
742    Blsr,
743    /// Instruction 'bndcl' {MPX}.
744    Bndcl,
745    /// Instruction 'bndcn' {MPX}.
746    Bndcn,
747    /// Instruction 'bndcu' {MPX}.
748    Bndcu,
749    /// Instruction 'bndldx' {MPX}.
750    Bndldx,
751    /// Instruction 'bndmk' {MPX}.
752    Bndmk,
753    /// Instruction 'bndmov' {MPX}.
754    Bndmov,
755    /// Instruction 'bndstx' {MPX}.
756    Bndstx,
757    /// Instruction 'bound' (X86).
758    Bound,
759    /// Instruction 'bsf'.
760    Bsf,
761    /// Instruction 'bsr'.
762    Bsr,
763    /// Instruction 'bswap'.
764    Bswap,
765    /// Instruction 'bt'.
766    Bt,
767    /// Instruction 'btc'.
768    Btc,
769    /// Instruction 'btr'.
770    Btr,
771    /// Instruction 'bts'.
772    Bts,
773    /// Instruction 'bzhi' {BMI2}.
774    Bzhi,
775    /// Instruction 'call'.
776    Call,
777    /// Instruction 'cbw'.
778    Cbw,
779    /// Instruction 'cdq'.
780    Cdq,
781    /// Instruction 'cdqe' (X64).
782    Cdqe,
783    /// Instruction 'clac' {SMAP}.
784    Clac,
785    /// Instruction 'clc'.
786    Clc,
787    /// Instruction 'cld'.
788    Cld,
789    /// Instruction 'cldemote' {CLDEMOTE}.
790    Cldemote,
791    /// Instruction 'clflush' {CLFLUSH}.
792    Clflush,
793    /// Instruction 'clflushopt' {CLFLUSHOPT}.
794    Clflushopt,
795    /// Instruction 'clgi' {SVM}.
796    Clgi,
797    /// Instruction 'cli'.
798    Cli,
799    /// Instruction 'clrssbsy' {CET_SS}.
800    Clrssbsy,
801    /// Instruction 'clts'.
802    Clts,
803    /// Instruction 'clui' {UINTR} (X64).
804    Clui,
805    /// Instruction 'clwb' {CLWB}.
806    Clwb,
807    /// Instruction 'clzero' {CLZERO}.
808    Clzero,
809    /// Instruction 'cmc'.
810    Cmc,
811    /// Instruction 'cmovb' {CMOV}.
812    Cmovb,
813    /// Instruction 'cmovbe' {CMOV}.
814    Cmovbe,
815    /// Instruction 'cmovl' {CMOV}.
816    Cmovl,
817    /// Instruction 'cmovle' {CMOV}.
818    Cmovle,
819    /// Instruction 'cmovnb' {CMOV}.
820    Cmovnb,
821    /// Instruction 'cmovnbe' {CMOV}.
822    Cmovnbe,
823    /// Instruction 'cmovnl' {CMOV}.
824    Cmovnl,
825    /// Instruction 'cmovnle' {CMOV}.
826    Cmovnle,
827    /// Instruction 'cmovno' {CMOV}.
828    Cmovno,
829    /// Instruction 'cmovnp' {CMOV}.
830    Cmovnp,
831    /// Instruction 'cmovns' {CMOV}.
832    Cmovns,
833    /// Instruction 'cmovnz' {CMOV}.
834    Cmovnz,
835    /// Instruction 'cmovo' {CMOV}.
836    Cmovo,
837    /// Instruction 'cmovp' {CMOV}.
838    Cmovp,
839    /// Instruction 'cmovs' {CMOV}.
840    Cmovs,
841    /// Instruction 'cmovz' {CMOV}.
842    Cmovz,
843    /// Instruction 'cmp'.
844    Cmp,
845    /// Instruction 'cmpbexadd' {CMPCCXADD}.
846    Cmpbexadd,
847    /// Instruction 'cmpbxadd' {CMPCCXADD}.
848    Cmpbxadd,
849    /// Instruction 'cmplexadd' {CMPCCXADD}.
850    Cmplexadd,
851    /// Instruction 'cmplxadd' {CMPCCXADD}.
852    Cmplxadd,
853    /// Instruction 'cmpnbexadd' {CMPCCXADD}.
854    Cmpnbexadd,
855    /// Instruction 'cmpnbxadd' {CMPCCXADD}.
856    Cmpnbxadd,
857    /// Instruction 'cmpnlexadd' {CMPCCXADD}.
858    Cmpnlexadd,
859    /// Instruction 'cmpnlxadd' {CMPCCXADD}.
860    Cmpnlxadd,
861    /// Instruction 'cmpnoxadd' {CMPCCXADD}.
862    Cmpnoxadd,
863    /// Instruction 'cmpnpxadd' {CMPCCXADD}.
864    Cmpnpxadd,
865    /// Instruction 'cmpnsxadd' {CMPCCXADD}.
866    Cmpnsxadd,
867    /// Instruction 'cmpnzxadd' {CMPCCXADD}.
868    Cmpnzxadd,
869    /// Instruction 'cmpoxadd' {CMPCCXADD}.
870    Cmpoxadd,
871    /// Instruction 'cmppd' {SSE2}.
872    Cmppd,
873    /// Instruction 'cmpps' {SSE}.
874    Cmpps,
875    /// Instruction 'cmppxadd' {CMPCCXADD}.
876    Cmppxadd,
877    /// Instruction 'cmps'.
878    Cmps,
879    /// Instruction 'cmpsd' {SSE2}.
880    Cmpsd,
881    /// Instruction 'cmpss' {SSE}.
882    Cmpss,
883    /// Instruction 'cmpsxadd' {CMPCCXADD}.
884    Cmpsxadd,
885    /// Instruction 'cmpxchg' {I486}.
886    Cmpxchg,
887    /// Instruction 'cmpxchg16b' {CMPXCHG16B} (X64).
888    Cmpxchg16b,
889    /// Instruction 'cmpxchg8b' {CMPXCHG8B}.
890    Cmpxchg8b,
891    /// Instruction 'cmpzxadd' {CMPCCXADD}.
892    Cmpzxadd,
893    /// Instruction 'comisd' {SSE2}.
894    Comisd,
895    /// Instruction 'comiss' {SSE}.
896    Comiss,
897    /// Instruction 'cpuid' {I486}.
898    Cpuid,
899    /// Instruction 'cqo' (X64).
900    Cqo,
901    /// Instruction 'crc32' {SSE4_2}.
902    Crc32,
903    /// Instruction 'cvtdq2pd' {SSE2}.
904    Cvtdq2pd,
905    /// Instruction 'cvtdq2ps' {SSE2}.
906    Cvtdq2ps,
907    /// Instruction 'cvtpd2dq' {SSE2}.
908    Cvtpd2dq,
909    /// Instruction 'cvtpd2pi' {SSE2}.
910    Cvtpd2pi,
911    /// Instruction 'cvtpd2ps' {SSE2}.
912    Cvtpd2ps,
913    /// Instruction 'cvtpi2pd' {SSE2}.
914    Cvtpi2pd,
915    /// Instruction 'cvtpi2ps' {SSE}.
916    Cvtpi2ps,
917    /// Instruction 'cvtps2dq' {SSE2}.
918    Cvtps2dq,
919    /// Instruction 'cvtps2pd' {SSE2}.
920    Cvtps2pd,
921    /// Instruction 'cvtps2pi' {SSE}.
922    Cvtps2pi,
923    /// Instruction 'cvtsd2si' {SSE2}.
924    Cvtsd2si,
925    /// Instruction 'cvtsd2ss' {SSE2}.
926    Cvtsd2ss,
927    /// Instruction 'cvtsi2sd' {SSE2}.
928    Cvtsi2sd,
929    /// Instruction 'cvtsi2ss' {SSE}.
930    Cvtsi2ss,
931    /// Instruction 'cvtss2sd' {SSE2}.
932    Cvtss2sd,
933    /// Instruction 'cvtss2si' {SSE}.
934    Cvtss2si,
935    /// Instruction 'cvttpd2dq' {SSE2}.
936    Cvttpd2dq,
937    /// Instruction 'cvttpd2pi' {SSE2}.
938    Cvttpd2pi,
939    /// Instruction 'cvttps2dq' {SSE2}.
940    Cvttps2dq,
941    /// Instruction 'cvttps2pi' {SSE}.
942    Cvttps2pi,
943    /// Instruction 'cvttsd2si' {SSE2}.
944    Cvttsd2si,
945    /// Instruction 'cvttss2si' {SSE}.
946    Cvttss2si,
947    /// Instruction 'cwd'.
948    Cwd,
949    /// Instruction 'cwde'.
950    Cwde,
951    /// Instruction 'daa' (X86).
952    Daa,
953    /// Instruction 'das' (X86).
954    Das,
955    /// Instruction 'dec'.
956    Dec,
957    /// Instruction 'div'.
958    Div,
959    /// Instruction 'divpd' {SSE2}.
960    Divpd,
961    /// Instruction 'divps' {SSE}.
962    Divps,
963    /// Instruction 'divsd' {SSE2}.
964    Divsd,
965    /// Instruction 'divss' {SSE}.
966    Divss,
967    /// Instruction 'dppd' {SSE4_1}.
968    Dppd,
969    /// Instruction 'dpps' {SSE4_1}.
970    Dpps,
971    /// Instruction 'emms' {MMX}.
972    Emms,
973    /// Instruction 'endbr32' {CET_IBT}.
974    Endbr32,
975    /// Instruction 'endbr64' {CET_IBT}.
976    Endbr64,
977    /// Instruction 'enqcmd' {ENQCMD}.
978    Enqcmd,
979    /// Instruction 'enqcmds' {ENQCMD}.
980    Enqcmds,
981    /// Instruction 'enter'.
982    Enter,
983    /// Instruction 'extractps' {SSE4_1}.
984    Extractps,
985    /// Instruction 'extrq' {SSE4A}.
986    Extrq,
987    /// Instruction 'f2xm1' {FPU}.
988    F2xm1,
989    /// Instruction 'fabs' {FPU}.
990    Fabs,
991    /// Instruction 'fadd' {FPU}.
992    Fadd,
993    /// Instruction 'faddp' {FPU}.
994    Faddp,
995    /// Instruction 'fbld' {FPU}.
996    Fbld,
997    /// Instruction 'fbstp' {FPU}.
998    Fbstp,
999    /// Instruction 'fchs' {FPU}.
1000    Fchs,
1001    /// Instruction 'fclex' {FPU}.
1002    Fclex,
1003    /// Instruction 'fcmovb' {CMOV|FPU}.
1004    Fcmovb,
1005    /// Instruction 'fcmovbe' {CMOV|FPU}.
1006    Fcmovbe,
1007    /// Instruction 'fcmove' {CMOV|FPU}.
1008    Fcmove,
1009    /// Instruction 'fcmovnb' {CMOV|FPU}.
1010    Fcmovnb,
1011    /// Instruction 'fcmovnbe' {CMOV|FPU}.
1012    Fcmovnbe,
1013    /// Instruction 'fcmovne' {CMOV|FPU}.
1014    Fcmovne,
1015    /// Instruction 'fcmovnu' {CMOV|FPU}.
1016    Fcmovnu,
1017    /// Instruction 'fcmovu' {CMOV|FPU}.
1018    Fcmovu,
1019    /// Instruction 'fcom' {FPU}.
1020    Fcom,
1021    /// Instruction 'fcomi' {FPU}.
1022    Fcomi,
1023    /// Instruction 'fcomip' {FPU}.
1024    Fcomip,
1025    /// Instruction 'fcomp' {FPU}.
1026    Fcomp,
1027    /// Instruction 'fcompp' {FPU}.
1028    Fcompp,
1029    /// Instruction 'fcos' {FPU}.
1030    Fcos,
1031    /// Instruction 'fdecstp' {FPU}.
1032    Fdecstp,
1033    /// Instruction 'fdiv' {FPU}.
1034    Fdiv,
1035    /// Instruction 'fdivp' {FPU}.
1036    Fdivp,
1037    /// Instruction 'fdivr' {FPU}.
1038    Fdivr,
1039    /// Instruction 'fdivrp' {FPU}.
1040    Fdivrp,
1041    /// Instruction 'femms' {3DNOW}.
1042    Femms,
1043    /// Instruction 'ffree' {FPU}.
1044    Ffree,
1045    /// Instruction 'fiadd' {FPU}.
1046    Fiadd,
1047    /// Instruction 'ficom' {FPU}.
1048    Ficom,
1049    /// Instruction 'ficomp' {FPU}.
1050    Ficomp,
1051    /// Instruction 'fidiv' {FPU}.
1052    Fidiv,
1053    /// Instruction 'fidivr' {FPU}.
1054    Fidivr,
1055    /// Instruction 'fild' {FPU}.
1056    Fild,
1057    /// Instruction 'fimul' {FPU}.
1058    Fimul,
1059    /// Instruction 'fincstp' {FPU}.
1060    Fincstp,
1061    /// Instruction 'finit' {FPU}.
1062    Finit,
1063    /// Instruction 'fist' {FPU}.
1064    Fist,
1065    /// Instruction 'fistp' {FPU}.
1066    Fistp,
1067    /// Instruction 'fisttp' {SSE3|FPU}.
1068    Fisttp,
1069    /// Instruction 'fisub' {FPU}.
1070    Fisub,
1071    /// Instruction 'fisubr' {FPU}.
1072    Fisubr,
1073    /// Instruction 'fld' {FPU}.
1074    Fld,
1075    /// Instruction 'fld1' {FPU}.
1076    Fld1,
1077    /// Instruction 'fldcw' {FPU}.
1078    Fldcw,
1079    /// Instruction 'fldenv' {FPU}.
1080    Fldenv,
1081    /// Instruction 'fldl2e' {FPU}.
1082    Fldl2e,
1083    /// Instruction 'fldl2t' {FPU}.
1084    Fldl2t,
1085    /// Instruction 'fldlg2' {FPU}.
1086    Fldlg2,
1087    /// Instruction 'fldln2' {FPU}.
1088    Fldln2,
1089    /// Instruction 'fldpi' {FPU}.
1090    Fldpi,
1091    /// Instruction 'fldz' {FPU}.
1092    Fldz,
1093    /// Instruction 'fmul' {FPU}.
1094    Fmul,
1095    /// Instruction 'fmulp' {FPU}.
1096    Fmulp,
1097    /// Instruction 'fnclex' {FPU}.
1098    Fnclex,
1099    /// Instruction 'fninit' {FPU}.
1100    Fninit,
1101    /// Instruction 'fnop' {FPU}.
1102    Fnop,
1103    /// Instruction 'fnsave' {FPU}.
1104    Fnsave,
1105    /// Instruction 'fnstcw' {FPU}.
1106    Fnstcw,
1107    /// Instruction 'fnstenv' {FPU}.
1108    Fnstenv,
1109    /// Instruction 'fnstsw' {FPU}.
1110    Fnstsw,
1111    /// Instruction 'fpatan' {FPU}.
1112    Fpatan,
1113    /// Instruction 'fprem' {FPU}.
1114    Fprem,
1115    /// Instruction 'fprem1' {FPU}.
1116    Fprem1,
1117    /// Instruction 'fptan' {FPU}.
1118    Fptan,
1119    /// Instruction 'frndint' {FPU}.
1120    Frndint,
1121    /// Instruction 'frstor' {FPU}.
1122    Frstor,
1123    /// Instruction 'fsave' {FPU}.
1124    Fsave,
1125    /// Instruction 'fscale' {FPU}.
1126    Fscale,
1127    /// Instruction 'fsin' {FPU}.
1128    Fsin,
1129    /// Instruction 'fsincos' {FPU}.
1130    Fsincos,
1131    /// Instruction 'fsqrt' {FPU}.
1132    Fsqrt,
1133    /// Instruction 'fst' {FPU}.
1134    Fst,
1135    /// Instruction 'fstcw' {FPU}.
1136    Fstcw,
1137    /// Instruction 'fstenv' {FPU}.
1138    Fstenv,
1139    /// Instruction 'fstp' {FPU}.
1140    Fstp,
1141    /// Instruction 'fstsw' {FPU}.
1142    Fstsw,
1143    /// Instruction 'fsub' {FPU}.
1144    Fsub,
1145    /// Instruction 'fsubp' {FPU}.
1146    Fsubp,
1147    /// Instruction 'fsubr' {FPU}.
1148    Fsubr,
1149    /// Instruction 'fsubrp' {FPU}.
1150    Fsubrp,
1151    /// Instruction 'ftst' {FPU}.
1152    Ftst,
1153    /// Instruction 'fucom' {FPU}.
1154    Fucom,
1155    /// Instruction 'fucomi' {FPU}.
1156    Fucomi,
1157    /// Instruction 'fucomip' {FPU}.
1158    Fucomip,
1159    /// Instruction 'fucomp' {FPU}.
1160    Fucomp,
1161    /// Instruction 'fucompp' {FPU}.
1162    Fucompp,
1163    /// Instruction 'fwait' {FPU}.
1164    Fwait,
1165    /// Instruction 'fxam' {FPU}.
1166    Fxam,
1167    /// Instruction 'fxch' {FPU}.
1168    Fxch,
1169    /// Instruction 'fxrstor' {FXSR}.
1170    Fxrstor,
1171    /// Instruction 'fxrstor64' {FXSR} (X64).
1172    Fxrstor64,
1173    /// Instruction 'fxsave' {FXSR}.
1174    Fxsave,
1175    /// Instruction 'fxsave64' {FXSR} (X64).
1176    Fxsave64,
1177    /// Instruction 'fxtract' {FPU}.
1178    Fxtract,
1179    /// Instruction 'fyl2x' {FPU}.
1180    Fyl2x,
1181    /// Instruction 'fyl2xp1' {FPU}.
1182    Fyl2xp1,
1183    /// Instruction 'getsec' {SMX}.
1184    Getsec,
1185    /// Instruction 'gf2p8affineinvqb' {GFNI}.
1186    Gf2p8affineinvqb,
1187    /// Instruction 'gf2p8affineqb' {GFNI}.
1188    Gf2p8affineqb,
1189    /// Instruction 'gf2p8mulb' {GFNI}.
1190    Gf2p8mulb,
1191    /// Instruction 'haddpd' {SSE3}.
1192    Haddpd,
1193    /// Instruction 'haddps' {SSE3}.
1194    Haddps,
1195    /// Instruction 'hlt'.
1196    Hlt,
1197    /// Instruction 'hreset' {HRESET}.
1198    Hreset,
1199    /// Instruction 'hsubpd' {SSE3}.
1200    Hsubpd,
1201    /// Instruction 'hsubps' {SSE3}.
1202    Hsubps,
1203    /// Instruction 'idiv'.
1204    Idiv,
1205    /// Instruction 'imul'.
1206    Imul,
1207    /// Instruction 'in'.
1208    In,
1209    /// Instruction 'inc'.
1210    Inc,
1211    /// Instruction 'incsspd' {CET_SS}.
1212    Incsspd,
1213    /// Instruction 'incsspq' {CET_SS} (X64).
1214    Incsspq,
1215    /// Instruction 'ins'.
1216    Ins,
1217    /// Instruction 'insertps' {SSE4_1}.
1218    Insertps,
1219    /// Instruction 'insertq' {SSE4A}.
1220    Insertq,
1221    /// Instruction 'int'.
1222    Int,
1223    /// Instruction 'int3'.
1224    Int3,
1225    /// Instruction 'into' (X86).
1226    Into,
1227    /// Instruction 'invd' {I486}.
1228    Invd,
1229    /// Instruction 'invept' {VMX}.
1230    Invept,
1231    /// Instruction 'invlpg' {I486}.
1232    Invlpg,
1233    /// Instruction 'invlpga' {SVM}.
1234    Invlpga,
1235    /// Instruction 'invlpgb' {INVLPGB}.
1236    Invlpgb,
1237    /// Instruction 'invpcid' {I486}.
1238    Invpcid,
1239    /// Instruction 'invvpid' {VMX}.
1240    Invvpid,
1241    /// Instruction 'iret'.
1242    Iret,
1243    /// Instruction 'iretd'.
1244    Iretd,
1245    /// Instruction 'iretq' (X64).
1246    Iretq,
1247    /// Instruction 'jb'.
1248    Jb,
1249    /// Instruction 'jbe'.
1250    Jbe,
1251    /// Instruction 'jecxz'.
1252    Jecxz,
1253    /// Instruction 'jl'.
1254    Jl,
1255    /// Instruction 'jle'.
1256    Jle,
1257    /// Instruction 'jmp'.
1258    Jmp,
1259    /// Instruction 'jnb'.
1260    Jnb,
1261    /// Instruction 'jnbe'.
1262    Jnbe,
1263    /// Instruction 'jnl'.
1264    Jnl,
1265    /// Instruction 'jnle'.
1266    Jnle,
1267    /// Instruction 'jno'.
1268    Jno,
1269    /// Instruction 'jnp'.
1270    Jnp,
1271    /// Instruction 'jns'.
1272    Jns,
1273    /// Instruction 'jnz'.
1274    Jnz,
1275    /// Instruction 'jo'.
1276    Jo,
1277    /// Instruction 'jp'.
1278    Jp,
1279    /// Instruction 'js'.
1280    Js,
1281    /// Instruction 'jz'.
1282    Jz,
1283    /// Instruction 'kaddb' {AVX512_DQ}.
1284    Kaddb,
1285    /// Instruction 'kaddd' {AVX512_BW}.
1286    Kaddd,
1287    /// Instruction 'kaddq' {AVX512_BW}.
1288    Kaddq,
1289    /// Instruction 'kaddw' {AVX512_DQ}.
1290    Kaddw,
1291    /// Instruction 'kandb' {AVX512_DQ}.
1292    Kandb,
1293    /// Instruction 'kandd' {AVX512_BW}.
1294    Kandd,
1295    /// Instruction 'kandnb' {AVX512_DQ}.
1296    Kandnb,
1297    /// Instruction 'kandnd' {AVX512_BW}.
1298    Kandnd,
1299    /// Instruction 'kandnq' {AVX512_BW}.
1300    Kandnq,
1301    /// Instruction 'kandnw' {AVX512_F}.
1302    Kandnw,
1303    /// Instruction 'kandq' {AVX512_BW}.
1304    Kandq,
1305    /// Instruction 'kandw' {AVX512_F}.
1306    Kandw,
1307    /// Instruction 'kmovb' {AVX512_DQ}.
1308    Kmovb,
1309    /// Instruction 'kmovd' {AVX512_BW}.
1310    Kmovd,
1311    /// Instruction 'kmovq' {AVX512_BW}.
1312    Kmovq,
1313    /// Instruction 'kmovw' {AVX512_F}.
1314    Kmovw,
1315    /// Instruction 'knotb' {AVX512_DQ}.
1316    Knotb,
1317    /// Instruction 'knotd' {AVX512_BW}.
1318    Knotd,
1319    /// Instruction 'knotq' {AVX512_BW}.
1320    Knotq,
1321    /// Instruction 'knotw' {AVX512_F}.
1322    Knotw,
1323    /// Instruction 'korb' {AVX512_DQ}.
1324    Korb,
1325    /// Instruction 'kord' {AVX512_BW}.
1326    Kord,
1327    /// Instruction 'korq' {AVX512_BW}.
1328    Korq,
1329    /// Instruction 'kortestb' {AVX512_DQ}.
1330    Kortestb,
1331    /// Instruction 'kortestd' {AVX512_BW}.
1332    Kortestd,
1333    /// Instruction 'kortestq' {AVX512_BW}.
1334    Kortestq,
1335    /// Instruction 'kortestw' {AVX512_F}.
1336    Kortestw,
1337    /// Instruction 'korw' {AVX512_F}.
1338    Korw,
1339    /// Instruction 'kshiftlb' {AVX512_DQ}.
1340    Kshiftlb,
1341    /// Instruction 'kshiftld' {AVX512_BW}.
1342    Kshiftld,
1343    /// Instruction 'kshiftlq' {AVX512_BW}.
1344    Kshiftlq,
1345    /// Instruction 'kshiftlw' {AVX512_F}.
1346    Kshiftlw,
1347    /// Instruction 'kshiftrb' {AVX512_DQ}.
1348    Kshiftrb,
1349    /// Instruction 'kshiftrd' {AVX512_BW}.
1350    Kshiftrd,
1351    /// Instruction 'kshiftrq' {AVX512_BW}.
1352    Kshiftrq,
1353    /// Instruction 'kshiftrw' {AVX512_F}.
1354    Kshiftrw,
1355    /// Instruction 'ktestb' {AVX512_DQ}.
1356    Ktestb,
1357    /// Instruction 'ktestd' {AVX512_BW}.
1358    Ktestd,
1359    /// Instruction 'ktestq' {AVX512_BW}.
1360    Ktestq,
1361    /// Instruction 'ktestw' {AVX512_DQ}.
1362    Ktestw,
1363    /// Instruction 'kunpckbw' {AVX512_F}.
1364    Kunpckbw,
1365    /// Instruction 'kunpckdq' {AVX512_BW}.
1366    Kunpckdq,
1367    /// Instruction 'kunpckwd' {AVX512_BW}.
1368    Kunpckwd,
1369    /// Instruction 'kxnorb' {AVX512_DQ}.
1370    Kxnorb,
1371    /// Instruction 'kxnord' {AVX512_BW}.
1372    Kxnord,
1373    /// Instruction 'kxnorq' {AVX512_BW}.
1374    Kxnorq,
1375    /// Instruction 'kxnorw' {AVX512_F}.
1376    Kxnorw,
1377    /// Instruction 'kxorb' {AVX512_DQ}.
1378    Kxorb,
1379    /// Instruction 'kxord' {AVX512_BW}.
1380    Kxord,
1381    /// Instruction 'kxorq' {AVX512_BW}.
1382    Kxorq,
1383    /// Instruction 'kxorw' {AVX512_F}.
1384    Kxorw,
1385    /// Instruction 'lahf' {LAHFSAHF}.
1386    Lahf,
1387    /// Instruction 'lar'.
1388    Lar,
1389    /// Instruction 'lcall'.
1390    Lcall,
1391    /// Instruction 'lddqu' {SSE3}.
1392    Lddqu,
1393    /// Instruction 'ldmxcsr' {SSE}.
1394    Ldmxcsr,
1395    /// Instruction 'lds' (X86).
1396    Lds,
1397    /// Instruction 'ldtilecfg' {AMX_TILE} (X64).
1398    Ldtilecfg,
1399    /// Instruction 'lea'.
1400    Lea,
1401    /// Instruction 'leave'.
1402    Leave,
1403    /// Instruction 'les' (X86).
1404    Les,
1405    /// Instruction 'lfence' {SSE2}.
1406    Lfence,
1407    /// Instruction 'lfs'.
1408    Lfs,
1409    /// Instruction 'lgdt'.
1410    Lgdt,
1411    /// Instruction 'lgs'.
1412    Lgs,
1413    /// Instruction 'lidt'.
1414    Lidt,
1415    /// Instruction 'ljmp'.
1416    Ljmp,
1417    /// Instruction 'lldt'.
1418    Lldt,
1419    /// Instruction 'llwpcb' {LWP}.
1420    Llwpcb,
1421    /// Instruction 'lmsw'.
1422    Lmsw,
1423    /// Instruction 'lods'.
1424    Lods,
1425    /// Instruction 'loop'.
1426    Loop,
1427    /// Instruction 'loope'.
1428    Loope,
1429    /// Instruction 'loopne'.
1430    Loopne,
1431    /// Instruction 'lsl'.
1432    Lsl,
1433    /// Instruction 'lss'.
1434    Lss,
1435    /// Instruction 'ltr'.
1436    Ltr,
1437    /// Instruction 'lwpins' {LWP}.
1438    Lwpins,
1439    /// Instruction 'lwpval' {LWP}.
1440    Lwpval,
1441    /// Instruction 'lzcnt' {LZCNT}.
1442    Lzcnt,
1443    /// Instruction 'maskmovdqu' {SSE2}.
1444    Maskmovdqu,
1445    /// Instruction 'maskmovq' {MMX2}.
1446    Maskmovq,
1447    /// Instruction 'maxpd' {SSE2}.
1448    Maxpd,
1449    /// Instruction 'maxps' {SSE}.
1450    Maxps,
1451    /// Instruction 'maxsd' {SSE2}.
1452    Maxsd,
1453    /// Instruction 'maxss' {SSE}.
1454    Maxss,
1455    /// Instruction 'mcommit' {MCOMMIT}.
1456    Mcommit,
1457    /// Instruction 'mfence' {SSE2}.
1458    Mfence,
1459    /// Instruction 'minpd' {SSE2}.
1460    Minpd,
1461    /// Instruction 'minps' {SSE}.
1462    Minps,
1463    /// Instruction 'minsd' {SSE2}.
1464    Minsd,
1465    /// Instruction 'minss' {SSE}.
1466    Minss,
1467    /// Instruction 'monitor' {MONITOR}.
1468    Monitor,
1469    /// Instruction 'monitorx' {MONITORX}.
1470    Monitorx,
1471    /// Instruction 'mov'.
1472    Mov,
1473    /// Instruction 'movabs'.
1474    Movabs,
1475    /// Instruction 'movapd' {SSE2}.
1476    Movapd,
1477    /// Instruction 'movaps' {SSE}.
1478    Movaps,
1479    /// Instruction 'movbe' {MOVBE}.
1480    Movbe,
1481    /// Instruction 'movd' {MMX|SSE2}.
1482    Movd,
1483    /// Instruction 'movddup' {SSE3}.
1484    Movddup,
1485    /// Instruction 'movdir64b' {MOVDIR64B}.
1486    Movdir64b,
1487    /// Instruction 'movdiri' {MOVDIRI}.
1488    Movdiri,
1489    /// Instruction 'movdq2q' {SSE2}.
1490    Movdq2q,
1491    /// Instruction 'movdqa' {SSE2}.
1492    Movdqa,
1493    /// Instruction 'movdqu' {SSE2}.
1494    Movdqu,
1495    /// Instruction 'movhlps' {SSE}.
1496    Movhlps,
1497    /// Instruction 'movhpd' {SSE2}.
1498    Movhpd,
1499    /// Instruction 'movhps' {SSE}.
1500    Movhps,
1501    /// Instruction 'movlhps' {SSE}.
1502    Movlhps,
1503    /// Instruction 'movlpd' {SSE2}.
1504    Movlpd,
1505    /// Instruction 'movlps' {SSE}.
1506    Movlps,
1507    /// Instruction 'movmskpd' {SSE2}.
1508    Movmskpd,
1509    /// Instruction 'movmskps' {SSE}.
1510    Movmskps,
1511    /// Instruction 'movntdq' {SSE2}.
1512    Movntdq,
1513    /// Instruction 'movntdqa' {SSE4_1}.
1514    Movntdqa,
1515    /// Instruction 'movnti' {SSE2}.
1516    Movnti,
1517    /// Instruction 'movntpd' {SSE2}.
1518    Movntpd,
1519    /// Instruction 'movntps' {SSE}.
1520    Movntps,
1521    /// Instruction 'movntq' {MMX2}.
1522    Movntq,
1523    /// Instruction 'movntsd' {SSE4A}.
1524    Movntsd,
1525    /// Instruction 'movntss' {SSE4A}.
1526    Movntss,
1527    /// Instruction 'movq' {MMX|SSE2}.
1528    Movq,
1529    /// Instruction 'movq2dq' {SSE2}.
1530    Movq2dq,
1531    /// Instruction 'movs'.
1532    Movs,
1533    /// Instruction 'movsd' {SSE2}.
1534    Movsd,
1535    /// Instruction 'movshdup' {SSE3}.
1536    Movshdup,
1537    /// Instruction 'movsldup' {SSE3}.
1538    Movsldup,
1539    /// Instruction 'movss' {SSE}.
1540    Movss,
1541    /// Instruction 'movsx'.
1542    Movsx,
1543    /// Instruction 'movsxd' (X64).
1544    Movsxd,
1545    /// Instruction 'movupd' {SSE2}.
1546    Movupd,
1547    /// Instruction 'movups' {SSE}.
1548    Movups,
1549    /// Instruction 'movzx'.
1550    Movzx,
1551    /// Instruction 'mpsadbw' {SSE4_1}.
1552    Mpsadbw,
1553    /// Instruction 'mul'.
1554    Mul,
1555    /// Instruction 'mulpd' {SSE2}.
1556    Mulpd,
1557    /// Instruction 'mulps' {SSE}.
1558    Mulps,
1559    /// Instruction 'mulsd' {SSE2}.
1560    Mulsd,
1561    /// Instruction 'mulss' {SSE}.
1562    Mulss,
1563    /// Instruction 'mulx' {BMI2}.
1564    Mulx,
1565    /// Instruction 'mwait' {MONITOR}.
1566    Mwait,
1567    /// Instruction 'mwaitx' {MONITORX}.
1568    Mwaitx,
1569    /// Instruction 'neg'.
1570    Neg,
1571    /// Instruction 'nop'.
1572    Nop,
1573    /// Instruction 'not'.
1574    Not,
1575    /// Instruction 'or'.
1576    Or,
1577    /// Instruction 'orpd' {SSE2}.
1578    Orpd,
1579    /// Instruction 'orps' {SSE}.
1580    Orps,
1581    /// Instruction 'out'.
1582    Out,
1583    /// Instruction 'outs'.
1584    Outs,
1585    /// Instruction 'pabsb' {SSSE3}.
1586    Pabsb,
1587    /// Instruction 'pabsd' {SSSE3}.
1588    Pabsd,
1589    /// Instruction 'pabsw' {SSSE3}.
1590    Pabsw,
1591    /// Instruction 'packssdw' {MMX|SSE2}.
1592    Packssdw,
1593    /// Instruction 'packsswb' {MMX|SSE2}.
1594    Packsswb,
1595    /// Instruction 'packusdw' {SSE4_1}.
1596    Packusdw,
1597    /// Instruction 'packuswb' {MMX|SSE2}.
1598    Packuswb,
1599    /// Instruction 'paddb' {MMX|SSE2}.
1600    Paddb,
1601    /// Instruction 'paddd' {MMX|SSE2}.
1602    Paddd,
1603    /// Instruction 'paddq' {SSE2}.
1604    Paddq,
1605    /// Instruction 'paddsb' {MMX|SSE2}.
1606    Paddsb,
1607    /// Instruction 'paddsw' {MMX|SSE2}.
1608    Paddsw,
1609    /// Instruction 'paddusb' {MMX|SSE2}.
1610    Paddusb,
1611    /// Instruction 'paddusw' {MMX|SSE2}.
1612    Paddusw,
1613    /// Instruction 'paddw' {MMX|SSE2}.
1614    Paddw,
1615    /// Instruction 'palignr' {SSSE3}.
1616    Palignr,
1617    /// Instruction 'pand' {MMX|SSE2}.
1618    Pand,
1619    /// Instruction 'pandn' {MMX|SSE2}.
1620    Pandn,
1621    /// Instruction 'pause'.
1622    Pause,
1623    /// Instruction 'pavgb' {MMX2|SSE2}.
1624    Pavgb,
1625    /// Instruction 'pavgusb' {3DNOW}.
1626    Pavgusb,
1627    /// Instruction 'pavgw' {MMX2|SSE2}.
1628    Pavgw,
1629    /// Instruction 'pblendvb' {SSE4_1}.
1630    Pblendvb,
1631    /// Instruction 'pblendw' {SSE4_1}.
1632    Pblendw,
1633    /// Instruction 'pclmulqdq' {PCLMULQDQ}.
1634    Pclmulqdq,
1635    /// Instruction 'pcmpeqb' {MMX|SSE2}.
1636    Pcmpeqb,
1637    /// Instruction 'pcmpeqd' {MMX|SSE2}.
1638    Pcmpeqd,
1639    /// Instruction 'pcmpeqq' {SSE4_1}.
1640    Pcmpeqq,
1641    /// Instruction 'pcmpeqw' {MMX|SSE2}.
1642    Pcmpeqw,
1643    /// Instruction 'pcmpestri' {SSE4_2}.
1644    Pcmpestri,
1645    /// Instruction 'pcmpestrm' {SSE4_2}.
1646    Pcmpestrm,
1647    /// Instruction 'pcmpgtb' {MMX|SSE2}.
1648    Pcmpgtb,
1649    /// Instruction 'pcmpgtd' {MMX|SSE2}.
1650    Pcmpgtd,
1651    /// Instruction 'pcmpgtq' {SSE4_2}.
1652    Pcmpgtq,
1653    /// Instruction 'pcmpgtw' {MMX|SSE2}.
1654    Pcmpgtw,
1655    /// Instruction 'pcmpistri' {SSE4_2}.
1656    Pcmpistri,
1657    /// Instruction 'pcmpistrm' {SSE4_2}.
1658    Pcmpistrm,
1659    /// Instruction 'pconfig' {PCONFIG}.
1660    Pconfig,
1661    /// Instruction 'pdep' {BMI2}.
1662    Pdep,
1663    /// Instruction 'pext' {BMI2}.
1664    Pext,
1665    /// Instruction 'pextrb' {SSE4_1}.
1666    Pextrb,
1667    /// Instruction 'pextrd' {SSE4_1}.
1668    Pextrd,
1669    /// Instruction 'pextrq' {SSE4_1} (X64).
1670    Pextrq,
1671    /// Instruction 'pextrw' {MMX2|SSE2|SSE4_1}.
1672    Pextrw,
1673    /// Instruction 'pf2id' {3DNOW}.
1674    Pf2id,
1675    /// Instruction 'pf2iw' {3DNOW2}.
1676    Pf2iw,
1677    /// Instruction 'pfacc' {3DNOW}.
1678    Pfacc,
1679    /// Instruction 'pfadd' {3DNOW}.
1680    Pfadd,
1681    /// Instruction 'pfcmpeq' {3DNOW}.
1682    Pfcmpeq,
1683    /// Instruction 'pfcmpge' {3DNOW}.
1684    Pfcmpge,
1685    /// Instruction 'pfcmpgt' {3DNOW}.
1686    Pfcmpgt,
1687    /// Instruction 'pfmax' {3DNOW}.
1688    Pfmax,
1689    /// Instruction 'pfmin' {3DNOW}.
1690    Pfmin,
1691    /// Instruction 'pfmul' {3DNOW}.
1692    Pfmul,
1693    /// Instruction 'pfnacc' {3DNOW2}.
1694    Pfnacc,
1695    /// Instruction 'pfpnacc' {3DNOW2}.
1696    Pfpnacc,
1697    /// Instruction 'pfrcp' {3DNOW}.
1698    Pfrcp,
1699    /// Instruction 'pfrcpit1' {3DNOW}.
1700    Pfrcpit1,
1701    /// Instruction 'pfrcpit2' {3DNOW}.
1702    Pfrcpit2,
1703    /// Instruction 'pfrcpv' {GEODE}.
1704    Pfrcpv,
1705    /// Instruction 'pfrsqit1' {3DNOW}.
1706    Pfrsqit1,
1707    /// Instruction 'pfrsqrt' {3DNOW}.
1708    Pfrsqrt,
1709    /// Instruction 'pfrsqrtv' {GEODE}.
1710    Pfrsqrtv,
1711    /// Instruction 'pfsub' {3DNOW}.
1712    Pfsub,
1713    /// Instruction 'pfsubr' {3DNOW}.
1714    Pfsubr,
1715    /// Instruction 'phaddd' {SSSE3}.
1716    Phaddd,
1717    /// Instruction 'phaddsw' {SSSE3}.
1718    Phaddsw,
1719    /// Instruction 'phaddw' {SSSE3}.
1720    Phaddw,
1721    /// Instruction 'phminposuw' {SSE4_1}.
1722    Phminposuw,
1723    /// Instruction 'phsubd' {SSSE3}.
1724    Phsubd,
1725    /// Instruction 'phsubsw' {SSSE3}.
1726    Phsubsw,
1727    /// Instruction 'phsubw' {SSSE3}.
1728    Phsubw,
1729    /// Instruction 'pi2fd' {3DNOW}.
1730    Pi2fd,
1731    /// Instruction 'pi2fw' {3DNOW2}.
1732    Pi2fw,
1733    /// Instruction 'pinsrb' {SSE4_1}.
1734    Pinsrb,
1735    /// Instruction 'pinsrd' {SSE4_1}.
1736    Pinsrd,
1737    /// Instruction 'pinsrq' {SSE4_1} (X64).
1738    Pinsrq,
1739    /// Instruction 'pinsrw' {MMX2|SSE2}.
1740    Pinsrw,
1741    /// Instruction 'pmaddubsw' {SSSE3}.
1742    Pmaddubsw,
1743    /// Instruction 'pmaddwd' {MMX|SSE2}.
1744    Pmaddwd,
1745    /// Instruction 'pmaxsb' {SSE4_1}.
1746    Pmaxsb,
1747    /// Instruction 'pmaxsd' {SSE4_1}.
1748    Pmaxsd,
1749    /// Instruction 'pmaxsw' {MMX2|SSE2}.
1750    Pmaxsw,
1751    /// Instruction 'pmaxub' {MMX2|SSE2}.
1752    Pmaxub,
1753    /// Instruction 'pmaxud' {SSE4_1}.
1754    Pmaxud,
1755    /// Instruction 'pmaxuw' {SSE4_1}.
1756    Pmaxuw,
1757    /// Instruction 'pminsb' {SSE4_1}.
1758    Pminsb,
1759    /// Instruction 'pminsd' {SSE4_1}.
1760    Pminsd,
1761    /// Instruction 'pminsw' {MMX2|SSE2}.
1762    Pminsw,
1763    /// Instruction 'pminub' {MMX2|SSE2}.
1764    Pminub,
1765    /// Instruction 'pminud' {SSE4_1}.
1766    Pminud,
1767    /// Instruction 'pminuw' {SSE4_1}.
1768    Pminuw,
1769    /// Instruction 'pmovmskb' {MMX2|SSE2}.
1770    Pmovmskb,
1771    /// Instruction 'pmovsxbd' {SSE4_1}.
1772    Pmovsxbd,
1773    /// Instruction 'pmovsxbq' {SSE4_1}.
1774    Pmovsxbq,
1775    /// Instruction 'pmovsxbw' {SSE4_1}.
1776    Pmovsxbw,
1777    /// Instruction 'pmovsxdq' {SSE4_1}.
1778    Pmovsxdq,
1779    /// Instruction 'pmovsxwd' {SSE4_1}.
1780    Pmovsxwd,
1781    /// Instruction 'pmovsxwq' {SSE4_1}.
1782    Pmovsxwq,
1783    /// Instruction 'pmovzxbd' {SSE4_1}.
1784    Pmovzxbd,
1785    /// Instruction 'pmovzxbq' {SSE4_1}.
1786    Pmovzxbq,
1787    /// Instruction 'pmovzxbw' {SSE4_1}.
1788    Pmovzxbw,
1789    /// Instruction 'pmovzxdq' {SSE4_1}.
1790    Pmovzxdq,
1791    /// Instruction 'pmovzxwd' {SSE4_1}.
1792    Pmovzxwd,
1793    /// Instruction 'pmovzxwq' {SSE4_1}.
1794    Pmovzxwq,
1795    /// Instruction 'pmuldq' {SSE4_1}.
1796    Pmuldq,
1797    /// Instruction 'pmulhrsw' {SSSE3}.
1798    Pmulhrsw,
1799    /// Instruction 'pmulhrw' {3DNOW}.
1800    Pmulhrw,
1801    /// Instruction 'pmulhuw' {MMX2|SSE2}.
1802    Pmulhuw,
1803    /// Instruction 'pmulhw' {MMX|SSE2}.
1804    Pmulhw,
1805    /// Instruction 'pmulld' {SSE4_1}.
1806    Pmulld,
1807    /// Instruction 'pmullw' {MMX|SSE2}.
1808    Pmullw,
1809    /// Instruction 'pmuludq' {SSE2}.
1810    Pmuludq,
1811    /// Instruction 'pop'.
1812    Pop,
1813    /// Instruction 'popa' (X86).
1814    Popa,
1815    /// Instruction 'popad' (X86).
1816    Popad,
1817    /// Instruction 'popcnt' {POPCNT}.
1818    Popcnt,
1819    /// Instruction 'popf'.
1820    Popf,
1821    /// Instruction 'popfd' (X86).
1822    Popfd,
1823    /// Instruction 'popfq' (X64).
1824    Popfq,
1825    /// Instruction 'por' {MMX|SSE2}.
1826    Por,
1827    /// Instruction 'prefetch' {3DNOW}.
1828    Prefetch,
1829    /// Instruction 'prefetchit0' {PREFETCHI} (X64).
1830    Prefetchit0,
1831    /// Instruction 'prefetchit1' {PREFETCHI} (X64).
1832    Prefetchit1,
1833    /// Instruction 'prefetchnta' {SSE}.
1834    Prefetchnta,
1835    /// Instruction 'prefetcht0' {SSE}.
1836    Prefetcht0,
1837    /// Instruction 'prefetcht1' {SSE}.
1838    Prefetcht1,
1839    /// Instruction 'prefetcht2' {SSE}.
1840    Prefetcht2,
1841    /// Instruction 'prefetchw' {PREFETCHW}.
1842    Prefetchw,
1843    /// Instruction 'prefetchwt1' {PREFETCHWT1}.
1844    Prefetchwt1,
1845    /// Instruction 'psadbw' {MMX2|SSE2}.
1846    Psadbw,
1847    /// Instruction 'pshufb' {SSSE3}.
1848    Pshufb,
1849    /// Instruction 'pshufd' {SSE2}.
1850    Pshufd,
1851    /// Instruction 'pshufhw' {SSE2}.
1852    Pshufhw,
1853    /// Instruction 'pshuflw' {SSE2}.
1854    Pshuflw,
1855    /// Instruction 'pshufw' {MMX2}.
1856    Pshufw,
1857    /// Instruction 'psignb' {SSSE3}.
1858    Psignb,
1859    /// Instruction 'psignd' {SSSE3}.
1860    Psignd,
1861    /// Instruction 'psignw' {SSSE3}.
1862    Psignw,
1863    /// Instruction 'pslld' {MMX|SSE2}.
1864    Pslld,
1865    /// Instruction 'pslldq' {SSE2}.
1866    Pslldq,
1867    /// Instruction 'psllq' {MMX|SSE2}.
1868    Psllq,
1869    /// Instruction 'psllw' {MMX|SSE2}.
1870    Psllw,
1871    /// Instruction 'psmash' {SEV_SNP} (X64).
1872    Psmash,
1873    /// Instruction 'psrad' {MMX|SSE2}.
1874    Psrad,
1875    /// Instruction 'psraw' {MMX|SSE2}.
1876    Psraw,
1877    /// Instruction 'psrld' {MMX|SSE2}.
1878    Psrld,
1879    /// Instruction 'psrldq' {SSE2}.
1880    Psrldq,
1881    /// Instruction 'psrlq' {MMX|SSE2}.
1882    Psrlq,
1883    /// Instruction 'psrlw' {MMX|SSE2}.
1884    Psrlw,
1885    /// Instruction 'psubb' {MMX|SSE2}.
1886    Psubb,
1887    /// Instruction 'psubd' {MMX|SSE2}.
1888    Psubd,
1889    /// Instruction 'psubq' {SSE2}.
1890    Psubq,
1891    /// Instruction 'psubsb' {MMX|SSE2}.
1892    Psubsb,
1893    /// Instruction 'psubsw' {MMX|SSE2}.
1894    Psubsw,
1895    /// Instruction 'psubusb' {MMX|SSE2}.
1896    Psubusb,
1897    /// Instruction 'psubusw' {MMX|SSE2}.
1898    Psubusw,
1899    /// Instruction 'psubw' {MMX|SSE2}.
1900    Psubw,
1901    /// Instruction 'pswapd' {3DNOW2}.
1902    Pswapd,
1903    /// Instruction 'ptest' {SSE4_1}.
1904    Ptest,
1905    /// Instruction 'ptwrite' {PTWRITE}.
1906    Ptwrite,
1907    /// Instruction 'punpckhbw' {MMX|SSE2}.
1908    Punpckhbw,
1909    /// Instruction 'punpckhdq' {MMX|SSE2}.
1910    Punpckhdq,
1911    /// Instruction 'punpckhqdq' {SSE2}.
1912    Punpckhqdq,
1913    /// Instruction 'punpckhwd' {MMX|SSE2}.
1914    Punpckhwd,
1915    /// Instruction 'punpcklbw' {MMX|SSE2}.
1916    Punpcklbw,
1917    /// Instruction 'punpckldq' {MMX|SSE2}.
1918    Punpckldq,
1919    /// Instruction 'punpcklqdq' {SSE2}.
1920    Punpcklqdq,
1921    /// Instruction 'punpcklwd' {MMX|SSE2}.
1922    Punpcklwd,
1923    /// Instruction 'push'.
1924    Push,
1925    /// Instruction 'pusha' (X86).
1926    Pusha,
1927    /// Instruction 'pushad' (X86).
1928    Pushad,
1929    /// Instruction 'pushf'.
1930    Pushf,
1931    /// Instruction 'pushfd' (X86).
1932    Pushfd,
1933    /// Instruction 'pushfq' (X64).
1934    Pushfq,
1935    /// Instruction 'pushw'.
1936    Pushw,
1937    /// Instruction 'pvalidate' {SEV_SNP}.
1938    Pvalidate,
1939    /// Instruction 'pxor' {MMX|SSE2}.
1940    Pxor,
1941    /// Instruction 'rcl'.
1942    Rcl,
1943    /// Instruction 'rcpps' {SSE}.
1944    Rcpps,
1945    /// Instruction 'rcpss' {SSE}.
1946    Rcpss,
1947    /// Instruction 'rcr'.
1948    Rcr,
1949    /// Instruction 'rdfsbase' {FSGSBASE} (X64).
1950    Rdfsbase,
1951    /// Instruction 'rdgsbase' {FSGSBASE} (X64).
1952    Rdgsbase,
1953    /// Instruction 'rdmsr' {MSR|MSR_IMM}.
1954    Rdmsr,
1955    /// Instruction 'rdpid' {RDPID}.
1956    Rdpid,
1957    /// Instruction 'rdpkru' {OSPKE}.
1958    Rdpkru,
1959    /// Instruction 'rdpmc'.
1960    Rdpmc,
1961    /// Instruction 'rdpru' {RDPRU}.
1962    Rdpru,
1963    /// Instruction 'rdrand' {RDRAND}.
1964    Rdrand,
1965    /// Instruction 'rdseed' {RDSEED}.
1966    Rdseed,
1967    /// Instruction 'rdsspd' {CET_SS}.
1968    Rdsspd,
1969    /// Instruction 'rdsspq' {CET_SS} (X64).
1970    Rdsspq,
1971    /// Instruction 'rdtsc' {RDTSC}.
1972    Rdtsc,
1973    /// Instruction 'rdtscp' {RDTSCP}.
1974    Rdtscp,
1975    /// Instruction 'ret'.
1976    Ret,
1977    /// Instruction 'retf'.
1978    Retf,
1979    /// Instruction 'rmpadjust' {SEV_SNP} (X64).
1980    Rmpadjust,
1981    /// Instruction 'rmpupdate' {SEV_SNP} (X64).
1982    Rmpupdate,
1983    /// Instruction 'rol'.
1984    Rol,
1985    /// Instruction 'ror'.
1986    Ror,
1987    /// Instruction 'rorx' {BMI2}.
1988    Rorx,
1989    /// Instruction 'roundpd' {SSE4_1}.
1990    Roundpd,
1991    /// Instruction 'roundps' {SSE4_1}.
1992    Roundps,
1993    /// Instruction 'roundsd' {SSE4_1}.
1994    Roundsd,
1995    /// Instruction 'roundss' {SSE4_1}.
1996    Roundss,
1997    /// Instruction 'rsm' (X86).
1998    Rsm,
1999    /// Instruction 'rsqrtps' {SSE}.
2000    Rsqrtps,
2001    /// Instruction 'rsqrtss' {SSE}.
2002    Rsqrtss,
2003    /// Instruction 'rstorssp' {CET_SS}.
2004    Rstorssp,
2005    /// Instruction 'sahf' {LAHFSAHF}.
2006    Sahf,
2007    /// Instruction 'sar'.
2008    Sar,
2009    /// Instruction 'sarx' {BMI2}.
2010    Sarx,
2011    /// Instruction 'saveprevssp' {CET_SS}.
2012    Saveprevssp,
2013    /// Instruction 'sbb'.
2014    Sbb,
2015    /// Instruction 'scas'.
2016    Scas,
2017    /// Instruction 'seamcall' {SEAM}.
2018    Seamcall,
2019    /// Instruction 'seamops' {SEAM}.
2020    Seamops,
2021    /// Instruction 'seamret' {SEAM}.
2022    Seamret,
2023    /// Instruction 'senduipi' {UINTR} (X64).
2024    Senduipi,
2025    /// Instruction 'serialize' {SERIALIZE}.
2026    Serialize,
2027    /// Instruction 'setb'.
2028    Setb,
2029    /// Instruction 'setbe'.
2030    Setbe,
2031    /// Instruction 'setl'.
2032    Setl,
2033    /// Instruction 'setle'.
2034    Setle,
2035    /// Instruction 'setnb'.
2036    Setnb,
2037    /// Instruction 'setnbe'.
2038    Setnbe,
2039    /// Instruction 'setnl'.
2040    Setnl,
2041    /// Instruction 'setnle'.
2042    Setnle,
2043    /// Instruction 'setno'.
2044    Setno,
2045    /// Instruction 'setnp'.
2046    Setnp,
2047    /// Instruction 'setns'.
2048    Setns,
2049    /// Instruction 'setnz'.
2050    Setnz,
2051    /// Instruction 'seto'.
2052    Seto,
2053    /// Instruction 'setp'.
2054    Setp,
2055    /// Instruction 'sets'.
2056    Sets,
2057    /// Instruction 'setssbsy' {CET_SS}.
2058    Setssbsy,
2059    /// Instruction 'setz'.
2060    Setz,
2061    /// Instruction 'sfence' {SSE}.
2062    Sfence,
2063    /// Instruction 'sgdt'.
2064    Sgdt,
2065    /// Instruction 'sha1msg1' {SHA}.
2066    Sha1msg1,
2067    /// Instruction 'sha1msg2' {SHA}.
2068    Sha1msg2,
2069    /// Instruction 'sha1nexte' {SHA}.
2070    Sha1nexte,
2071    /// Instruction 'sha1rnds4' {SHA}.
2072    Sha1rnds4,
2073    /// Instruction 'sha256msg1' {SHA}.
2074    Sha256msg1,
2075    /// Instruction 'sha256msg2' {SHA}.
2076    Sha256msg2,
2077    /// Instruction 'sha256rnds2' {SHA}.
2078    Sha256rnds2,
2079    /// Instruction 'shl'.
2080    Shl,
2081    /// Instruction 'shld'.
2082    Shld,
2083    /// Instruction 'shlx' {BMI2}.
2084    Shlx,
2085    /// Instruction 'shr'.
2086    Shr,
2087    /// Instruction 'shrd'.
2088    Shrd,
2089    /// Instruction 'shrx' {BMI2}.
2090    Shrx,
2091    /// Instruction 'shufpd' {SSE2}.
2092    Shufpd,
2093    /// Instruction 'shufps' {SSE}.
2094    Shufps,
2095    /// Instruction 'sidt'.
2096    Sidt,
2097    /// Instruction 'skinit' {SKINIT}.
2098    Skinit,
2099    /// Instruction 'sldt'.
2100    Sldt,
2101    /// Instruction 'slwpcb' {LWP}.
2102    Slwpcb,
2103    /// Instruction 'smsw'.
2104    Smsw,
2105    /// Instruction 'sqrtpd' {SSE2}.
2106    Sqrtpd,
2107    /// Instruction 'sqrtps' {SSE}.
2108    Sqrtps,
2109    /// Instruction 'sqrtsd' {SSE2}.
2110    Sqrtsd,
2111    /// Instruction 'sqrtss' {SSE}.
2112    Sqrtss,
2113    /// Instruction 'stac' {SMAP}.
2114    Stac,
2115    /// Instruction 'stc'.
2116    Stc,
2117    /// Instruction 'std'.
2118    Std,
2119    /// Instruction 'stgi' {SKINIT}.
2120    Stgi,
2121    /// Instruction 'sti'.
2122    Sti,
2123    /// Instruction 'stmxcsr' {SSE}.
2124    Stmxcsr,
2125    /// Instruction 'stos'.
2126    Stos,
2127    /// Instruction 'str'.
2128    Str,
2129    /// Instruction 'sttilecfg' {AMX_TILE} (X64).
2130    Sttilecfg,
2131    /// Instruction 'stui' {UINTR} (X64).
2132    Stui,
2133    /// Instruction 'sub'.
2134    Sub,
2135    /// Instruction 'subpd' {SSE2}.
2136    Subpd,
2137    /// Instruction 'subps' {SSE}.
2138    Subps,
2139    /// Instruction 'subsd' {SSE2}.
2140    Subsd,
2141    /// Instruction 'subss' {SSE}.
2142    Subss,
2143    /// Instruction 'swapgs' (X64).
2144    Swapgs,
2145    /// Instruction 'syscall' (X64).
2146    Syscall,
2147    /// Instruction 'sysenter'.
2148    Sysenter,
2149    /// Instruction 'sysexit'.
2150    Sysexit,
2151    /// Instruction 'sysexitq' (X64).
2152    Sysexitq,
2153    /// Instruction 'sysret' (X64).
2154    Sysret,
2155    /// Instruction 'sysretq' (X64).
2156    Sysretq,
2157    /// Instruction 't1mskc' {TBM}.
2158    T1mskc,
2159    /// Instruction 'tcmmimfp16ps' {AMX_COMPLEX} (X64).
2160    Tcmmimfp16ps,
2161    /// Instruction 'tcmmrlfp16ps' {AMX_COMPLEX} (X64).
2162    Tcmmrlfp16ps,
2163    /// Instruction 'tdcall' {SEAM}.
2164    Tdcall,
2165    /// Instruction 'tdpbf16ps' {AMX_BF16} (X64).
2166    Tdpbf16ps,
2167    /// Instruction 'tdpbssd' {AMX_INT8} (X64).
2168    Tdpbssd,
2169    /// Instruction 'tdpbsud' {AMX_INT8} (X64).
2170    Tdpbsud,
2171    /// Instruction 'tdpbusd' {AMX_INT8} (X64).
2172    Tdpbusd,
2173    /// Instruction 'tdpbuud' {AMX_INT8} (X64).
2174    Tdpbuud,
2175    /// Instruction 'tdpfp16ps' {AMX_FP16} (X64).
2176    Tdpfp16ps,
2177    /// Instruction 'test'.
2178    Test,
2179    /// Instruction 'testui' {UINTR} (X64).
2180    Testui,
2181    /// Instruction 'tileloadd' {AMX_TILE} (X64).
2182    Tileloadd,
2183    /// Instruction 'tileloaddt1' {AMX_TILE} (X64).
2184    Tileloaddt1,
2185    /// Instruction 'tilerelease' {AMX_TILE} (X64).
2186    Tilerelease,
2187    /// Instruction 'tilestored' {AMX_TILE} (X64).
2188    Tilestored,
2189    /// Instruction 'tilezero' {AMX_TILE} (X64).
2190    Tilezero,
2191    /// Instruction 'tlbsync' {INVLPGB}.
2192    Tlbsync,
2193    /// Instruction 'tpause' {WAITPKG}.
2194    Tpause,
2195    /// Instruction 'tzcnt' {BMI}.
2196    Tzcnt,
2197    /// Instruction 'tzmsk' {TBM}.
2198    Tzmsk,
2199    /// Instruction 'ucomisd' {SSE2}.
2200    Ucomisd,
2201    /// Instruction 'ucomiss' {SSE}.
2202    Ucomiss,
2203    /// Instruction 'ud0'.
2204    Ud0,
2205    /// Instruction 'ud1'.
2206    Ud1,
2207    /// Instruction 'ud2'.
2208    Ud2,
2209    /// Instruction 'uiret' {UINTR} (X64).
2210    Uiret,
2211    /// Instruction 'umonitor' {WAITPKG}.
2212    Umonitor,
2213    /// Instruction 'umwait' {WAITPKG}.
2214    Umwait,
2215    /// Instruction 'unpckhpd' {SSE2}.
2216    Unpckhpd,
2217    /// Instruction 'unpckhps' {SSE}.
2218    Unpckhps,
2219    /// Instruction 'unpcklpd' {SSE2}.
2220    Unpcklpd,
2221    /// Instruction 'unpcklps' {SSE}.
2222    Unpcklps,
2223    /// Instruction 'vaddpd' {AVX|AVX512_F+VL}.
2224    Vaddpd,
2225    /// Instruction 'vaddph' {AVX512_FP16+VL}.
2226    Vaddph,
2227    /// Instruction 'vaddps' {AVX|AVX512_F+VL}.
2228    Vaddps,
2229    /// Instruction 'vaddsd' {AVX|AVX512_F+VL}.
2230    Vaddsd,
2231    /// Instruction 'vaddsh' {AVX512_FP16+VL}.
2232    Vaddsh,
2233    /// Instruction 'vaddss' {AVX|AVX512_F+VL}.
2234    Vaddss,
2235    /// Instruction 'vaddsubpd' {AVX}.
2236    Vaddsubpd,
2237    /// Instruction 'vaddsubps' {AVX}.
2238    Vaddsubps,
2239    /// Instruction 'vaesdec' {AVX|AVX512_F+VL & AESNI|VAES}.
2240    Vaesdec,
2241    /// Instruction 'vaesdeclast' {AVX|AVX512_F+VL & AESNI|VAES}.
2242    Vaesdeclast,
2243    /// Instruction 'vaesenc' {AVX|AVX512_F+VL & AESNI|VAES}.
2244    Vaesenc,
2245    /// Instruction 'vaesenclast' {AVX|AVX512_F+VL & AESNI|VAES}.
2246    Vaesenclast,
2247    /// Instruction 'vaesimc' {AVX & AESNI}.
2248    Vaesimc,
2249    /// Instruction 'vaeskeygenassist' {AVX & AESNI}.
2250    Vaeskeygenassist,
2251    /// Instruction 'valignd' {AVX512_F+VL}.
2252    Valignd,
2253    /// Instruction 'valignq' {AVX512_F+VL}.
2254    Valignq,
2255    /// Instruction 'vandnpd' {AVX|AVX512_DQ+VL}.
2256    Vandnpd,
2257    /// Instruction 'vandnps' {AVX|AVX512_DQ+VL}.
2258    Vandnps,
2259    /// Instruction 'vandpd' {AVX|AVX512_DQ+VL}.
2260    Vandpd,
2261    /// Instruction 'vandps' {AVX|AVX512_DQ+VL}.
2262    Vandps,
2263    /// Instruction 'vbcstnebf162ps' {AVX_NE_CONVERT}.
2264    Vbcstnebf162ps,
2265    /// Instruction 'vbcstnesh2ps' {AVX_NE_CONVERT}.
2266    Vbcstnesh2ps,
2267    /// Instruction 'vblendmpd' {AVX512_F+VL}.
2268    Vblendmpd,
2269    /// Instruction 'vblendmps' {AVX512_F+VL}.
2270    Vblendmps,
2271    /// Instruction 'vblendpd' {AVX}.
2272    Vblendpd,
2273    /// Instruction 'vblendps' {AVX}.
2274    Vblendps,
2275    /// Instruction 'vblendvpd' {AVX}.
2276    Vblendvpd,
2277    /// Instruction 'vblendvps' {AVX}.
2278    Vblendvps,
2279    /// Instruction 'vbroadcastf128' {AVX}.
2280    Vbroadcastf128,
2281    /// Instruction 'vbroadcastf32x2' {AVX512_DQ+VL}.
2282    Vbroadcastf32x2,
2283    /// Instruction 'vbroadcastf32x4' {AVX512_F+VL}.
2284    Vbroadcastf32x4,
2285    /// Instruction 'vbroadcastf32x8' {AVX512_DQ+VL}.
2286    Vbroadcastf32x8,
2287    /// Instruction 'vbroadcastf64x2' {AVX512_DQ+VL}.
2288    Vbroadcastf64x2,
2289    /// Instruction 'vbroadcastf64x4' {AVX512_F+VL}.
2290    Vbroadcastf64x4,
2291    /// Instruction 'vbroadcasti128' {AVX2}.
2292    Vbroadcasti128,
2293    /// Instruction 'vbroadcasti32x2' {AVX512_DQ+VL}.
2294    Vbroadcasti32x2,
2295    /// Instruction 'vbroadcasti32x4' {AVX512_F+VL}.
2296    Vbroadcasti32x4,
2297    /// Instruction 'vbroadcasti32x8' {AVX512_DQ+VL}.
2298    Vbroadcasti32x8,
2299    /// Instruction 'vbroadcasti64x2' {AVX512_DQ+VL}.
2300    Vbroadcasti64x2,
2301    /// Instruction 'vbroadcasti64x4' {AVX512_F+VL}.
2302    Vbroadcasti64x4,
2303    /// Instruction 'vbroadcastsd' {AVX|AVX2|AVX512_F+VL}.
2304    Vbroadcastsd,
2305    /// Instruction 'vbroadcastss' {AVX|AVX2|AVX512_F+VL}.
2306    Vbroadcastss,
2307    /// Instruction 'vcmppd' {AVX|AVX512_F+VL}.
2308    Vcmppd,
2309    /// Instruction 'vcmpph' {AVX512_FP16+VL}.
2310    Vcmpph,
2311    /// Instruction 'vcmpps' {AVX|AVX512_F+VL}.
2312    Vcmpps,
2313    /// Instruction 'vcmpsd' {AVX|AVX512_F+VL}.
2314    Vcmpsd,
2315    /// Instruction 'vcmpsh' {AVX512_FP16+VL}.
2316    Vcmpsh,
2317    /// Instruction 'vcmpss' {AVX|AVX512_F+VL}.
2318    Vcmpss,
2319    /// Instruction 'vcomisd' {AVX|AVX512_F+VL}.
2320    Vcomisd,
2321    /// Instruction 'vcomish' {AVX512_FP16+VL}.
2322    Vcomish,
2323    /// Instruction 'vcomiss' {AVX|AVX512_F+VL}.
2324    Vcomiss,
2325    /// Instruction 'vcompresspd' {AVX512_F+VL}.
2326    Vcompresspd,
2327    /// Instruction 'vcompressps' {AVX512_F+VL}.
2328    Vcompressps,
2329    /// Instruction 'vcvtdq2pd' {AVX|AVX512_F+VL}.
2330    Vcvtdq2pd,
2331    /// Instruction 'vcvtdq2ph' {AVX512_FP16+VL}.
2332    Vcvtdq2ph,
2333    /// Instruction 'vcvtdq2ps' {AVX|AVX512_F+VL}.
2334    Vcvtdq2ps,
2335    /// Instruction 'vcvtne2ps2bf16' {AVX512_BF16+VL}.
2336    Vcvtne2ps2bf16,
2337    /// Instruction 'vcvtneebf162ps' {AVX_NE_CONVERT}.
2338    Vcvtneebf162ps,
2339    /// Instruction 'vcvtneeph2ps' {AVX_NE_CONVERT}.
2340    Vcvtneeph2ps,
2341    /// Instruction 'vcvtneobf162ps' {AVX_NE_CONVERT}.
2342    Vcvtneobf162ps,
2343    /// Instruction 'vcvtneoph2ps' {AVX_NE_CONVERT}.
2344    Vcvtneoph2ps,
2345    /// Instruction 'vcvtneps2bf16' {AVX_NE_CONVERT|AVX512_BF16+VL}.
2346    Vcvtneps2bf16,
2347    /// Instruction 'vcvtpd2dq' {AVX|AVX512_F+VL}.
2348    Vcvtpd2dq,
2349    /// Instruction 'vcvtpd2ph' {AVX512_FP16+VL}.
2350    Vcvtpd2ph,
2351    /// Instruction 'vcvtpd2ps' {AVX|AVX512_F+VL}.
2352    Vcvtpd2ps,
2353    /// Instruction 'vcvtpd2qq' {AVX512_DQ+VL}.
2354    Vcvtpd2qq,
2355    /// Instruction 'vcvtpd2udq' {AVX512_F+VL}.
2356    Vcvtpd2udq,
2357    /// Instruction 'vcvtpd2uqq' {AVX512_DQ+VL}.
2358    Vcvtpd2uqq,
2359    /// Instruction 'vcvtph2dq' {AVX512_FP16+VL}.
2360    Vcvtph2dq,
2361    /// Instruction 'vcvtph2pd' {AVX512_FP16+VL}.
2362    Vcvtph2pd,
2363    /// Instruction 'vcvtph2ps' {AVX512_F+VL & F16C}.
2364    Vcvtph2ps,
2365    /// Instruction 'vcvtph2psx' {AVX512_FP16+VL}.
2366    Vcvtph2psx,
2367    /// Instruction 'vcvtph2qq' {AVX512_FP16+VL}.
2368    Vcvtph2qq,
2369    /// Instruction 'vcvtph2udq' {AVX512_FP16+VL}.
2370    Vcvtph2udq,
2371    /// Instruction 'vcvtph2uqq' {AVX512_FP16+VL}.
2372    Vcvtph2uqq,
2373    /// Instruction 'vcvtph2uw' {AVX512_FP16+VL}.
2374    Vcvtph2uw,
2375    /// Instruction 'vcvtph2w' {AVX512_FP16+VL}.
2376    Vcvtph2w,
2377    /// Instruction 'vcvtps2dq' {AVX|AVX512_F+VL}.
2378    Vcvtps2dq,
2379    /// Instruction 'vcvtps2pd' {AVX|AVX512_F+VL}.
2380    Vcvtps2pd,
2381    /// Instruction 'vcvtps2ph' {AVX512_F+VL & F16C}.
2382    Vcvtps2ph,
2383    /// Instruction 'vcvtps2phx' {AVX512_FP16+VL}.
2384    Vcvtps2phx,
2385    /// Instruction 'vcvtps2qq' {AVX512_DQ+VL}.
2386    Vcvtps2qq,
2387    /// Instruction 'vcvtps2udq' {AVX512_F+VL}.
2388    Vcvtps2udq,
2389    /// Instruction 'vcvtps2uqq' {AVX512_DQ+VL}.
2390    Vcvtps2uqq,
2391    /// Instruction 'vcvtqq2pd' {AVX512_DQ+VL}.
2392    Vcvtqq2pd,
2393    /// Instruction 'vcvtqq2ph' {AVX512_FP16+VL}.
2394    Vcvtqq2ph,
2395    /// Instruction 'vcvtqq2ps' {AVX512_DQ+VL}.
2396    Vcvtqq2ps,
2397    /// Instruction 'vcvtsd2sh' {AVX512_FP16+VL}.
2398    Vcvtsd2sh,
2399    /// Instruction 'vcvtsd2si' {AVX|AVX512_F+VL}.
2400    Vcvtsd2si,
2401    /// Instruction 'vcvtsd2ss' {AVX|AVX512_F+VL}.
2402    Vcvtsd2ss,
2403    /// Instruction 'vcvtsd2usi' {AVX512_F+VL}.
2404    Vcvtsd2usi,
2405    /// Instruction 'vcvtsh2sd' {AVX512_FP16+VL}.
2406    Vcvtsh2sd,
2407    /// Instruction 'vcvtsh2si' {AVX512_FP16+VL}.
2408    Vcvtsh2si,
2409    /// Instruction 'vcvtsh2ss' {AVX512_FP16+VL}.
2410    Vcvtsh2ss,
2411    /// Instruction 'vcvtsh2usi' {AVX512_FP16+VL}.
2412    Vcvtsh2usi,
2413    /// Instruction 'vcvtsi2sd' {AVX|AVX512_F+VL}.
2414    Vcvtsi2sd,
2415    /// Instruction 'vcvtsi2sh' {AVX512_FP16+VL}.
2416    Vcvtsi2sh,
2417    /// Instruction 'vcvtsi2ss' {AVX|AVX512_F+VL}.
2418    Vcvtsi2ss,
2419    /// Instruction 'vcvtss2sd' {AVX|AVX512_F+VL}.
2420    Vcvtss2sd,
2421    /// Instruction 'vcvtss2sh' {AVX512_FP16+VL}.
2422    Vcvtss2sh,
2423    /// Instruction 'vcvtss2si' {AVX|AVX512_F+VL}.
2424    Vcvtss2si,
2425    /// Instruction 'vcvtss2usi' {AVX512_F+VL}.
2426    Vcvtss2usi,
2427    /// Instruction 'vcvttpd2dq' {AVX|AVX512_F+VL}.
2428    Vcvttpd2dq,
2429    /// Instruction 'vcvttpd2qq' {AVX512_F+VL}.
2430    Vcvttpd2qq,
2431    /// Instruction 'vcvttpd2udq' {AVX512_F+VL}.
2432    Vcvttpd2udq,
2433    /// Instruction 'vcvttpd2uqq' {AVX512_DQ+VL}.
2434    Vcvttpd2uqq,
2435    /// Instruction 'vcvttph2dq' {AVX512_FP16+VL}.
2436    Vcvttph2dq,
2437    /// Instruction 'vcvttph2qq' {AVX512_FP16+VL}.
2438    Vcvttph2qq,
2439    /// Instruction 'vcvttph2udq' {AVX512_FP16+VL}.
2440    Vcvttph2udq,
2441    /// Instruction 'vcvttph2uqq' {AVX512_FP16+VL}.
2442    Vcvttph2uqq,
2443    /// Instruction 'vcvttph2uw' {AVX512_FP16+VL}.
2444    Vcvttph2uw,
2445    /// Instruction 'vcvttph2w' {AVX512_FP16+VL}.
2446    Vcvttph2w,
2447    /// Instruction 'vcvttps2dq' {AVX|AVX512_F+VL}.
2448    Vcvttps2dq,
2449    /// Instruction 'vcvttps2qq' {AVX512_DQ+VL}.
2450    Vcvttps2qq,
2451    /// Instruction 'vcvttps2udq' {AVX512_F+VL}.
2452    Vcvttps2udq,
2453    /// Instruction 'vcvttps2uqq' {AVX512_DQ+VL}.
2454    Vcvttps2uqq,
2455    /// Instruction 'vcvttsd2si' {AVX|AVX512_F+VL}.
2456    Vcvttsd2si,
2457    /// Instruction 'vcvttsd2usi' {AVX512_F+VL}.
2458    Vcvttsd2usi,
2459    /// Instruction 'vcvttsh2si' {AVX512_FP16+VL}.
2460    Vcvttsh2si,
2461    /// Instruction 'vcvttsh2usi' {AVX512_FP16+VL}.
2462    Vcvttsh2usi,
2463    /// Instruction 'vcvttss2si' {AVX|AVX512_F+VL}.
2464    Vcvttss2si,
2465    /// Instruction 'vcvttss2usi' {AVX512_F+VL}.
2466    Vcvttss2usi,
2467    /// Instruction 'vcvtudq2pd' {AVX512_F+VL}.
2468    Vcvtudq2pd,
2469    /// Instruction 'vcvtudq2ph' {AVX512_FP16+VL}.
2470    Vcvtudq2ph,
2471    /// Instruction 'vcvtudq2ps' {AVX512_F+VL}.
2472    Vcvtudq2ps,
2473    /// Instruction 'vcvtuqq2pd' {AVX512_DQ+VL}.
2474    Vcvtuqq2pd,
2475    /// Instruction 'vcvtuqq2ph' {AVX512_FP16+VL}.
2476    Vcvtuqq2ph,
2477    /// Instruction 'vcvtuqq2ps' {AVX512_DQ+VL}.
2478    Vcvtuqq2ps,
2479    /// Instruction 'vcvtusi2sd' {AVX512_F+VL}.
2480    Vcvtusi2sd,
2481    /// Instruction 'vcvtusi2sh' {AVX512_FP16+VL}.
2482    Vcvtusi2sh,
2483    /// Instruction 'vcvtusi2ss' {AVX512_F+VL}.
2484    Vcvtusi2ss,
2485    /// Instruction 'vcvtuw2ph' {AVX512_FP16+VL}.
2486    Vcvtuw2ph,
2487    /// Instruction 'vcvtw2ph' {AVX512_FP16+VL}.
2488    Vcvtw2ph,
2489    /// Instruction 'vdbpsadbw' {AVX512_BW+VL}.
2490    Vdbpsadbw,
2491    /// Instruction 'vdivpd' {AVX|AVX512_F+VL}.
2492    Vdivpd,
2493    /// Instruction 'vdivph' {AVX512_FP16+VL}.
2494    Vdivph,
2495    /// Instruction 'vdivps' {AVX|AVX512_F+VL}.
2496    Vdivps,
2497    /// Instruction 'vdivsd' {AVX|AVX512_F+VL}.
2498    Vdivsd,
2499    /// Instruction 'vdivsh' {AVX512_FP16+VL}.
2500    Vdivsh,
2501    /// Instruction 'vdivss' {AVX|AVX512_F+VL}.
2502    Vdivss,
2503    /// Instruction 'vdpbf16ps' {AVX512_BF16+VL}.
2504    Vdpbf16ps,
2505    /// Instruction 'vdppd' {AVX}.
2506    Vdppd,
2507    /// Instruction 'vdpps' {AVX}.
2508    Vdpps,
2509    /// Instruction 'verr'.
2510    Verr,
2511    /// Instruction 'verw'.
2512    Verw,
2513    /// Instruction 'vexpandpd' {AVX512_F+VL}.
2514    Vexpandpd,
2515    /// Instruction 'vexpandps' {AVX512_F+VL}.
2516    Vexpandps,
2517    /// Instruction 'vextractf128' {AVX}.
2518    Vextractf128,
2519    /// Instruction 'vextractf32x4' {AVX512_F+VL}.
2520    Vextractf32x4,
2521    /// Instruction 'vextractf32x8' {AVX512_DQ+VL}.
2522    Vextractf32x8,
2523    /// Instruction 'vextractf64x2' {AVX512_DQ+VL}.
2524    Vextractf64x2,
2525    /// Instruction 'vextractf64x4' {AVX512_F+VL}.
2526    Vextractf64x4,
2527    /// Instruction 'vextracti128' {AVX2}.
2528    Vextracti128,
2529    /// Instruction 'vextracti32x4' {AVX512_F+VL}.
2530    Vextracti32x4,
2531    /// Instruction 'vextracti32x8' {AVX512_DQ+VL}.
2532    Vextracti32x8,
2533    /// Instruction 'vextracti64x2' {AVX512_DQ+VL}.
2534    Vextracti64x2,
2535    /// Instruction 'vextracti64x4' {AVX512_F+VL}.
2536    Vextracti64x4,
2537    /// Instruction 'vextractps' {AVX|AVX512_F+VL}.
2538    Vextractps,
2539    /// Instruction 'vfcmaddcph' {AVX512_FP16+VL}.
2540    Vfcmaddcph,
2541    /// Instruction 'vfcmaddcsh' {AVX512_FP16+VL}.
2542    Vfcmaddcsh,
2543    /// Instruction 'vfcmulcph' {AVX512_FP16+VL}.
2544    Vfcmulcph,
2545    /// Instruction 'vfcmulcsh' {AVX512_FP16+VL}.
2546    Vfcmulcsh,
2547    /// Instruction 'vfixupimmpd' {AVX512_F+VL}.
2548    Vfixupimmpd,
2549    /// Instruction 'vfixupimmps' {AVX512_F+VL}.
2550    Vfixupimmps,
2551    /// Instruction 'vfixupimmsd' {AVX512_F+VL}.
2552    Vfixupimmsd,
2553    /// Instruction 'vfixupimmss' {AVX512_F+VL}.
2554    Vfixupimmss,
2555    /// Instruction 'vfmadd132pd' {FMA|AVX512_F+VL}.
2556    Vfmadd132pd,
2557    /// Instruction 'vfmadd132ph' {AVX512_FP16+VL}.
2558    Vfmadd132ph,
2559    /// Instruction 'vfmadd132ps' {FMA|AVX512_F+VL}.
2560    Vfmadd132ps,
2561    /// Instruction 'vfmadd132sd' {FMA|AVX512_F+VL}.
2562    Vfmadd132sd,
2563    /// Instruction 'vfmadd132sh' {AVX512_FP16+VL}.
2564    Vfmadd132sh,
2565    /// Instruction 'vfmadd132ss' {FMA|AVX512_F+VL}.
2566    Vfmadd132ss,
2567    /// Instruction 'vfmadd213pd' {FMA|AVX512_F+VL}.
2568    Vfmadd213pd,
2569    /// Instruction 'vfmadd213ph' {AVX512_FP16+VL}.
2570    Vfmadd213ph,
2571    /// Instruction 'vfmadd213ps' {FMA|AVX512_F+VL}.
2572    Vfmadd213ps,
2573    /// Instruction 'vfmadd213sd' {FMA|AVX512_F+VL}.
2574    Vfmadd213sd,
2575    /// Instruction 'vfmadd213sh' {AVX512_FP16+VL}.
2576    Vfmadd213sh,
2577    /// Instruction 'vfmadd213ss' {FMA|AVX512_F+VL}.
2578    Vfmadd213ss,
2579    /// Instruction 'vfmadd231pd' {FMA|AVX512_F+VL}.
2580    Vfmadd231pd,
2581    /// Instruction 'vfmadd231ph' {AVX512_FP16+VL}.
2582    Vfmadd231ph,
2583    /// Instruction 'vfmadd231ps' {FMA|AVX512_F+VL}.
2584    Vfmadd231ps,
2585    /// Instruction 'vfmadd231sd' {FMA|AVX512_F+VL}.
2586    Vfmadd231sd,
2587    /// Instruction 'vfmadd231sh' {AVX512_FP16+VL}.
2588    Vfmadd231sh,
2589    /// Instruction 'vfmadd231ss' {FMA|AVX512_F+VL}.
2590    Vfmadd231ss,
2591    /// Instruction 'vfmaddcph' {AVX512_FP16+VL}.
2592    Vfmaddcph,
2593    /// Instruction 'vfmaddcsh' {AVX512_FP16+VL}.
2594    Vfmaddcsh,
2595    /// Instruction 'vfmaddpd' {FMA4}.
2596    Vfmaddpd,
2597    /// Instruction 'vfmaddps' {FMA4}.
2598    Vfmaddps,
2599    /// Instruction 'vfmaddsd' {FMA4}.
2600    Vfmaddsd,
2601    /// Instruction 'vfmaddss' {FMA4}.
2602    Vfmaddss,
2603    /// Instruction 'vfmaddsub132pd' {FMA|AVX512_F+VL}.
2604    Vfmaddsub132pd,
2605    /// Instruction 'vfmaddsub132ph' {AVX512_FP16+VL}.
2606    Vfmaddsub132ph,
2607    /// Instruction 'vfmaddsub132ps' {FMA|AVX512_F+VL}.
2608    Vfmaddsub132ps,
2609    /// Instruction 'vfmaddsub213pd' {FMA|AVX512_F+VL}.
2610    Vfmaddsub213pd,
2611    /// Instruction 'vfmaddsub213ph' {AVX512_FP16+VL}.
2612    Vfmaddsub213ph,
2613    /// Instruction 'vfmaddsub213ps' {FMA|AVX512_F+VL}.
2614    Vfmaddsub213ps,
2615    /// Instruction 'vfmaddsub231pd' {FMA|AVX512_F+VL}.
2616    Vfmaddsub231pd,
2617    /// Instruction 'vfmaddsub231ph' {AVX512_FP16+VL}.
2618    Vfmaddsub231ph,
2619    /// Instruction 'vfmaddsub231ps' {FMA|AVX512_F+VL}.
2620    Vfmaddsub231ps,
2621    /// Instruction 'vfmaddsubpd' {FMA4}.
2622    Vfmaddsubpd,
2623    /// Instruction 'vfmaddsubps' {FMA4}.
2624    Vfmaddsubps,
2625    /// Instruction 'vfmsub132pd' {FMA|AVX512_F+VL}.
2626    Vfmsub132pd,
2627    /// Instruction 'vfmsub132ph' {AVX512_FP16+VL}.
2628    Vfmsub132ph,
2629    /// Instruction 'vfmsub132ps' {FMA|AVX512_F+VL}.
2630    Vfmsub132ps,
2631    /// Instruction 'vfmsub132sd' {FMA|AVX512_F+VL}.
2632    Vfmsub132sd,
2633    /// Instruction 'vfmsub132sh' {AVX512_FP16+VL}.
2634    Vfmsub132sh,
2635    /// Instruction 'vfmsub132ss' {FMA|AVX512_F+VL}.
2636    Vfmsub132ss,
2637    /// Instruction 'vfmsub213pd' {FMA|AVX512_F+VL}.
2638    Vfmsub213pd,
2639    /// Instruction 'vfmsub213ph' {AVX512_FP16+VL}.
2640    Vfmsub213ph,
2641    /// Instruction 'vfmsub213ps' {FMA|AVX512_F+VL}.
2642    Vfmsub213ps,
2643    /// Instruction 'vfmsub213sd' {FMA|AVX512_F+VL}.
2644    Vfmsub213sd,
2645    /// Instruction 'vfmsub213sh' {AVX512_FP16+VL}.
2646    Vfmsub213sh,
2647    /// Instruction 'vfmsub213ss' {FMA|AVX512_F+VL}.
2648    Vfmsub213ss,
2649    /// Instruction 'vfmsub231pd' {FMA|AVX512_F+VL}.
2650    Vfmsub231pd,
2651    /// Instruction 'vfmsub231ph' {AVX512_FP16+VL}.
2652    Vfmsub231ph,
2653    /// Instruction 'vfmsub231ps' {FMA|AVX512_F+VL}.
2654    Vfmsub231ps,
2655    /// Instruction 'vfmsub231sd' {FMA|AVX512_F+VL}.
2656    Vfmsub231sd,
2657    /// Instruction 'vfmsub231sh' {AVX512_FP16+VL}.
2658    Vfmsub231sh,
2659    /// Instruction 'vfmsub231ss' {FMA|AVX512_F+VL}.
2660    Vfmsub231ss,
2661    /// Instruction 'vfmsubadd132pd' {FMA|AVX512_F+VL}.
2662    Vfmsubadd132pd,
2663    /// Instruction 'vfmsubadd132ph' {AVX512_FP16+VL}.
2664    Vfmsubadd132ph,
2665    /// Instruction 'vfmsubadd132ps' {FMA|AVX512_F+VL}.
2666    Vfmsubadd132ps,
2667    /// Instruction 'vfmsubadd213pd' {FMA|AVX512_F+VL}.
2668    Vfmsubadd213pd,
2669    /// Instruction 'vfmsubadd213ph' {AVX512_FP16+VL}.
2670    Vfmsubadd213ph,
2671    /// Instruction 'vfmsubadd213ps' {FMA|AVX512_F+VL}.
2672    Vfmsubadd213ps,
2673    /// Instruction 'vfmsubadd231pd' {FMA|AVX512_F+VL}.
2674    Vfmsubadd231pd,
2675    /// Instruction 'vfmsubadd231ph' {AVX512_FP16+VL}.
2676    Vfmsubadd231ph,
2677    /// Instruction 'vfmsubadd231ps' {FMA|AVX512_F+VL}.
2678    Vfmsubadd231ps,
2679    /// Instruction 'vfmsubaddpd' {FMA4}.
2680    Vfmsubaddpd,
2681    /// Instruction 'vfmsubaddps' {FMA4}.
2682    Vfmsubaddps,
2683    /// Instruction 'vfmsubpd' {FMA4}.
2684    Vfmsubpd,
2685    /// Instruction 'vfmsubps' {FMA4}.
2686    Vfmsubps,
2687    /// Instruction 'vfmsubsd' {FMA4}.
2688    Vfmsubsd,
2689    /// Instruction 'vfmsubss' {FMA4}.
2690    Vfmsubss,
2691    /// Instruction 'vfmulcph' {AVX512_FP16+VL}.
2692    Vfmulcph,
2693    /// Instruction 'vfmulcsh' {AVX512_FP16+VL}.
2694    Vfmulcsh,
2695    /// Instruction 'vfnmadd132pd' {FMA|AVX512_F+VL}.
2696    Vfnmadd132pd,
2697    /// Instruction 'vfnmadd132ph' {AVX512_FP16+VL}.
2698    Vfnmadd132ph,
2699    /// Instruction 'vfnmadd132ps' {FMA|AVX512_F+VL}.
2700    Vfnmadd132ps,
2701    /// Instruction 'vfnmadd132sd' {FMA|AVX512_F+VL}.
2702    Vfnmadd132sd,
2703    /// Instruction 'vfnmadd132sh' {AVX512_FP16+VL}.
2704    Vfnmadd132sh,
2705    /// Instruction 'vfnmadd132ss' {FMA|AVX512_F+VL}.
2706    Vfnmadd132ss,
2707    /// Instruction 'vfnmadd213pd' {FMA|AVX512_F+VL}.
2708    Vfnmadd213pd,
2709    /// Instruction 'vfnmadd213ph' {AVX512_FP16+VL}.
2710    Vfnmadd213ph,
2711    /// Instruction 'vfnmadd213ps' {FMA|AVX512_F+VL}.
2712    Vfnmadd213ps,
2713    /// Instruction 'vfnmadd213sd' {FMA|AVX512_F+VL}.
2714    Vfnmadd213sd,
2715    /// Instruction 'vfnmadd213sh' {AVX512_FP16+VL}.
2716    Vfnmadd213sh,
2717    /// Instruction 'vfnmadd213ss' {FMA|AVX512_F+VL}.
2718    Vfnmadd213ss,
2719    /// Instruction 'vfnmadd231pd' {FMA|AVX512_F+VL}.
2720    Vfnmadd231pd,
2721    /// Instruction 'vfnmadd231ph' {AVX512_FP16+VL}.
2722    Vfnmadd231ph,
2723    /// Instruction 'vfnmadd231ps' {FMA|AVX512_F+VL}.
2724    Vfnmadd231ps,
2725    /// Instruction 'vfnmadd231sd' {FMA|AVX512_F+VL}.
2726    Vfnmadd231sd,
2727    /// Instruction 'vfnmadd231sh' {AVX512_FP16+VL}.
2728    Vfnmadd231sh,
2729    /// Instruction 'vfnmadd231ss' {FMA|AVX512_F+VL}.
2730    Vfnmadd231ss,
2731    /// Instruction 'vfnmaddpd' {FMA4}.
2732    Vfnmaddpd,
2733    /// Instruction 'vfnmaddps' {FMA4}.
2734    Vfnmaddps,
2735    /// Instruction 'vfnmaddsd' {FMA4}.
2736    Vfnmaddsd,
2737    /// Instruction 'vfnmaddss' {FMA4}.
2738    Vfnmaddss,
2739    /// Instruction 'vfnmsub132pd' {FMA|AVX512_F+VL}.
2740    Vfnmsub132pd,
2741    /// Instruction 'vfnmsub132ph' {AVX512_FP16+VL}.
2742    Vfnmsub132ph,
2743    /// Instruction 'vfnmsub132ps' {FMA|AVX512_F+VL}.
2744    Vfnmsub132ps,
2745    /// Instruction 'vfnmsub132sd' {FMA|AVX512_F+VL}.
2746    Vfnmsub132sd,
2747    /// Instruction 'vfnmsub132sh' {AVX512_FP16+VL}.
2748    Vfnmsub132sh,
2749    /// Instruction 'vfnmsub132ss' {FMA|AVX512_F+VL}.
2750    Vfnmsub132ss,
2751    /// Instruction 'vfnmsub213pd' {FMA|AVX512_F+VL}.
2752    Vfnmsub213pd,
2753    /// Instruction 'vfnmsub213ph' {AVX512_FP16+VL}.
2754    Vfnmsub213ph,
2755    /// Instruction 'vfnmsub213ps' {FMA|AVX512_F+VL}.
2756    Vfnmsub213ps,
2757    /// Instruction 'vfnmsub213sd' {FMA|AVX512_F+VL}.
2758    Vfnmsub213sd,
2759    /// Instruction 'vfnmsub213sh' {AVX512_FP16+VL}.
2760    Vfnmsub213sh,
2761    /// Instruction 'vfnmsub213ss' {FMA|AVX512_F+VL}.
2762    Vfnmsub213ss,
2763    /// Instruction 'vfnmsub231pd' {FMA|AVX512_F+VL}.
2764    Vfnmsub231pd,
2765    /// Instruction 'vfnmsub231ph' {AVX512_FP16+VL}.
2766    Vfnmsub231ph,
2767    /// Instruction 'vfnmsub231ps' {FMA|AVX512_F+VL}.
2768    Vfnmsub231ps,
2769    /// Instruction 'vfnmsub231sd' {FMA|AVX512_F+VL}.
2770    Vfnmsub231sd,
2771    /// Instruction 'vfnmsub231sh' {AVX512_FP16+VL}.
2772    Vfnmsub231sh,
2773    /// Instruction 'vfnmsub231ss' {FMA|AVX512_F+VL}.
2774    Vfnmsub231ss,
2775    /// Instruction 'vfnmsubpd' {FMA4}.
2776    Vfnmsubpd,
2777    /// Instruction 'vfnmsubps' {FMA4}.
2778    Vfnmsubps,
2779    /// Instruction 'vfnmsubsd' {FMA4}.
2780    Vfnmsubsd,
2781    /// Instruction 'vfnmsubss' {FMA4}.
2782    Vfnmsubss,
2783    /// Instruction 'vfpclasspd' {AVX512_DQ+VL}.
2784    Vfpclasspd,
2785    /// Instruction 'vfpclassph' {AVX512_FP16+VL}.
2786    Vfpclassph,
2787    /// Instruction 'vfpclassps' {AVX512_DQ+VL}.
2788    Vfpclassps,
2789    /// Instruction 'vfpclasssd' {AVX512_DQ+VL}.
2790    Vfpclasssd,
2791    /// Instruction 'vfpclasssh' {AVX512_FP16+VL}.
2792    Vfpclasssh,
2793    /// Instruction 'vfpclassss' {AVX512_DQ+VL}.
2794    Vfpclassss,
2795    /// Instruction 'vfrczpd' {XOP}.
2796    Vfrczpd,
2797    /// Instruction 'vfrczps' {XOP}.
2798    Vfrczps,
2799    /// Instruction 'vfrczsd' {XOP}.
2800    Vfrczsd,
2801    /// Instruction 'vfrczss' {XOP}.
2802    Vfrczss,
2803    /// Instruction 'vgatherdpd' {AVX2|AVX512_F+VL}.
2804    Vgatherdpd,
2805    /// Instruction 'vgatherdps' {AVX2|AVX512_F+VL}.
2806    Vgatherdps,
2807    /// Instruction 'vgatherqpd' {AVX2|AVX512_F+VL}.
2808    Vgatherqpd,
2809    /// Instruction 'vgatherqps' {AVX2|AVX512_F+VL}.
2810    Vgatherqps,
2811    /// Instruction 'vgetexppd' {AVX512_F+VL}.
2812    Vgetexppd,
2813    /// Instruction 'vgetexpph' {AVX512_FP16+VL}.
2814    Vgetexpph,
2815    /// Instruction 'vgetexpps' {AVX512_F+VL}.
2816    Vgetexpps,
2817    /// Instruction 'vgetexpsd' {AVX512_F+VL}.
2818    Vgetexpsd,
2819    /// Instruction 'vgetexpsh' {AVX512_FP16+VL}.
2820    Vgetexpsh,
2821    /// Instruction 'vgetexpss' {AVX512_F+VL}.
2822    Vgetexpss,
2823    /// Instruction 'vgetmantpd' {AVX512_F+VL}.
2824    Vgetmantpd,
2825    /// Instruction 'vgetmantph' {AVX512_FP16+VL}.
2826    Vgetmantph,
2827    /// Instruction 'vgetmantps' {AVX512_F+VL}.
2828    Vgetmantps,
2829    /// Instruction 'vgetmantsd' {AVX512_F+VL}.
2830    Vgetmantsd,
2831    /// Instruction 'vgetmantsh' {AVX512_FP16+VL}.
2832    Vgetmantsh,
2833    /// Instruction 'vgetmantss' {AVX512_F+VL}.
2834    Vgetmantss,
2835    /// Instruction 'vgf2p8affineinvqb' {AVX|AVX512_F+VL & GFNI}.
2836    Vgf2p8affineinvqb,
2837    /// Instruction 'vgf2p8affineqb' {AVX|AVX512_F+VL & GFNI}.
2838    Vgf2p8affineqb,
2839    /// Instruction 'vgf2p8mulb' {AVX|AVX512_F+VL & GFNI}.
2840    Vgf2p8mulb,
2841    /// Instruction 'vhaddpd' {AVX}.
2842    Vhaddpd,
2843    /// Instruction 'vhaddps' {AVX}.
2844    Vhaddps,
2845    /// Instruction 'vhsubpd' {AVX}.
2846    Vhsubpd,
2847    /// Instruction 'vhsubps' {AVX}.
2848    Vhsubps,
2849    /// Instruction 'vinsertf128' {AVX}.
2850    Vinsertf128,
2851    /// Instruction 'vinsertf32x4' {AVX512_F+VL}.
2852    Vinsertf32x4,
2853    /// Instruction 'vinsertf32x8' {AVX512_DQ+VL}.
2854    Vinsertf32x8,
2855    /// Instruction 'vinsertf64x2' {AVX512_DQ+VL}.
2856    Vinsertf64x2,
2857    /// Instruction 'vinsertf64x4' {AVX512_F+VL}.
2858    Vinsertf64x4,
2859    /// Instruction 'vinserti128' {AVX2}.
2860    Vinserti128,
2861    /// Instruction 'vinserti32x4' {AVX512_F+VL}.
2862    Vinserti32x4,
2863    /// Instruction 'vinserti32x8' {AVX512_DQ+VL}.
2864    Vinserti32x8,
2865    /// Instruction 'vinserti64x2' {AVX512_DQ+VL}.
2866    Vinserti64x2,
2867    /// Instruction 'vinserti64x4' {AVX512_F+VL}.
2868    Vinserti64x4,
2869    /// Instruction 'vinsertps' {AVX|AVX512_F+VL}.
2870    Vinsertps,
2871    /// Instruction 'vlddqu' {AVX}.
2872    Vlddqu,
2873    /// Instruction 'vldmxcsr' {AVX}.
2874    Vldmxcsr,
2875    /// Instruction 'vmaskmovdqu' {AVX}.
2876    Vmaskmovdqu,
2877    /// Instruction 'vmaskmovpd' {AVX}.
2878    Vmaskmovpd,
2879    /// Instruction 'vmaskmovps' {AVX}.
2880    Vmaskmovps,
2881    /// Instruction 'vmaxpd' {AVX|AVX512_F+VL}.
2882    Vmaxpd,
2883    /// Instruction 'vmaxph' {AVX512_FP16+VL}.
2884    Vmaxph,
2885    /// Instruction 'vmaxps' {AVX|AVX512_F+VL}.
2886    Vmaxps,
2887    /// Instruction 'vmaxsd' {AVX|AVX512_F+VL}.
2888    Vmaxsd,
2889    /// Instruction 'vmaxsh' {AVX512_FP16+VL}.
2890    Vmaxsh,
2891    /// Instruction 'vmaxss' {AVX|AVX512_F+VL}.
2892    Vmaxss,
2893    /// Instruction 'vmcall' {VMX}.
2894    Vmcall,
2895    /// Instruction 'vmclear' {VMX}.
2896    Vmclear,
2897    /// Instruction 'vmfunc' {VMX}.
2898    Vmfunc,
2899    /// Instruction 'vmgexit' {SEV_ES}.
2900    Vmgexit,
2901    /// Instruction 'vminpd' {AVX|AVX512_F+VL}.
2902    Vminpd,
2903    /// Instruction 'vminph' {AVX512_FP16+VL}.
2904    Vminph,
2905    /// Instruction 'vminps' {AVX|AVX512_F+VL}.
2906    Vminps,
2907    /// Instruction 'vminsd' {AVX|AVX512_F+VL}.
2908    Vminsd,
2909    /// Instruction 'vminsh' {AVX512_FP16+VL}.
2910    Vminsh,
2911    /// Instruction 'vminss' {AVX|AVX512_F+VL}.
2912    Vminss,
2913    /// Instruction 'vmlaunch' {VMX}.
2914    Vmlaunch,
2915    /// Instruction 'vmload' {SVM}.
2916    Vmload,
2917    /// Instruction 'vmmcall' {SVM}.
2918    Vmmcall,
2919    /// Instruction 'vmovapd' {AVX|AVX512_F+VL}.
2920    Vmovapd,
2921    /// Instruction 'vmovaps' {AVX|AVX512_F+VL}.
2922    Vmovaps,
2923    /// Instruction 'vmovd' {AVX|AVX512_F+VL}.
2924    Vmovd,
2925    /// Instruction 'vmovddup' {AVX|AVX512_F+VL}.
2926    Vmovddup,
2927    /// Instruction 'vmovdqa' {AVX}.
2928    Vmovdqa,
2929    /// Instruction 'vmovdqa32' {AVX512_F+VL}.
2930    Vmovdqa32,
2931    /// Instruction 'vmovdqa64' {AVX512_F+VL}.
2932    Vmovdqa64,
2933    /// Instruction 'vmovdqu' {AVX}.
2934    Vmovdqu,
2935    /// Instruction 'vmovdqu16' {AVX512_BW+VL}.
2936    Vmovdqu16,
2937    /// Instruction 'vmovdqu32' {AVX512_F+VL}.
2938    Vmovdqu32,
2939    /// Instruction 'vmovdqu64' {AVX512_F+VL}.
2940    Vmovdqu64,
2941    /// Instruction 'vmovdqu8' {AVX512_BW+VL}.
2942    Vmovdqu8,
2943    /// Instruction 'vmovhlps' {AVX|AVX512_F+VL}.
2944    Vmovhlps,
2945    /// Instruction 'vmovhpd' {AVX|AVX512_F+VL}.
2946    Vmovhpd,
2947    /// Instruction 'vmovhps' {AVX|AVX512_F+VL}.
2948    Vmovhps,
2949    /// Instruction 'vmovlhps' {AVX|AVX512_F+VL}.
2950    Vmovlhps,
2951    /// Instruction 'vmovlpd' {AVX|AVX512_F+VL}.
2952    Vmovlpd,
2953    /// Instruction 'vmovlps' {AVX|AVX512_F+VL}.
2954    Vmovlps,
2955    /// Instruction 'vmovmskpd' {AVX}.
2956    Vmovmskpd,
2957    /// Instruction 'vmovmskps' {AVX}.
2958    Vmovmskps,
2959    /// Instruction 'vmovntdq' {AVX|AVX512_F+VL}.
2960    Vmovntdq,
2961    /// Instruction 'vmovntdqa' {AVX|AVX2|AVX512_F+VL}.
2962    Vmovntdqa,
2963    /// Instruction 'vmovntpd' {AVX|AVX512_F+VL}.
2964    Vmovntpd,
2965    /// Instruction 'vmovntps' {AVX|AVX512_F+VL}.
2966    Vmovntps,
2967    /// Instruction 'vmovq' {AVX|AVX512_F+VL}.
2968    Vmovq,
2969    /// Instruction 'vmovsd' {AVX|AVX512_F+VL}.
2970    Vmovsd,
2971    /// Instruction 'vmovsh' {AVX512_FP16+VL}.
2972    Vmovsh,
2973    /// Instruction 'vmovshdup' {AVX|AVX512_F+VL}.
2974    Vmovshdup,
2975    /// Instruction 'vmovsldup' {AVX|AVX512_F+VL}.
2976    Vmovsldup,
2977    /// Instruction 'vmovss' {AVX|AVX512_F+VL}.
2978    Vmovss,
2979    /// Instruction 'vmovupd' {AVX|AVX512_F+VL}.
2980    Vmovupd,
2981    /// Instruction 'vmovups' {AVX|AVX512_F+VL}.
2982    Vmovups,
2983    /// Instruction 'vmovw' {AVX512_FP16+VL}.
2984    Vmovw,
2985    /// Instruction 'vmpsadbw' {AVX|AVX2}.
2986    Vmpsadbw,
2987    /// Instruction 'vmptrld' {VMX}.
2988    Vmptrld,
2989    /// Instruction 'vmptrst' {VMX}.
2990    Vmptrst,
2991    /// Instruction 'vmread' {VMX}.
2992    Vmread,
2993    /// Instruction 'vmresume' {VMX}.
2994    Vmresume,
2995    /// Instruction 'vmrun' {SVM}.
2996    Vmrun,
2997    /// Instruction 'vmsave' {SVM}.
2998    Vmsave,
2999    /// Instruction 'vmulpd' {AVX|AVX512_F+VL}.
3000    Vmulpd,
3001    /// Instruction 'vmulph' {AVX512_FP16+VL}.
3002    Vmulph,
3003    /// Instruction 'vmulps' {AVX|AVX512_F+VL}.
3004    Vmulps,
3005    /// Instruction 'vmulsd' {AVX|AVX512_F+VL}.
3006    Vmulsd,
3007    /// Instruction 'vmulsh' {AVX512_FP16+VL}.
3008    Vmulsh,
3009    /// Instruction 'vmulss' {AVX|AVX512_F+VL}.
3010    Vmulss,
3011    /// Instruction 'vmwrite' {VMX}.
3012    Vmwrite,
3013    /// Instruction 'vmxoff' {VMX}.
3014    Vmxoff,
3015    /// Instruction 'vmxon' {VMX}.
3016    Vmxon,
3017    /// Instruction 'vorpd' {AVX|AVX512_DQ+VL}.
3018    Vorpd,
3019    /// Instruction 'vorps' {AVX|AVX512_DQ+VL}.
3020    Vorps,
3021    /// Instruction 'vp2intersectd' {AVX512_VP2INTERSECT+VL}.
3022    Vp2intersectd,
3023    /// Instruction 'vp2intersectq' {AVX512_VP2INTERSECT+VL}.
3024    Vp2intersectq,
3025    /// Instruction 'vpabsb' {AVX|AVX2|AVX512_BW+VL}.
3026    Vpabsb,
3027    /// Instruction 'vpabsd' {AVX|AVX2|AVX512_F+VL}.
3028    Vpabsd,
3029    /// Instruction 'vpabsq' {AVX512_F+VL}.
3030    Vpabsq,
3031    /// Instruction 'vpabsw' {AVX|AVX2|AVX512_BW+VL}.
3032    Vpabsw,
3033    /// Instruction 'vpackssdw' {AVX|AVX2|AVX512_BW+VL}.
3034    Vpackssdw,
3035    /// Instruction 'vpacksswb' {AVX|AVX2|AVX512_BW+VL}.
3036    Vpacksswb,
3037    /// Instruction 'vpackusdw' {AVX|AVX2|AVX512_BW+VL}.
3038    Vpackusdw,
3039    /// Instruction 'vpackuswb' {AVX|AVX2|AVX512_BW+VL}.
3040    Vpackuswb,
3041    /// Instruction 'vpaddb' {AVX|AVX2|AVX512_BW+VL}.
3042    Vpaddb,
3043    /// Instruction 'vpaddd' {AVX|AVX2|AVX512_F+VL}.
3044    Vpaddd,
3045    /// Instruction 'vpaddq' {AVX|AVX2|AVX512_F+VL}.
3046    Vpaddq,
3047    /// Instruction 'vpaddsb' {AVX|AVX2|AVX512_BW+VL}.
3048    Vpaddsb,
3049    /// Instruction 'vpaddsw' {AVX|AVX2|AVX512_BW+VL}.
3050    Vpaddsw,
3051    /// Instruction 'vpaddusb' {AVX|AVX2|AVX512_BW+VL}.
3052    Vpaddusb,
3053    /// Instruction 'vpaddusw' {AVX|AVX2|AVX512_BW+VL}.
3054    Vpaddusw,
3055    /// Instruction 'vpaddw' {AVX|AVX2|AVX512_BW+VL}.
3056    Vpaddw,
3057    /// Instruction 'vpalignr' {AVX|AVX2|AVX512_BW+VL}.
3058    Vpalignr,
3059    /// Instruction 'vpand' {AVX|AVX2}.
3060    Vpand,
3061    /// Instruction 'vpandd' {AVX512_F+VL}.
3062    Vpandd,
3063    /// Instruction 'vpandn' {AVX|AVX2}.
3064    Vpandn,
3065    /// Instruction 'vpandnd' {AVX512_F+VL}.
3066    Vpandnd,
3067    /// Instruction 'vpandnq' {AVX512_F+VL}.
3068    Vpandnq,
3069    /// Instruction 'vpandq' {AVX512_F+VL}.
3070    Vpandq,
3071    /// Instruction 'vpavgb' {AVX|AVX2|AVX512_BW+VL}.
3072    Vpavgb,
3073    /// Instruction 'vpavgw' {AVX|AVX2|AVX512_BW+VL}.
3074    Vpavgw,
3075    /// Instruction 'vpblendd' {AVX2}.
3076    Vpblendd,
3077    /// Instruction 'vpblendmb' {AVX512_BW+VL}.
3078    Vpblendmb,
3079    /// Instruction 'vpblendmd' {AVX512_F+VL}.
3080    Vpblendmd,
3081    /// Instruction 'vpblendmq' {AVX512_F+VL}.
3082    Vpblendmq,
3083    /// Instruction 'vpblendmw' {AVX512_BW+VL}.
3084    Vpblendmw,
3085    /// Instruction 'vpblendvb' {AVX|AVX2}.
3086    Vpblendvb,
3087    /// Instruction 'vpblendw' {AVX|AVX2}.
3088    Vpblendw,
3089    /// Instruction 'vpbroadcastb' {AVX2|AVX512_BW+VL}.
3090    Vpbroadcastb,
3091    /// Instruction 'vpbroadcastd' {AVX2|AVX512_F+VL}.
3092    Vpbroadcastd,
3093    /// Instruction 'vpbroadcastmb2q' {AVX512_CD+VL}.
3094    Vpbroadcastmb2q,
3095    /// Instruction 'vpbroadcastmw2d' {AVX512_CD+VL}.
3096    Vpbroadcastmw2d,
3097    /// Instruction 'vpbroadcastq' {AVX2|AVX512_F+VL}.
3098    Vpbroadcastq,
3099    /// Instruction 'vpbroadcastw' {AVX2|AVX512_BW+VL}.
3100    Vpbroadcastw,
3101    /// Instruction 'vpclmulqdq' {AVX|AVX512_F+VL & PCLMULQDQ|VPCLMULQDQ}.
3102    Vpclmulqdq,
3103    /// Instruction 'vpcmov' {XOP}.
3104    Vpcmov,
3105    /// Instruction 'vpcmpb' {AVX512_BW+VL}.
3106    Vpcmpb,
3107    /// Instruction 'vpcmpd' {AVX512_F+VL}.
3108    Vpcmpd,
3109    /// Instruction 'vpcmpeqb' {AVX|AVX2|AVX512_BW+VL}.
3110    Vpcmpeqb,
3111    /// Instruction 'vpcmpeqd' {AVX|AVX2|AVX512_F+VL}.
3112    Vpcmpeqd,
3113    /// Instruction 'vpcmpeqq' {AVX|AVX2|AVX512_F+VL}.
3114    Vpcmpeqq,
3115    /// Instruction 'vpcmpeqw' {AVX|AVX2|AVX512_BW+VL}.
3116    Vpcmpeqw,
3117    /// Instruction 'vpcmpestri' {AVX}.
3118    Vpcmpestri,
3119    /// Instruction 'vpcmpestrm' {AVX}.
3120    Vpcmpestrm,
3121    /// Instruction 'vpcmpgtb' {AVX|AVX2|AVX512_BW+VL}.
3122    Vpcmpgtb,
3123    /// Instruction 'vpcmpgtd' {AVX|AVX2|AVX512_F+VL}.
3124    Vpcmpgtd,
3125    /// Instruction 'vpcmpgtq' {AVX|AVX2|AVX512_F+VL}.
3126    Vpcmpgtq,
3127    /// Instruction 'vpcmpgtw' {AVX|AVX2|AVX512_BW+VL}.
3128    Vpcmpgtw,
3129    /// Instruction 'vpcmpistri' {AVX}.
3130    Vpcmpistri,
3131    /// Instruction 'vpcmpistrm' {AVX}.
3132    Vpcmpistrm,
3133    /// Instruction 'vpcmpq' {AVX512_F+VL}.
3134    Vpcmpq,
3135    /// Instruction 'vpcmpub' {AVX512_BW+VL}.
3136    Vpcmpub,
3137    /// Instruction 'vpcmpud' {AVX512_F+VL}.
3138    Vpcmpud,
3139    /// Instruction 'vpcmpuq' {AVX512_F+VL}.
3140    Vpcmpuq,
3141    /// Instruction 'vpcmpuw' {AVX512_BW+VL}.
3142    Vpcmpuw,
3143    /// Instruction 'vpcmpw' {AVX512_BW+VL}.
3144    Vpcmpw,
3145    /// Instruction 'vpcomb' {XOP}.
3146    Vpcomb,
3147    /// Instruction 'vpcomd' {XOP}.
3148    Vpcomd,
3149    /// Instruction 'vpcompressb' {AVX512_VBMI2+VL}.
3150    Vpcompressb,
3151    /// Instruction 'vpcompressd' {AVX512_F+VL}.
3152    Vpcompressd,
3153    /// Instruction 'vpcompressq' {AVX512_F+VL}.
3154    Vpcompressq,
3155    /// Instruction 'vpcompressw' {AVX512_VBMI2+VL}.
3156    Vpcompressw,
3157    /// Instruction 'vpcomq' {XOP}.
3158    Vpcomq,
3159    /// Instruction 'vpcomub' {XOP}.
3160    Vpcomub,
3161    /// Instruction 'vpcomud' {XOP}.
3162    Vpcomud,
3163    /// Instruction 'vpcomuq' {XOP}.
3164    Vpcomuq,
3165    /// Instruction 'vpcomuw' {XOP}.
3166    Vpcomuw,
3167    /// Instruction 'vpcomw' {XOP}.
3168    Vpcomw,
3169    /// Instruction 'vpconflictd' {AVX512_CD+VL}.
3170    Vpconflictd,
3171    /// Instruction 'vpconflictq' {AVX512_CD+VL}.
3172    Vpconflictq,
3173    /// Instruction 'vpdpbssd' {AVX_VNNI_INT8}.
3174    Vpdpbssd,
3175    /// Instruction 'vpdpbssds' {AVX_VNNI_INT8}.
3176    Vpdpbssds,
3177    /// Instruction 'vpdpbsud' {AVX_VNNI_INT8}.
3178    Vpdpbsud,
3179    /// Instruction 'vpdpbsuds' {AVX_VNNI_INT8}.
3180    Vpdpbsuds,
3181    /// Instruction 'vpdpbusd' {AVX_VNNI|AVX512_VNNI+VL}.
3182    Vpdpbusd,
3183    /// Instruction 'vpdpbusds' {AVX_VNNI|AVX512_VNNI+VL}.
3184    Vpdpbusds,
3185    /// Instruction 'vpdpbuud' {AVX_VNNI_INT8}.
3186    Vpdpbuud,
3187    /// Instruction 'vpdpbuuds' {AVX_VNNI_INT8}.
3188    Vpdpbuuds,
3189    /// Instruction 'vpdpwssd' {AVX_VNNI|AVX512_VNNI+VL}.
3190    Vpdpwssd,
3191    /// Instruction 'vpdpwssds' {AVX_VNNI|AVX512_VNNI+VL}.
3192    Vpdpwssds,
3193    /// Instruction 'vpdpwsud' {AVX_VNNI_INT16}.
3194    Vpdpwsud,
3195    /// Instruction 'vpdpwsuds' {AVX_VNNI_INT16}.
3196    Vpdpwsuds,
3197    /// Instruction 'vpdpwusd' {AVX_VNNI_INT16}.
3198    Vpdpwusd,
3199    /// Instruction 'vpdpwusds' {AVX_VNNI_INT16}.
3200    Vpdpwusds,
3201    /// Instruction 'vpdpwuud' {AVX_VNNI_INT16}.
3202    Vpdpwuud,
3203    /// Instruction 'vpdpwuuds' {AVX_VNNI_INT16}.
3204    Vpdpwuuds,
3205    /// Instruction 'vperm2f128' {AVX}.
3206    Vperm2f128,
3207    /// Instruction 'vperm2i128' {AVX2}.
3208    Vperm2i128,
3209    /// Instruction 'vpermb' {AVX512_VBMI+VL}.
3210    Vpermb,
3211    /// Instruction 'vpermd' {AVX2|AVX512_F+VL}.
3212    Vpermd,
3213    /// Instruction 'vpermi2b' {AVX512_VBMI+VL}.
3214    Vpermi2b,
3215    /// Instruction 'vpermi2d' {AVX512_F+VL}.
3216    Vpermi2d,
3217    /// Instruction 'vpermi2pd' {AVX512_F+VL}.
3218    Vpermi2pd,
3219    /// Instruction 'vpermi2ps' {AVX512_F+VL}.
3220    Vpermi2ps,
3221    /// Instruction 'vpermi2q' {AVX512_F+VL}.
3222    Vpermi2q,
3223    /// Instruction 'vpermi2w' {AVX512_BW+VL}.
3224    Vpermi2w,
3225    /// Instruction 'vpermil2pd' {XOP}.
3226    Vpermil2pd,
3227    /// Instruction 'vpermil2ps' {XOP}.
3228    Vpermil2ps,
3229    /// Instruction 'vpermilpd' {AVX|AVX512_F+VL}.
3230    Vpermilpd,
3231    /// Instruction 'vpermilps' {AVX|AVX512_F+VL}.
3232    Vpermilps,
3233    /// Instruction 'vpermpd' {AVX2|AVX512_F+VL}.
3234    Vpermpd,
3235    /// Instruction 'vpermps' {AVX2|AVX512_F+VL}.
3236    Vpermps,
3237    /// Instruction 'vpermq' {AVX2|AVX512_F+VL}.
3238    Vpermq,
3239    /// Instruction 'vpermt2b' {AVX512_VBMI+VL}.
3240    Vpermt2b,
3241    /// Instruction 'vpermt2d' {AVX512_F+VL}.
3242    Vpermt2d,
3243    /// Instruction 'vpermt2pd' {AVX512_F+VL}.
3244    Vpermt2pd,
3245    /// Instruction 'vpermt2ps' {AVX512_F+VL}.
3246    Vpermt2ps,
3247    /// Instruction 'vpermt2q' {AVX512_F+VL}.
3248    Vpermt2q,
3249    /// Instruction 'vpermt2w' {AVX512_BW+VL}.
3250    Vpermt2w,
3251    /// Instruction 'vpermw' {AVX512_BW+VL}.
3252    Vpermw,
3253    /// Instruction 'vpexpandb' {AVX512_VBMI2+VL}.
3254    Vpexpandb,
3255    /// Instruction 'vpexpandd' {AVX512_F+VL}.
3256    Vpexpandd,
3257    /// Instruction 'vpexpandq' {AVX512_F+VL}.
3258    Vpexpandq,
3259    /// Instruction 'vpexpandw' {AVX512_VBMI2+VL}.
3260    Vpexpandw,
3261    /// Instruction 'vpextrb' {AVX|AVX512_BW+VL}.
3262    Vpextrb,
3263    /// Instruction 'vpextrd' {AVX|AVX512_DQ+VL}.
3264    Vpextrd,
3265    /// Instruction 'vpextrq' {AVX|AVX512_DQ+VL} (X64).
3266    Vpextrq,
3267    /// Instruction 'vpextrw' {AVX|AVX512_BW+VL}.
3268    Vpextrw,
3269    /// Instruction 'vpgatherdd' {AVX2|AVX512_F+VL}.
3270    Vpgatherdd,
3271    /// Instruction 'vpgatherdq' {AVX2|AVX512_F+VL}.
3272    Vpgatherdq,
3273    /// Instruction 'vpgatherqd' {AVX2|AVX512_F+VL}.
3274    Vpgatherqd,
3275    /// Instruction 'vpgatherqq' {AVX2|AVX512_F+VL}.
3276    Vpgatherqq,
3277    /// Instruction 'vphaddbd' {XOP}.
3278    Vphaddbd,
3279    /// Instruction 'vphaddbq' {XOP}.
3280    Vphaddbq,
3281    /// Instruction 'vphaddbw' {XOP}.
3282    Vphaddbw,
3283    /// Instruction 'vphaddd' {AVX|AVX2}.
3284    Vphaddd,
3285    /// Instruction 'vphadddq' {XOP}.
3286    Vphadddq,
3287    /// Instruction 'vphaddsw' {AVX|AVX2}.
3288    Vphaddsw,
3289    /// Instruction 'vphaddubd' {XOP}.
3290    Vphaddubd,
3291    /// Instruction 'vphaddubq' {XOP}.
3292    Vphaddubq,
3293    /// Instruction 'vphaddubw' {XOP}.
3294    Vphaddubw,
3295    /// Instruction 'vphaddudq' {XOP}.
3296    Vphaddudq,
3297    /// Instruction 'vphadduwd' {XOP}.
3298    Vphadduwd,
3299    /// Instruction 'vphadduwq' {XOP}.
3300    Vphadduwq,
3301    /// Instruction 'vphaddw' {AVX|AVX2}.
3302    Vphaddw,
3303    /// Instruction 'vphaddwd' {XOP}.
3304    Vphaddwd,
3305    /// Instruction 'vphaddwq' {XOP}.
3306    Vphaddwq,
3307    /// Instruction 'vphminposuw' {AVX}.
3308    Vphminposuw,
3309    /// Instruction 'vphsubbw' {XOP}.
3310    Vphsubbw,
3311    /// Instruction 'vphsubd' {AVX|AVX2}.
3312    Vphsubd,
3313    /// Instruction 'vphsubdq' {XOP}.
3314    Vphsubdq,
3315    /// Instruction 'vphsubsw' {AVX|AVX2}.
3316    Vphsubsw,
3317    /// Instruction 'vphsubw' {AVX|AVX2}.
3318    Vphsubw,
3319    /// Instruction 'vphsubwd' {XOP}.
3320    Vphsubwd,
3321    /// Instruction 'vpinsrb' {AVX|AVX512_BW+VL}.
3322    Vpinsrb,
3323    /// Instruction 'vpinsrd' {AVX|AVX512_DQ+VL}.
3324    Vpinsrd,
3325    /// Instruction 'vpinsrq' {AVX|AVX512_DQ+VL} (X64).
3326    Vpinsrq,
3327    /// Instruction 'vpinsrw' {AVX|AVX512_BW+VL}.
3328    Vpinsrw,
3329    /// Instruction 'vplzcntd' {AVX512_CD+VL}.
3330    Vplzcntd,
3331    /// Instruction 'vplzcntq' {AVX512_CD+VL}.
3332    Vplzcntq,
3333    /// Instruction 'vpmacsdd' {XOP}.
3334    Vpmacsdd,
3335    /// Instruction 'vpmacsdqh' {XOP}.
3336    Vpmacsdqh,
3337    /// Instruction 'vpmacsdql' {XOP}.
3338    Vpmacsdql,
3339    /// Instruction 'vpmacssdd' {XOP}.
3340    Vpmacssdd,
3341    /// Instruction 'vpmacssdqh' {XOP}.
3342    Vpmacssdqh,
3343    /// Instruction 'vpmacssdql' {XOP}.
3344    Vpmacssdql,
3345    /// Instruction 'vpmacsswd' {XOP}.
3346    Vpmacsswd,
3347    /// Instruction 'vpmacssww' {XOP}.
3348    Vpmacssww,
3349    /// Instruction 'vpmacswd' {XOP}.
3350    Vpmacswd,
3351    /// Instruction 'vpmacsww' {XOP}.
3352    Vpmacsww,
3353    /// Instruction 'vpmadcsswd' {XOP}.
3354    Vpmadcsswd,
3355    /// Instruction 'vpmadcswd' {XOP}.
3356    Vpmadcswd,
3357    /// Instruction 'vpmadd52huq' {AVX_IFMA|AVX512_IFMA+VL}.
3358    Vpmadd52huq,
3359    /// Instruction 'vpmadd52luq' {AVX_IFMA|AVX512_IFMA+VL}.
3360    Vpmadd52luq,
3361    /// Instruction 'vpmaddubsw' {AVX|AVX2|AVX512_BW+VL}.
3362    Vpmaddubsw,
3363    /// Instruction 'vpmaddwd' {AVX|AVX2|AVX512_BW+VL}.
3364    Vpmaddwd,
3365    /// Instruction 'vpmaskmovd' {AVX2}.
3366    Vpmaskmovd,
3367    /// Instruction 'vpmaskmovq' {AVX2}.
3368    Vpmaskmovq,
3369    /// Instruction 'vpmaxsb' {AVX|AVX2|AVX512_BW+VL}.
3370    Vpmaxsb,
3371    /// Instruction 'vpmaxsd' {AVX|AVX2|AVX512_F+VL}.
3372    Vpmaxsd,
3373    /// Instruction 'vpmaxsq' {AVX512_F+VL}.
3374    Vpmaxsq,
3375    /// Instruction 'vpmaxsw' {AVX|AVX2|AVX512_BW+VL}.
3376    Vpmaxsw,
3377    /// Instruction 'vpmaxub' {AVX|AVX2|AVX512_BW+VL}.
3378    Vpmaxub,
3379    /// Instruction 'vpmaxud' {AVX|AVX2|AVX512_F+VL}.
3380    Vpmaxud,
3381    /// Instruction 'vpmaxuq' {AVX512_F+VL}.
3382    Vpmaxuq,
3383    /// Instruction 'vpmaxuw' {AVX|AVX2|AVX512_BW+VL}.
3384    Vpmaxuw,
3385    /// Instruction 'vpminsb' {AVX|AVX2|AVX512_BW+VL}.
3386    Vpminsb,
3387    /// Instruction 'vpminsd' {AVX|AVX2|AVX512_F+VL}.
3388    Vpminsd,
3389    /// Instruction 'vpminsq' {AVX512_F+VL}.
3390    Vpminsq,
3391    /// Instruction 'vpminsw' {AVX|AVX2|AVX512_BW+VL}.
3392    Vpminsw,
3393    /// Instruction 'vpminub' {AVX|AVX2|AVX512_BW+VL}.
3394    Vpminub,
3395    /// Instruction 'vpminud' {AVX|AVX2|AVX512_F+VL}.
3396    Vpminud,
3397    /// Instruction 'vpminuq' {AVX512_F+VL}.
3398    Vpminuq,
3399    /// Instruction 'vpminuw' {AVX|AVX2|AVX512_BW+VL}.
3400    Vpminuw,
3401    /// Instruction 'vpmovb2m' {AVX512_BW+VL}.
3402    Vpmovb2m,
3403    /// Instruction 'vpmovd2m' {AVX512_DQ+VL}.
3404    Vpmovd2m,
3405    /// Instruction 'vpmovdb' {AVX512_F+VL}.
3406    Vpmovdb,
3407    /// Instruction 'vpmovdw' {AVX512_F+VL}.
3408    Vpmovdw,
3409    /// Instruction 'vpmovm2b' {AVX512_BW+VL}.
3410    Vpmovm2b,
3411    /// Instruction 'vpmovm2d' {AVX512_DQ+VL}.
3412    Vpmovm2d,
3413    /// Instruction 'vpmovm2q' {AVX512_DQ+VL}.
3414    Vpmovm2q,
3415    /// Instruction 'vpmovm2w' {AVX512_BW+VL}.
3416    Vpmovm2w,
3417    /// Instruction 'vpmovmskb' {AVX|AVX2}.
3418    Vpmovmskb,
3419    /// Instruction 'vpmovq2m' {AVX512_DQ+VL}.
3420    Vpmovq2m,
3421    /// Instruction 'vpmovqb' {AVX512_F+VL}.
3422    Vpmovqb,
3423    /// Instruction 'vpmovqd' {AVX512_F+VL}.
3424    Vpmovqd,
3425    /// Instruction 'vpmovqw' {AVX512_F+VL}.
3426    Vpmovqw,
3427    /// Instruction 'vpmovsdb' {AVX512_F+VL}.
3428    Vpmovsdb,
3429    /// Instruction 'vpmovsdw' {AVX512_F+VL}.
3430    Vpmovsdw,
3431    /// Instruction 'vpmovsqb' {AVX512_F+VL}.
3432    Vpmovsqb,
3433    /// Instruction 'vpmovsqd' {AVX512_F+VL}.
3434    Vpmovsqd,
3435    /// Instruction 'vpmovsqw' {AVX512_F+VL}.
3436    Vpmovsqw,
3437    /// Instruction 'vpmovswb' {AVX512_BW+VL}.
3438    Vpmovswb,
3439    /// Instruction 'vpmovsxbd' {AVX|AVX2|AVX512_F+VL}.
3440    Vpmovsxbd,
3441    /// Instruction 'vpmovsxbq' {AVX|AVX2|AVX512_F+VL}.
3442    Vpmovsxbq,
3443    /// Instruction 'vpmovsxbw' {AVX|AVX2|AVX512_BW+VL}.
3444    Vpmovsxbw,
3445    /// Instruction 'vpmovsxdq' {AVX|AVX2|AVX512_F+VL}.
3446    Vpmovsxdq,
3447    /// Instruction 'vpmovsxwd' {AVX|AVX2|AVX512_F+VL}.
3448    Vpmovsxwd,
3449    /// Instruction 'vpmovsxwq' {AVX|AVX2|AVX512_F+VL}.
3450    Vpmovsxwq,
3451    /// Instruction 'vpmovusdb' {AVX512_F+VL}.
3452    Vpmovusdb,
3453    /// Instruction 'vpmovusdw' {AVX512_F+VL}.
3454    Vpmovusdw,
3455    /// Instruction 'vpmovusqb' {AVX512_F+VL}.
3456    Vpmovusqb,
3457    /// Instruction 'vpmovusqd' {AVX512_F+VL}.
3458    Vpmovusqd,
3459    /// Instruction 'vpmovusqw' {AVX512_F+VL}.
3460    Vpmovusqw,
3461    /// Instruction 'vpmovuswb' {AVX512_BW+VL}.
3462    Vpmovuswb,
3463    /// Instruction 'vpmovw2m' {AVX512_BW+VL}.
3464    Vpmovw2m,
3465    /// Instruction 'vpmovwb' {AVX512_BW+VL}.
3466    Vpmovwb,
3467    /// Instruction 'vpmovzxbd' {AVX|AVX2|AVX512_F+VL}.
3468    Vpmovzxbd,
3469    /// Instruction 'vpmovzxbq' {AVX|AVX2|AVX512_F+VL}.
3470    Vpmovzxbq,
3471    /// Instruction 'vpmovzxbw' {AVX|AVX2|AVX512_BW+VL}.
3472    Vpmovzxbw,
3473    /// Instruction 'vpmovzxdq' {AVX|AVX2|AVX512_F+VL}.
3474    Vpmovzxdq,
3475    /// Instruction 'vpmovzxwd' {AVX|AVX2|AVX512_F+VL}.
3476    Vpmovzxwd,
3477    /// Instruction 'vpmovzxwq' {AVX|AVX2|AVX512_F+VL}.
3478    Vpmovzxwq,
3479    /// Instruction 'vpmuldq' {AVX|AVX2|AVX512_F+VL}.
3480    Vpmuldq,
3481    /// Instruction 'vpmulhrsw' {AVX|AVX2|AVX512_BW+VL}.
3482    Vpmulhrsw,
3483    /// Instruction 'vpmulhuw' {AVX|AVX2|AVX512_BW+VL}.
3484    Vpmulhuw,
3485    /// Instruction 'vpmulhw' {AVX|AVX2|AVX512_BW+VL}.
3486    Vpmulhw,
3487    /// Instruction 'vpmulld' {AVX|AVX2|AVX512_F+VL}.
3488    Vpmulld,
3489    /// Instruction 'vpmullq' {AVX512_DQ+VL}.
3490    Vpmullq,
3491    /// Instruction 'vpmullw' {AVX|AVX2|AVX512_BW+VL}.
3492    Vpmullw,
3493    /// Instruction 'vpmultishiftqb' {AVX512_VBMI+VL}.
3494    Vpmultishiftqb,
3495    /// Instruction 'vpmuludq' {AVX|AVX2|AVX512_F+VL}.
3496    Vpmuludq,
3497    /// Instruction 'vpopcntb' {AVX512_BITALG+VL}.
3498    Vpopcntb,
3499    /// Instruction 'vpopcntd' {AVX512_VPOPCNTDQ+VL}.
3500    Vpopcntd,
3501    /// Instruction 'vpopcntq' {AVX512_VPOPCNTDQ+VL}.
3502    Vpopcntq,
3503    /// Instruction 'vpopcntw' {AVX512_BITALG+VL}.
3504    Vpopcntw,
3505    /// Instruction 'vpor' {AVX|AVX2}.
3506    Vpor,
3507    /// Instruction 'vpord' {AVX512_F+VL}.
3508    Vpord,
3509    /// Instruction 'vporq' {AVX512_F+VL}.
3510    Vporq,
3511    /// Instruction 'vpperm' {XOP}.
3512    Vpperm,
3513    /// Instruction 'vprold' {AVX512_F+VL}.
3514    Vprold,
3515    /// Instruction 'vprolq' {AVX512_F+VL}.
3516    Vprolq,
3517    /// Instruction 'vprolvd' {AVX512_F+VL}.
3518    Vprolvd,
3519    /// Instruction 'vprolvq' {AVX512_F+VL}.
3520    Vprolvq,
3521    /// Instruction 'vprord' {AVX512_F+VL}.
3522    Vprord,
3523    /// Instruction 'vprorq' {AVX512_F+VL}.
3524    Vprorq,
3525    /// Instruction 'vprorvd' {AVX512_F+VL}.
3526    Vprorvd,
3527    /// Instruction 'vprorvq' {AVX512_F+VL}.
3528    Vprorvq,
3529    /// Instruction 'vprotb' {XOP}.
3530    Vprotb,
3531    /// Instruction 'vprotd' {XOP}.
3532    Vprotd,
3533    /// Instruction 'vprotq' {XOP}.
3534    Vprotq,
3535    /// Instruction 'vprotw' {XOP}.
3536    Vprotw,
3537    /// Instruction 'vpsadbw' {AVX|AVX2|AVX512_BW+VL}.
3538    Vpsadbw,
3539    /// Instruction 'vpscatterdd' {AVX512_F+VL}.
3540    Vpscatterdd,
3541    /// Instruction 'vpscatterdq' {AVX512_F+VL}.
3542    Vpscatterdq,
3543    /// Instruction 'vpscatterqd' {AVX512_F+VL}.
3544    Vpscatterqd,
3545    /// Instruction 'vpscatterqq' {AVX512_F+VL}.
3546    Vpscatterqq,
3547    /// Instruction 'vpshab' {XOP}.
3548    Vpshab,
3549    /// Instruction 'vpshad' {XOP}.
3550    Vpshad,
3551    /// Instruction 'vpshaq' {XOP}.
3552    Vpshaq,
3553    /// Instruction 'vpshaw' {XOP}.
3554    Vpshaw,
3555    /// Instruction 'vpshlb' {XOP}.
3556    Vpshlb,
3557    /// Instruction 'vpshld' {XOP}.
3558    Vpshld,
3559    /// Instruction 'vpshldd' {AVX512_VBMI2+VL}.
3560    Vpshldd,
3561    /// Instruction 'vpshldq' {AVX512_VBMI2+VL}.
3562    Vpshldq,
3563    /// Instruction 'vpshldvd' {AVX512_VBMI2+VL}.
3564    Vpshldvd,
3565    /// Instruction 'vpshldvq' {AVX512_VBMI2+VL}.
3566    Vpshldvq,
3567    /// Instruction 'vpshldvw' {AVX512_VBMI2+VL}.
3568    Vpshldvw,
3569    /// Instruction 'vpshldw' {AVX512_VBMI2+VL}.
3570    Vpshldw,
3571    /// Instruction 'vpshlq' {XOP}.
3572    Vpshlq,
3573    /// Instruction 'vpshlw' {XOP}.
3574    Vpshlw,
3575    /// Instruction 'vpshrdd' {AVX512_VBMI2+VL}.
3576    Vpshrdd,
3577    /// Instruction 'vpshrdq' {AVX512_VBMI2+VL}.
3578    Vpshrdq,
3579    /// Instruction 'vpshrdvd' {AVX512_VBMI2+VL}.
3580    Vpshrdvd,
3581    /// Instruction 'vpshrdvq' {AVX512_VBMI2+VL}.
3582    Vpshrdvq,
3583    /// Instruction 'vpshrdvw' {AVX512_VBMI2+VL}.
3584    Vpshrdvw,
3585    /// Instruction 'vpshrdw' {AVX512_VBMI2+VL}.
3586    Vpshrdw,
3587    /// Instruction 'vpshufb' {AVX|AVX2|AVX512_BW+VL}.
3588    Vpshufb,
3589    /// Instruction 'vpshufbitqmb' {AVX512_BITALG+VL}.
3590    Vpshufbitqmb,
3591    /// Instruction 'vpshufd' {AVX|AVX2|AVX512_F+VL}.
3592    Vpshufd,
3593    /// Instruction 'vpshufhw' {AVX|AVX2|AVX512_BW+VL}.
3594    Vpshufhw,
3595    /// Instruction 'vpshuflw' {AVX|AVX2|AVX512_BW+VL}.
3596    Vpshuflw,
3597    /// Instruction 'vpsignb' {AVX|AVX2}.
3598    Vpsignb,
3599    /// Instruction 'vpsignd' {AVX|AVX2}.
3600    Vpsignd,
3601    /// Instruction 'vpsignw' {AVX|AVX2}.
3602    Vpsignw,
3603    /// Instruction 'vpslld' {AVX|AVX2|AVX512_F+VL}.
3604    Vpslld,
3605    /// Instruction 'vpslldq' {AVX|AVX2|AVX512_BW+VL}.
3606    Vpslldq,
3607    /// Instruction 'vpsllq' {AVX|AVX2|AVX512_F+VL}.
3608    Vpsllq,
3609    /// Instruction 'vpsllvd' {AVX2|AVX512_F+VL}.
3610    Vpsllvd,
3611    /// Instruction 'vpsllvq' {AVX2|AVX512_F+VL}.
3612    Vpsllvq,
3613    /// Instruction 'vpsllvw' {AVX512_BW+VL}.
3614    Vpsllvw,
3615    /// Instruction 'vpsllw' {AVX|AVX2|AVX512_BW+VL}.
3616    Vpsllw,
3617    /// Instruction 'vpsrad' {AVX|AVX2|AVX512_F+VL}.
3618    Vpsrad,
3619    /// Instruction 'vpsraq' {AVX512_F+VL}.
3620    Vpsraq,
3621    /// Instruction 'vpsravd' {AVX2|AVX512_F+VL}.
3622    Vpsravd,
3623    /// Instruction 'vpsravq' {AVX512_F+VL}.
3624    Vpsravq,
3625    /// Instruction 'vpsravw' {AVX512_BW+VL}.
3626    Vpsravw,
3627    /// Instruction 'vpsraw' {AVX|AVX2|AVX512_BW+VL}.
3628    Vpsraw,
3629    /// Instruction 'vpsrld' {AVX|AVX2|AVX512_F+VL}.
3630    Vpsrld,
3631    /// Instruction 'vpsrldq' {AVX|AVX2|AVX512_BW+VL}.
3632    Vpsrldq,
3633    /// Instruction 'vpsrlq' {AVX|AVX2|AVX512_F+VL}.
3634    Vpsrlq,
3635    /// Instruction 'vpsrlvd' {AVX2|AVX512_F+VL}.
3636    Vpsrlvd,
3637    /// Instruction 'vpsrlvq' {AVX2|AVX512_F+VL}.
3638    Vpsrlvq,
3639    /// Instruction 'vpsrlvw' {AVX512_BW+VL}.
3640    Vpsrlvw,
3641    /// Instruction 'vpsrlw' {AVX|AVX2|AVX512_BW+VL}.
3642    Vpsrlw,
3643    /// Instruction 'vpsubb' {AVX|AVX2|AVX512_BW+VL}.
3644    Vpsubb,
3645    /// Instruction 'vpsubd' {AVX|AVX2|AVX512_F+VL}.
3646    Vpsubd,
3647    /// Instruction 'vpsubq' {AVX|AVX2|AVX512_F+VL}.
3648    Vpsubq,
3649    /// Instruction 'vpsubsb' {AVX|AVX2|AVX512_BW+VL}.
3650    Vpsubsb,
3651    /// Instruction 'vpsubsw' {AVX|AVX2|AVX512_BW+VL}.
3652    Vpsubsw,
3653    /// Instruction 'vpsubusb' {AVX|AVX2|AVX512_BW+VL}.
3654    Vpsubusb,
3655    /// Instruction 'vpsubusw' {AVX|AVX2|AVX512_BW+VL}.
3656    Vpsubusw,
3657    /// Instruction 'vpsubw' {AVX|AVX2|AVX512_BW+VL}.
3658    Vpsubw,
3659    /// Instruction 'vpternlogd' {AVX512_F+VL}.
3660    Vpternlogd,
3661    /// Instruction 'vpternlogq' {AVX512_F+VL}.
3662    Vpternlogq,
3663    /// Instruction 'vptest' {AVX}.
3664    Vptest,
3665    /// Instruction 'vptestmb' {AVX512_BW+VL}.
3666    Vptestmb,
3667    /// Instruction 'vptestmd' {AVX512_F+VL}.
3668    Vptestmd,
3669    /// Instruction 'vptestmq' {AVX512_F+VL}.
3670    Vptestmq,
3671    /// Instruction 'vptestmw' {AVX512_BW+VL}.
3672    Vptestmw,
3673    /// Instruction 'vptestnmb' {AVX512_BW+VL}.
3674    Vptestnmb,
3675    /// Instruction 'vptestnmd' {AVX512_F+VL}.
3676    Vptestnmd,
3677    /// Instruction 'vptestnmq' {AVX512_F+VL}.
3678    Vptestnmq,
3679    /// Instruction 'vptestnmw' {AVX512_BW+VL}.
3680    Vptestnmw,
3681    /// Instruction 'vpunpckhbw' {AVX|AVX2|AVX512_BW+VL}.
3682    Vpunpckhbw,
3683    /// Instruction 'vpunpckhdq' {AVX|AVX2|AVX512_F+VL}.
3684    Vpunpckhdq,
3685    /// Instruction 'vpunpckhqdq' {AVX|AVX2|AVX512_F+VL}.
3686    Vpunpckhqdq,
3687    /// Instruction 'vpunpckhwd' {AVX|AVX2|AVX512_BW+VL}.
3688    Vpunpckhwd,
3689    /// Instruction 'vpunpcklbw' {AVX|AVX2|AVX512_BW+VL}.
3690    Vpunpcklbw,
3691    /// Instruction 'vpunpckldq' {AVX|AVX2|AVX512_F+VL}.
3692    Vpunpckldq,
3693    /// Instruction 'vpunpcklqdq' {AVX|AVX2|AVX512_F+VL}.
3694    Vpunpcklqdq,
3695    /// Instruction 'vpunpcklwd' {AVX|AVX2|AVX512_BW+VL}.
3696    Vpunpcklwd,
3697    /// Instruction 'vpxor' {AVX|AVX2}.
3698    Vpxor,
3699    /// Instruction 'vpxord' {AVX512_F+VL}.
3700    Vpxord,
3701    /// Instruction 'vpxorq' {AVX512_F+VL}.
3702    Vpxorq,
3703    /// Instruction 'vrangepd' {AVX512_DQ+VL}.
3704    Vrangepd,
3705    /// Instruction 'vrangeps' {AVX512_DQ+VL}.
3706    Vrangeps,
3707    /// Instruction 'vrangesd' {AVX512_DQ+VL}.
3708    Vrangesd,
3709    /// Instruction 'vrangess' {AVX512_DQ+VL}.
3710    Vrangess,
3711    /// Instruction 'vrcp14pd' {AVX512_F+VL}.
3712    Vrcp14pd,
3713    /// Instruction 'vrcp14ps' {AVX512_F+VL}.
3714    Vrcp14ps,
3715    /// Instruction 'vrcp14sd' {AVX512_F+VL}.
3716    Vrcp14sd,
3717    /// Instruction 'vrcp14ss' {AVX512_F+VL}.
3718    Vrcp14ss,
3719    /// Instruction 'vrcpph' {AVX512_FP16+VL}.
3720    Vrcpph,
3721    /// Instruction 'vrcpps' {AVX}.
3722    Vrcpps,
3723    /// Instruction 'vrcpsh' {AVX512_FP16+VL}.
3724    Vrcpsh,
3725    /// Instruction 'vrcpss' {AVX}.
3726    Vrcpss,
3727    /// Instruction 'vreducepd' {AVX512_DQ+VL}.
3728    Vreducepd,
3729    /// Instruction 'vreduceph' {AVX512_FP16+VL}.
3730    Vreduceph,
3731    /// Instruction 'vreduceps' {AVX512_DQ+VL}.
3732    Vreduceps,
3733    /// Instruction 'vreducesd' {AVX512_DQ+VL}.
3734    Vreducesd,
3735    /// Instruction 'vreducesh' {AVX512_FP16+VL}.
3736    Vreducesh,
3737    /// Instruction 'vreducess' {AVX512_DQ+VL}.
3738    Vreducess,
3739    /// Instruction 'vrndscalepd' {AVX512_F+VL}.
3740    Vrndscalepd,
3741    /// Instruction 'vrndscaleph' {AVX512_FP16+VL}.
3742    Vrndscaleph,
3743    /// Instruction 'vrndscaleps' {AVX512_F+VL}.
3744    Vrndscaleps,
3745    /// Instruction 'vrndscalesd' {AVX512_F+VL}.
3746    Vrndscalesd,
3747    /// Instruction 'vrndscalesh' {AVX512_FP16+VL}.
3748    Vrndscalesh,
3749    /// Instruction 'vrndscaless' {AVX512_F+VL}.
3750    Vrndscaless,
3751    /// Instruction 'vroundpd' {AVX}.
3752    Vroundpd,
3753    /// Instruction 'vroundps' {AVX}.
3754    Vroundps,
3755    /// Instruction 'vroundsd' {AVX}.
3756    Vroundsd,
3757    /// Instruction 'vroundss' {AVX}.
3758    Vroundss,
3759    /// Instruction 'vrsqrt14pd' {AVX512_F+VL}.
3760    Vrsqrt14pd,
3761    /// Instruction 'vrsqrt14ps' {AVX512_F+VL}.
3762    Vrsqrt14ps,
3763    /// Instruction 'vrsqrt14sd' {AVX512_F+VL}.
3764    Vrsqrt14sd,
3765    /// Instruction 'vrsqrt14ss' {AVX512_F+VL}.
3766    Vrsqrt14ss,
3767    /// Instruction 'vrsqrtph' {AVX512_FP16+VL}.
3768    Vrsqrtph,
3769    /// Instruction 'vrsqrtps' {AVX}.
3770    Vrsqrtps,
3771    /// Instruction 'vrsqrtsh' {AVX512_FP16+VL}.
3772    Vrsqrtsh,
3773    /// Instruction 'vrsqrtss' {AVX}.
3774    Vrsqrtss,
3775    /// Instruction 'vscalefpd' {AVX512_F+VL}.
3776    Vscalefpd,
3777    /// Instruction 'vscalefph' {AVX512_FP16+VL}.
3778    Vscalefph,
3779    /// Instruction 'vscalefps' {AVX512_F+VL}.
3780    Vscalefps,
3781    /// Instruction 'vscalefsd' {AVX512_F+VL}.
3782    Vscalefsd,
3783    /// Instruction 'vscalefsh' {AVX512_FP16+VL}.
3784    Vscalefsh,
3785    /// Instruction 'vscalefss' {AVX512_F+VL}.
3786    Vscalefss,
3787    /// Instruction 'vscatterdpd' {AVX512_F+VL}.
3788    Vscatterdpd,
3789    /// Instruction 'vscatterdps' {AVX512_F+VL}.
3790    Vscatterdps,
3791    /// Instruction 'vscatterqpd' {AVX512_F+VL}.
3792    Vscatterqpd,
3793    /// Instruction 'vscatterqps' {AVX512_F+VL}.
3794    Vscatterqps,
3795    /// Instruction 'vsha512msg1' {AVX & SHA512}.
3796    Vsha512msg1,
3797    /// Instruction 'vsha512msg2' {AVX & SHA512}.
3798    Vsha512msg2,
3799    /// Instruction 'vsha512rnds2' {AVX & SHA512}.
3800    Vsha512rnds2,
3801    /// Instruction 'vshuff32x4' {AVX512_F+VL}.
3802    Vshuff32x4,
3803    /// Instruction 'vshuff64x2' {AVX512_F+VL}.
3804    Vshuff64x2,
3805    /// Instruction 'vshufi32x4' {AVX512_F+VL}.
3806    Vshufi32x4,
3807    /// Instruction 'vshufi64x2' {AVX512_F+VL}.
3808    Vshufi64x2,
3809    /// Instruction 'vshufpd' {AVX|AVX512_F+VL}.
3810    Vshufpd,
3811    /// Instruction 'vshufps' {AVX|AVX512_F+VL}.
3812    Vshufps,
3813    /// Instruction 'vsm3msg1' {AVX & SM3}.
3814    Vsm3msg1,
3815    /// Instruction 'vsm3msg2' {AVX & SM3}.
3816    Vsm3msg2,
3817    /// Instruction 'vsm3rnds2' {AVX & SM3}.
3818    Vsm3rnds2,
3819    /// Instruction 'vsm4key4' {AVX & SM4}.
3820    Vsm4key4,
3821    /// Instruction 'vsm4rnds4' {AVX & SM4}.
3822    Vsm4rnds4,
3823    /// Instruction 'vsqrtpd' {AVX|AVX512_F+VL}.
3824    Vsqrtpd,
3825    /// Instruction 'vsqrtph' {AVX512_FP16+VL}.
3826    Vsqrtph,
3827    /// Instruction 'vsqrtps' {AVX|AVX512_F+VL}.
3828    Vsqrtps,
3829    /// Instruction 'vsqrtsd' {AVX|AVX512_F+VL}.
3830    Vsqrtsd,
3831    /// Instruction 'vsqrtsh' {AVX512_FP16+VL}.
3832    Vsqrtsh,
3833    /// Instruction 'vsqrtss' {AVX|AVX512_F+VL}.
3834    Vsqrtss,
3835    /// Instruction 'vstmxcsr' {AVX}.
3836    Vstmxcsr,
3837    /// Instruction 'vsubpd' {AVX|AVX512_F+VL}.
3838    Vsubpd,
3839    /// Instruction 'vsubph' {AVX512_FP16+VL}.
3840    Vsubph,
3841    /// Instruction 'vsubps' {AVX|AVX512_F+VL}.
3842    Vsubps,
3843    /// Instruction 'vsubsd' {AVX|AVX512_F+VL}.
3844    Vsubsd,
3845    /// Instruction 'vsubsh' {AVX512_FP16+VL}.
3846    Vsubsh,
3847    /// Instruction 'vsubss' {AVX|AVX512_F+VL}.
3848    Vsubss,
3849    /// Instruction 'vtestpd' {AVX}.
3850    Vtestpd,
3851    /// Instruction 'vtestps' {AVX}.
3852    Vtestps,
3853    /// Instruction 'vucomisd' {AVX|AVX512_F+VL}.
3854    Vucomisd,
3855    /// Instruction 'vucomish' {AVX512_FP16+VL}.
3856    Vucomish,
3857    /// Instruction 'vucomiss' {AVX|AVX512_F+VL}.
3858    Vucomiss,
3859    /// Instruction 'vunpckhpd' {AVX|AVX512_F+VL}.
3860    Vunpckhpd,
3861    /// Instruction 'vunpckhps' {AVX|AVX512_F+VL}.
3862    Vunpckhps,
3863    /// Instruction 'vunpcklpd' {AVX|AVX512_F+VL}.
3864    Vunpcklpd,
3865    /// Instruction 'vunpcklps' {AVX|AVX512_F+VL}.
3866    Vunpcklps,
3867    /// Instruction 'vxorpd' {AVX|AVX512_DQ+VL}.
3868    Vxorpd,
3869    /// Instruction 'vxorps' {AVX|AVX512_DQ+VL}.
3870    Vxorps,
3871    /// Instruction 'vzeroall' {AVX}.
3872    Vzeroall,
3873    /// Instruction 'vzeroupper' {AVX}.
3874    Vzeroupper,
3875    /// Instruction 'wbinvd' {I486}.
3876    Wbinvd,
3877    /// Instruction 'wbnoinvd' {WBNOINVD}.
3878    Wbnoinvd,
3879    /// Instruction 'wrfsbase' {FSGSBASE} (X64).
3880    Wrfsbase,
3881    /// Instruction 'wrgsbase' {FSGSBASE} (X64).
3882    Wrgsbase,
3883    /// Instruction 'wrmsr' {MSR}.
3884    Wrmsr,
3885    /// Instruction 'wrssd' {CET_SS}.
3886    Wrssd,
3887    /// Instruction 'wrssq' {CET_SS} (X64).
3888    Wrssq,
3889    /// Instruction 'wrussd' {CET_SS}.
3890    Wrussd,
3891    /// Instruction 'wrussq' {CET_SS} (X64).
3892    Wrussq,
3893    /// Instruction 'xabort' {RTM}.
3894    Xabort,
3895    /// Instruction 'xadd' {I486}.
3896    Xadd,
3897    /// Instruction 'xbegin' {RTM}.
3898    Xbegin,
3899    /// Instruction 'xchg'.
3900    Xchg,
3901    /// Instruction 'xend' {RTM}.
3902    Xend,
3903    /// Instruction 'xgetbv' {XSAVE}.
3904    Xgetbv,
3905    /// Instruction 'xlatb'.
3906    Xlatb,
3907    /// Instruction 'xor'.
3908    Xor,
3909    /// Instruction 'xorpd' {SSE2}.
3910    Xorpd,
3911    /// Instruction 'xorps' {SSE}.
3912    Xorps,
3913    /// Instruction 'xresldtrk' {TSXLDTRK}.
3914    Xresldtrk,
3915    /// Instruction 'xrstor' {XSAVE}.
3916    Xrstor,
3917    /// Instruction 'xrstor64' {XSAVE} (X64).
3918    Xrstor64,
3919    /// Instruction 'xrstors' {XSAVES}.
3920    Xrstors,
3921    /// Instruction 'xrstors64' {XSAVES} (X64).
3922    Xrstors64,
3923    /// Instruction 'xsave' {XSAVE}.
3924    Xsave,
3925    /// Instruction 'xsave64' {XSAVE} (X64).
3926    Xsave64,
3927    /// Instruction 'xsavec' {XSAVEC}.
3928    Xsavec,
3929    /// Instruction 'xsavec64' {XSAVEC} (X64).
3930    Xsavec64,
3931    /// Instruction 'xsaveopt' {XSAVEOPT}.
3932    Xsaveopt,
3933    /// Instruction 'xsaveopt64' {XSAVEOPT} (X64).
3934    Xsaveopt64,
3935    /// Instruction 'xsaves' {XSAVES}.
3936    Xsaves,
3937    /// Instruction 'xsaves64' {XSAVES} (X64).
3938    Xsaves64,
3939    /// Instruction 'xsetbv' {XSAVE}.
3940    Xsetbv,
3941    /// Instruction 'xsusldtrk' {TSXLDTRK}.
3942    Xsusldtrk,
3943    /// Instruction 'xtest' {RTM}.
3944    Xtest,
3945    _Count,
3946}
3947
3948/// Instruction aliases (AsmJit `Inst::kIdX = kIdY`).
3949impl InstId {
3950    pub const CMOVNAE: InstId = InstId::Cmovb;
3951    pub const CMOVC: InstId = InstId::Cmovb;
3952    pub const CMOVNA: InstId = InstId::Cmovbe;
3953    pub const CMOVNGE: InstId = InstId::Cmovl;
3954    pub const CMOVNG: InstId = InstId::Cmovle;
3955    pub const CMOVAE: InstId = InstId::Cmovnb;
3956    pub const CMOVNC: InstId = InstId::Cmovnb;
3957    pub const CMOVA: InstId = InstId::Cmovnbe;
3958    pub const CMOVGE: InstId = InstId::Cmovnl;
3959    pub const CMOVG: InstId = InstId::Cmovnle;
3960    pub const CMOVPO: InstId = InstId::Cmovnp;
3961    pub const CMOVNE: InstId = InstId::Cmovnz;
3962    pub const CMOVPE: InstId = InstId::Cmovp;
3963    pub const CMOVE: InstId = InstId::Cmovz;
3964    pub const WAIT: InstId = InstId::Fwait;
3965    pub const JNAE: InstId = InstId::Jb;
3966    pub const JC: InstId = InstId::Jb;
3967    pub const JNA: InstId = InstId::Jbe;
3968    pub const JNGE: InstId = InstId::Jl;
3969    pub const JNG: InstId = InstId::Jle;
3970    pub const JAE: InstId = InstId::Jnb;
3971    pub const JNC: InstId = InstId::Jnb;
3972    pub const JA: InstId = InstId::Jnbe;
3973    pub const JGE: InstId = InstId::Jnl;
3974    pub const JG: InstId = InstId::Jnle;
3975    pub const JPO: InstId = InstId::Jnp;
3976    pub const JNE: InstId = InstId::Jnz;
3977    pub const JPE: InstId = InstId::Jp;
3978    pub const JE: InstId = InstId::Jz;
3979    pub const SETNAE: InstId = InstId::Setb;
3980    pub const SETC: InstId = InstId::Setb;
3981    pub const SETNA: InstId = InstId::Setbe;
3982    pub const SETNGE: InstId = InstId::Setl;
3983    pub const SETNG: InstId = InstId::Setle;
3984    pub const SETAE: InstId = InstId::Setnb;
3985    pub const SETNC: InstId = InstId::Setnb;
3986    pub const SETA: InstId = InstId::Setnbe;
3987    pub const SETGE: InstId = InstId::Setnl;
3988    pub const SETG: InstId = InstId::Setnle;
3989    pub const SETPO: InstId = InstId::Setnp;
3990    pub const SETNE: InstId = InstId::Setnz;
3991    pub const SETPE: InstId = InstId::Setp;
3992    pub const SETE: InstId = InstId::Setz;
3993    pub const SAL: InstId = InstId::Shl;
3994}
3995
3996/// Describes which operation mode is supported by an instruction.
3997#[derive(Debug, Clone, Copy, PartialEq, Eq)]
3998#[repr(u8)]
3999pub enum Mode {
4000    /// Invalid mode.
4001    None = 0x00,
4002    /// X86 mode supported.
4003    X86 = 0x01,
4004    /// X64 mode supported.
4005    X64 = 0x02,
4006    /// Both X86 and X64 modes supported.
4007    Any = 0x03,
4008}
4009
4010// Operand signature flags used by [`OpSignature`].
4011bitflags! {
4012    #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Default)]
4013    pub struct OpFlags: u64 {
4014        /// No operand flags.
4015        const NONE = 0;
4016        /// Operand can be low 8-bit GPB register.
4017        const REG_GPB_LO = 0x0000000000000001;
4018        /// Operand can be high 8-bit GPB register.
4019        const REG_GPB_HI = 0x0000000000000002;
4020        /// Operand can be 16-bit GPW register.
4021        const REG_GPW = 0x0000000000000004;
4022        /// Operand can be 32-bit GPD register.
4023        const REG_GPD = 0x0000000000000008;
4024        /// Operand can be 64-bit GPQ register.
4025        const REG_GPQ = 0x0000000000000010;
4026        /// Operand can be 128-bit XMM register.
4027        const REG_XMM = 0x0000000000000020;
4028        /// Operand can be 256-bit YMM register.
4029        const REG_YMM = 0x0000000000000040;
4030        /// Operand can be 512-bit ZMM register.
4031        const REG_ZMM = 0x0000000000000080;
4032        /// Operand can be 64-bit MM register.
4033        const REG_MM = 0x0000000000000100;
4034        /// Operand can be 64-bit K register.
4035        const REG_K_REG = 0x0000000000000200;
4036        /// Operand can be SReg (segment register).
4037        const REG_S_REG = 0x0000000000000400;
4038        /// Operand can be CReg (control register).
4039        const REG_C_REG = 0x0000000000000800;
4040        /// Operand can be DReg (debug register).
4041        const REG_D_REG = 0x0000000000001000;
4042        /// Operand can be 80-bit ST register (X87).
4043        const REG_ST = 0x0000000000002000;
4044        /// Operand can be 128-bit BND register.
4045        const REG_BND = 0x0000000000004000;
4046        /// Operand can be 0..8192-bit TMM register.
4047        const REG_TMM = 0x0000000000008000;
4048        /// Mask of all possible register types.
4049        const REG_MASK = 0x000000000000FFFF;
4050        /// Operand can be a scalar memory pointer without size.
4051        const MEM_UNSPECIFIED = 0x0000000000040000;
4052        /// Operand can be an 8-bit memory pointer.
4053        const MEM8 = 0x0000000000080000;
4054        /// Operand can be a 16-bit memory pointer.
4055        const MEM16 = 0x0000000000100000;
4056        /// Operand can be a 32-bit memory pointer.
4057        const MEM32 = 0x0000000000200000;
4058        /// Operand can be a 48-bit memory pointer (FAR pointers only).
4059        const MEM48 = 0x0000000000400000;
4060        /// Operand can be a 64-bit memory pointer.
4061        const MEM64 = 0x0000000000800000;
4062        /// Operand can be an 80-bit memory pointer.
4063        const MEM80 = 0x0000000001000000;
4064        /// Operand can be a 128-bit memory pointer.
4065        const MEM128 = 0x0000000002000000;
4066        /// Operand can be a 256-bit memory pointer.
4067        const MEM256 = 0x0000000004000000;
4068        /// Operand can be a 512-bit memory pointer.
4069        const MEM512 = 0x0000000008000000;
4070        /// Operand can be a 1024-bit memory pointer.
4071        const MEM1024 = 0x0000000010000000;
4072        /// Mask of all possible scalar memory types.
4073        const MEM_MASK = 0x000000001FFC0000;
4074        /// Operand can be a vm32x (vector) pointer.
4075        const VM32X = 0x0000000040000000;
4076        /// Operand can be a vm32y (vector) pointer.
4077        const VM32Y = 0x0000000080000000;
4078        /// Operand can be a vm32z (vector) pointer.
4079        const VM32Z = 0x0000000100000000;
4080        /// Operand can be a vm64x (vector) pointer.
4081        const VM64X = 0x0000000200000000;
4082        /// Operand can be a vm64y (vector) pointer.
4083        const VM64Y = 0x0000000400000000;
4084        /// Operand can be a vm64z (vector) pointer.
4085        const VM64Z = 0x0000000800000000;
4086        /// Mask of all possible vector memory types.
4087        const VM_MASK = 0x0000000FC0000000;
4088        /// Operand can be signed 4-bit immediate.
4089        const IMM_I4 = 0x0000001000000000;
4090        /// Operand can be unsigned 4-bit immediate.
4091        const IMM_U4 = 0x0000002000000000;
4092        /// Operand can be signed 8-bit immediate.
4093        const IMM_I8 = 0x0000004000000000;
4094        /// Operand can be unsigned 8-bit immediate.
4095        const IMM_U8 = 0x0000008000000000;
4096        /// Operand can be signed 16-bit immediate.
4097        const IMM_I16 = 0x0000010000000000;
4098        /// Operand can be unsigned 16-bit immediate.
4099        const IMM_U16 = 0x0000020000000000;
4100        /// Operand can be signed 32-bit immediate.
4101        const IMM_I32 = 0x0000040000000000;
4102        /// Operand can be unsigned 32-bit immediate.
4103        const IMM_U32 = 0x0000080000000000;
4104        /// Operand can be signed 64-bit immediate.
4105        const IMM_I64 = 0x0000100000000000;
4106        /// Operand can be unsigned 64-bit immediate.
4107        const IMM_U64 = 0x0000200000000000;
4108        /// Mask of all immediate types.
4109        const IMM_MASK = 0x00003FF000000000;
4110        /// Operand can be relative 8-bit  displacement.
4111        const REL8 = 0x0000400000000000;
4112        /// Operand can be relative 32-bit displacement.
4113        const REL32 = 0x0000800000000000;
4114        /// Mask of all relative displacement types.
4115        const REL_MASK = 0x0000C00000000000;
4116        /// Flag: Only memory base is allowed (no index, no offset).
4117        const FLAG_MEM_BASE = 0x0001000000000000;
4118        /// Flag: Implicit memory operand's DS segment.
4119        const FLAG_MEM_DS = 0x0002000000000000;
4120        /// Flag: Implicit memory operand's ES segment.
4121        const FLAG_MEM_ES = 0x0004000000000000;
4122        /// Flag: Operand is MIB (base+index) pointer.
4123        const FLAG_MIB = 0x0008000000000000;
4124        /// Flag: Operand is TMEM (sib_mem), AMX memory pointer.
4125        const FLAG_T_MEM = 0x0010000000000000;
4126        /// Flag: Operand is implicit.
4127        const FLAG_IMPLICIT = 0x0080000000000000;
4128        /// Mask of all flags.
4129        const FLAG_MASK = 0x009F000000000000;
4130        /// Contains mask of all registers, memory operands, immediate operands, and displacement operands.
4131        const OP_MASK = Self::REG_MASK.bits() | Self::MEM_MASK.bits() | Self::VM_MASK.bits() | Self::IMM_MASK.bits() | Self::REL_MASK.bits();
4132    }
4133}
4134
4135/// Operand signature: all possible operand combinations, memory size
4136/// information, and a fixed register id.
4137#[derive(Debug, Clone, Copy, Default)]
4138pub struct OpSignature {
4139    pub flags: u64,
4140    pub reg_mask: u8,
4141}
4142
4143impl OpSignature {
4144    pub const fn new(flags: u64, reg_mask: u8) -> Self {
4145        Self { flags, reg_mask }
4146    }
4147}
4148
4149/// Instruction signature: a sequence of operand combinations and other
4150/// metadata defining a single instruction.
4151#[derive(Debug, Clone, Copy, Default)]
4152pub struct InstSignature {
4153    pub op_count: u8,
4154    pub mode: u8,
4155    pub implicit_op_count: u8,
4156    pub reserved: u8,
4157    pub op_signature_indexes: [u8; 6],
4158}
4159
4160impl InstSignature {
4161    pub const fn new(
4162        op_count: u8,
4163        mode: u8,
4164        implicit_op_count: u8,
4165        reserved: u8,
4166        op_signature_indexes: [u8; 6],
4167    ) -> Self {
4168        Self {
4169            op_count,
4170            mode,
4171            implicit_op_count,
4172            reserved,
4173            op_signature_indexes,
4174        }
4175    }
4176}
4177
4178// Instruction flags.
4179bitflags! {
4180    #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Default)]
4181    pub struct InstFlags: u32 {
4182        /// No flags.
4183        const NONE = 0x00000000;
4184        /// Instruction that accesses FPU registers.
4185        const FPU = 0x00000100;
4186        /// Instruction that accesses MMX registers (including 3DNOW and GEODE) and EMMS.
4187        const MMX = 0x00000200;
4188        /// Instruction that accesses XMM registers (SSE, AVX, AVX512).
4189        const VEC = 0x00000400;
4190        /// FPU instruction can address `word_ptr` (shared with M80).
4191        const FPU_M16 = 0x00000800;
4192        /// FPU instruction can address `dword_ptr`.
4193        const FPU_M32 = 0x00001000;
4194        /// FPU instruction can address `qword_ptr`.
4195        const FPU_M64 = 0x00002000;
4196        /// FPU instruction can address `tword_ptr` (shared with M16).
4197        const FPU_M80 = 0x00000800;
4198        /// Instruction can be prefixed with using the REP(REPE) or REPNE prefix.
4199        const REP = 0x00004000;
4200        /// Rep prefix is accepted, but it has no effect other than being emitted with the instruction (as an extra byte).
4201        const REP_IGNORED = 0x00008000;
4202        /// Instruction can be prefixed with using the LOCK prefix.
4203        const LOCK = 0x00010000;
4204        /// Instruction can be prefixed with using the XACQUIRE prefix.
4205        const X_ACQUIRE = 0x00020000;
4206        /// Instruction can be prefixed with using the XRELEASE prefix.
4207        const X_RELEASE = 0x00040000;
4208        /// Instruction uses MIB (BNDLDX|BNDSTX) to encode two registers.
4209        const MIB = 0x00080000;
4210        /// Instruction uses VSIB instead of legacy SIB.
4211        const VSIB = 0x00100000;
4212        /// Instruction uses TSIB (or SIB_MEM) encoding (MODRM followed by SIB).
4213        const TSIB = 0x00200000;
4214        /// Instruction can be encoded by VEX|XOP (AVX|AVX2|BMI|XOP|...).
4215        const VEX = 0x00400000;
4216        /// Instruction can be encoded by EVEX (AVX512).
4217        const EVEX = 0x00800000;
4218        /// EVEX encoding is preferred over VEX encoding (AVX515_VNNI vs AVX_VNNI).
4219        const PREFER_EVEX = 0x01000000;
4220        /// EVEX and VEX signatures are compatible.
4221        const EVEX_COMPAT = 0x02000000;
4222        /// EVEX instruction requires K register in the first operand (compare instructions).
4223        const EVEX_K_REG = 0x04000000;
4224        /// EVEX instruction requires two operands and K register as a selector (gather instructions).
4225        const EVEX_TWO_OP = 0x08000000;
4226        /// VEX instruction that can be transformed to a compatible EVEX instruction.
4227        const EVEX_TRANSFORMABLE = 0x10000000;
4228        /// Instruction uses consecutive registers. Used by VP2INTERSECTD and VP2INTERSECTQ instructions.
4229        const CONSECUTIVE_REGS = 0x20000000;
4230    }
4231}
4232
4233// AVX-512 flags.
4234bitflags! {
4235    #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Default)]
4236    pub struct Avx512Flags: u32 {
4237        /// No AVX-512 flags.
4238        const NONE = 0;
4239        /// Supports masking {k1..k7}.
4240        const K = 0x00000001;
4241        /// Supports zeroing {z}, must be used together with `kAvx512k`.
4242        const Z = 0x00000002;
4243        /// Supports 'embedded-rounding' {er} with implicit {sae},
4244        const ER = 0x00000004;
4245        /// Supports 'suppress-all-exceptions' {sae}.
4246        const SAE = 0x00000008;
4247        /// Supports 16-bit broadcast 'b16'.
4248        const B16 = 0x00000010;
4249        /// Supports 32-bit broadcast 'b32'.
4250        const B32 = 0x00000020;
4251        /// Supports 64-bit broadcast 'b64'.
4252        const B64 = 0x00000040;
4253        /// Implicit zeroing if {k} masking is used. Using {z} is not valid in this case as it's implicit.
4254        const IMPLICIT_Z = 0x00000100;
4255    }
4256}
4257
4258/// Instruction encoding (X86|X86_64).
4259#[derive(Debug, Clone, Copy, PartialEq, Eq)]
4260#[allow(non_camel_case_types)]
4261#[repr(u32)]
4262pub enum Encoding {
4263    /// Never used.
4264    None = 0,
4265    /// X86 [OP].
4266    X86Op,
4267    /// X86 [OP] (opcode with ModRM byte where MOD must be 11b).
4268    X86Op_Mod11RM,
4269    /// X86 [OP] (opcode with ModRM byte + 8-bit immediate).
4270    X86Op_Mod11RM_I8,
4271    /// X86 [OP] (implicit address in the first register operand).
4272    X86Op_xAddr,
4273    /// X86 [OP] (implicit or explicit '?AX' form).
4274    X86Op_xAX,
4275    /// X86 [OP] (implicit or explicit '?DX, ?AX' form).
4276    X86Op_xDX_xAX,
4277    /// X86 [OP] (implicit or explicit '[EAX|RAX]' form).
4278    X86Op_MemZAX,
4279    /// X86 [I] (implicit or explicit '?AX' form).
4280    X86I_xAX,
4281    /// X86 [M] (handles 2|4|8-bytes size).
4282    X86M,
4283    /// X86 [M] (handles 2|4|8-bytes size, but doesn't consider memory size).
4284    X86M_NoMemSize,
4285    /// X86 [M] (doesn't handle any size).
4286    X86M_NoSize,
4287    /// X86 [M] (handles single-byte size).
4288    X86M_GPB,
4289    /// X86 [M] (like GPB, handles implicit|explicit MUL|DIV|IDIV).
4290    X86M_GPB_MulDiv,
4291    /// X86 [M] (restricted to memory operand of any size).
4292    X86M_Only,
4293    /// X86 [M] (memory operand only, followed by implicit `EDX` and `EAX`).
4294    X86M_Only_EDX_EAX,
4295    /// X86 [M] (special case of NOP instruction).
4296    X86M_Nop,
4297    /// X86 [R] (register must be either 32-bit or 64-bit depending on arch).
4298    X86R_Native,
4299    /// X86 [R] - which specifies memory address.
4300    X86R_FromM,
4301    /// X86 [R32] followed by implicit `EDX` and `EAX`.
4302    X86R32_EDX_EAX,
4303    /// X86 [RM] (doesn't handle single-byte size).
4304    X86Rm,
4305    /// X86 [RM] (used by LZCNT, POPCNT, and TZCNT).
4306    X86Rm_Raw66H,
4307    /// X86 [RM] (doesn't add REX.W prefix if 64-bit reg is used).
4308    X86Rm_NoSize,
4309    /// X86 [MR] (doesn't handle single-byte size).
4310    X86Mr,
4311    /// X86 [MR] (doesn't handle any size).
4312    X86Mr_NoSize,
4313    /// X86 adc, add, and, cmp, or, sbb, sub, xor.
4314    X86Arith,
4315    /// X86 bswap.
4316    X86Bswap,
4317    /// X86 bt, btc, btr, bts.
4318    X86Bt,
4319    /// X86 call.
4320    X86Call,
4321    /// X86 [MR] cmpxchg.
4322    X86Cmpxchg,
4323    /// X86 [MR] cmpxchg8b, cmpxchg16b.
4324    X86Cmpxchg8b_16b,
4325    /// X86 crc32.
4326    X86Crc,
4327    /// X86 enter.
4328    X86Enter,
4329    /// X86 imul.
4330    X86Imul,
4331    /// X86 in.
4332    X86In,
4333    /// X86 ins[b|q|d].
4334    X86Ins,
4335    /// X86 inc, dec.
4336    X86IncDec,
4337    /// X86 int (interrupt).
4338    X86Int,
4339    /// X86 jcc.
4340    X86Jcc,
4341    /// X86 jcxz, jecxz, jrcxz, loop, loope, loopne.
4342    X86JecxzLoop,
4343    /// X86 jmp.
4344    X86Jmp,
4345    /// X86 xbegin.
4346    X86JmpRel,
4347    /// X86 lcall/ljmp.
4348    X86LcallLjmp,
4349    /// X86 lea.
4350    X86Lea,
4351    /// X86 mov (all possible cases).
4352    X86Mov,
4353    /// X86 movabs.
4354    X86Movabs,
4355    /// X86 movsx, movzx.
4356    X86MovsxMovzx,
4357    /// X86 movnti/movdiri.
4358    X86MovntiMovdiri,
4359    /// X86 enqcmd/enqcmds/movdir64b.
4360    X86EnqcmdMovdir64b,
4361    /// X86 out.
4362    X86Out,
4363    /// X86 out[b|w|d].
4364    X86Outs,
4365    /// X86 push.
4366    X86Push,
4367    /// X86 pushw.
4368    X86Pushw,
4369    /// X86 pop.
4370    X86Pop,
4371    /// X86 ret.
4372    X86Ret,
4373    /// X86 rcl, rcr, rol, ror, sal, sar, shl, shr.
4374    X86Rot,
4375    /// X86 setcc.
4376    X86Set,
4377    /// X86 shld, shrd.
4378    X86ShldShrd,
4379    /// X86 lods.
4380    X86StrRm,
4381    /// X86 scas, stos.
4382    X86StrMr,
4383    /// X86 cmps, movs.
4384    X86StrMm,
4385    /// X86 test.
4386    X86Test,
4387    /// X86 xadd.
4388    X86Xadd,
4389    /// X86 xchg.
4390    X86Xchg,
4391    /// X86 lfence, mfence, sfence.
4392    X86Fence,
4393    /// X86 [RM|MR] (used by BNDMOV).
4394    X86Bndmov,
4395    /// FPU [OP].
4396    FpuOp,
4397    /// FPU fadd, fdiv, fdivr, fmul, fsub, fsubr.
4398    FpuArith,
4399    /// FPU fcom, fcomp.
4400    FpuCom,
4401    /// FPU fld, fst, fstp.
4402    FpuFldFst,
4403    /// FPU fiadd, ficom, ficomp, fidiv, fidivr, fild, fimul, fist, fistp, fisttp, fisub, fisubr.
4404    FpuM,
4405    /// FPU fcmov, fcomi, fcomip, ffree, fucom, fucomi, fucomip, fucomp, fxch.
4406    FpuR,
4407    /// FPU faddp, fdivp, fdivrp, fmulp, fsubp, fsubrp.
4408    FpuRDef,
4409    /// FPU fnstsw, Fstsw.
4410    FpuStsw,
4411    /// EXT [RM].
4412    ExtRm,
4413    /// EXT [RM<XMM0>].
4414    ExtRm_XMM0,
4415    /// EXT [RM<ZDI>].
4416    ExtRm_ZDI,
4417    /// EXT [RM] (propagates 66H if the instruction uses XMM register).
4418    ExtRm_P,
4419    /// EXT [RM] (propagates REX.W if GPQ is used or the second operand is GPQ/QWORD_PTR).
4420    ExtRm_Wx,
4421    /// EXT [RM] (propagates REX.W if the first operand is GPQ register).
4422    ExtRm_Wx_GpqOnly,
4423    /// EXT [RM|RI].
4424    ExtRmRi,
4425    /// EXT [RM|RI] (propagates 66H if the instruction uses XMM register).
4426    ExtRmRi_P,
4427    /// EXT [RMI].
4428    ExtRmi,
4429    /// EXT [RMI] (propagates 66H if the instruction uses XMM register).
4430    ExtRmi_P,
4431    /// EXT pextrw.
4432    ExtPextrw,
4433    /// EXT pextrb, pextrd, pextrq, extractps.
4434    ExtExtract,
4435    /// EXT mov?? - #1:[MM|XMM, MM|XMM|Mem] #2:[MM|XMM|Mem, MM|XMM].
4436    ExtMov,
4437    /// EXT movbe.
4438    ExtMovbe,
4439    /// EXT movd.
4440    ExtMovd,
4441    /// EXT movq.
4442    ExtMovq,
4443    /// EXT extrq (SSE4A).
4444    ExtExtrq,
4445    /// EXT insrq (SSE4A).
4446    ExtInsertq,
4447    /// EXT [RMI] (3DNOW specific).
4448    Ext3dNow,
4449    /// VEX [OP].
4450    VexOp,
4451    /// VEX [OP] with MODR/M.
4452    VexOpMod,
4453    /// VEX [RM|MR] (used by kmov[b|w|d|q]).
4454    VexKmov,
4455    /// VEX|EVEX [R] (propagatex VEX.W if GPQ used).
4456    VexR_Wx,
4457    /// VEX|EVEX [M].
4458    VexM,
4459    /// VEX|EVEX [MR] (propagates VEX|EVEX.L if YMM used).
4460    VexMr_Lx,
4461    /// VEX|EVEX [MR] (VSIB support).
4462    VexMr_VM,
4463    /// VEX|EVEX [MRI].
4464    VexMri,
4465    /// VEX|EVEX [MRI] (propagates VEX|EVEX.L if YMM used).
4466    VexMri_Lx,
4467    /// VEX|EVEX [MRI] (special case required by VPEXTRW instruction).
4468    VexMri_Vpextrw,
4469    /// VEX|EVEX [MVR] (propagates VEX|EVEX.W if GPQ used).
4470    VexMvr_Wx,
4471    /// VEX|EVEX [RM].
4472    VexRm,
4473    /// VEX|EVEX [RM<ZDI>].
4474    VexRm_ZDI,
4475    /// VEX|EVEX [RM] (propagates VEX|EVEX.W if GPQ used).
4476    VexRm_Wx,
4477    /// VEX|EVEX [RM] (propagates VEX|EVEX.L if YMM used).
4478    VexRm_Lx,
4479    /// VEX|EVEX [RM] (the destination vector size is narrowed).
4480    VexRm_Lx_Narrow,
4481    /// VEX|EVEX [RM] (can handle broadcast r32/r64).
4482    VexRm_Lx_Bcst,
4483    /// VEX|EVEX [RM] (propagates VEX|EVEX.L, VSIB support).
4484    VexRm_VM,
4485    /// VEX|EVEX [RMI].
4486    VexRmi,
4487    /// VEX|EVEX [RMI] (propagates VEX|EVEX.W if GPQ used).
4488    VexRmi_Wx,
4489    /// VEX|EVEX [RMI] (propagates VEX|EVEX.L if YMM used).
4490    VexRmi_Lx,
4491    /// VEX|EVEX [RVM].
4492    VexRvm,
4493    /// VEX|EVEX [RVM] (propagates VEX|EVEX.W if GPQ used).
4494    VexRvm_Wx,
4495    /// VEX|EVEX [RVM<ZDX>] (propagates VEX|EVEX.W if GPQ used).
4496    VexRvm_ZDX_Wx,
4497    /// VEX|EVEX [RVM] (propagates VEX|EVEX.L if YMM used).
4498    VexRvm_Lx,
4499    /// VEX|EVEX [RVM] (forces EVEX prefix if K register is used on destination).
4500    VexRvm_Lx_KEvex,
4501    /// VEX|EVEX [RVM] (vp2intersectd/vp2intersectq).
4502    VexRvm_Lx_2xK,
4503    /// VEX|EVEX [RVMR].
4504    VexRvmr,
4505    /// VEX|EVEX [RVMR] (propagates VEX|EVEX.L if YMM used).
4506    VexRvmr_Lx,
4507    /// VEX|EVEX [RVMI].
4508    VexRvmi,
4509    /// VEX|EVEX [RVMI] (forces EVEX prefix if K register is used on destination).
4510    VexRvmi_KEvex,
4511    /// VEX|EVEX [RVMI] (propagates VEX|EVEX.L if YMM used).
4512    VexRvmi_Lx,
4513    /// VEX|EVEX [RVMI] (forces EVEX prefix if K register is used on destination).
4514    VexRvmi_Lx_KEvex,
4515    /// VEX|EVEX [RMV].
4516    VexRmv,
4517    /// VEX|EVEX [RMV] (propagates VEX|EVEX.W if GPQ used).
4518    VexRmv_Wx,
4519    /// VEX|EVEX [RMV] (propagates VEX|EVEX.L, VSIB support).
4520    VexRmv_VM,
4521    /// VEX|EVEX [RMV|RM] (propagates VEX|EVEX.L, VSIB support).
4522    VexRmvRm_VM,
4523    /// VEX|EVEX [RMVI].
4524    VexRmvi,
4525    /// VEX|EVEX [RM|MR].
4526    VexRmMr,
4527    /// VEX|EVEX [RM|MR] (propagates VEX|EVEX.L if YMM used).
4528    VexRmMr_Lx,
4529    /// VEX|EVEX [RVM|RMV].
4530    VexRvmRmv,
4531    /// VEX|EVEX [RVM|RMI].
4532    VexRvmRmi,
4533    /// VEX|EVEX [RVM|RMI] (propagates VEX|EVEX.L if YMM used).
4534    VexRvmRmi_Lx,
4535    /// VEX|EVEX [RVM|RMV|RMI].
4536    VexRvmRmvRmi,
4537    /// VEX|EVEX [RVM|MR].
4538    VexRvmMr,
4539    /// VEX|EVEX [RVM|MVR].
4540    VexRvmMvr,
4541    /// VEX|EVEX [RVM|MVR] (propagates VEX|EVEX.L if YMM used).
4542    VexRvmMvr_Lx,
4543    /// VEX|EVEX [RVM|VMI].
4544    VexRvmVmi,
4545    /// VEX|EVEX [RVM|VMI] (propagates VEX|EVEX.L if YMM used).
4546    VexRvmVmi_Lx,
4547    /// VEX|EVEX [RVM|VMI] (propagates EVEX if the second operand is memory).
4548    VexRvmVmi_Lx_MEvex,
4549    /// VEX|EVEX [VM].
4550    VexVm,
4551    /// VEX|EVEX [VM] (propagates VEX|EVEX.W if GPQ used).
4552    VexVm_Wx,
4553    /// VEX|EVEX [VMI].
4554    VexVmi,
4555    /// VEX|EVEX [VMI] (propagates VEX|EVEX.L if YMM used).
4556    VexVmi_Lx,
4557    /// VEX|EVEX [VMI] (propagates VEX|EVEX.W if GPQ used, DWORD Immediate).
4558    VexVmi4_Wx,
4559    /// VEX|EVEX [VMI] (force EVEX prefix when the second operand is memory)
4560    VexVmi_Lx_MEvex,
4561    /// VEX|EVEX [RVRM|RVMR].
4562    VexRvrmRvmr,
4563    /// VEX|EVEX [RVRM|RVMR] (propagates VEX|EVEX.L if YMM used).
4564    VexRvrmRvmr_Lx,
4565    /// VEX|EVEX [RVRMI|RVMRI] (propagates VEX|EVEX.L if YMM used).
4566    VexRvrmiRvmri_Lx,
4567    /// VEX|EVEX vmovd, vmovq.
4568    VexMovdMovq,
4569    /// VEX|EVEX vmovss, vmovsd.
4570    VexMovssMovsd,
4571    /// FMA4 [R, R, R/M, R/M].
4572    Fma4,
4573    /// FMA4 [R, R, R/M, R/M] (propagates AVX.L if YMM used).
4574    Fma4_Lx,
4575    /// AMX ldtilecfg/sttilecfg.
4576    AmxCfg,
4577    /// AMX [R] - tilezero.
4578    AmxR,
4579    /// AMX tileloadd/tileloaddt1.
4580    AmxRm,
4581    /// AMX tilestored.
4582    AmxMr,
4583    /// AMX instructions that use TMM registers.
4584    AmxRmv,
4585    /// Count of instruction encodings.
4586    Count,
4587}
4588
4589/// Aggregated information shared across one or more instructions.
4590#[derive(Debug, Clone, Copy, Default)]
4591pub struct CommonInfo {
4592    pub flags: u32,
4593    pub avx512_flags: u32,
4594    pub signature_index: u32,
4595    pub signature_count: u32,
4596    pub control_flow: InstControlFlow,
4597    pub same_reg_hint: InstSameRegHint,
4598}
4599
4600impl CommonInfo {
4601    pub const fn new(
4602        flags: u32,
4603        avx512_flags: u32,
4604        signature_index: u32,
4605        signature_count: u32,
4606        control_flow: InstControlFlow,
4607        same_reg_hint: InstSameRegHint,
4608    ) -> Self {
4609        Self {
4610            flags,
4611            avx512_flags,
4612            signature_index,
4613            signature_count,
4614            control_flow,
4615            same_reg_hint,
4616        }
4617    }
4618
4619    pub const fn has_flag(&self, flag: InstFlags) -> bool {
4620        self.flags & flag.bits() != 0
4621    }
4622
4623    pub const fn has_avx512_flag(&self, flag: Avx512Flags) -> bool {
4624        self.avx512_flags & flag.bits() != 0
4625    }
4626}
4627
4628/// Instruction information.
4629#[derive(Debug, Clone, Copy, Default)]
4630pub struct InstInfo {
4631    pub reserved: u32,
4632    pub common_info_index: u32,
4633    pub additional_info_index: u32,
4634    pub encoding: u8,
4635    pub main_opcode_value: u8,
4636    pub main_opcode_index: u8,
4637    pub alt_opcode_index: u8,
4638}
4639
4640impl InstInfo {
4641    pub const fn new(
4642        common_info_index: u32,
4643        additional_info_index: u32,
4644        encoding: u8,
4645        main_opcode_value: u8,
4646        main_opcode_index: u8,
4647        alt_opcode_index: u8,
4648    ) -> Self {
4649        Self {
4650            reserved: 0,
4651            common_info_index,
4652            additional_info_index,
4653            encoding,
4654            main_opcode_value,
4655            main_opcode_index,
4656            alt_opcode_index,
4657        }
4658    }
4659}
4660
4661/// Additional information table entry: CPU extensions required to execute an
4662/// instruction plus RW flags.
4663#[derive(Debug, Clone, Copy, Default)]
4664pub struct AdditionalInfo {
4665    pub inst_flags_index: u8,
4666    pub rw_flags_index: u8,
4667    pub features: [u8; 6],
4668}
4669
4670impl AdditionalInfo {
4671    pub const fn new(inst_flags_index: u8, rw_flags_index: u8, features: [u8; 6]) -> Self {
4672        Self {
4673            inst_flags_index,
4674            rw_flags_index,
4675            features,
4676        }
4677    }
4678}
4679
4680/// Read/write information of an instruction.
4681#[derive(Debug, Clone, Copy, Default)]
4682pub struct RwInfo {
4683    pub category: RwInfoCategory,
4684    pub rm_info: u8,
4685    pub op_info_index: [u8; 6],
4686}
4687
4688impl RwInfo {
4689    pub const fn new(category: RwInfoCategory, rm_info: u8, op_info_index: [u8; 6]) -> Self {
4690        Self {
4691            category,
4692            rm_info,
4693            op_info_index,
4694        }
4695    }
4696}
4697
4698/// Read/write information of a single operand.
4699#[derive(Debug, Clone, Copy, Default)]
4700pub struct RwInfoOp {
4701    pub r_byte_mask: u64,
4702    pub w_byte_mask: u64,
4703    pub phys_id: u8,
4704    pub consecutive_lead_count: u8,
4705    pub flags: OpRwFlags,
4706}
4707
4708impl RwInfoOp {
4709    pub const fn new(
4710        r_byte_mask: u64,
4711        w_byte_mask: u64,
4712        phys_id: u8,
4713        consecutive_lead_count: u8,
4714        flags: u32,
4715    ) -> Self {
4716        Self {
4717            r_byte_mask,
4718            w_byte_mask,
4719            phys_id,
4720            consecutive_lead_count,
4721            flags: OpRwFlags::from_bits_retain(flags),
4722        }
4723    }
4724}
4725
4726/// R/M information, used to replace a register operand by a memory operand
4727/// reliably.
4728#[derive(Debug, Clone, Copy, Default)]
4729pub struct RwInfoRm {
4730    pub category: RwInfoRmCategory,
4731    pub rm_ops_mask: u8,
4732    pub fixed_size: u8,
4733    pub flags: u8,
4734    pub rm_feature: u8,
4735}
4736
4737impl RwInfoRm {
4738    pub const fn new(
4739        category: RwInfoRmCategory,
4740        rm_ops_mask: u8,
4741        fixed_size: u8,
4742        flags: u8,
4743        rm_feature: u8,
4744    ) -> Self {
4745        Self {
4746            category,
4747            rm_ops_mask,
4748            fixed_size,
4749            flags,
4750            rm_feature,
4751        }
4752    }
4753}
4754
4755/// CPU/FPU flags read/written information.
4756#[derive(Debug, Clone, Copy, Default)]
4757pub struct RwFlagsInfo {
4758    pub read_flags: u32,
4759    pub write_flags: u32,
4760}
4761
4762impl RwFlagsInfo {
4763    pub const fn new(read_flags: u32, write_flags: u32) -> Self {
4764        Self {
4765            read_flags,
4766            write_flags,
4767        }
4768    }
4769}
4770
4771/// Category of [`RwInfo`].
4772#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
4773#[allow(non_camel_case_types)]
4774#[repr(u8)]
4775pub enum RwInfoCategory {
4776    #[default]
4777    Generic = 0,
4778    GenericEx,
4779    Mov,
4780    Movabs,
4781    Imul,
4782    Movh64,
4783    Punpcklxx,
4784    Vmaskmov,
4785    Vmovddup,
4786    Vmovmskpd,
4787    Vmovmskps,
4788    Vmov1_2,
4789    Vmov1_4,
4790    Vmov1_8,
4791    Vmov2_1,
4792    Vmov4_1,
4793    Vmov8_1,
4794}
4795
4796/// Category of [`RwInfoRm`].
4797#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
4798#[repr(u8)]
4799pub enum RwInfoRmCategory {
4800    #[default]
4801    None = 0,
4802    Fixed,
4803    Consistent,
4804    Half,
4805    Quarter,
4806    Eighth,
4807}
4808
4809// Flags of [`RwInfoRm`].
4810bitflags! {
4811    #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Default)]
4812    pub struct RwInfoRmFlags: u8 {
4813        const AMBIGUOUS = 0x01;
4814        /// Special semantics for PEXTRW - memory operand can only be used with SSE4.1 instruction and it's forbidden in MMX.
4815        const PEXTRW = 0x02;
4816        /// Special semantics for MOVSS and MOVSD - doesn't zero extend the destination if the operation is a reg to reg move.
4817        const MOVSS_MOVSD = 0x04;
4818        /// Special semantics for AVX shift instructions that do not provide reg/mem in AVX/AVX2 mode (AVX-512 is required).
4819        const FEATURE_IF_RMI = 0x08;
4820        /// No flags.
4821        const NONE = 0;
4822    }
4823}
4824
4825/// Instruction information table, indexed by [`InstId`].
4826pub static INST_INFO_TABLE: &[InstInfo] = &[
4827    InstInfo::new(0, 0, Encoding::None as u8, 0x00, 0, 0), // #0
4828    InstInfo::new(1, 1, Encoding::X86Op_xAX as u8, 0x37, 0, 0), // #1
4829    InstInfo::new(2, 1, Encoding::X86I_xAX as u8, 0xD5, 0, 0), // #2
4830    InstInfo::new(3, 2, Encoding::X86Mr as u8, 0xFC, 1, 0), // #3
4831    InstInfo::new(2, 1, Encoding::X86I_xAX as u8, 0xD4, 0, 0), // #4
4832    InstInfo::new(3, 2, Encoding::X86Mr as u8, 0xFC, 2, 0), // #5
4833    InstInfo::new(1, 1, Encoding::X86Op_xAX as u8, 0x3F, 0, 0), // #6
4834    InstInfo::new(4, 3, Encoding::X86Arith as u8, 0x10, 3, 0), // #7
4835    InstInfo::new(5, 4, Encoding::X86Rm as u8, 0xF6, 2, 0), // #8
4836    InstInfo::new(4, 1, Encoding::X86Arith as u8, 0x00, 0, 0), // #9
4837    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0x58, 4, 0), // #10
4838    InstInfo::new(6, 6, Encoding::ExtRm as u8, 0x58, 5, 0), // #11
4839    InstInfo::new(7, 5, Encoding::ExtRm as u8, 0x58, 6, 0), // #12
4840    InstInfo::new(8, 6, Encoding::ExtRm as u8, 0x58, 7, 0), // #13
4841    InstInfo::new(6, 7, Encoding::ExtRm as u8, 0xD0, 4, 0), // #14
4842    InstInfo::new(6, 7, Encoding::ExtRm as u8, 0xD0, 6, 0), // #15
4843    InstInfo::new(5, 8, Encoding::X86Rm as u8, 0xF6, 8, 0), // #16
4844    InstInfo::new(6, 9, Encoding::ExtRm as u8, 0xDE, 2, 0), // #17
4845    InstInfo::new(6, 9, Encoding::ExtRm as u8, 0xDF, 2, 0), // #18
4846    InstInfo::new(6, 9, Encoding::ExtRm as u8, 0xDC, 2, 0), // #19
4847    InstInfo::new(6, 9, Encoding::ExtRm as u8, 0xDD, 2, 0), // #20
4848    InstInfo::new(6, 9, Encoding::ExtRm as u8, 0xDB, 2, 0), // #21
4849    InstInfo::new(9, 9, Encoding::ExtRmi as u8, 0xDF, 9, 0), // #22
4850    InstInfo::new(10, 1, Encoding::X86Arith as u8, 0x20, 10, 0), // #23
4851    InstInfo::new(11, 10, Encoding::VexRvm_Wx as u8, 0xF2, 11, 0), // #24
4852    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0x55, 4, 0), // #25
4853    InstInfo::new(6, 6, Encoding::ExtRm as u8, 0x55, 5, 0), // #26
4854    InstInfo::new(12, 5, Encoding::ExtRm as u8, 0x54, 4, 0), // #27
4855    InstInfo::new(12, 6, Encoding::ExtRm as u8, 0x54, 5, 0), // #28
4856    InstInfo::new(3, 2, Encoding::X86Mr as u8, 0xFC, 12, 0), // #29
4857    InstInfo::new(13, 11, Encoding::X86Mr_NoSize as u8, 0x63, 0, 0), // #30
4858    InstInfo::new(3, 2, Encoding::X86Mr as u8, 0xFC, 8, 0), // #31
4859    InstInfo::new(14, 10, Encoding::VexRmv_Wx as u8, 0xF7, 11, 0), // #32
4860    InstInfo::new(15, 12, Encoding::VexVm_Wx as u8, 0x01, 13, 0), // #33
4861    InstInfo::new(15, 12, Encoding::VexVm_Wx as u8, 0x02, 14, 0), // #34
4862    InstInfo::new(15, 12, Encoding::VexVm_Wx as u8, 0x01, 15, 0), // #35
4863    InstInfo::new(15, 12, Encoding::VexVm_Wx as u8, 0x02, 13, 0), // #36
4864    InstInfo::new(15, 12, Encoding::VexVm_Wx as u8, 0x01, 16, 0), // #37
4865    InstInfo::new(9, 13, Encoding::ExtRmi as u8, 0x0D, 9, 0), // #38
4866    InstInfo::new(9, 13, Encoding::ExtRmi as u8, 0x0C, 9, 0), // #39
4867    InstInfo::new(16, 13, Encoding::ExtRm_XMM0 as u8, 0x15, 2, 0), // #40
4868    InstInfo::new(16, 13, Encoding::ExtRm_XMM0 as u8, 0x14, 2, 0), // #41
4869    InstInfo::new(15, 12, Encoding::VexVm_Wx as u8, 0x01, 17, 0), // #42
4870    InstInfo::new(15, 10, Encoding::VexVm_Wx as u8, 0xF3, 18, 0), // #43
4871    InstInfo::new(15, 12, Encoding::VexVm_Wx as u8, 0x01, 14, 0), // #44
4872    InstInfo::new(15, 10, Encoding::VexVm_Wx as u8, 0xF3, 19, 0), // #45
4873    InstInfo::new(15, 10, Encoding::VexVm_Wx as u8, 0xF3, 20, 0), // #46
4874    InstInfo::new(17, 14, Encoding::X86Rm as u8, 0x1A, 7, 0), // #47
4875    InstInfo::new(17, 14, Encoding::X86Rm as u8, 0x1B, 6, 0), // #48
4876    InstInfo::new(17, 14, Encoding::X86Rm as u8, 0x1A, 6, 0), // #49
4877    InstInfo::new(18, 14, Encoding::X86Rm as u8, 0x1A, 5, 0), // #50
4878    InstInfo::new(19, 14, Encoding::X86Rm as u8, 0x1B, 7, 0), // #51
4879    InstInfo::new(20, 14, Encoding::X86Bndmov as u8, 0x1A, 4, 1), // #52
4880    InstInfo::new(21, 14, Encoding::X86Mr as u8, 0x1B, 5, 0), // #53
4881    InstInfo::new(22, 0, Encoding::X86Rm as u8, 0x62, 0, 0), // #54
4882    InstInfo::new(23, 1, Encoding::X86Rm as u8, 0xBC, 5, 0), // #55
4883    InstInfo::new(23, 1, Encoding::X86Rm as u8, 0xBD, 5, 0), // #56
4884    InstInfo::new(24, 0, Encoding::X86Bswap as u8, 0xC8, 5, 0), // #57
4885    InstInfo::new(25, 15, Encoding::X86Bt as u8, 0xA3, 5, 2), // #58
4886    InstInfo::new(26, 15, Encoding::X86Bt as u8, 0xBB, 5, 3), // #59
4887    InstInfo::new(26, 15, Encoding::X86Bt as u8, 0xB3, 5, 4), // #60
4888    InstInfo::new(26, 15, Encoding::X86Bt as u8, 0xAB, 5, 5), // #61
4889    InstInfo::new(14, 16, Encoding::VexRmv_Wx as u8, 0xF5, 11, 0), // #62
4890    InstInfo::new(27, 1, Encoding::X86Call as u8, 0xFF, 3, 0), // #63
4891    InstInfo::new(28, 0, Encoding::X86Op_xAX as u8, 0x98, 21, 0), // #64
4892    InstInfo::new(29, 0, Encoding::X86Op_xDX_xAX as u8, 0x99, 0, 0), // #65
4893    InstInfo::new(30, 0, Encoding::X86Op_xAX as u8, 0x98, 22, 0), // #66
4894    InstInfo::new(31, 17, Encoding::X86Op as u8, 0xCA, 23, 0), // #67
4895    InstInfo::new(31, 18, Encoding::X86Op as u8, 0xF8, 0, 0), // #68
4896    InstInfo::new(31, 19, Encoding::X86Op as u8, 0xFC, 0, 0), // #69
4897    InstInfo::new(32, 20, Encoding::X86M_Only as u8, 0x1C, 5, 0), // #70
4898    InstInfo::new(32, 21, Encoding::X86M_Only as u8, 0xAE, 24, 0), // #71
4899    InstInfo::new(32, 22, Encoding::X86M_Only as u8, 0xAE, 25, 0), // #72
4900    InstInfo::new(31, 23, Encoding::X86Op as u8, 0xDD, 23, 0), // #73
4901    InstInfo::new(31, 24, Encoding::X86Op as u8, 0xFA, 0, 0), // #74
4902    InstInfo::new(33, 25, Encoding::X86M_Only as u8, 0xAE, 26, 0), // #75
4903    InstInfo::new(31, 0, Encoding::X86Op as u8, 0x06, 5, 0), // #76
4904    InstInfo::new(34, 26, Encoding::X86Op as u8, 0xEE, 27, 0), // #77
4905    InstInfo::new(32, 27, Encoding::X86M_Only as u8, 0xAE, 28, 0), // #78
4906    InstInfo::new(35, 28, Encoding::X86Op_MemZAX as u8, 0xFC, 23, 0), // #79
4907    InstInfo::new(31, 29, Encoding::X86Op as u8, 0xF5, 0, 0), // #80
4908    InstInfo::new(23, 30, Encoding::X86Rm as u8, 0x42, 5, 0), // #81
4909    InstInfo::new(23, 31, Encoding::X86Rm as u8, 0x46, 5, 0), // #82
4910    InstInfo::new(23, 32, Encoding::X86Rm as u8, 0x4C, 5, 0), // #83
4911    InstInfo::new(23, 33, Encoding::X86Rm as u8, 0x4E, 5, 0), // #84
4912    InstInfo::new(23, 30, Encoding::X86Rm as u8, 0x43, 5, 0), // #85
4913    InstInfo::new(23, 31, Encoding::X86Rm as u8, 0x47, 5, 0), // #86
4914    InstInfo::new(23, 32, Encoding::X86Rm as u8, 0x4D, 5, 0), // #87
4915    InstInfo::new(23, 33, Encoding::X86Rm as u8, 0x4F, 5, 0), // #88
4916    InstInfo::new(23, 34, Encoding::X86Rm as u8, 0x41, 5, 0), // #89
4917    InstInfo::new(23, 35, Encoding::X86Rm as u8, 0x4B, 5, 0), // #90
4918    InstInfo::new(23, 36, Encoding::X86Rm as u8, 0x49, 5, 0), // #91
4919    InstInfo::new(23, 37, Encoding::X86Rm as u8, 0x45, 5, 0), // #92
4920    InstInfo::new(23, 34, Encoding::X86Rm as u8, 0x40, 5, 0), // #93
4921    InstInfo::new(23, 35, Encoding::X86Rm as u8, 0x4A, 5, 0), // #94
4922    InstInfo::new(23, 36, Encoding::X86Rm as u8, 0x48, 5, 0), // #95
4923    InstInfo::new(23, 37, Encoding::X86Rm as u8, 0x44, 5, 0), // #96
4924    InstInfo::new(36, 1, Encoding::X86Arith as u8, 0x38, 29, 0), // #97
4925    InstInfo::new(37, 38, Encoding::VexMvr_Wx as u8, 0xE6, 30, 0), // #98
4926    InstInfo::new(37, 38, Encoding::VexMvr_Wx as u8, 0xE2, 30, 0), // #99
4927    InstInfo::new(37, 38, Encoding::VexMvr_Wx as u8, 0xEE, 30, 0), // #100
4928    InstInfo::new(37, 38, Encoding::VexMvr_Wx as u8, 0xEC, 30, 0), // #101
4929    InstInfo::new(37, 38, Encoding::VexMvr_Wx as u8, 0xE7, 30, 0), // #102
4930    InstInfo::new(37, 38, Encoding::VexMvr_Wx as u8, 0xE3, 30, 0), // #103
4931    InstInfo::new(37, 38, Encoding::VexMvr_Wx as u8, 0xEF, 30, 0), // #104
4932    InstInfo::new(37, 38, Encoding::VexMvr_Wx as u8, 0xED, 30, 0), // #105
4933    InstInfo::new(37, 38, Encoding::VexMvr_Wx as u8, 0xE1, 30, 0), // #106
4934    InstInfo::new(37, 38, Encoding::VexMvr_Wx as u8, 0xEB, 30, 0), // #107
4935    InstInfo::new(37, 38, Encoding::VexMvr_Wx as u8, 0xE9, 30, 0), // #108
4936    InstInfo::new(37, 38, Encoding::VexMvr_Wx as u8, 0xE5, 30, 0), // #109
4937    InstInfo::new(37, 38, Encoding::VexMvr_Wx as u8, 0xE0, 30, 0), // #110
4938    InstInfo::new(9, 5, Encoding::ExtRmi as u8, 0xC2, 4, 0), // #111
4939    InstInfo::new(9, 6, Encoding::ExtRmi as u8, 0xC2, 5, 0), // #112
4940    InstInfo::new(37, 38, Encoding::VexMvr_Wx as u8, 0xEA, 30, 0), // #113
4941    InstInfo::new(38, 39, Encoding::X86StrMm as u8, 0xA6, 0, 0), // #114
4942    InstInfo::new(39, 5, Encoding::ExtRmi as u8, 0xC2, 6, 0), // #115
4943    InstInfo::new(40, 6, Encoding::ExtRmi as u8, 0xC2, 7, 0), // #116
4944    InstInfo::new(37, 38, Encoding::VexMvr_Wx as u8, 0xE8, 30, 0), // #117
4945    InstInfo::new(41, 40, Encoding::X86Cmpxchg as u8, 0xB0, 5, 0), // #118
4946    InstInfo::new(42, 41, Encoding::X86Cmpxchg8b_16b as u8, 0xC7, 31, 0), // #119
4947    InstInfo::new(43, 42, Encoding::X86Cmpxchg8b_16b as u8, 0xC7, 32, 0), // #120
4948    InstInfo::new(37, 38, Encoding::VexMvr_Wx as u8, 0xE4, 30, 0), // #121
4949    InstInfo::new(7, 43, Encoding::ExtRm as u8, 0x2F, 4, 0), // #122
4950    InstInfo::new(8, 44, Encoding::ExtRm as u8, 0x2F, 5, 0), // #123
4951    InstInfo::new(44, 45, Encoding::X86Op as u8, 0xA2, 5, 0), // #124
4952    InstInfo::new(45, 0, Encoding::X86Op_xDX_xAX as u8, 0x99, 22, 0), // #125
4953    InstInfo::new(46, 46, Encoding::X86Crc as u8, 0xF0, 12, 0), // #126
4954    InstInfo::new(7, 5, Encoding::ExtRm as u8, 0xE6, 7, 0), // #127
4955    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0x5B, 5, 0), // #128
4956    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0xE6, 6, 0), // #129
4957    InstInfo::new(47, 5, Encoding::ExtRm as u8, 0x2D, 4, 0), // #130
4958    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0x5A, 4, 0), // #131
4959    InstInfo::new(48, 5, Encoding::ExtRm as u8, 0x2A, 4, 0), // #132
4960    InstInfo::new(48, 6, Encoding::ExtRm as u8, 0x2A, 5, 0), // #133
4961    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0x5B, 4, 0), // #134
4962    InstInfo::new(7, 5, Encoding::ExtRm as u8, 0x5A, 5, 0), // #135
4963    InstInfo::new(49, 6, Encoding::ExtRm as u8, 0x2D, 5, 0), // #136
4964    InstInfo::new(50, 5, Encoding::ExtRm_Wx_GpqOnly as u8, 0x2D, 6, 0), // #137
4965    InstInfo::new(7, 5, Encoding::ExtRm as u8, 0x5A, 6, 0), // #138
4966    InstInfo::new(51, 5, Encoding::ExtRm_Wx as u8, 0x2A, 6, 0), // #139
4967    InstInfo::new(51, 6, Encoding::ExtRm_Wx as u8, 0x2A, 7, 0), // #140
4968    InstInfo::new(8, 5, Encoding::ExtRm as u8, 0x5A, 7, 0), // #141
4969    InstInfo::new(52, 6, Encoding::ExtRm_Wx_GpqOnly as u8, 0x2D, 7, 0), // #142
4970    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0xE6, 4, 0), // #143
4971    InstInfo::new(47, 5, Encoding::ExtRm as u8, 0x2C, 4, 0), // #144
4972    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0x5B, 7, 0), // #145
4973    InstInfo::new(49, 6, Encoding::ExtRm as u8, 0x2C, 5, 0), // #146
4974    InstInfo::new(50, 5, Encoding::ExtRm_Wx_GpqOnly as u8, 0x2C, 6, 0), // #147
4975    InstInfo::new(52, 6, Encoding::ExtRm_Wx_GpqOnly as u8, 0x2C, 7, 0), // #148
4976    InstInfo::new(53, 0, Encoding::X86Op_xDX_xAX as u8, 0x99, 21, 0), // #149
4977    InstInfo::new(54, 0, Encoding::X86Op_xAX as u8, 0x98, 0, 0), // #150
4978    InstInfo::new(1, 1, Encoding::X86Op as u8, 0x27, 0, 0), // #151
4979    InstInfo::new(1, 1, Encoding::X86Op as u8, 0x2F, 0, 0), // #152
4980    InstInfo::new(55, 47, Encoding::X86IncDec as u8, 0xFE, 33, 6), // #153
4981    InstInfo::new(56, 1, Encoding::X86M_GPB_MulDiv as u8, 0xF6, 34, 0), // #154
4982    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0x5E, 4, 0), // #155
4983    InstInfo::new(6, 6, Encoding::ExtRm as u8, 0x5E, 5, 0), // #156
4984    InstInfo::new(7, 5, Encoding::ExtRm as u8, 0x5E, 6, 0), // #157
4985    InstInfo::new(8, 6, Encoding::ExtRm as u8, 0x5E, 7, 0), // #158
4986    InstInfo::new(9, 13, Encoding::ExtRmi as u8, 0x41, 9, 0), // #159
4987    InstInfo::new(9, 13, Encoding::ExtRmi as u8, 0x40, 9, 0), // #160
4988    InstInfo::new(57, 48, Encoding::X86Op as u8, 0x77, 5, 0), // #161
4989    InstInfo::new(31, 49, Encoding::X86Op_Mod11RM as u8, 0x1E, 35, 0), // #162
4990    InstInfo::new(31, 49, Encoding::X86Op_Mod11RM as u8, 0x1E, 36, 0), // #163
4991    InstInfo::new(58, 50, Encoding::X86EnqcmdMovdir64b as u8, 0xF8, 12, 0), // #164
4992    InstInfo::new(58, 50, Encoding::X86EnqcmdMovdir64b as u8, 0xF8, 8, 0), // #165
4993    InstInfo::new(59, 0, Encoding::X86Enter as u8, 0xC8, 0, 0), // #166
4994    InstInfo::new(60, 13, Encoding::ExtExtract as u8, 0x17, 9, 0), // #167
4995    InstInfo::new(61, 51, Encoding::ExtExtrq as u8, 0x79, 4, 7), // #168
4996    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xF0, 37, 0), // #169
4997    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xE1, 37, 0), // #170
4998    InstInfo::new(62, 52, Encoding::FpuArith as u8, 0xC0, 38, 0), // #171
4999    InstInfo::new(63, 52, Encoding::FpuRDef as u8, 0xC0, 39, 0), // #172
5000    InstInfo::new(64, 52, Encoding::X86M_Only as u8, 0xDF, 40, 0), // #173
5001    InstInfo::new(64, 52, Encoding::X86M_Only as u8, 0xDF, 41, 0), // #174
5002    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xE0, 37, 0), // #175
5003    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xE2, 42, 0), // #176
5004    InstInfo::new(65, 53, Encoding::FpuR as u8, 0xC0, 43, 0), // #177
5005    InstInfo::new(65, 54, Encoding::FpuR as u8, 0xD0, 43, 0), // #178
5006    InstInfo::new(65, 55, Encoding::FpuR as u8, 0xC8, 43, 0), // #179
5007    InstInfo::new(65, 53, Encoding::FpuR as u8, 0xC0, 44, 0), // #180
5008    InstInfo::new(65, 54, Encoding::FpuR as u8, 0xD0, 44, 0), // #181
5009    InstInfo::new(65, 55, Encoding::FpuR as u8, 0xC8, 44, 0), // #182
5010    InstInfo::new(65, 56, Encoding::FpuR as u8, 0xD8, 44, 0), // #183
5011    InstInfo::new(65, 56, Encoding::FpuR as u8, 0xD8, 43, 0), // #184
5012    InstInfo::new(66, 52, Encoding::FpuCom as u8, 0xD0, 45, 0), // #185
5013    InstInfo::new(65, 57, Encoding::FpuR as u8, 0xF0, 44, 0), // #186
5014    InstInfo::new(65, 57, Encoding::FpuR as u8, 0xF0, 46, 0), // #187
5015    InstInfo::new(66, 52, Encoding::FpuCom as u8, 0xD8, 47, 0), // #188
5016    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xD9, 39, 0), // #189
5017    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xFF, 37, 0), // #190
5018    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xF6, 37, 0), // #191
5019    InstInfo::new(62, 52, Encoding::FpuArith as u8, 0xF8, 48, 0), // #192
5020    InstInfo::new(63, 52, Encoding::FpuRDef as u8, 0xF8, 39, 0), // #193
5021    InstInfo::new(62, 52, Encoding::FpuArith as u8, 0xF0, 49, 0), // #194
5022    InstInfo::new(63, 52, Encoding::FpuRDef as u8, 0xF0, 39, 0), // #195
5023    InstInfo::new(31, 58, Encoding::X86Op as u8, 0x0E, 5, 0), // #196
5024    InstInfo::new(65, 52, Encoding::FpuR as u8, 0xC0, 50, 0), // #197
5025    InstInfo::new(67, 52, Encoding::FpuM as u8, 0xDA, 51, 0), // #198
5026    InstInfo::new(67, 52, Encoding::FpuM as u8, 0xDA, 52, 0), // #199
5027    InstInfo::new(67, 52, Encoding::FpuM as u8, 0xDA, 53, 0), // #200
5028    InstInfo::new(67, 52, Encoding::FpuM as u8, 0xDA, 41, 0), // #201
5029    InstInfo::new(67, 52, Encoding::FpuM as u8, 0xDA, 54, 0), // #202
5030    InstInfo::new(68, 52, Encoding::FpuM as u8, 0xDB, 51, 8), // #203
5031    InstInfo::new(67, 52, Encoding::FpuM as u8, 0xDA, 55, 0), // #204
5032    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xF7, 37, 0), // #205
5033    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xE3, 42, 0), // #206
5034    InstInfo::new(67, 52, Encoding::FpuM as u8, 0xDB, 52, 0), // #207
5035    InstInfo::new(68, 52, Encoding::FpuM as u8, 0xDB, 53, 9), // #208
5036    InstInfo::new(68, 59, Encoding::FpuM as u8, 0xDB, 55, 10), // #209
5037    InstInfo::new(67, 52, Encoding::FpuM as u8, 0xDA, 40, 0), // #210
5038    InstInfo::new(67, 52, Encoding::FpuM as u8, 0xDA, 56, 0), // #211
5039    InstInfo::new(69, 52, Encoding::FpuFldFst as u8, 0xD9, 51, 11), // #212
5040    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xE8, 37, 0), // #213
5041    InstInfo::new(70, 52, Encoding::X86M_Only as u8, 0xD9, 56, 0), // #214
5042    InstInfo::new(32, 52, Encoding::X86M_Only as u8, 0xD9, 40, 0), // #215
5043    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xEA, 37, 0), // #216
5044    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xE9, 37, 0), // #217
5045    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xEC, 37, 0), // #218
5046    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xED, 37, 0), // #219
5047    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xEB, 37, 0), // #220
5048    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xEE, 37, 0), // #221
5049    InstInfo::new(62, 52, Encoding::FpuArith as u8, 0xC8, 57, 0), // #222
5050    InstInfo::new(63, 52, Encoding::FpuRDef as u8, 0xC8, 39, 0), // #223
5051    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xE2, 44, 0), // #224
5052    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xE3, 44, 0), // #225
5053    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xD0, 37, 0), // #226
5054    InstInfo::new(32, 52, Encoding::X86M_Only as u8, 0xDD, 41, 0), // #227
5055    InstInfo::new(70, 52, Encoding::X86M_Only as u8, 0xD9, 54, 0), // #228
5056    InstInfo::new(32, 52, Encoding::X86M_Only as u8, 0xD9, 41, 0), // #229
5057    InstInfo::new(71, 52, Encoding::FpuStsw as u8, 0xDD, 54, 12), // #230
5058    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xF3, 37, 0), // #231
5059    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xF8, 37, 0), // #232
5060    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xF5, 37, 0), // #233
5061    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xF2, 37, 0), // #234
5062    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xFC, 37, 0), // #235
5063    InstInfo::new(32, 52, Encoding::X86M_Only as u8, 0xDD, 40, 0), // #236
5064    InstInfo::new(32, 52, Encoding::X86M_Only as u8, 0xDD, 58, 0), // #237
5065    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xFD, 37, 0), // #238
5066    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xFE, 37, 0), // #239
5067    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xFB, 37, 0), // #240
5068    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xFA, 37, 0), // #241
5069    InstInfo::new(72, 52, Encoding::FpuFldFst as u8, 0xD9, 52, 0), // #242
5070    InstInfo::new(70, 52, Encoding::X86M_Only as u8, 0xD9, 59, 0), // #243
5071    InstInfo::new(32, 52, Encoding::X86M_Only as u8, 0xD9, 58, 0), // #244
5072    InstInfo::new(69, 52, Encoding::FpuFldFst as u8, 0xD9, 53, 13), // #245
5073    InstInfo::new(71, 52, Encoding::FpuStsw as u8, 0xDD, 59, 14), // #246
5074    InstInfo::new(62, 52, Encoding::FpuArith as u8, 0xE8, 60, 0), // #247
5075    InstInfo::new(63, 52, Encoding::FpuRDef as u8, 0xE8, 39, 0), // #248
5076    InstInfo::new(62, 52, Encoding::FpuArith as u8, 0xE0, 61, 0), // #249
5077    InstInfo::new(63, 52, Encoding::FpuRDef as u8, 0xE0, 39, 0), // #250
5078    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xE4, 37, 0), // #251
5079    InstInfo::new(63, 52, Encoding::FpuRDef as u8, 0xE0, 50, 0), // #252
5080    InstInfo::new(65, 57, Encoding::FpuR as u8, 0xE8, 44, 0), // #253
5081    InstInfo::new(65, 57, Encoding::FpuR as u8, 0xE8, 46, 0), // #254
5082    InstInfo::new(63, 52, Encoding::FpuRDef as u8, 0xE8, 50, 0), // #255
5083    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xE9, 43, 0), // #256
5084    InstInfo::new(31, 52, Encoding::X86Op as u8, 0x9B, 51, 0), // #257
5085    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xE5, 37, 0), // #258
5086    InstInfo::new(63, 52, Encoding::FpuR as u8, 0xC8, 37, 0), // #259
5087    InstInfo::new(32, 60, Encoding::X86M_Only as u8, 0xAE, 32, 0), // #260
5088    InstInfo::new(73, 60, Encoding::X86M_Only as u8, 0xAE, 31, 0), // #261
5089    InstInfo::new(32, 61, Encoding::X86M_Only as u8, 0xAE, 5, 0), // #262
5090    InstInfo::new(73, 61, Encoding::X86M_Only as u8, 0xAE, 62, 0), // #263
5091    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xF4, 37, 0), // #264
5092    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xF1, 37, 0), // #265
5093    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xF9, 37, 0), // #266
5094    InstInfo::new(74, 62, Encoding::X86Op as u8, 0x37, 5, 0), // #267
5095    InstInfo::new(9, 63, Encoding::ExtRmi as u8, 0xCF, 9, 0), // #268
5096    InstInfo::new(9, 63, Encoding::ExtRmi as u8, 0xCE, 9, 0), // #269
5097    InstInfo::new(6, 63, Encoding::ExtRm as u8, 0xCF, 2, 0), // #270
5098    InstInfo::new(6, 7, Encoding::ExtRm as u8, 0x7C, 4, 0), // #271
5099    InstInfo::new(6, 7, Encoding::ExtRm as u8, 0x7C, 6, 0), // #272
5100    InstInfo::new(31, 0, Encoding::X86Op as u8, 0xF4, 0, 0), // #273
5101    InstInfo::new(75, 64, Encoding::X86Op_Mod11RM_I8 as u8, 0xF0, 63, 0), // #274
5102    InstInfo::new(6, 7, Encoding::ExtRm as u8, 0x7D, 4, 0), // #275
5103    InstInfo::new(6, 7, Encoding::ExtRm as u8, 0x7D, 6, 0), // #276
5104    InstInfo::new(56, 1, Encoding::X86M_GPB_MulDiv as u8, 0xF6, 29, 0), // #277
5105    InstInfo::new(76, 1, Encoding::X86Imul as u8, 0xF6, 64, 0), // #278
5106    InstInfo::new(77, 0, Encoding::X86In as u8, 0xEC, 0, 15), // #279
5107    InstInfo::new(78, 47, Encoding::X86IncDec as u8, 0xFE, 0, 16), // #280
5108    InstInfo::new(79, 65, Encoding::X86M as u8, 0xAE, 65, 0), // #281
5109    InstInfo::new(80, 65, Encoding::X86M as u8, 0xAE, 66, 0), // #282
5110    InstInfo::new(81, 0, Encoding::X86Ins as u8, 0x6C, 0, 0), // #283
5111    InstInfo::new(40, 13, Encoding::ExtRmi as u8, 0x21, 9, 0), // #284
5112    InstInfo::new(82, 51, Encoding::ExtInsertq as u8, 0x79, 6, 17), // #285
5113    InstInfo::new(83, 0, Encoding::X86Int as u8, 0xCD, 0, 0), // #286
5114    InstInfo::new(31, 0, Encoding::X86Op as u8, 0xCC, 0, 0), // #287
5115    InstInfo::new(84, 66, Encoding::X86Op as u8, 0xCE, 0, 0), // #288
5116    InstInfo::new(31, 45, Encoding::X86Op as u8, 0x08, 5, 0), // #289
5117    InstInfo::new(85, 67, Encoding::X86Rm_NoSize as u8, 0x80, 2, 0), // #290
5118    InstInfo::new(32, 45, Encoding::X86M_Only as u8, 0x01, 24, 0), // #291
5119    InstInfo::new(86, 23, Encoding::X86Op_xAddr as u8, 0xDF, 23, 0), // #292
5120    InstInfo::new(87, 68, Encoding::X86Op as u8, 0xFE, 23, 0), // #293
5121    InstInfo::new(85, 45, Encoding::X86Rm_NoSize as u8, 0x82, 2, 0), // #294
5122    InstInfo::new(85, 67, Encoding::X86Rm_NoSize as u8, 0x81, 2, 0), // #295
5123    InstInfo::new(88, 1, Encoding::X86Op as u8, 0xCF, 21, 0), // #296
5124    InstInfo::new(88, 1, Encoding::X86Op as u8, 0xCF, 0, 0), // #297
5125    InstInfo::new(89, 1, Encoding::X86Op as u8, 0xCF, 22, 0), // #298
5126    InstInfo::new(90, 69, Encoding::X86Jcc as u8, 0x82, 5, 18), // #299
5127    InstInfo::new(90, 70, Encoding::X86Jcc as u8, 0x86, 5, 19), // #300
5128    InstInfo::new(91, 0, Encoding::X86JecxzLoop as u8, 0x00, 0, 20), // #301
5129    InstInfo::new(90, 71, Encoding::X86Jcc as u8, 0x8C, 5, 21), // #302
5130    InstInfo::new(90, 72, Encoding::X86Jcc as u8, 0x8E, 5, 22), // #303
5131    InstInfo::new(92, 0, Encoding::X86Jmp as u8, 0xFF, 10, 23), // #304
5132    InstInfo::new(90, 69, Encoding::X86Jcc as u8, 0x83, 5, 24), // #305
5133    InstInfo::new(90, 70, Encoding::X86Jcc as u8, 0x87, 5, 25), // #306
5134    InstInfo::new(90, 71, Encoding::X86Jcc as u8, 0x8D, 5, 26), // #307
5135    InstInfo::new(90, 72, Encoding::X86Jcc as u8, 0x8F, 5, 27), // #308
5136    InstInfo::new(90, 66, Encoding::X86Jcc as u8, 0x81, 5, 28), // #309
5137    InstInfo::new(90, 73, Encoding::X86Jcc as u8, 0x8B, 5, 29), // #310
5138    InstInfo::new(90, 74, Encoding::X86Jcc as u8, 0x89, 5, 30), // #311
5139    InstInfo::new(90, 75, Encoding::X86Jcc as u8, 0x85, 5, 31), // #312
5140    InstInfo::new(90, 66, Encoding::X86Jcc as u8, 0x80, 5, 32), // #313
5141    InstInfo::new(90, 73, Encoding::X86Jcc as u8, 0x8A, 5, 33), // #314
5142    InstInfo::new(90, 74, Encoding::X86Jcc as u8, 0x88, 5, 34), // #315
5143    InstInfo::new(90, 75, Encoding::X86Jcc as u8, 0x84, 5, 35), // #316
5144    InstInfo::new(93, 76, Encoding::VexRvm as u8, 0x4A, 67, 0), // #317
5145    InstInfo::new(93, 77, Encoding::VexRvm as u8, 0x4A, 68, 0), // #318
5146    InstInfo::new(93, 77, Encoding::VexRvm as u8, 0x4A, 69, 0), // #319
5147    InstInfo::new(93, 76, Encoding::VexRvm as u8, 0x4A, 70, 0), // #320
5148    InstInfo::new(93, 76, Encoding::VexRvm as u8, 0x41, 67, 0), // #321
5149    InstInfo::new(93, 77, Encoding::VexRvm as u8, 0x41, 68, 0), // #322
5150    InstInfo::new(93, 76, Encoding::VexRvm as u8, 0x42, 67, 0), // #323
5151    InstInfo::new(93, 77, Encoding::VexRvm as u8, 0x42, 68, 0), // #324
5152    InstInfo::new(93, 77, Encoding::VexRvm as u8, 0x42, 69, 0), // #325
5153    InstInfo::new(93, 78, Encoding::VexRvm as u8, 0x42, 70, 0), // #326
5154    InstInfo::new(93, 77, Encoding::VexRvm as u8, 0x41, 69, 0), // #327
5155    InstInfo::new(93, 78, Encoding::VexRvm as u8, 0x41, 70, 0), // #328
5156    InstInfo::new(94, 79, Encoding::VexKmov as u8, 0x90, 71, 36), // #329
5157    InstInfo::new(95, 80, Encoding::VexKmov as u8, 0x90, 72, 37), // #330
5158    InstInfo::new(96, 80, Encoding::VexKmov as u8, 0x90, 73, 38), // #331
5159    InstInfo::new(97, 81, Encoding::VexKmov as u8, 0x90, 74, 39), // #332
5160    InstInfo::new(98, 76, Encoding::VexRm as u8, 0x44, 71, 0), // #333
5161    InstInfo::new(98, 77, Encoding::VexRm as u8, 0x44, 72, 0), // #334
5162    InstInfo::new(98, 77, Encoding::VexRm as u8, 0x44, 73, 0), // #335
5163    InstInfo::new(98, 78, Encoding::VexRm as u8, 0x44, 74, 0), // #336
5164    InstInfo::new(93, 76, Encoding::VexRvm as u8, 0x45, 67, 0), // #337
5165    InstInfo::new(93, 77, Encoding::VexRvm as u8, 0x45, 68, 0), // #338
5166    InstInfo::new(93, 77, Encoding::VexRvm as u8, 0x45, 69, 0), // #339
5167    InstInfo::new(98, 82, Encoding::VexRm as u8, 0x98, 71, 0), // #340
5168    InstInfo::new(98, 83, Encoding::VexRm as u8, 0x98, 72, 0), // #341
5169    InstInfo::new(98, 83, Encoding::VexRm as u8, 0x98, 73, 0), // #342
5170    InstInfo::new(98, 84, Encoding::VexRm as u8, 0x98, 74, 0), // #343
5171    InstInfo::new(93, 78, Encoding::VexRvm as u8, 0x45, 70, 0), // #344
5172    InstInfo::new(99, 76, Encoding::VexRmi as u8, 0x32, 75, 0), // #345
5173    InstInfo::new(99, 77, Encoding::VexRmi as u8, 0x33, 75, 0), // #346
5174    InstInfo::new(99, 77, Encoding::VexRmi as u8, 0x33, 76, 0), // #347
5175    InstInfo::new(99, 78, Encoding::VexRmi as u8, 0x32, 76, 0), // #348
5176    InstInfo::new(99, 76, Encoding::VexRmi as u8, 0x30, 75, 0), // #349
5177    InstInfo::new(99, 77, Encoding::VexRmi as u8, 0x31, 75, 0), // #350
5178    InstInfo::new(99, 77, Encoding::VexRmi as u8, 0x31, 76, 0), // #351
5179    InstInfo::new(99, 78, Encoding::VexRmi as u8, 0x30, 76, 0), // #352
5180    InstInfo::new(98, 82, Encoding::VexRm as u8, 0x99, 71, 0), // #353
5181    InstInfo::new(98, 83, Encoding::VexRm as u8, 0x99, 72, 0), // #354
5182    InstInfo::new(98, 83, Encoding::VexRm as u8, 0x99, 73, 0), // #355
5183    InstInfo::new(98, 82, Encoding::VexRm as u8, 0x99, 74, 0), // #356
5184    InstInfo::new(93, 78, Encoding::VexRvm as u8, 0x4B, 67, 0), // #357
5185    InstInfo::new(93, 77, Encoding::VexRvm as u8, 0x4B, 69, 0), // #358
5186    InstInfo::new(93, 77, Encoding::VexRvm as u8, 0x4B, 70, 0), // #359
5187    InstInfo::new(100, 76, Encoding::VexRvm as u8, 0x46, 67, 0), // #360
5188    InstInfo::new(100, 77, Encoding::VexRvm as u8, 0x46, 68, 0), // #361
5189    InstInfo::new(100, 77, Encoding::VexRvm as u8, 0x46, 69, 0), // #362
5190    InstInfo::new(100, 78, Encoding::VexRvm as u8, 0x46, 70, 0), // #363
5191    InstInfo::new(100, 76, Encoding::VexRvm as u8, 0x47, 67, 0), // #364
5192    InstInfo::new(100, 77, Encoding::VexRvm as u8, 0x47, 68, 0), // #365
5193    InstInfo::new(100, 77, Encoding::VexRvm as u8, 0x47, 69, 0), // #366
5194    InstInfo::new(100, 78, Encoding::VexRvm as u8, 0x47, 70, 0), // #367
5195    InstInfo::new(101, 85, Encoding::X86Op as u8, 0x9F, 0, 0), // #368
5196    InstInfo::new(102, 11, Encoding::X86Rm as u8, 0x02, 5, 0), // #369
5197    InstInfo::new(103, 1, Encoding::X86LcallLjmp as u8, 0xFF, 77, 40), // #370
5198    InstInfo::new(104, 7, Encoding::ExtRm as u8, 0xF0, 6, 0), // #371
5199    InstInfo::new(105, 6, Encoding::X86M_Only as u8, 0xAE, 78, 0), // #372
5200    InstInfo::new(106, 0, Encoding::X86Rm as u8, 0xC5, 0, 0), // #373
5201    InstInfo::new(107, 86, Encoding::AmxCfg as u8, 0x49, 11, 0), // #374
5202    InstInfo::new(108, 0, Encoding::X86Lea as u8, 0x8D, 0, 0), // #375
5203    InstInfo::new(31, 0, Encoding::X86Op as u8, 0xC9, 0, 0), // #376
5204    InstInfo::new(106, 0, Encoding::X86Rm as u8, 0xC4, 0, 0), // #377
5205    InstInfo::new(31, 5, Encoding::X86Fence as u8, 0xAE, 79, 0), // #378
5206    InstInfo::new(109, 0, Encoding::X86Rm as u8, 0xB4, 5, 0), // #379
5207    InstInfo::new(32, 0, Encoding::X86M_Only as u8, 0x01, 78, 0), // #380
5208    InstInfo::new(109, 0, Encoding::X86Rm as u8, 0xB5, 5, 0), // #381
5209    InstInfo::new(32, 0, Encoding::X86M_Only as u8, 0x01, 80, 0), // #382
5210    InstInfo::new(110, 0, Encoding::X86LcallLjmp as u8, 0xFF, 64, 41), // #383
5211    InstInfo::new(111, 0, Encoding::X86M_NoSize as u8, 0x00, 78, 0), // #384
5212    InstInfo::new(112, 87, Encoding::VexR_Wx as u8, 0x12, 81, 0), // #385
5213    InstInfo::new(111, 0, Encoding::X86M_NoSize as u8, 0x01, 82, 0), // #386
5214    InstInfo::new(113, 88, Encoding::X86StrRm as u8, 0xAC, 0, 0), // #387
5215    InstInfo::new(114, 0, Encoding::X86JecxzLoop as u8, 0x00, 0, 42), // #388
5216    InstInfo::new(114, 75, Encoding::X86JecxzLoop as u8, 0x00, 0, 43), // #389
5217    InstInfo::new(114, 75, Encoding::X86JecxzLoop as u8, 0x00, 0, 44), // #390
5218    InstInfo::new(115, 11, Encoding::X86Rm as u8, 0x03, 5, 0), // #391
5219    InstInfo::new(109, 0, Encoding::X86Rm as u8, 0xB2, 5, 0), // #392
5220    InstInfo::new(111, 0, Encoding::X86M_NoSize as u8, 0x00, 80, 0), // #393
5221    InstInfo::new(116, 87, Encoding::VexVmi4_Wx as u8, 0x12, 83, 0), // #394
5222    InstInfo::new(116, 87, Encoding::VexVmi4_Wx as u8, 0x12, 84, 0), // #395
5223    InstInfo::new(23, 89, Encoding::X86Rm_Raw66H as u8, 0xBD, 7, 0), // #396
5224    InstInfo::new(117, 5, Encoding::ExtRm_ZDI as u8, 0xF7, 4, 0), // #397
5225    InstInfo::new(118, 90, Encoding::ExtRm_ZDI as u8, 0xF7, 5, 0), // #398
5226    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0x5F, 4, 0), // #399
5227    InstInfo::new(6, 6, Encoding::ExtRm as u8, 0x5F, 5, 0), // #400
5228    InstInfo::new(7, 5, Encoding::ExtRm as u8, 0x5F, 6, 0), // #401
5229    InstInfo::new(8, 6, Encoding::ExtRm as u8, 0x5F, 7, 0), // #402
5230    InstInfo::new(31, 91, Encoding::X86Op as u8, 0xFA, 27, 0), // #403
5231    InstInfo::new(31, 5, Encoding::X86Fence as u8, 0xAE, 82, 0), // #404
5232    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0x5D, 4, 0), // #405
5233    InstInfo::new(6, 6, Encoding::ExtRm as u8, 0x5D, 5, 0), // #406
5234    InstInfo::new(7, 5, Encoding::ExtRm as u8, 0x5D, 6, 0), // #407
5235    InstInfo::new(8, 6, Encoding::ExtRm as u8, 0x5D, 7, 0), // #408
5236    InstInfo::new(119, 92, Encoding::X86Op as u8, 0xC8, 23, 0), // #409
5237    InstInfo::new(119, 93, Encoding::X86Op as u8, 0xFA, 23, 0), // #410
5238    InstInfo::new(120, 94, Encoding::X86Mov as u8, 0x00, 0, 0), // #411
5239    InstInfo::new(121, 0, Encoding::X86Movabs as u8, 0x00, 0, 0), // #412
5240    InstInfo::new(122, 95, Encoding::ExtMov as u8, 0x28, 4, 45), // #413
5241    InstInfo::new(122, 96, Encoding::ExtMov as u8, 0x28, 5, 46), // #414
5242    InstInfo::new(123, 97, Encoding::ExtMovbe as u8, 0xF0, 1, 47), // #415
5243    InstInfo::new(124, 98, Encoding::ExtMovd as u8, 0x6E, 5, 48), // #416
5244    InstInfo::new(7, 7, Encoding::ExtMov as u8, 0x12, 6, 0), // #417
5245    InstInfo::new(125, 99, Encoding::X86EnqcmdMovdir64b as u8, 0xF8, 2, 0), // #418
5246    InstInfo::new(3, 100, Encoding::X86MovntiMovdiri as u8, 0xF9, 1, 0), // #419
5247    InstInfo::new(126, 5, Encoding::ExtMov as u8, 0xD6, 6, 0), // #420
5248    InstInfo::new(122, 95, Encoding::ExtMov as u8, 0x6F, 4, 49), // #421
5249    InstInfo::new(122, 95, Encoding::ExtMov as u8, 0x6F, 7, 50), // #422
5250    InstInfo::new(127, 6, Encoding::ExtMov as u8, 0x12, 5, 0), // #423
5251    InstInfo::new(128, 5, Encoding::ExtMov as u8, 0x16, 4, 51), // #424
5252    InstInfo::new(128, 6, Encoding::ExtMov as u8, 0x16, 5, 52), // #425
5253    InstInfo::new(127, 6, Encoding::ExtMov as u8, 0x16, 5, 0), // #426
5254    InstInfo::new(128, 5, Encoding::ExtMov as u8, 0x12, 4, 53), // #427
5255    InstInfo::new(128, 6, Encoding::ExtMov as u8, 0x12, 5, 54), // #428
5256    InstInfo::new(129, 5, Encoding::ExtMov as u8, 0x50, 4, 0), // #429
5257    InstInfo::new(129, 6, Encoding::ExtMov as u8, 0x50, 5, 0), // #430
5258    InstInfo::new(130, 5, Encoding::ExtMov as u8, 0x00, 0, 55), // #431
5259    InstInfo::new(104, 13, Encoding::ExtMov as u8, 0x2A, 2, 0), // #432
5260    InstInfo::new(3, 5, Encoding::X86MovntiMovdiri as u8, 0xC3, 5, 0), // #433
5261    InstInfo::new(130, 5, Encoding::ExtMov as u8, 0x00, 0, 56), // #434
5262    InstInfo::new(130, 6, Encoding::ExtMov as u8, 0x00, 0, 57), // #435
5263    InstInfo::new(131, 90, Encoding::ExtMov as u8, 0x00, 0, 58), // #436
5264    InstInfo::new(132, 51, Encoding::ExtMov as u8, 0x00, 0, 59), // #437
5265    InstInfo::new(133, 51, Encoding::ExtMov as u8, 0x00, 0, 60), // #438
5266    InstInfo::new(134, 101, Encoding::ExtMovq as u8, 0x6E, 5, 48), // #439
5267    InstInfo::new(135, 5, Encoding::ExtRm as u8, 0xD6, 7, 0), // #440
5268    InstInfo::new(136, 88, Encoding::X86StrMm as u8, 0xA4, 0, 0), // #441
5269    InstInfo::new(137, 95, Encoding::ExtMov as u8, 0x10, 6, 61), // #442
5270    InstInfo::new(6, 7, Encoding::ExtRm as u8, 0x16, 7, 0), // #443
5271    InstInfo::new(6, 7, Encoding::ExtRm as u8, 0x12, 7, 0), // #444
5272    InstInfo::new(138, 96, Encoding::ExtMov as u8, 0x10, 7, 62), // #445
5273    InstInfo::new(139, 0, Encoding::X86MovsxMovzx as u8, 0xBE, 5, 0), // #446
5274    InstInfo::new(140, 0, Encoding::X86Rm as u8, 0x63, 0, 0), // #447
5275    InstInfo::new(122, 95, Encoding::ExtMov as u8, 0x10, 4, 63), // #448
5276    InstInfo::new(122, 96, Encoding::ExtMov as u8, 0x10, 5, 64), // #449
5277    InstInfo::new(139, 0, Encoding::X86MovsxMovzx as u8, 0xB6, 5, 0), // #450
5278    InstInfo::new(9, 13, Encoding::ExtRmi as u8, 0x42, 9, 0), // #451
5279    InstInfo::new(56, 1, Encoding::X86M_GPB_MulDiv as u8, 0xF6, 10, 0), // #452
5280    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0x59, 4, 0), // #453
5281    InstInfo::new(6, 6, Encoding::ExtRm as u8, 0x59, 5, 0), // #454
5282    InstInfo::new(7, 5, Encoding::ExtRm as u8, 0x59, 6, 0), // #455
5283    InstInfo::new(8, 6, Encoding::ExtRm as u8, 0x59, 7, 0), // #456
5284    InstInfo::new(141, 102, Encoding::VexRvm_ZDX_Wx as u8, 0xF6, 85, 0), // #457
5285    InstInfo::new(142, 92, Encoding::X86Op as u8, 0xC9, 23, 0), // #458
5286    InstInfo::new(143, 93, Encoding::X86Op as u8, 0xFB, 23, 0), // #459
5287    InstInfo::new(144, 1, Encoding::X86M_GPB as u8, 0xF6, 77, 0), // #460
5288    InstInfo::new(145, 0, Encoding::X86M_Nop as u8, 0x90, 0, 0), // #461
5289    InstInfo::new(144, 0, Encoding::X86M_GPB as u8, 0xF6, 3, 0), // #462
5290    InstInfo::new(146, 1, Encoding::X86Arith as u8, 0x08, 33, 0), // #463
5291    InstInfo::new(12, 5, Encoding::ExtRm as u8, 0x56, 4, 0), // #464
5292    InstInfo::new(12, 6, Encoding::ExtRm as u8, 0x56, 5, 0), // #465
5293    InstInfo::new(147, 0, Encoding::X86Out as u8, 0xEE, 0, 65), // #466
5294    InstInfo::new(148, 0, Encoding::X86Outs as u8, 0x6E, 0, 0), // #467
5295    InstInfo::new(149, 103, Encoding::ExtRm_P as u8, 0x1C, 1, 0), // #468
5296    InstInfo::new(149, 103, Encoding::ExtRm_P as u8, 0x1E, 1, 0), // #469
5297    InstInfo::new(149, 103, Encoding::ExtRm_P as u8, 0x1D, 1, 0), // #470
5298    InstInfo::new(149, 98, Encoding::ExtRm_P as u8, 0x6B, 5, 0), // #471
5299    InstInfo::new(149, 98, Encoding::ExtRm_P as u8, 0x63, 5, 0), // #472
5300    InstInfo::new(6, 13, Encoding::ExtRm as u8, 0x2B, 2, 0), // #473
5301    InstInfo::new(149, 98, Encoding::ExtRm_P as u8, 0x67, 5, 0), // #474
5302    InstInfo::new(149, 98, Encoding::ExtRm_P as u8, 0xFC, 5, 0), // #475
5303    InstInfo::new(149, 98, Encoding::ExtRm_P as u8, 0xFE, 5, 0), // #476
5304    InstInfo::new(149, 5, Encoding::ExtRm_P as u8, 0xD4, 5, 0), // #477
5305    InstInfo::new(149, 98, Encoding::ExtRm_P as u8, 0xEC, 5, 0), // #478
5306    InstInfo::new(149, 98, Encoding::ExtRm_P as u8, 0xED, 5, 0), // #479
5307    InstInfo::new(149, 98, Encoding::ExtRm_P as u8, 0xDC, 5, 0), // #480
5308    InstInfo::new(149, 98, Encoding::ExtRm_P as u8, 0xDD, 5, 0), // #481
5309    InstInfo::new(149, 98, Encoding::ExtRm_P as u8, 0xFD, 5, 0), // #482
5310    InstInfo::new(150, 103, Encoding::ExtRmi_P as u8, 0x0F, 86, 0), // #483
5311    InstInfo::new(151, 98, Encoding::ExtRm_P as u8, 0xDB, 5, 0), // #484
5312    InstInfo::new(152, 98, Encoding::ExtRm_P as u8, 0xDF, 5, 0), // #485
5313    InstInfo::new(31, 0, Encoding::X86Op as u8, 0x90, 87, 0), // #486
5314    InstInfo::new(149, 104, Encoding::ExtRm_P as u8, 0xE0, 5, 0), // #487
5315    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0xBF, 88, 0), // #488
5316    InstInfo::new(149, 104, Encoding::ExtRm_P as u8, 0xE3, 5, 0), // #489
5317    InstInfo::new(16, 13, Encoding::ExtRm_XMM0 as u8, 0x10, 2, 0), // #490
5318    InstInfo::new(9, 13, Encoding::ExtRmi as u8, 0x0E, 9, 0), // #491
5319    InstInfo::new(9, 105, Encoding::ExtRmi as u8, 0x44, 9, 0), // #492
5320    InstInfo::new(152, 98, Encoding::ExtRm_P as u8, 0x74, 5, 0), // #493
5321    InstInfo::new(152, 98, Encoding::ExtRm_P as u8, 0x76, 5, 0), // #494
5322    InstInfo::new(154, 13, Encoding::ExtRm as u8, 0x29, 2, 0), // #495
5323    InstInfo::new(152, 98, Encoding::ExtRm_P as u8, 0x75, 5, 0), // #496
5324    InstInfo::new(155, 106, Encoding::ExtRmi as u8, 0x61, 9, 0), // #497
5325    InstInfo::new(156, 106, Encoding::ExtRmi as u8, 0x60, 9, 0), // #498
5326    InstInfo::new(152, 98, Encoding::ExtRm_P as u8, 0x64, 5, 0), // #499
5327    InstInfo::new(152, 98, Encoding::ExtRm_P as u8, 0x66, 5, 0), // #500
5328    InstInfo::new(154, 46, Encoding::ExtRm as u8, 0x37, 2, 0), // #501
5329    InstInfo::new(152, 98, Encoding::ExtRm_P as u8, 0x65, 5, 0), // #502
5330    InstInfo::new(157, 106, Encoding::ExtRmi as u8, 0x63, 9, 0), // #503
5331    InstInfo::new(158, 106, Encoding::ExtRmi as u8, 0x62, 9, 0), // #504
5332    InstInfo::new(31, 107, Encoding::X86Op as u8, 0xC5, 23, 0), // #505
5333    InstInfo::new(11, 102, Encoding::VexRvm_Wx as u8, 0xF5, 85, 0), // #506
5334    InstInfo::new(11, 102, Encoding::VexRvm_Wx as u8, 0xF5, 89, 0), // #507
5335    InstInfo::new(159, 13, Encoding::ExtExtract as u8, 0x14, 86, 0), // #508
5336    InstInfo::new(60, 13, Encoding::ExtExtract as u8, 0x16, 86, 0), // #509
5337    InstInfo::new(160, 13, Encoding::ExtExtract as u8, 0x16, 90, 0), // #510
5338    InstInfo::new(161, 108, Encoding::ExtPextrw as u8, 0xC5, 5, 66), // #511
5339    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0x1D, 88, 0), // #512
5340    InstInfo::new(153, 109, Encoding::Ext3dNow as u8, 0x1C, 88, 0), // #513
5341    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0xAE, 88, 0), // #514
5342    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0x9E, 88, 0), // #515
5343    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0xB0, 88, 0), // #516
5344    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0x90, 88, 0), // #517
5345    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0xA0, 88, 0), // #518
5346    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0xA4, 88, 0), // #519
5347    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0x94, 88, 0), // #520
5348    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0xB4, 88, 0), // #521
5349    InstInfo::new(153, 109, Encoding::Ext3dNow as u8, 0x8A, 88, 0), // #522
5350    InstInfo::new(153, 109, Encoding::Ext3dNow as u8, 0x8E, 88, 0), // #523
5351    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0x96, 88, 0), // #524
5352    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0xA6, 88, 0), // #525
5353    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0xB6, 88, 0), // #526
5354    InstInfo::new(153, 110, Encoding::Ext3dNow as u8, 0x86, 88, 0), // #527
5355    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0xA7, 88, 0), // #528
5356    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0x97, 88, 0), // #529
5357    InstInfo::new(153, 110, Encoding::Ext3dNow as u8, 0x87, 88, 0), // #530
5358    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0x9A, 88, 0), // #531
5359    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0xAA, 88, 0), // #532
5360    InstInfo::new(149, 103, Encoding::ExtRm_P as u8, 0x02, 1, 0), // #533
5361    InstInfo::new(149, 103, Encoding::ExtRm_P as u8, 0x03, 1, 0), // #534
5362    InstInfo::new(149, 103, Encoding::ExtRm_P as u8, 0x01, 1, 0), // #535
5363    InstInfo::new(6, 13, Encoding::ExtRm as u8, 0x41, 2, 0), // #536
5364    InstInfo::new(149, 103, Encoding::ExtRm_P as u8, 0x06, 1, 0), // #537
5365    InstInfo::new(149, 103, Encoding::ExtRm_P as u8, 0x07, 1, 0), // #538
5366    InstInfo::new(149, 103, Encoding::ExtRm_P as u8, 0x05, 1, 0), // #539
5367    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0x0D, 88, 0), // #540
5368    InstInfo::new(153, 109, Encoding::Ext3dNow as u8, 0x0C, 88, 0), // #541
5369    InstInfo::new(162, 13, Encoding::ExtRmi as u8, 0x20, 9, 0), // #542
5370    InstInfo::new(163, 13, Encoding::ExtRmi as u8, 0x22, 9, 0), // #543
5371    InstInfo::new(164, 13, Encoding::ExtRmi as u8, 0x22, 91, 0), // #544
5372    InstInfo::new(165, 104, Encoding::ExtRmi_P as u8, 0xC4, 5, 0), // #545
5373    InstInfo::new(149, 103, Encoding::ExtRm_P as u8, 0x04, 1, 0), // #546
5374    InstInfo::new(149, 98, Encoding::ExtRm_P as u8, 0xF5, 5, 0), // #547
5375    InstInfo::new(12, 13, Encoding::ExtRm as u8, 0x3C, 2, 0), // #548
5376    InstInfo::new(12, 13, Encoding::ExtRm as u8, 0x3D, 2, 0), // #549
5377    InstInfo::new(151, 104, Encoding::ExtRm_P as u8, 0xEE, 5, 0), // #550
5378    InstInfo::new(151, 104, Encoding::ExtRm_P as u8, 0xDE, 5, 0), // #551
5379    InstInfo::new(12, 13, Encoding::ExtRm as u8, 0x3F, 2, 0), // #552
5380    InstInfo::new(12, 13, Encoding::ExtRm as u8, 0x3E, 2, 0), // #553
5381    InstInfo::new(12, 13, Encoding::ExtRm as u8, 0x38, 2, 0), // #554
5382    InstInfo::new(12, 13, Encoding::ExtRm as u8, 0x39, 2, 0), // #555
5383    InstInfo::new(151, 104, Encoding::ExtRm_P as u8, 0xEA, 5, 0), // #556
5384    InstInfo::new(151, 104, Encoding::ExtRm_P as u8, 0xDA, 5, 0), // #557
5385    InstInfo::new(12, 13, Encoding::ExtRm as u8, 0x3B, 2, 0), // #558
5386    InstInfo::new(12, 13, Encoding::ExtRm as u8, 0x3A, 2, 0), // #559
5387    InstInfo::new(166, 104, Encoding::ExtRm_P as u8, 0xD7, 5, 0), // #560
5388    InstInfo::new(8, 13, Encoding::ExtRm as u8, 0x21, 2, 0), // #561
5389    InstInfo::new(167, 13, Encoding::ExtRm as u8, 0x22, 2, 0), // #562
5390    InstInfo::new(7, 13, Encoding::ExtRm as u8, 0x20, 2, 0), // #563
5391    InstInfo::new(7, 13, Encoding::ExtRm as u8, 0x25, 2, 0), // #564
5392    InstInfo::new(7, 13, Encoding::ExtRm as u8, 0x23, 2, 0), // #565
5393    InstInfo::new(8, 13, Encoding::ExtRm as u8, 0x24, 2, 0), // #566
5394    InstInfo::new(8, 13, Encoding::ExtRm as u8, 0x31, 2, 0), // #567
5395    InstInfo::new(167, 13, Encoding::ExtRm as u8, 0x32, 2, 0), // #568
5396    InstInfo::new(7, 13, Encoding::ExtRm as u8, 0x30, 2, 0), // #569
5397    InstInfo::new(7, 13, Encoding::ExtRm as u8, 0x35, 2, 0), // #570
5398    InstInfo::new(7, 13, Encoding::ExtRm as u8, 0x33, 2, 0), // #571
5399    InstInfo::new(8, 13, Encoding::ExtRm as u8, 0x34, 2, 0), // #572
5400    InstInfo::new(6, 13, Encoding::ExtRm as u8, 0x28, 2, 0), // #573
5401    InstInfo::new(149, 103, Encoding::ExtRm_P as u8, 0x0B, 1, 0), // #574
5402    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0xB7, 88, 0), // #575
5403    InstInfo::new(149, 104, Encoding::ExtRm_P as u8, 0xE4, 5, 0), // #576
5404    InstInfo::new(149, 98, Encoding::ExtRm_P as u8, 0xE5, 5, 0), // #577
5405    InstInfo::new(6, 13, Encoding::ExtRm as u8, 0x40, 2, 0), // #578
5406    InstInfo::new(149, 98, Encoding::ExtRm_P as u8, 0xD5, 5, 0), // #579
5407    InstInfo::new(149, 5, Encoding::ExtRm_P as u8, 0xF4, 5, 0), // #580
5408    InstInfo::new(168, 0, Encoding::X86Pop as u8, 0x8F, 0, 67), // #581
5409    InstInfo::new(84, 0, Encoding::X86Op as u8, 0x61, 21, 0), // #582
5410    InstInfo::new(84, 0, Encoding::X86Op as u8, 0x61, 0, 0), // #583
5411    InstInfo::new(23, 111, Encoding::X86Rm_Raw66H as u8, 0xB8, 7, 0), // #584
5412    InstInfo::new(31, 112, Encoding::X86Op as u8, 0x9D, 21, 0), // #585
5413    InstInfo::new(84, 112, Encoding::X86Op as u8, 0x9D, 0, 0), // #586
5414    InstInfo::new(34, 112, Encoding::X86Op as u8, 0x9D, 0, 0), // #587
5415    InstInfo::new(151, 98, Encoding::ExtRm_P as u8, 0xEB, 5, 0), // #588
5416    InstInfo::new(32, 58, Encoding::X86M_Only as u8, 0x0D, 5, 0), // #589
5417    InstInfo::new(73, 113, Encoding::X86M_Only as u8, 0x18, 24, 0), // #590
5418    InstInfo::new(73, 113, Encoding::X86M_Only as u8, 0x18, 82, 0), // #591
5419    InstInfo::new(32, 6, Encoding::X86M_Only as u8, 0x18, 5, 0), // #592
5420    InstInfo::new(32, 6, Encoding::X86M_Only as u8, 0x18, 32, 0), // #593
5421    InstInfo::new(32, 6, Encoding::X86M_Only as u8, 0x18, 78, 0), // #594
5422    InstInfo::new(32, 6, Encoding::X86M_Only as u8, 0x18, 80, 0), // #595
5423    InstInfo::new(32, 114, Encoding::X86M_Only as u8, 0x0D, 32, 0), // #596
5424    InstInfo::new(32, 115, Encoding::X86M_Only as u8, 0x0D, 78, 0), // #597
5425    InstInfo::new(149, 104, Encoding::ExtRm_P as u8, 0xF6, 5, 0), // #598
5426    InstInfo::new(149, 103, Encoding::ExtRm_P as u8, 0x00, 1, 0), // #599
5427    InstInfo::new(9, 5, Encoding::ExtRmi as u8, 0x70, 4, 0), // #600
5428    InstInfo::new(9, 5, Encoding::ExtRmi as u8, 0x70, 7, 0), // #601
5429    InstInfo::new(9, 5, Encoding::ExtRmi as u8, 0x70, 6, 0), // #602
5430    InstInfo::new(169, 90, Encoding::ExtRmi_P as u8, 0x70, 5, 0), // #603
5431    InstInfo::new(149, 103, Encoding::ExtRm_P as u8, 0x08, 1, 0), // #604
5432    InstInfo::new(149, 103, Encoding::ExtRm_P as u8, 0x0A, 1, 0), // #605
5433    InstInfo::new(149, 103, Encoding::ExtRm_P as u8, 0x09, 1, 0), // #606
5434    InstInfo::new(170, 98, Encoding::ExtRmRi_P as u8, 0xF2, 5, 68), // #607
5435    InstInfo::new(171, 5, Encoding::ExtRmRi as u8, 0x00, 0, 69), // #608
5436    InstInfo::new(170, 98, Encoding::ExtRmRi_P as u8, 0xF3, 5, 70), // #609
5437    InstInfo::new(170, 98, Encoding::ExtRmRi_P as u8, 0xF1, 5, 71), // #610
5438    InstInfo::new(34, 116, Encoding::X86Op as u8, 0xFF, 27, 0), // #611
5439    InstInfo::new(170, 98, Encoding::ExtRmRi_P as u8, 0xE2, 5, 72), // #612
5440    InstInfo::new(170, 98, Encoding::ExtRmRi_P as u8, 0xE1, 5, 73), // #613
5441    InstInfo::new(170, 98, Encoding::ExtRmRi_P as u8, 0xD2, 5, 74), // #614
5442    InstInfo::new(171, 5, Encoding::ExtRmRi as u8, 0x00, 0, 75), // #615
5443    InstInfo::new(170, 98, Encoding::ExtRmRi_P as u8, 0xD3, 5, 76), // #616
5444    InstInfo::new(170, 98, Encoding::ExtRmRi_P as u8, 0xD1, 5, 77), // #617
5445    InstInfo::new(152, 98, Encoding::ExtRm_P as u8, 0xF8, 5, 0), // #618
5446    InstInfo::new(152, 98, Encoding::ExtRm_P as u8, 0xFA, 5, 0), // #619
5447    InstInfo::new(152, 5, Encoding::ExtRm_P as u8, 0xFB, 5, 0), // #620
5448    InstInfo::new(152, 98, Encoding::ExtRm_P as u8, 0xE8, 5, 0), // #621
5449    InstInfo::new(152, 98, Encoding::ExtRm_P as u8, 0xE9, 5, 0), // #622
5450    InstInfo::new(152, 98, Encoding::ExtRm_P as u8, 0xD8, 5, 0), // #623
5451    InstInfo::new(152, 98, Encoding::ExtRm_P as u8, 0xD9, 5, 0), // #624
5452    InstInfo::new(152, 98, Encoding::ExtRm_P as u8, 0xF9, 5, 0), // #625
5453    InstInfo::new(153, 109, Encoding::Ext3dNow as u8, 0xBB, 88, 0), // #626
5454    InstInfo::new(6, 117, Encoding::ExtRm as u8, 0x17, 2, 0), // #627
5455    InstInfo::new(172, 118, Encoding::X86M as u8, 0xAE, 92, 0), // #628
5456    InstInfo::new(149, 98, Encoding::ExtRm_P as u8, 0x68, 5, 0), // #629
5457    InstInfo::new(149, 98, Encoding::ExtRm_P as u8, 0x6A, 5, 0), // #630
5458    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0x6D, 4, 0), // #631
5459    InstInfo::new(149, 98, Encoding::ExtRm_P as u8, 0x69, 5, 0), // #632
5460    InstInfo::new(173, 98, Encoding::ExtRm_P as u8, 0x60, 5, 0), // #633
5461    InstInfo::new(173, 98, Encoding::ExtRm_P as u8, 0x62, 5, 0), // #634
5462    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0x6C, 4, 0), // #635
5463    InstInfo::new(173, 98, Encoding::ExtRm_P as u8, 0x61, 5, 0), // #636
5464    InstInfo::new(174, 0, Encoding::X86Push as u8, 0xFF, 34, 78), // #637
5465    InstInfo::new(84, 0, Encoding::X86Op as u8, 0x60, 21, 0), // #638
5466    InstInfo::new(84, 0, Encoding::X86Op as u8, 0x60, 0, 0), // #639
5467    InstInfo::new(31, 119, Encoding::X86Op as u8, 0x9C, 21, 0), // #640
5468    InstInfo::new(84, 119, Encoding::X86Op as u8, 0x9C, 0, 0), // #641
5469    InstInfo::new(34, 119, Encoding::X86Op as u8, 0x9C, 0, 0), // #642
5470    InstInfo::new(175, 0, Encoding::X86Pushw as u8, 0xFF, 34, 78), // #643
5471    InstInfo::new(31, 120, Encoding::X86Op as u8, 0xFF, 93, 0), // #644
5472    InstInfo::new(152, 98, Encoding::ExtRm_P as u8, 0xEF, 5, 0), // #645
5473    InstInfo::new(176, 121, Encoding::X86Rot as u8, 0xD0, 3, 0), // #646
5474    InstInfo::new(6, 6, Encoding::ExtRm as u8, 0x53, 5, 0), // #647
5475    InstInfo::new(8, 6, Encoding::ExtRm as u8, 0x53, 7, 0), // #648
5476    InstInfo::new(176, 121, Encoding::X86Rot as u8, 0xD0, 77, 0), // #649
5477    InstInfo::new(177, 122, Encoding::X86M as u8, 0xAE, 7, 0), // #650
5478    InstInfo::new(177, 122, Encoding::X86M as u8, 0xAE, 94, 0), // #651
5479    InstInfo::new(178, 123, Encoding::X86Op as u8, 0x32, 5, 0), // #652
5480    InstInfo::new(179, 124, Encoding::X86R_Native as u8, 0xC7, 95, 0), // #653
5481    InstInfo::new(180, 125, Encoding::X86Op as u8, 0xEE, 23, 0), // #654
5482    InstInfo::new(180, 0, Encoding::X86Op as u8, 0x33, 5, 0), // #655
5483    InstInfo::new(180, 126, Encoding::X86Op as u8, 0xFD, 23, 0), // #656
5484    InstInfo::new(24, 127, Encoding::X86M as u8, 0xC7, 82, 0), // #657
5485    InstInfo::new(24, 128, Encoding::X86M as u8, 0xC7, 24, 0), // #658
5486    InstInfo::new(79, 65, Encoding::X86M as u8, 0x1E, 94, 0), // #659
5487    InstInfo::new(80, 65, Encoding::X86M as u8, 0x1E, 94, 0), // #660
5488    InstInfo::new(29, 129, Encoding::X86Op as u8, 0x31, 5, 0), // #661
5489    InstInfo::new(180, 130, Encoding::X86Op as u8, 0xF9, 23, 0), // #662
5490    InstInfo::new(181, 0, Encoding::X86Ret as u8, 0xC2, 0, 0), // #663
5491    InstInfo::new(182, 0, Encoding::X86Ret as u8, 0xCA, 0, 0), // #664
5492    InstInfo::new(34, 116, Encoding::X86Op as u8, 0xFE, 27, 0), // #665
5493    InstInfo::new(34, 116, Encoding::X86Op as u8, 0xFE, 93, 0), // #666
5494    InstInfo::new(176, 131, Encoding::X86Rot as u8, 0xD0, 0, 0), // #667
5495    InstInfo::new(176, 131, Encoding::X86Rot as u8, 0xD0, 33, 0), // #668
5496    InstInfo::new(183, 102, Encoding::VexRmi_Wx as u8, 0xF0, 96, 0), // #669
5497    InstInfo::new(9, 13, Encoding::ExtRmi as u8, 0x09, 9, 0), // #670
5498    InstInfo::new(9, 13, Encoding::ExtRmi as u8, 0x08, 9, 0), // #671
5499    InstInfo::new(39, 13, Encoding::ExtRmi as u8, 0x0B, 9, 0), // #672
5500    InstInfo::new(40, 13, Encoding::ExtRmi as u8, 0x0A, 9, 0), // #673
5501    InstInfo::new(84, 1, Encoding::X86Op as u8, 0xAA, 5, 0), // #674
5502    InstInfo::new(6, 6, Encoding::ExtRm as u8, 0x52, 5, 0), // #675
5503    InstInfo::new(8, 6, Encoding::ExtRm as u8, 0x52, 7, 0), // #676
5504    InstInfo::new(33, 25, Encoding::X86M_Only as u8, 0x01, 65, 0), // #677
5505    InstInfo::new(101, 132, Encoding::X86Op as u8, 0x9E, 0, 0), // #678
5506    InstInfo::new(176, 1, Encoding::X86Rot as u8, 0xD0, 29, 0), // #679
5507    InstInfo::new(14, 102, Encoding::VexRmv_Wx as u8, 0xF7, 89, 0), // #680
5508    InstInfo::new(31, 25, Encoding::X86Op as u8, 0xEA, 27, 0), // #681
5509    InstInfo::new(184, 3, Encoding::X86Arith as u8, 0x18, 77, 0), // #682
5510    InstInfo::new(185, 39, Encoding::X86StrRm as u8, 0xAE, 0, 0), // #683
5511    InstInfo::new(31, 133, Encoding::X86Op as u8, 0xCF, 97, 0), // #684
5512    InstInfo::new(31, 133, Encoding::X86Op as u8, 0xCE, 97, 0), // #685
5513    InstInfo::new(31, 133, Encoding::X86Op as u8, 0xCD, 97, 0), // #686
5514    InstInfo::new(80, 26, Encoding::X86M_NoSize as u8, 0xC7, 26, 0), // #687
5515    InstInfo::new(31, 134, Encoding::X86Op as u8, 0xE8, 23, 0), // #688
5516    InstInfo::new(186, 69, Encoding::X86Set as u8, 0x92, 5, 0), // #689
5517    InstInfo::new(186, 70, Encoding::X86Set as u8, 0x96, 5, 0), // #690
5518    InstInfo::new(186, 71, Encoding::X86Set as u8, 0x9C, 5, 0), // #691
5519    InstInfo::new(186, 72, Encoding::X86Set as u8, 0x9E, 5, 0), // #692
5520    InstInfo::new(186, 69, Encoding::X86Set as u8, 0x93, 5, 0), // #693
5521    InstInfo::new(186, 70, Encoding::X86Set as u8, 0x97, 5, 0), // #694
5522    InstInfo::new(186, 71, Encoding::X86Set as u8, 0x9D, 5, 0), // #695
5523    InstInfo::new(186, 72, Encoding::X86Set as u8, 0x9F, 5, 0), // #696
5524    InstInfo::new(186, 66, Encoding::X86Set as u8, 0x91, 5, 0), // #697
5525    InstInfo::new(186, 73, Encoding::X86Set as u8, 0x9B, 5, 0), // #698
5526    InstInfo::new(186, 74, Encoding::X86Set as u8, 0x99, 5, 0), // #699
5527    InstInfo::new(186, 75, Encoding::X86Set as u8, 0x95, 5, 0), // #700
5528    InstInfo::new(186, 66, Encoding::X86Set as u8, 0x90, 5, 0), // #701
5529    InstInfo::new(186, 73, Encoding::X86Set as u8, 0x9A, 5, 0), // #702
5530    InstInfo::new(186, 74, Encoding::X86Set as u8, 0x98, 5, 0), // #703
5531    InstInfo::new(31, 65, Encoding::X86Op as u8, 0xE8, 27, 0), // #704
5532    InstInfo::new(186, 75, Encoding::X86Set as u8, 0x94, 5, 0), // #705
5533    InstInfo::new(31, 6, Encoding::X86Fence as u8, 0xAE, 24, 0), // #706
5534    InstInfo::new(32, 0, Encoding::X86M_Only as u8, 0x01, 5, 0), // #707
5535    InstInfo::new(6, 135, Encoding::ExtRm as u8, 0xC9, 1, 0), // #708
5536    InstInfo::new(6, 135, Encoding::ExtRm as u8, 0xCA, 1, 0), // #709
5537    InstInfo::new(6, 135, Encoding::ExtRm as u8, 0xC8, 1, 0), // #710
5538    InstInfo::new(9, 135, Encoding::ExtRmi as u8, 0xCC, 86, 0), // #711
5539    InstInfo::new(6, 135, Encoding::ExtRm as u8, 0xCC, 1, 0), // #712
5540    InstInfo::new(6, 135, Encoding::ExtRm as u8, 0xCD, 1, 0), // #713
5541    InstInfo::new(16, 135, Encoding::ExtRm_XMM0 as u8, 0xCB, 1, 0), // #714
5542    InstInfo::new(176, 1, Encoding::X86Rot as u8, 0xD0, 10, 0), // #715
5543    InstInfo::new(187, 1, Encoding::X86ShldShrd as u8, 0xA4, 5, 0), // #716
5544    InstInfo::new(14, 102, Encoding::VexRmv_Wx as u8, 0xF7, 30, 0), // #717
5545    InstInfo::new(176, 1, Encoding::X86Rot as u8, 0xD0, 64, 0), // #718
5546    InstInfo::new(187, 1, Encoding::X86ShldShrd as u8, 0xAC, 5, 0), // #719
5547    InstInfo::new(14, 102, Encoding::VexRmv_Wx as u8, 0xF7, 85, 0), // #720
5548    InstInfo::new(9, 5, Encoding::ExtRmi as u8, 0xC6, 4, 0), // #721
5549    InstInfo::new(9, 6, Encoding::ExtRmi as u8, 0xC6, 5, 0), // #722
5550    InstInfo::new(32, 0, Encoding::X86M_Only as u8, 0x01, 32, 0), // #723
5551    InstInfo::new(54, 136, Encoding::X86Op_xAX as u8, 0xDE, 23, 0), // #724
5552    InstInfo::new(188, 0, Encoding::X86M_NoMemSize as u8, 0x00, 5, 0), // #725
5553    InstInfo::new(112, 87, Encoding::VexR_Wx as u8, 0x12, 13, 0), // #726
5554    InstInfo::new(188, 0, Encoding::X86M_NoMemSize as u8, 0x01, 98, 0), // #727
5555    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0x51, 4, 0), // #728
5556    InstInfo::new(6, 6, Encoding::ExtRm as u8, 0x51, 5, 0), // #729
5557    InstInfo::new(7, 5, Encoding::ExtRm as u8, 0x51, 6, 0), // #730
5558    InstInfo::new(8, 6, Encoding::ExtRm as u8, 0x51, 7, 0), // #731
5559    InstInfo::new(31, 17, Encoding::X86Op as u8, 0xCB, 23, 0), // #732
5560    InstInfo::new(31, 18, Encoding::X86Op as u8, 0xF9, 0, 0), // #733
5561    InstInfo::new(31, 19, Encoding::X86Op as u8, 0xFD, 0, 0), // #734
5562    InstInfo::new(31, 136, Encoding::X86Op as u8, 0xDC, 23, 0), // #735
5563    InstInfo::new(31, 24, Encoding::X86Op as u8, 0xFB, 0, 0), // #736
5564    InstInfo::new(105, 6, Encoding::X86M_Only as u8, 0xAE, 80, 0), // #737
5565    InstInfo::new(189, 88, Encoding::X86StrMr as u8, 0xAA, 0, 0), // #738
5566    InstInfo::new(188, 0, Encoding::X86M_NoMemSize as u8, 0x00, 32, 0), // #739
5567    InstInfo::new(107, 86, Encoding::AmxCfg as u8, 0x49, 30, 0), // #740
5568    InstInfo::new(34, 26, Encoding::X86Op as u8, 0xEF, 27, 0), // #741
5569    InstInfo::new(184, 1, Encoding::X86Arith as u8, 0x28, 64, 0), // #742
5570    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0x5C, 4, 0), // #743
5571    InstInfo::new(6, 6, Encoding::ExtRm as u8, 0x5C, 5, 0), // #744
5572    InstInfo::new(7, 5, Encoding::ExtRm as u8, 0x5C, 6, 0), // #745
5573    InstInfo::new(8, 6, Encoding::ExtRm as u8, 0x5C, 7, 0), // #746
5574    InstInfo::new(34, 0, Encoding::X86Op as u8, 0xF8, 23, 0), // #747
5575    InstInfo::new(34, 0, Encoding::X86Op as u8, 0x05, 5, 0), // #748
5576    InstInfo::new(31, 0, Encoding::X86Op as u8, 0x34, 5, 0), // #749
5577    InstInfo::new(31, 0, Encoding::X86Op as u8, 0x35, 5, 0), // #750
5578    InstInfo::new(34, 0, Encoding::X86Op as u8, 0x35, 62, 0), // #751
5579    InstInfo::new(34, 0, Encoding::X86Op as u8, 0x07, 5, 0), // #752
5580    InstInfo::new(34, 0, Encoding::X86Op as u8, 0x07, 62, 0), // #753
5581    InstInfo::new(15, 12, Encoding::VexVm_Wx as u8, 0x01, 99, 0), // #754
5582    InstInfo::new(190, 137, Encoding::AmxRmv as u8, 0x6C, 30, 0), // #755
5583    InstInfo::new(190, 137, Encoding::AmxRmv as u8, 0x6C, 11, 0), // #756
5584    InstInfo::new(31, 133, Encoding::X86Op as u8, 0xCC, 97, 0), // #757
5585    InstInfo::new(190, 138, Encoding::AmxRmv as u8, 0x5C, 89, 0), // #758
5586    InstInfo::new(190, 139, Encoding::AmxRmv as u8, 0x5E, 85, 0), // #759
5587    InstInfo::new(190, 139, Encoding::AmxRmv as u8, 0x5E, 89, 0), // #760
5588    InstInfo::new(190, 139, Encoding::AmxRmv as u8, 0x5E, 30, 0), // #761
5589    InstInfo::new(190, 139, Encoding::AmxRmv as u8, 0x5E, 11, 0), // #762
5590    InstInfo::new(190, 140, Encoding::AmxRmv as u8, 0x5C, 85, 0), // #763
5591    InstInfo::new(191, 1, Encoding::X86Test as u8, 0x84, 0, 79), // #764
5592    InstInfo::new(34, 141, Encoding::X86Op as u8, 0xED, 27, 0), // #765
5593    InstInfo::new(192, 86, Encoding::AmxRm as u8, 0x4B, 85, 0), // #766
5594    InstInfo::new(192, 86, Encoding::AmxRm as u8, 0x4B, 30, 0), // #767
5595    InstInfo::new(193, 86, Encoding::VexOpMod as u8, 0x49, 11, 0), // #768
5596    InstInfo::new(194, 86, Encoding::AmxMr as u8, 0x4B, 89, 0), // #769
5597    InstInfo::new(195, 86, Encoding::AmxR as u8, 0x49, 85, 0), // #770
5598    InstInfo::new(31, 68, Encoding::X86Op as u8, 0xFF, 23, 0), // #771
5599    InstInfo::new(196, 142, Encoding::X86R32_EDX_EAX as u8, 0xAE, 28, 0), // #772
5600    InstInfo::new(23, 10, Encoding::X86Rm_Raw66H as u8, 0xBC, 7, 0), // #773
5601    InstInfo::new(15, 12, Encoding::VexVm_Wx as u8, 0x01, 100, 0), // #774
5602    InstInfo::new(7, 43, Encoding::ExtRm as u8, 0x2E, 4, 0), // #775
5603    InstInfo::new(8, 44, Encoding::ExtRm as u8, 0x2E, 5, 0), // #776
5604    InstInfo::new(197, 0, Encoding::X86Rm as u8, 0xFF, 5, 0), // #777
5605    InstInfo::new(197, 0, Encoding::X86Rm as u8, 0xB9, 5, 0), // #778
5606    InstInfo::new(31, 0, Encoding::X86Op as u8, 0x0B, 5, 0), // #779
5607    InstInfo::new(34, 26, Encoding::X86Op as u8, 0xEC, 27, 0), // #780
5608    InstInfo::new(198, 143, Encoding::X86R_FromM as u8, 0xAE, 26, 0), // #781
5609    InstInfo::new(196, 142, Encoding::X86R32_EDX_EAX as u8, 0xAE, 101, 0), // #782
5610    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0x15, 4, 0), // #783
5611    InstInfo::new(6, 6, Encoding::ExtRm as u8, 0x15, 5, 0), // #784
5612    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0x14, 4, 0), // #785
5613    InstInfo::new(6, 6, Encoding::ExtRm as u8, 0x14, 5, 0), // #786
5614    InstInfo::new(199, 144, Encoding::VexRvm_Lx as u8, 0x58, 102, 0), // #787
5615    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0x58, 103, 0), // #788
5616    InstInfo::new(201, 144, Encoding::VexRvm_Lx as u8, 0x58, 104, 0), // #789
5617    InstInfo::new(202, 144, Encoding::VexRvm as u8, 0x58, 105, 0), // #790
5618    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0x58, 106, 0), // #791
5619    InstInfo::new(204, 144, Encoding::VexRvm as u8, 0x58, 107, 0), // #792
5620    InstInfo::new(205, 146, Encoding::VexRvm_Lx as u8, 0xD0, 71, 0), // #793
5621    InstInfo::new(205, 146, Encoding::VexRvm_Lx as u8, 0xD0, 108, 0), // #794
5622    InstInfo::new(206, 147, Encoding::VexRvm_Lx as u8, 0xDE, 109, 0), // #795
5623    InstInfo::new(206, 147, Encoding::VexRvm_Lx as u8, 0xDF, 109, 0), // #796
5624    InstInfo::new(206, 147, Encoding::VexRvm_Lx as u8, 0xDC, 109, 0), // #797
5625    InstInfo::new(206, 147, Encoding::VexRvm_Lx as u8, 0xDD, 109, 0), // #798
5626    InstInfo::new(207, 148, Encoding::VexRm as u8, 0xDB, 30, 0), // #799
5627    InstInfo::new(208, 148, Encoding::VexRmi as u8, 0xDF, 75, 0), // #800
5628    InstInfo::new(209, 149, Encoding::VexRvmi_Lx as u8, 0x03, 110, 0), // #801
5629    InstInfo::new(210, 149, Encoding::VexRvmi_Lx as u8, 0x03, 111, 0), // #802
5630    InstInfo::new(211, 150, Encoding::VexRvm_Lx as u8, 0x55, 102, 0), // #803
5631    InstInfo::new(212, 150, Encoding::VexRvm_Lx as u8, 0x55, 104, 0), // #804
5632    InstInfo::new(213, 150, Encoding::VexRvm_Lx as u8, 0x54, 102, 0), // #805
5633    InstInfo::new(214, 150, Encoding::VexRvm_Lx as u8, 0x54, 104, 0), // #806
5634    InstInfo::new(215, 151, Encoding::VexRm_Lx as u8, 0xB1, 89, 0), // #807
5635    InstInfo::new(215, 151, Encoding::VexRm_Lx as u8, 0xB1, 30, 0), // #808
5636    InstInfo::new(216, 149, Encoding::VexRvm_Lx as u8, 0x65, 112, 0), // #809
5637    InstInfo::new(217, 149, Encoding::VexRvm_Lx as u8, 0x65, 113, 0), // #810
5638    InstInfo::new(218, 146, Encoding::VexRvmi_Lx as u8, 0x0D, 75, 0), // #811
5639    InstInfo::new(218, 146, Encoding::VexRvmi_Lx as u8, 0x0C, 75, 0), // #812
5640    InstInfo::new(219, 146, Encoding::VexRvmr_Lx as u8, 0x4B, 75, 0), // #813
5641    InstInfo::new(219, 146, Encoding::VexRvmr_Lx as u8, 0x4A, 75, 0), // #814
5642    InstInfo::new(220, 146, Encoding::VexRm as u8, 0x1A, 114, 0), // #815
5643    InstInfo::new(221, 152, Encoding::VexRm_Lx as u8, 0x19, 115, 0), // #816
5644    InstInfo::new(222, 149, Encoding::VexRm_Lx as u8, 0x1A, 116, 0), // #817
5645    InstInfo::new(223, 152, Encoding::VexRm as u8, 0x1B, 117, 0), // #818
5646    InstInfo::new(222, 152, Encoding::VexRm_Lx as u8, 0x1A, 118, 0), // #819
5647    InstInfo::new(223, 149, Encoding::VexRm as u8, 0x1B, 119, 0), // #820
5648    InstInfo::new(220, 153, Encoding::VexRm as u8, 0x5A, 114, 0), // #821
5649    InstInfo::new(224, 152, Encoding::VexRm_Lx as u8, 0x59, 115, 0), // #822
5650    InstInfo::new(222, 149, Encoding::VexRm_Lx as u8, 0x5A, 116, 0), // #823
5651    InstInfo::new(223, 152, Encoding::VexRm as u8, 0x5B, 117, 0), // #824
5652    InstInfo::new(222, 152, Encoding::VexRm_Lx as u8, 0x5A, 118, 0), // #825
5653    InstInfo::new(223, 149, Encoding::VexRm as u8, 0x5B, 119, 0), // #826
5654    InstInfo::new(225, 154, Encoding::VexRm_Lx as u8, 0x19, 120, 0), // #827
5655    InstInfo::new(226, 154, Encoding::VexRm_Lx as u8, 0x18, 121, 0), // #828
5656    InstInfo::new(227, 144, Encoding::VexRvmi_Lx_KEvex as u8, 0xC2, 102, 0), // #829
5657    InstInfo::new(228, 145, Encoding::VexRvmi_Lx_KEvex as u8, 0xC2, 122, 0), // #830
5658    InstInfo::new(229, 144, Encoding::VexRvmi_Lx_KEvex as u8, 0xC2, 104, 0), // #831
5659    InstInfo::new(230, 144, Encoding::VexRvmi_KEvex as u8, 0xC2, 105, 0), // #832
5660    InstInfo::new(231, 145, Encoding::VexRvmi_KEvex as u8, 0xC2, 123, 0), // #833
5661    InstInfo::new(232, 144, Encoding::VexRvmi_KEvex as u8, 0xC2, 107, 0), // #834
5662    InstInfo::new(233, 155, Encoding::VexRm as u8, 0x2F, 124, 0), // #835
5663    InstInfo::new(234, 156, Encoding::VexRm as u8, 0x2F, 125, 0), // #836
5664    InstInfo::new(235, 155, Encoding::VexRm as u8, 0x2F, 126, 0), // #837
5665    InstInfo::new(236, 149, Encoding::VexMr_Lx as u8, 0x8A, 127, 0), // #838
5666    InstInfo::new(236, 149, Encoding::VexMr_Lx as u8, 0x8A, 128, 0), // #839
5667    InstInfo::new(237, 144, Encoding::VexRm_Lx as u8, 0xE6, 129, 0), // #840
5668    InstInfo::new(238, 145, Encoding::VexRm_Lx_Narrow as u8, 0x5B, 103, 0), // #841
5669    InstInfo::new(239, 144, Encoding::VexRm_Lx as u8, 0x5B, 104, 0), // #842
5670    InstInfo::new(217, 157, Encoding::VexRvm_Lx as u8, 0x72, 130, 0), // #843
5671    InstInfo::new(240, 151, Encoding::VexRm_Lx as u8, 0xB0, 89, 0), // #844
5672    InstInfo::new(240, 151, Encoding::VexRm_Lx as u8, 0xB0, 30, 0), // #845
5673    InstInfo::new(240, 151, Encoding::VexRm_Lx as u8, 0xB0, 85, 0), // #846
5674    InstInfo::new(240, 151, Encoding::VexRm_Lx as u8, 0xB0, 11, 0), // #847
5675    InstInfo::new(241, 158, Encoding::VexRm_Lx_Narrow as u8, 0x72, 131, 0), // #848
5676    InstInfo::new(242, 144, Encoding::VexRm_Lx_Narrow as u8, 0xE6, 132, 0), // #849
5677    InstInfo::new(243, 145, Encoding::VexRm_Lx as u8, 0x5A, 133, 0), // #850
5678    InstInfo::new(242, 144, Encoding::VexRm_Lx_Narrow as u8, 0x5A, 102, 0), // #851
5679    InstInfo::new(244, 152, Encoding::VexRm_Lx as u8, 0x7B, 134, 0), // #852
5680    InstInfo::new(245, 149, Encoding::VexRm_Lx_Narrow as u8, 0x79, 135, 0), // #853
5681    InstInfo::new(244, 152, Encoding::VexRm_Lx as u8, 0x79, 134, 0), // #854
5682    InstInfo::new(246, 145, Encoding::VexRm_Lx as u8, 0x5B, 136, 0), // #855
5683    InstInfo::new(247, 145, Encoding::VexRm_Lx as u8, 0x5A, 137, 0), // #856
5684    InstInfo::new(248, 159, Encoding::VexRm_Lx as u8, 0x13, 138, 0), // #857
5685    InstInfo::new(249, 145, Encoding::VexRm_Lx as u8, 0x13, 139, 0), // #858
5686    InstInfo::new(250, 145, Encoding::VexRm_Lx as u8, 0x7B, 140, 0), // #859
5687    InstInfo::new(246, 145, Encoding::VexRm_Lx as u8, 0x79, 141, 0), // #860
5688    InstInfo::new(250, 145, Encoding::VexRm_Lx as u8, 0x79, 140, 0), // #861
5689    InstInfo::new(251, 145, Encoding::VexRm_Lx as u8, 0x7D, 103, 0), // #862
5690    InstInfo::new(251, 145, Encoding::VexRm_Lx as u8, 0x7D, 142, 0), // #863
5691    InstInfo::new(239, 144, Encoding::VexRm_Lx as u8, 0x5B, 143, 0), // #864
5692    InstInfo::new(252, 144, Encoding::VexRm_Lx as u8, 0x5A, 144, 0), // #865
5693    InstInfo::new(253, 159, Encoding::VexMri_Lx as u8, 0x1D, 145, 0), // #866
5694    InstInfo::new(238, 145, Encoding::VexRm_Lx_Narrow as u8, 0x1D, 142, 0), // #867
5695    InstInfo::new(254, 152, Encoding::VexRm_Lx as u8, 0x7B, 146, 0), // #868
5696    InstInfo::new(255, 149, Encoding::VexRm_Lx as u8, 0x79, 147, 0), // #869
5697    InstInfo::new(254, 152, Encoding::VexRm_Lx as u8, 0x79, 146, 0), // #870
5698    InstInfo::new(244, 152, Encoding::VexRm_Lx as u8, 0xE6, 148, 0), // #871
5699    InstInfo::new(243, 145, Encoding::VexRm_Lx as u8, 0x5B, 149, 0), // #872
5700    InstInfo::new(245, 152, Encoding::VexRm_Lx_Narrow as u8, 0x5B, 135, 0), // #873
5701    InstInfo::new(256, 145, Encoding::VexRvm as u8, 0x5A, 150, 0), // #874
5702    InstInfo::new(257, 144, Encoding::VexRm_Wx as u8, 0x2D, 151, 0), // #875
5703    InstInfo::new(202, 144, Encoding::VexRvm as u8, 0x5A, 105, 0), // #876
5704    InstInfo::new(258, 149, Encoding::VexRm_Wx as u8, 0x79, 152, 0), // #877
5705    InstInfo::new(259, 145, Encoding::VexRvm as u8, 0x5A, 106, 0), // #878
5706    InstInfo::new(260, 145, Encoding::VexRm_Wx as u8, 0x2D, 106, 0), // #879
5707    InstInfo::new(259, 145, Encoding::VexRvm as u8, 0x13, 153, 0), // #880
5708    InstInfo::new(260, 145, Encoding::VexRm_Wx as u8, 0x79, 106, 0), // #881
5709    InstInfo::new(261, 144, Encoding::VexRvm_Wx as u8, 0x2A, 154, 0), // #882
5710    InstInfo::new(262, 145, Encoding::VexRvm_Wx as u8, 0x2A, 155, 0), // #883
5711    InstInfo::new(261, 144, Encoding::VexRvm_Wx as u8, 0x2A, 156, 0), // #884
5712    InstInfo::new(263, 144, Encoding::VexRvm as u8, 0x5A, 107, 0), // #885
5713    InstInfo::new(264, 145, Encoding::VexRvm as u8, 0x1D, 157, 0), // #886
5714    InstInfo::new(265, 144, Encoding::VexRm_Wx as u8, 0x2D, 107, 0), // #887
5715    InstInfo::new(266, 149, Encoding::VexRm_Wx as u8, 0x79, 158, 0), // #888
5716    InstInfo::new(267, 144, Encoding::VexRm_Lx_Narrow as u8, 0xE6, 102, 0), // #889
5717    InstInfo::new(268, 149, Encoding::VexRm_Lx as u8, 0x7A, 134, 0), // #890
5718    InstInfo::new(269, 149, Encoding::VexRm_Lx_Narrow as u8, 0x78, 135, 0), // #891
5719    InstInfo::new(268, 152, Encoding::VexRm_Lx as u8, 0x78, 134, 0), // #892
5720    InstInfo::new(249, 145, Encoding::VexRm_Lx as u8, 0x5B, 159, 0), // #893
5721    InstInfo::new(247, 145, Encoding::VexRm_Lx as u8, 0x7A, 140, 0), // #894
5722    InstInfo::new(249, 145, Encoding::VexRm_Lx as u8, 0x78, 141, 0), // #895
5723    InstInfo::new(247, 145, Encoding::VexRm_Lx as u8, 0x78, 140, 0), // #896
5724    InstInfo::new(270, 145, Encoding::VexRm_Lx as u8, 0x7C, 103, 0), // #897
5725    InstInfo::new(270, 145, Encoding::VexRm_Lx as u8, 0x7C, 142, 0), // #898
5726    InstInfo::new(271, 144, Encoding::VexRm_Lx as u8, 0x5B, 160, 0), // #899
5727    InstInfo::new(272, 152, Encoding::VexRm_Lx as u8, 0x7A, 146, 0), // #900
5728    InstInfo::new(273, 149, Encoding::VexRm_Lx as u8, 0x78, 147, 0), // #901
5729    InstInfo::new(272, 152, Encoding::VexRm_Lx as u8, 0x78, 146, 0), // #902
5730    InstInfo::new(274, 144, Encoding::VexRm_Wx as u8, 0x2C, 151, 0), // #903
5731    InstInfo::new(275, 149, Encoding::VexRm_Wx as u8, 0x78, 152, 0), // #904
5732    InstInfo::new(276, 145, Encoding::VexRm_Wx as u8, 0x2C, 106, 0), // #905
5733    InstInfo::new(276, 145, Encoding::VexRm_Wx as u8, 0x78, 106, 0), // #906
5734    InstInfo::new(277, 144, Encoding::VexRm_Wx as u8, 0x2C, 107, 0), // #907
5735    InstInfo::new(278, 149, Encoding::VexRm_Wx as u8, 0x78, 158, 0), // #908
5736    InstInfo::new(254, 149, Encoding::VexRm_Lx as u8, 0x7A, 161, 0), // #909
5737    InstInfo::new(238, 145, Encoding::VexRm_Lx_Narrow as u8, 0x7A, 162, 0), // #910
5738    InstInfo::new(255, 149, Encoding::VexRm_Lx as u8, 0x7A, 163, 0), // #911
5739    InstInfo::new(244, 152, Encoding::VexRm_Lx as u8, 0x7A, 148, 0), // #912
5740    InstInfo::new(243, 145, Encoding::VexRm_Lx as u8, 0x7A, 164, 0), // #913
5741    InstInfo::new(245, 152, Encoding::VexRm_Lx_Narrow as u8, 0x7A, 165, 0), // #914
5742    InstInfo::new(279, 149, Encoding::VexRvm_Wx as u8, 0x7B, 166, 0), // #915
5743    InstInfo::new(262, 145, Encoding::VexRvm_Wx as u8, 0x7B, 155, 0), // #916
5744    InstInfo::new(279, 149, Encoding::VexRvm_Wx as u8, 0x7B, 167, 0), // #917
5745    InstInfo::new(251, 145, Encoding::VexRm_Lx as u8, 0x7D, 162, 0), // #918
5746    InstInfo::new(251, 145, Encoding::VexRm_Lx as u8, 0x7D, 168, 0), // #919
5747    InstInfo::new(280, 160, Encoding::VexRvmi_Lx as u8, 0x42, 110, 0), // #920
5748    InstInfo::new(199, 144, Encoding::VexRvm_Lx as u8, 0x5E, 102, 0), // #921
5749    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0x5E, 103, 0), // #922
5750    InstInfo::new(201, 144, Encoding::VexRvm_Lx as u8, 0x5E, 104, 0), // #923
5751    InstInfo::new(202, 144, Encoding::VexRvm as u8, 0x5E, 105, 0), // #924
5752    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0x5E, 106, 0), // #925
5753    InstInfo::new(204, 144, Encoding::VexRvm as u8, 0x5E, 107, 0), // #926
5754    InstInfo::new(217, 157, Encoding::VexRvm_Lx as u8, 0x52, 169, 0), // #927
5755    InstInfo::new(281, 146, Encoding::VexRvmi_Lx as u8, 0x41, 75, 0), // #928
5756    InstInfo::new(218, 146, Encoding::VexRvmi_Lx as u8, 0x40, 75, 0), // #929
5757    InstInfo::new(111, 11, Encoding::X86M_NoSize as u8, 0x00, 98, 0), // #930
5758    InstInfo::new(111, 11, Encoding::X86M_NoSize as u8, 0x00, 79, 0), // #931
5759    InstInfo::new(282, 149, Encoding::VexRm_Lx as u8, 0x88, 127, 0), // #932
5760    InstInfo::new(282, 149, Encoding::VexRm_Lx as u8, 0x88, 128, 0), // #933
5761    InstInfo::new(283, 146, Encoding::VexMri as u8, 0x19, 170, 0), // #934
5762    InstInfo::new(284, 149, Encoding::VexMri_Lx as u8, 0x19, 171, 0), // #935
5763    InstInfo::new(285, 152, Encoding::VexMri as u8, 0x1B, 172, 0), // #936
5764    InstInfo::new(284, 152, Encoding::VexMri_Lx as u8, 0x19, 173, 0), // #937
5765    InstInfo::new(285, 149, Encoding::VexMri as u8, 0x1B, 174, 0), // #938
5766    InstInfo::new(283, 153, Encoding::VexMri as u8, 0x39, 170, 0), // #939
5767    InstInfo::new(284, 149, Encoding::VexMri_Lx as u8, 0x39, 171, 0), // #940
5768    InstInfo::new(285, 152, Encoding::VexMri as u8, 0x3B, 172, 0), // #941
5769    InstInfo::new(284, 152, Encoding::VexMri_Lx as u8, 0x39, 173, 0), // #942
5770    InstInfo::new(285, 149, Encoding::VexMri as u8, 0x3B, 174, 0), // #943
5771    InstInfo::new(286, 144, Encoding::VexMri as u8, 0x17, 175, 0), // #944
5772    InstInfo::new(287, 145, Encoding::VexRvm_Lx as u8, 0x56, 176, 0), // #945
5773    InstInfo::new(264, 145, Encoding::VexRvm as u8, 0x57, 177, 0), // #946
5774    InstInfo::new(287, 145, Encoding::VexRvm_Lx as u8, 0xD6, 176, 0), // #947
5775    InstInfo::new(264, 145, Encoding::VexRvm as u8, 0xD7, 177, 0), // #948
5776    InstInfo::new(288, 149, Encoding::VexRvmi_Lx as u8, 0x54, 111, 0), // #949
5777    InstInfo::new(289, 149, Encoding::VexRvmi_Lx as u8, 0x54, 110, 0), // #950
5778    InstInfo::new(290, 149, Encoding::VexRvmi as u8, 0x55, 178, 0), // #951
5779    InstInfo::new(291, 149, Encoding::VexRvmi as u8, 0x55, 179, 0), // #952
5780    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0x98, 180, 0), // #953
5781    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0x98, 181, 0), // #954
5782    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0x98, 109, 0), // #955
5783    InstInfo::new(202, 161, Encoding::VexRvm as u8, 0x99, 182, 0), // #956
5784    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0x99, 183, 0), // #957
5785    InstInfo::new(204, 161, Encoding::VexRvm as u8, 0x99, 121, 0), // #958
5786    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0xA8, 180, 0), // #959
5787    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0xA8, 181, 0), // #960
5788    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0xA8, 109, 0), // #961
5789    InstInfo::new(202, 161, Encoding::VexRvm as u8, 0xA9, 182, 0), // #962
5790    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0xA9, 183, 0), // #963
5791    InstInfo::new(204, 161, Encoding::VexRvm as u8, 0xA9, 121, 0), // #964
5792    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0xB8, 180, 0), // #965
5793    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0xB8, 181, 0), // #966
5794    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0xB8, 109, 0), // #967
5795    InstInfo::new(202, 161, Encoding::VexRvm as u8, 0xB9, 182, 0), // #968
5796    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0xB9, 183, 0), // #969
5797    InstInfo::new(204, 161, Encoding::VexRvm as u8, 0xB9, 121, 0), // #970
5798    InstInfo::new(287, 145, Encoding::VexRvm_Lx as u8, 0x56, 184, 0), // #971
5799    InstInfo::new(264, 145, Encoding::VexRvm as u8, 0x57, 185, 0), // #972
5800    InstInfo::new(292, 162, Encoding::Fma4_Lx as u8, 0x69, 75, 0), // #973
5801    InstInfo::new(292, 162, Encoding::Fma4_Lx as u8, 0x68, 75, 0), // #974
5802    InstInfo::new(293, 162, Encoding::Fma4 as u8, 0x6B, 75, 0), // #975
5803    InstInfo::new(294, 162, Encoding::Fma4 as u8, 0x6A, 75, 0), // #976
5804    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0x96, 180, 0), // #977
5805    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0x96, 181, 0), // #978
5806    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0x96, 109, 0), // #979
5807    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0xA6, 180, 0), // #980
5808    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0xA6, 181, 0), // #981
5809    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0xA6, 109, 0), // #982
5810    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0xB6, 180, 0), // #983
5811    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0xB6, 181, 0), // #984
5812    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0xB6, 109, 0), // #985
5813    InstInfo::new(292, 162, Encoding::Fma4_Lx as u8, 0x5D, 75, 0), // #986
5814    InstInfo::new(292, 162, Encoding::Fma4_Lx as u8, 0x5C, 75, 0), // #987
5815    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0x9A, 180, 0), // #988
5816    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0x9A, 181, 0), // #989
5817    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0x9A, 109, 0), // #990
5818    InstInfo::new(202, 161, Encoding::VexRvm as u8, 0x9B, 182, 0), // #991
5819    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0x9B, 183, 0), // #992
5820    InstInfo::new(204, 161, Encoding::VexRvm as u8, 0x9B, 121, 0), // #993
5821    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0xAA, 180, 0), // #994
5822    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0xAA, 181, 0), // #995
5823    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0xAA, 109, 0), // #996
5824    InstInfo::new(202, 161, Encoding::VexRvm as u8, 0xAB, 182, 0), // #997
5825    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0xAB, 183, 0), // #998
5826    InstInfo::new(204, 161, Encoding::VexRvm as u8, 0xAB, 121, 0), // #999
5827    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0xBA, 180, 0), // #1000
5828    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0xBA, 181, 0), // #1001
5829    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0xBA, 109, 0), // #1002
5830    InstInfo::new(202, 161, Encoding::VexRvm as u8, 0xBB, 182, 0), // #1003
5831    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0xBB, 183, 0), // #1004
5832    InstInfo::new(204, 161, Encoding::VexRvm as u8, 0xBB, 121, 0), // #1005
5833    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0x97, 180, 0), // #1006
5834    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0x97, 181, 0), // #1007
5835    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0x97, 109, 0), // #1008
5836    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0xA7, 180, 0), // #1009
5837    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0xA7, 181, 0), // #1010
5838    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0xA7, 109, 0), // #1011
5839    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0xB7, 180, 0), // #1012
5840    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0xB7, 181, 0), // #1013
5841    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0xB7, 109, 0), // #1014
5842    InstInfo::new(292, 162, Encoding::Fma4_Lx as u8, 0x5F, 75, 0), // #1015
5843    InstInfo::new(292, 162, Encoding::Fma4_Lx as u8, 0x5E, 75, 0), // #1016
5844    InstInfo::new(292, 162, Encoding::Fma4_Lx as u8, 0x6D, 75, 0), // #1017
5845    InstInfo::new(292, 162, Encoding::Fma4_Lx as u8, 0x6C, 75, 0), // #1018
5846    InstInfo::new(293, 162, Encoding::Fma4 as u8, 0x6F, 75, 0), // #1019
5847    InstInfo::new(294, 162, Encoding::Fma4 as u8, 0x6E, 75, 0), // #1020
5848    InstInfo::new(287, 145, Encoding::VexRvm_Lx as u8, 0xD6, 184, 0), // #1021
5849    InstInfo::new(264, 145, Encoding::VexRvm as u8, 0xD7, 185, 0), // #1022
5850    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0x9C, 180, 0), // #1023
5851    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0x9C, 181, 0), // #1024
5852    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0x9C, 109, 0), // #1025
5853    InstInfo::new(202, 161, Encoding::VexRvm as u8, 0x9D, 182, 0), // #1026
5854    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0x9D, 183, 0), // #1027
5855    InstInfo::new(204, 161, Encoding::VexRvm as u8, 0x9D, 121, 0), // #1028
5856    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0xAC, 180, 0), // #1029
5857    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0xAC, 181, 0), // #1030
5858    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0xAC, 109, 0), // #1031
5859    InstInfo::new(202, 161, Encoding::VexRvm as u8, 0xAD, 182, 0), // #1032
5860    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0xAD, 183, 0), // #1033
5861    InstInfo::new(204, 161, Encoding::VexRvm as u8, 0xAD, 121, 0), // #1034
5862    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0xBC, 180, 0), // #1035
5863    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0xBC, 181, 0), // #1036
5864    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0xBC, 109, 0), // #1037
5865    InstInfo::new(202, 161, Encoding::VexRvm as u8, 0xBD, 182, 0), // #1038
5866    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0xBD, 183, 0), // #1039
5867    InstInfo::new(204, 161, Encoding::VexRvm as u8, 0xBD, 121, 0), // #1040
5868    InstInfo::new(292, 162, Encoding::Fma4_Lx as u8, 0x79, 75, 0), // #1041
5869    InstInfo::new(292, 162, Encoding::Fma4_Lx as u8, 0x78, 75, 0), // #1042
5870    InstInfo::new(293, 162, Encoding::Fma4 as u8, 0x7B, 75, 0), // #1043
5871    InstInfo::new(294, 162, Encoding::Fma4 as u8, 0x7A, 75, 0), // #1044
5872    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0x9E, 180, 0), // #1045
5873    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0x9E, 181, 0), // #1046
5874    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0x9E, 109, 0), // #1047
5875    InstInfo::new(202, 161, Encoding::VexRvm as u8, 0x9F, 182, 0), // #1048
5876    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0x9F, 183, 0), // #1049
5877    InstInfo::new(204, 161, Encoding::VexRvm as u8, 0x9F, 121, 0), // #1050
5878    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0xAE, 180, 0), // #1051
5879    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0xAE, 181, 0), // #1052
5880    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0xAE, 109, 0), // #1053
5881    InstInfo::new(202, 161, Encoding::VexRvm as u8, 0xAF, 182, 0), // #1054
5882    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0xAF, 183, 0), // #1055
5883    InstInfo::new(204, 161, Encoding::VexRvm as u8, 0xAF, 121, 0), // #1056
5884    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0xBE, 180, 0), // #1057
5885    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0xBE, 181, 0), // #1058
5886    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0xBE, 109, 0), // #1059
5887    InstInfo::new(202, 161, Encoding::VexRvm as u8, 0xBF, 182, 0), // #1060
5888    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0xBF, 183, 0), // #1061
5889    InstInfo::new(204, 161, Encoding::VexRvm as u8, 0xBF, 121, 0), // #1062
5890    InstInfo::new(292, 162, Encoding::Fma4_Lx as u8, 0x7D, 75, 0), // #1063
5891    InstInfo::new(292, 162, Encoding::Fma4_Lx as u8, 0x7C, 75, 0), // #1064
5892    InstInfo::new(293, 162, Encoding::Fma4 as u8, 0x7F, 75, 0), // #1065
5893    InstInfo::new(294, 162, Encoding::Fma4 as u8, 0x7E, 75, 0), // #1066
5894    InstInfo::new(295, 152, Encoding::VexRmi_Lx as u8, 0x66, 111, 0), // #1067
5895    InstInfo::new(296, 145, Encoding::VexRmi_Lx as u8, 0x66, 122, 0), // #1068
5896    InstInfo::new(297, 152, Encoding::VexRmi_Lx as u8, 0x66, 110, 0), // #1069
5897    InstInfo::new(298, 152, Encoding::VexRmi as u8, 0x67, 178, 0), // #1070
5898    InstInfo::new(299, 145, Encoding::VexRmi as u8, 0x67, 186, 0), // #1071
5899    InstInfo::new(300, 152, Encoding::VexRmi as u8, 0x67, 179, 0), // #1072
5900    InstInfo::new(301, 163, Encoding::VexRm_Lx as u8, 0x81, 81, 0), // #1073
5901    InstInfo::new(301, 163, Encoding::VexRm_Lx as u8, 0x80, 81, 0), // #1074
5902    InstInfo::new(302, 163, Encoding::VexRm as u8, 0x83, 81, 0), // #1075
5903    InstInfo::new(303, 163, Encoding::VexRm as u8, 0x82, 81, 0), // #1076
5904    InstInfo::new(304, 164, Encoding::VexRmvRm_VM as u8, 0x92, 187, 80), // #1077
5905    InstInfo::new(305, 164, Encoding::VexRmvRm_VM as u8, 0x92, 30, 81), // #1078
5906    InstInfo::new(306, 164, Encoding::VexRmvRm_VM as u8, 0x93, 187, 82), // #1079
5907    InstInfo::new(307, 164, Encoding::VexRmvRm_VM as u8, 0x93, 30, 83), // #1080
5908    InstInfo::new(268, 149, Encoding::VexRm_Lx as u8, 0x42, 112, 0), // #1081
5909    InstInfo::new(270, 145, Encoding::VexRm_Lx as u8, 0x42, 181, 0), // #1082
5910    InstInfo::new(273, 149, Encoding::VexRm_Lx as u8, 0x42, 113, 0), // #1083
5911    InstInfo::new(308, 149, Encoding::VexRvm as u8, 0x43, 127, 0), // #1084
5912    InstInfo::new(259, 145, Encoding::VexRvm as u8, 0x43, 183, 0), // #1085
5913    InstInfo::new(309, 149, Encoding::VexRvm as u8, 0x43, 128, 0), // #1086
5914    InstInfo::new(310, 149, Encoding::VexRmi_Lx as u8, 0x26, 111, 0), // #1087
5915    InstInfo::new(311, 145, Encoding::VexRmi_Lx as u8, 0x26, 122, 0), // #1088
5916    InstInfo::new(312, 149, Encoding::VexRmi_Lx as u8, 0x26, 110, 0), // #1089
5917    InstInfo::new(290, 149, Encoding::VexRvmi as u8, 0x27, 178, 0), // #1090
5918    InstInfo::new(313, 145, Encoding::VexRvmi as u8, 0x27, 186, 0), // #1091
5919    InstInfo::new(291, 149, Encoding::VexRvmi as u8, 0x27, 179, 0), // #1092
5920    InstInfo::new(314, 165, Encoding::VexRvmi_Lx as u8, 0xCF, 188, 0), // #1093
5921    InstInfo::new(314, 165, Encoding::VexRvmi_Lx as u8, 0xCE, 188, 0), // #1094
5922    InstInfo::new(315, 165, Encoding::VexRvm_Lx as u8, 0xCF, 109, 0), // #1095
5923    InstInfo::new(205, 146, Encoding::VexRvm_Lx as u8, 0x7C, 71, 0), // #1096
5924    InstInfo::new(205, 146, Encoding::VexRvm_Lx as u8, 0x7C, 108, 0), // #1097
5925    InstInfo::new(205, 146, Encoding::VexRvm_Lx as u8, 0x7D, 71, 0), // #1098
5926    InstInfo::new(205, 146, Encoding::VexRvm_Lx as u8, 0x7D, 108, 0), // #1099
5927    InstInfo::new(316, 146, Encoding::VexRvmi as u8, 0x18, 170, 0), // #1100
5928    InstInfo::new(317, 149, Encoding::VexRvmi_Lx as u8, 0x18, 171, 0), // #1101
5929    InstInfo::new(318, 152, Encoding::VexRvmi as u8, 0x1A, 172, 0), // #1102
5930    InstInfo::new(317, 152, Encoding::VexRvmi_Lx as u8, 0x18, 173, 0), // #1103
5931    InstInfo::new(318, 149, Encoding::VexRvmi as u8, 0x1A, 174, 0), // #1104
5932    InstInfo::new(316, 153, Encoding::VexRvmi as u8, 0x38, 170, 0), // #1105
5933    InstInfo::new(317, 149, Encoding::VexRvmi_Lx as u8, 0x38, 171, 0), // #1106
5934    InstInfo::new(318, 152, Encoding::VexRvmi as u8, 0x3A, 172, 0), // #1107
5935    InstInfo::new(317, 152, Encoding::VexRvmi_Lx as u8, 0x38, 173, 0), // #1108
5936    InstInfo::new(318, 149, Encoding::VexRvmi as u8, 0x3A, 174, 0), // #1109
5937    InstInfo::new(319, 144, Encoding::VexRvmi as u8, 0x21, 175, 0), // #1110
5938    InstInfo::new(240, 146, Encoding::VexRm_Lx as u8, 0xF0, 108, 0), // #1111
5939    InstInfo::new(320, 146, Encoding::VexM as u8, 0xAE, 189, 0), // #1112
5940    InstInfo::new(321, 146, Encoding::VexRm_ZDI as u8, 0xF7, 71, 0), // #1113
5941    InstInfo::new(322, 146, Encoding::VexRvmMvr_Lx as u8, 0x2D, 30, 84), // #1114
5942    InstInfo::new(322, 146, Encoding::VexRvmMvr_Lx as u8, 0x2C, 30, 85), // #1115
5943    InstInfo::new(323, 144, Encoding::VexRvm_Lx as u8, 0x5F, 102, 0), // #1116
5944    InstInfo::new(324, 145, Encoding::VexRvm_Lx as u8, 0x5F, 103, 0), // #1117
5945    InstInfo::new(325, 144, Encoding::VexRvm_Lx as u8, 0x5F, 104, 0), // #1118
5946    InstInfo::new(326, 144, Encoding::VexRvm as u8, 0x5F, 105, 0), // #1119
5947    InstInfo::new(259, 145, Encoding::VexRvm as u8, 0x5F, 106, 0), // #1120
5948    InstInfo::new(263, 144, Encoding::VexRvm as u8, 0x5F, 107, 0), // #1121
5949    InstInfo::new(31, 67, Encoding::X86Op as u8, 0xC1, 23, 0), // #1122
5950    InstInfo::new(33, 67, Encoding::X86M_Only as u8, 0xC7, 28, 0), // #1123
5951    InstInfo::new(31, 67, Encoding::X86Op as u8, 0xD4, 23, 0), // #1124
5952    InstInfo::new(31, 166, Encoding::X86Op as u8, 0xD9, 93, 0), // #1125
5953    InstInfo::new(323, 144, Encoding::VexRvm_Lx as u8, 0x5D, 102, 0), // #1126
5954    InstInfo::new(324, 145, Encoding::VexRvm_Lx as u8, 0x5D, 103, 0), // #1127
5955    InstInfo::new(325, 144, Encoding::VexRvm_Lx as u8, 0x5D, 104, 0), // #1128
5956    InstInfo::new(326, 144, Encoding::VexRvm as u8, 0x5D, 105, 0), // #1129
5957    InstInfo::new(259, 145, Encoding::VexRvm as u8, 0x5D, 106, 0), // #1130
5958    InstInfo::new(263, 144, Encoding::VexRvm as u8, 0x5D, 107, 0), // #1131
5959    InstInfo::new(31, 67, Encoding::X86Op as u8, 0xC2, 23, 0), // #1132
5960    InstInfo::new(327, 23, Encoding::X86Op_xAX as u8, 0xDA, 23, 0), // #1133
5961    InstInfo::new(31, 23, Encoding::X86Op as u8, 0xD9, 23, 0), // #1134
5962    InstInfo::new(328, 167, Encoding::VexRmMr_Lx as u8, 0x28, 102, 86), // #1135
5963    InstInfo::new(328, 167, Encoding::VexRmMr_Lx as u8, 0x28, 104, 87), // #1136
5964    InstInfo::new(329, 144, Encoding::VexMovdMovq as u8, 0x6E, 190, 88), // #1137
5965    InstInfo::new(330, 144, Encoding::VexRm_Lx as u8, 0x12, 191, 0), // #1138
5966    InstInfo::new(331, 168, Encoding::VexRmMr_Lx as u8, 0x6F, 71, 89), // #1139
5967    InstInfo::new(332, 169, Encoding::VexRmMr_Lx as u8, 0x6F, 192, 90), // #1140
5968    InstInfo::new(332, 169, Encoding::VexRmMr_Lx as u8, 0x6F, 134, 91), // #1141
5969    InstInfo::new(331, 168, Encoding::VexRmMr_Lx as u8, 0x6F, 193, 92), // #1142
5970    InstInfo::new(332, 170, Encoding::VexRmMr_Lx as u8, 0x6F, 165, 93), // #1143
5971    InstInfo::new(332, 169, Encoding::VexRmMr_Lx as u8, 0x6F, 194, 94), // #1144
5972    InstInfo::new(332, 169, Encoding::VexRmMr_Lx as u8, 0x6F, 148, 95), // #1145
5973    InstInfo::new(332, 170, Encoding::VexRmMr_Lx as u8, 0x6F, 163, 96), // #1146
5974    InstInfo::new(333, 144, Encoding::VexRvm as u8, 0x12, 74, 0), // #1147
5975    InstInfo::new(334, 144, Encoding::VexRvmMr as u8, 0x16, 124, 97), // #1148
5976    InstInfo::new(334, 144, Encoding::VexRvmMr as u8, 0x16, 195, 98), // #1149
5977    InstInfo::new(333, 144, Encoding::VexRvm as u8, 0x16, 74, 0), // #1150
5978    InstInfo::new(334, 144, Encoding::VexRvmMr as u8, 0x12, 124, 99), // #1151
5979    InstInfo::new(334, 144, Encoding::VexRvmMr as u8, 0x12, 195, 100), // #1152
5980    InstInfo::new(335, 146, Encoding::VexRm_Lx as u8, 0x50, 71, 0), // #1153
5981    InstInfo::new(335, 146, Encoding::VexRm_Lx as u8, 0x50, 74, 0), // #1154
5982    InstInfo::new(336, 144, Encoding::VexMr_Lx as u8, 0xE7, 143, 0), // #1155
5983    InstInfo::new(337, 154, Encoding::VexRm_Lx as u8, 0x2A, 109, 0), // #1156
5984    InstInfo::new(336, 144, Encoding::VexMr_Lx as u8, 0x2B, 102, 0), // #1157
5985    InstInfo::new(336, 144, Encoding::VexMr_Lx as u8, 0x2B, 104, 0), // #1158
5986    InstInfo::new(338, 167, Encoding::VexMovdMovq as u8, 0x6E, 124, 101), // #1159
5987    InstInfo::new(339, 167, Encoding::VexMovssMovsd as u8, 0x10, 105, 102), // #1160
5988    InstInfo::new(340, 145, Encoding::VexMovssMovsd as u8, 0x10, 106, 103), // #1161
5989    InstInfo::new(341, 144, Encoding::VexRm_Lx as u8, 0x16, 160, 0), // #1162
5990    InstInfo::new(341, 144, Encoding::VexRm_Lx as u8, 0x12, 160, 0), // #1163
5991    InstInfo::new(342, 167, Encoding::VexMovssMovsd as u8, 0x10, 107, 104), // #1164
5992    InstInfo::new(328, 167, Encoding::VexRmMr_Lx as u8, 0x10, 102, 105), // #1165
5993    InstInfo::new(328, 167, Encoding::VexRmMr_Lx as u8, 0x10, 104, 106), // #1166
5994    InstInfo::new(343, 145, Encoding::VexMovdMovq as u8, 0x6E, 196, 107), // #1167
5995    InstInfo::new(218, 171, Encoding::VexRvmi_Lx as u8, 0x42, 75, 0), // #1168
5996    InstInfo::new(33, 67, Encoding::X86M_Only as u8, 0xC7, 82, 0), // #1169
5997    InstInfo::new(33, 67, Encoding::X86M_Only as u8, 0xC7, 24, 0), // #1170
5998    InstInfo::new(344, 67, Encoding::X86Mr_NoSize as u8, 0x78, 5, 0), // #1171
5999    InstInfo::new(31, 67, Encoding::X86Op as u8, 0xC3, 23, 0), // #1172
6000    InstInfo::new(327, 23, Encoding::X86Op_xAX as u8, 0xD8, 23, 0), // #1173
6001    InstInfo::new(327, 23, Encoding::X86Op_xAX as u8, 0xDB, 23, 0), // #1174
6002    InstInfo::new(199, 144, Encoding::VexRvm_Lx as u8, 0x59, 102, 0), // #1175
6003    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0x59, 103, 0), // #1176
6004    InstInfo::new(201, 144, Encoding::VexRvm_Lx as u8, 0x59, 104, 0), // #1177
6005    InstInfo::new(202, 144, Encoding::VexRvm as u8, 0x59, 105, 0), // #1178
6006    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0x59, 106, 0), // #1179
6007    InstInfo::new(204, 144, Encoding::VexRvm as u8, 0x59, 107, 0), // #1180
6008    InstInfo::new(345, 67, Encoding::X86Rm_NoSize as u8, 0x79, 5, 0), // #1181
6009    InstInfo::new(31, 67, Encoding::X86Op as u8, 0xC4, 23, 0), // #1182
6010    InstInfo::new(33, 67, Encoding::X86M_Only as u8, 0xC7, 26, 0), // #1183
6011    InstInfo::new(213, 150, Encoding::VexRvm_Lx as u8, 0x56, 102, 0), // #1184
6012    InstInfo::new(214, 150, Encoding::VexRvm_Lx as u8, 0x56, 104, 0), // #1185
6013    InstInfo::new(346, 172, Encoding::VexRvm_Lx_2xK as u8, 0x68, 130, 0), // #1186
6014    InstInfo::new(347, 172, Encoding::VexRvm_Lx_2xK as u8, 0x68, 197, 0), // #1187
6015    InstInfo::new(341, 173, Encoding::VexRm_Lx as u8, 0x1C, 109, 0), // #1188
6016    InstInfo::new(348, 154, Encoding::VexRm_Lx as u8, 0x1E, 109, 0), // #1189
6017    InstInfo::new(349, 149, Encoding::VexRm_Lx as u8, 0x1F, 112, 0), // #1190
6018    InstInfo::new(341, 173, Encoding::VexRm_Lx as u8, 0x1D, 109, 0), // #1191
6019    InstInfo::new(212, 173, Encoding::VexRvm_Lx as u8, 0x6B, 143, 0), // #1192
6020    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0x63, 143, 0), // #1193
6021    InstInfo::new(212, 173, Encoding::VexRvm_Lx as u8, 0x2B, 109, 0), // #1194
6022    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0x67, 143, 0), // #1195
6023    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0xFC, 143, 0), // #1196
6024    InstInfo::new(212, 154, Encoding::VexRvm_Lx as u8, 0xFE, 143, 0), // #1197
6025    InstInfo::new(211, 154, Encoding::VexRvm_Lx as u8, 0xD4, 102, 0), // #1198
6026    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0xEC, 143, 0), // #1199
6027    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0xED, 143, 0), // #1200
6028    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0xDC, 143, 0), // #1201
6029    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0xDD, 143, 0), // #1202
6030    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0xFD, 143, 0), // #1203
6031    InstInfo::new(314, 173, Encoding::VexRvmi_Lx as u8, 0x0F, 198, 0), // #1204
6032    InstInfo::new(350, 171, Encoding::VexRvm_Lx as u8, 0xDB, 71, 0), // #1205
6033    InstInfo::new(351, 149, Encoding::VexRvm_Lx as u8, 0xDB, 192, 0), // #1206
6034    InstInfo::new(352, 171, Encoding::VexRvm_Lx as u8, 0xDF, 71, 0), // #1207
6035    InstInfo::new(353, 149, Encoding::VexRvm_Lx as u8, 0xDF, 192, 0), // #1208
6036    InstInfo::new(354, 149, Encoding::VexRvm_Lx as u8, 0xDF, 134, 0), // #1209
6037    InstInfo::new(355, 149, Encoding::VexRvm_Lx as u8, 0xDB, 134, 0), // #1210
6038    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0xE0, 143, 0), // #1211
6039    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0xE3, 143, 0), // #1212
6040    InstInfo::new(218, 153, Encoding::VexRvmi_Lx as u8, 0x02, 75, 0), // #1213
6041    InstInfo::new(356, 160, Encoding::VexRvm_Lx as u8, 0x66, 113, 0), // #1214
6042    InstInfo::new(217, 149, Encoding::VexRvm_Lx as u8, 0x64, 113, 0), // #1215
6043    InstInfo::new(216, 149, Encoding::VexRvm_Lx as u8, 0x64, 112, 0), // #1216
6044    InstInfo::new(356, 160, Encoding::VexRvm_Lx as u8, 0x66, 112, 0), // #1217
6045    InstInfo::new(219, 171, Encoding::VexRvmr_Lx as u8, 0x4C, 75, 0), // #1218
6046    InstInfo::new(218, 171, Encoding::VexRvmi_Lx as u8, 0x0E, 75, 0), // #1219
6047    InstInfo::new(357, 174, Encoding::VexRm_Lx_Bcst as u8, 0x78, 30, 108), // #1220
6048    InstInfo::new(358, 164, Encoding::VexRm_Lx_Bcst as u8, 0x58, 121, 109), // #1221
6049    InstInfo::new(359, 175, Encoding::VexRm_Lx as u8, 0x2A, 199, 0), // #1222
6050    InstInfo::new(359, 175, Encoding::VexRm_Lx as u8, 0x3A, 200, 0), // #1223
6051    InstInfo::new(360, 164, Encoding::VexRm_Lx_Bcst as u8, 0x59, 120, 110), // #1224
6052    InstInfo::new(361, 174, Encoding::VexRm_Lx_Bcst as u8, 0x79, 201, 111), // #1225
6053    InstInfo::new(362, 176, Encoding::VexRvmi_Lx as u8, 0x44, 198, 0), // #1226
6054    InstInfo::new(363, 163, Encoding::VexRvrmRvmr_Lx as u8, 0xA2, 202, 0), // #1227
6055    InstInfo::new(364, 160, Encoding::VexRvmi_Lx as u8, 0x3F, 110, 0), // #1228
6056    InstInfo::new(365, 149, Encoding::VexRvmi_Lx as u8, 0x1F, 110, 0), // #1229
6057    InstInfo::new(366, 173, Encoding::VexRvm_Lx_KEvex as u8, 0x74, 143, 0), // #1230
6058    InstInfo::new(367, 154, Encoding::VexRvm_Lx_KEvex as u8, 0x76, 143, 0), // #1231
6059    InstInfo::new(368, 154, Encoding::VexRvm_Lx_KEvex as u8, 0x29, 203, 0), // #1232
6060    InstInfo::new(366, 173, Encoding::VexRvm_Lx_KEvex as u8, 0x75, 143, 0), // #1233
6061    InstInfo::new(369, 177, Encoding::VexRmi as u8, 0x61, 75, 0), // #1234
6062    InstInfo::new(370, 177, Encoding::VexRmi as u8, 0x60, 75, 0), // #1235
6063    InstInfo::new(366, 173, Encoding::VexRvm_Lx_KEvex as u8, 0x64, 143, 0), // #1236
6064    InstInfo::new(367, 154, Encoding::VexRvm_Lx_KEvex as u8, 0x66, 143, 0), // #1237
6065    InstInfo::new(368, 154, Encoding::VexRvm_Lx_KEvex as u8, 0x37, 203, 0), // #1238
6066    InstInfo::new(366, 173, Encoding::VexRvm_Lx_KEvex as u8, 0x65, 143, 0), // #1239
6067    InstInfo::new(371, 177, Encoding::VexRmi as u8, 0x63, 75, 0), // #1240
6068    InstInfo::new(372, 177, Encoding::VexRmi as u8, 0x62, 75, 0), // #1241
6069    InstInfo::new(373, 149, Encoding::VexRvmi_Lx as u8, 0x1F, 111, 0), // #1242
6070    InstInfo::new(364, 160, Encoding::VexRvmi_Lx as u8, 0x3E, 110, 0), // #1243
6071    InstInfo::new(365, 149, Encoding::VexRvmi_Lx as u8, 0x1E, 110, 0), // #1244
6072    InstInfo::new(373, 149, Encoding::VexRvmi_Lx as u8, 0x1E, 111, 0), // #1245
6073    InstInfo::new(364, 160, Encoding::VexRvmi_Lx as u8, 0x3E, 111, 0), // #1246
6074    InstInfo::new(364, 160, Encoding::VexRvmi_Lx as u8, 0x3F, 111, 0), // #1247
6075    InstInfo::new(281, 163, Encoding::VexRvmi as u8, 0xCC, 202, 0), // #1248
6076    InstInfo::new(281, 163, Encoding::VexRvmi as u8, 0xCE, 202, 0), // #1249
6077    InstInfo::new(236, 178, Encoding::VexMr_Lx as u8, 0x63, 204, 0), // #1250
6078    InstInfo::new(236, 149, Encoding::VexMr_Lx as u8, 0x8B, 128, 0), // #1251
6079    InstInfo::new(236, 149, Encoding::VexMr_Lx as u8, 0x8B, 127, 0), // #1252
6080    InstInfo::new(236, 178, Encoding::VexMr_Lx as u8, 0x63, 205, 0), // #1253
6081    InstInfo::new(281, 163, Encoding::VexRvmi as u8, 0xCF, 202, 0), // #1254
6082    InstInfo::new(281, 163, Encoding::VexRvmi as u8, 0xEC, 202, 0), // #1255
6083    InstInfo::new(281, 163, Encoding::VexRvmi as u8, 0xEE, 202, 0), // #1256
6084    InstInfo::new(281, 163, Encoding::VexRvmi as u8, 0xEF, 202, 0), // #1257
6085    InstInfo::new(281, 163, Encoding::VexRvmi as u8, 0xED, 202, 0), // #1258
6086    InstInfo::new(281, 163, Encoding::VexRvmi as u8, 0xCD, 202, 0), // #1259
6087    InstInfo::new(374, 175, Encoding::VexRm_Lx as u8, 0xC4, 113, 0), // #1260
6088    InstInfo::new(374, 175, Encoding::VexRm_Lx as u8, 0xC4, 112, 0), // #1261
6089    InstInfo::new(205, 179, Encoding::VexRvm_Lx as u8, 0x50, 85, 0), // #1262
6090    InstInfo::new(205, 179, Encoding::VexRvm_Lx as u8, 0x51, 85, 0), // #1263
6091    InstInfo::new(205, 179, Encoding::VexRvm_Lx as u8, 0x50, 89, 0), // #1264
6092    InstInfo::new(205, 179, Encoding::VexRvm_Lx as u8, 0x51, 89, 0), // #1265
6093    InstInfo::new(375, 180, Encoding::VexRvm_Lx as u8, 0x50, 109, 0), // #1266
6094    InstInfo::new(375, 180, Encoding::VexRvm_Lx as u8, 0x51, 109, 0), // #1267
6095    InstInfo::new(205, 179, Encoding::VexRvm_Lx as u8, 0x50, 11, 0), // #1268
6096    InstInfo::new(205, 179, Encoding::VexRvm_Lx as u8, 0x51, 11, 0), // #1269
6097    InstInfo::new(375, 180, Encoding::VexRvm_Lx as u8, 0x52, 109, 0), // #1270
6098    InstInfo::new(375, 180, Encoding::VexRvm_Lx as u8, 0x53, 109, 0), // #1271
6099    InstInfo::new(205, 181, Encoding::VexRvm_Lx as u8, 0xD2, 89, 0), // #1272
6100    InstInfo::new(205, 181, Encoding::VexRvm_Lx as u8, 0xD3, 89, 0), // #1273
6101    InstInfo::new(205, 181, Encoding::VexRvm_Lx as u8, 0xD2, 30, 0), // #1274
6102    InstInfo::new(205, 181, Encoding::VexRvm_Lx as u8, 0xD3, 30, 0), // #1275
6103    InstInfo::new(205, 181, Encoding::VexRvm_Lx as u8, 0xD2, 11, 0), // #1276
6104    InstInfo::new(205, 181, Encoding::VexRvm_Lx as u8, 0xD3, 11, 0), // #1277
6105    InstInfo::new(376, 146, Encoding::VexRvmi as u8, 0x06, 170, 0), // #1278
6106    InstInfo::new(376, 153, Encoding::VexRvmi as u8, 0x46, 170, 0), // #1279
6107    InstInfo::new(356, 182, Encoding::VexRvm_Lx as u8, 0x8D, 113, 0), // #1280
6108    InstInfo::new(377, 164, Encoding::VexRvm_Lx as u8, 0x36, 109, 0), // #1281
6109    InstInfo::new(356, 182, Encoding::VexRvm_Lx as u8, 0x75, 113, 0), // #1282
6110    InstInfo::new(217, 149, Encoding::VexRvm_Lx as u8, 0x76, 113, 0), // #1283
6111    InstInfo::new(216, 149, Encoding::VexRvm_Lx as u8, 0x77, 112, 0), // #1284
6112    InstInfo::new(217, 149, Encoding::VexRvm_Lx as u8, 0x77, 113, 0), // #1285
6113    InstInfo::new(216, 149, Encoding::VexRvm_Lx as u8, 0x76, 112, 0), // #1286
6114    InstInfo::new(356, 160, Encoding::VexRvm_Lx as u8, 0x75, 112, 0), // #1287
6115    InstInfo::new(378, 163, Encoding::VexRvrmiRvmri_Lx as u8, 0x49, 75, 0), // #1288
6116    InstInfo::new(378, 163, Encoding::VexRvrmiRvmri_Lx as u8, 0x48, 75, 0), // #1289
6117    InstInfo::new(379, 144, Encoding::VexRvmRmi_Lx as u8, 0x0D, 203, 112), // #1290
6118    InstInfo::new(380, 144, Encoding::VexRvmRmi_Lx as u8, 0x0C, 109, 113), // #1291
6119    InstInfo::new(381, 164, Encoding::VexRvmRmi_Lx as u8, 0x16, 206, 114), // #1292
6120    InstInfo::new(377, 164, Encoding::VexRvm_Lx as u8, 0x16, 109, 0), // #1293
6121    InstInfo::new(381, 164, Encoding::VexRvmRmi_Lx as u8, 0x36, 112, 115), // #1294
6122    InstInfo::new(356, 182, Encoding::VexRvm_Lx as u8, 0x7D, 113, 0), // #1295
6123    InstInfo::new(217, 149, Encoding::VexRvm_Lx as u8, 0x7E, 113, 0), // #1296
6124    InstInfo::new(216, 149, Encoding::VexRvm_Lx as u8, 0x7F, 112, 0), // #1297
6125    InstInfo::new(217, 149, Encoding::VexRvm_Lx as u8, 0x7F, 113, 0), // #1298
6126    InstInfo::new(216, 149, Encoding::VexRvm_Lx as u8, 0x7E, 112, 0), // #1299
6127    InstInfo::new(356, 160, Encoding::VexRvm_Lx as u8, 0x7D, 112, 0), // #1300
6128    InstInfo::new(356, 160, Encoding::VexRvm_Lx as u8, 0x8D, 112, 0), // #1301
6129    InstInfo::new(282, 178, Encoding::VexRm_Lx as u8, 0x62, 204, 0), // #1302
6130    InstInfo::new(282, 149, Encoding::VexRm_Lx as u8, 0x89, 128, 0), // #1303
6131    InstInfo::new(282, 149, Encoding::VexRm_Lx as u8, 0x89, 127, 0), // #1304
6132    InstInfo::new(282, 178, Encoding::VexRm_Lx as u8, 0x62, 205, 0), // #1305
6133    InstInfo::new(382, 183, Encoding::VexMri as u8, 0x14, 75, 0), // #1306
6134    InstInfo::new(286, 150, Encoding::VexMri as u8, 0x16, 175, 0), // #1307
6135    InstInfo::new(383, 150, Encoding::VexMri as u8, 0x16, 207, 0), // #1308
6136    InstInfo::new(384, 183, Encoding::VexMri_Vpextrw as u8, 0x15, 208, 0), // #1309
6137    InstInfo::new(305, 164, Encoding::VexRmvRm_VM as u8, 0x90, 30, 116), // #1310
6138    InstInfo::new(304, 164, Encoding::VexRmvRm_VM as u8, 0x90, 187, 117), // #1311
6139    InstInfo::new(307, 164, Encoding::VexRmvRm_VM as u8, 0x91, 30, 118), // #1312
6140    InstInfo::new(306, 164, Encoding::VexRmvRm_VM as u8, 0x91, 187, 119), // #1313
6141    InstInfo::new(207, 163, Encoding::VexRm as u8, 0xC2, 81, 0), // #1314
6142    InstInfo::new(207, 163, Encoding::VexRm as u8, 0xC3, 81, 0), // #1315
6143    InstInfo::new(207, 163, Encoding::VexRm as u8, 0xC1, 81, 0), // #1316
6144    InstInfo::new(205, 171, Encoding::VexRvm_Lx as u8, 0x02, 30, 0), // #1317
6145    InstInfo::new(207, 163, Encoding::VexRm as u8, 0xCB, 81, 0), // #1318
6146    InstInfo::new(205, 171, Encoding::VexRvm_Lx as u8, 0x03, 30, 0), // #1319
6147    InstInfo::new(207, 163, Encoding::VexRm as u8, 0xD2, 81, 0), // #1320
6148    InstInfo::new(207, 163, Encoding::VexRm as u8, 0xD3, 81, 0), // #1321
6149    InstInfo::new(207, 163, Encoding::VexRm as u8, 0xD1, 81, 0), // #1322
6150    InstInfo::new(207, 163, Encoding::VexRm as u8, 0xDB, 81, 0), // #1323
6151    InstInfo::new(207, 163, Encoding::VexRm as u8, 0xD6, 81, 0), // #1324
6152    InstInfo::new(207, 163, Encoding::VexRm as u8, 0xD7, 81, 0), // #1325
6153    InstInfo::new(205, 171, Encoding::VexRvm_Lx as u8, 0x01, 30, 0), // #1326
6154    InstInfo::new(207, 163, Encoding::VexRm as u8, 0xC6, 81, 0), // #1327
6155    InstInfo::new(207, 163, Encoding::VexRm as u8, 0xC7, 81, 0), // #1328
6156    InstInfo::new(207, 146, Encoding::VexRm as u8, 0x41, 30, 0), // #1329
6157    InstInfo::new(207, 163, Encoding::VexRm as u8, 0xE1, 81, 0), // #1330
6158    InstInfo::new(205, 171, Encoding::VexRvm_Lx as u8, 0x06, 30, 0), // #1331
6159    InstInfo::new(207, 163, Encoding::VexRm as u8, 0xE3, 81, 0), // #1332
6160    InstInfo::new(205, 171, Encoding::VexRvm_Lx as u8, 0x07, 30, 0), // #1333
6161    InstInfo::new(205, 171, Encoding::VexRvm_Lx as u8, 0x05, 30, 0), // #1334
6162    InstInfo::new(207, 163, Encoding::VexRm as u8, 0xE2, 81, 0), // #1335
6163    InstInfo::new(385, 183, Encoding::VexRvmi as u8, 0x20, 75, 0), // #1336
6164    InstInfo::new(386, 150, Encoding::VexRvmi as u8, 0x22, 175, 0), // #1337
6165    InstInfo::new(387, 150, Encoding::VexRvmi as u8, 0x22, 207, 0), // #1338
6166    InstInfo::new(388, 183, Encoding::VexRvmi as u8, 0xC4, 209, 0), // #1339
6167    InstInfo::new(374, 175, Encoding::VexRm_Lx as u8, 0x44, 113, 0), // #1340
6168    InstInfo::new(349, 175, Encoding::VexRm_Lx as u8, 0x44, 112, 0), // #1341
6169    InstInfo::new(389, 163, Encoding::VexRvmr as u8, 0x9E, 202, 0), // #1342
6170    InstInfo::new(389, 163, Encoding::VexRvmr as u8, 0x9F, 202, 0), // #1343
6171    InstInfo::new(389, 163, Encoding::VexRvmr as u8, 0x97, 202, 0), // #1344
6172    InstInfo::new(389, 163, Encoding::VexRvmr as u8, 0x8E, 202, 0), // #1345
6173    InstInfo::new(389, 163, Encoding::VexRvmr as u8, 0x8F, 202, 0), // #1346
6174    InstInfo::new(389, 163, Encoding::VexRvmr as u8, 0x87, 202, 0), // #1347
6175    InstInfo::new(389, 163, Encoding::VexRvmr as u8, 0x86, 202, 0), // #1348
6176    InstInfo::new(389, 163, Encoding::VexRvmr as u8, 0x85, 202, 0), // #1349
6177    InstInfo::new(389, 163, Encoding::VexRvmr as u8, 0x96, 202, 0), // #1350
6178    InstInfo::new(389, 163, Encoding::VexRvmr as u8, 0x95, 202, 0), // #1351
6179    InstInfo::new(389, 163, Encoding::VexRvmr as u8, 0xA6, 202, 0), // #1352
6180    InstInfo::new(389, 163, Encoding::VexRvmr as u8, 0xB6, 202, 0), // #1353
6181    InstInfo::new(390, 184, Encoding::VexRvm_Lx as u8, 0xB5, 180, 0), // #1354
6182    InstInfo::new(390, 184, Encoding::VexRvm_Lx as u8, 0xB4, 180, 0), // #1355
6183    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0x04, 109, 0), // #1356
6184    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0xF5, 143, 0), // #1357
6185    InstInfo::new(322, 153, Encoding::VexRvmMvr_Lx as u8, 0x8C, 30, 120), // #1358
6186    InstInfo::new(322, 153, Encoding::VexRvmMvr_Lx as u8, 0x8C, 187, 121), // #1359
6187    InstInfo::new(391, 173, Encoding::VexRvm_Lx as u8, 0x3C, 109, 0), // #1360
6188    InstInfo::new(214, 154, Encoding::VexRvm_Lx as u8, 0x3D, 109, 0), // #1361
6189    InstInfo::new(216, 149, Encoding::VexRvm_Lx as u8, 0x3D, 112, 0), // #1362
6190    InstInfo::new(391, 173, Encoding::VexRvm_Lx as u8, 0xEE, 143, 0), // #1363
6191    InstInfo::new(391, 173, Encoding::VexRvm_Lx as u8, 0xDE, 143, 0), // #1364
6192    InstInfo::new(214, 154, Encoding::VexRvm_Lx as u8, 0x3F, 109, 0), // #1365
6193    InstInfo::new(216, 149, Encoding::VexRvm_Lx as u8, 0x3F, 112, 0), // #1366
6194    InstInfo::new(391, 173, Encoding::VexRvm_Lx as u8, 0x3E, 109, 0), // #1367
6195    InstInfo::new(391, 173, Encoding::VexRvm_Lx as u8, 0x38, 109, 0), // #1368
6196    InstInfo::new(214, 154, Encoding::VexRvm_Lx as u8, 0x39, 109, 0), // #1369
6197    InstInfo::new(216, 149, Encoding::VexRvm_Lx as u8, 0x39, 112, 0), // #1370
6198    InstInfo::new(391, 173, Encoding::VexRvm_Lx as u8, 0xEA, 143, 0), // #1371
6199    InstInfo::new(391, 173, Encoding::VexRvm_Lx as u8, 0xDA, 143, 0), // #1372
6200    InstInfo::new(214, 154, Encoding::VexRvm_Lx as u8, 0x3B, 109, 0), // #1373
6201    InstInfo::new(216, 149, Encoding::VexRvm_Lx as u8, 0x3B, 112, 0), // #1374
6202    InstInfo::new(391, 173, Encoding::VexRvm_Lx as u8, 0x3A, 109, 0), // #1375
6203    InstInfo::new(392, 160, Encoding::VexRm_Lx as u8, 0x29, 200, 0), // #1376
6204    InstInfo::new(392, 152, Encoding::VexRm_Lx as u8, 0x39, 200, 0), // #1377
6205    InstInfo::new(393, 149, Encoding::VexMr_Lx as u8, 0x31, 210, 0), // #1378
6206    InstInfo::new(394, 149, Encoding::VexMr_Lx as u8, 0x33, 211, 0), // #1379
6207    InstInfo::new(359, 160, Encoding::VexRm_Lx as u8, 0x28, 200, 0), // #1380
6208    InstInfo::new(359, 152, Encoding::VexRm_Lx as u8, 0x38, 200, 0), // #1381
6209    InstInfo::new(359, 152, Encoding::VexRm_Lx as u8, 0x38, 199, 0), // #1382
6210    InstInfo::new(359, 160, Encoding::VexRm_Lx as u8, 0x28, 199, 0), // #1383
6211    InstInfo::new(335, 171, Encoding::VexRm_Lx as u8, 0xD7, 71, 0), // #1384
6212    InstInfo::new(392, 152, Encoding::VexRm_Lx as u8, 0x39, 199, 0), // #1385
6213    InstInfo::new(395, 149, Encoding::VexMr_Lx as u8, 0x32, 212, 0), // #1386
6214    InstInfo::new(394, 149, Encoding::VexMr_Lx as u8, 0x35, 211, 0), // #1387
6215    InstInfo::new(393, 149, Encoding::VexMr_Lx as u8, 0x34, 210, 0), // #1388
6216    InstInfo::new(393, 149, Encoding::VexMr_Lx as u8, 0x21, 210, 0), // #1389
6217    InstInfo::new(394, 149, Encoding::VexMr_Lx as u8, 0x23, 211, 0), // #1390
6218    InstInfo::new(395, 149, Encoding::VexMr_Lx as u8, 0x22, 212, 0), // #1391
6219    InstInfo::new(394, 149, Encoding::VexMr_Lx as u8, 0x25, 211, 0), // #1392
6220    InstInfo::new(393, 149, Encoding::VexMr_Lx as u8, 0x24, 210, 0), // #1393
6221    InstInfo::new(394, 160, Encoding::VexMr_Lx as u8, 0x20, 211, 0), // #1394
6222    InstInfo::new(396, 154, Encoding::VexRm_Lx as u8, 0x21, 213, 0), // #1395
6223    InstInfo::new(397, 154, Encoding::VexRm_Lx as u8, 0x22, 214, 0), // #1396
6224    InstInfo::new(398, 173, Encoding::VexRm_Lx as u8, 0x20, 138, 0), // #1397
6225    InstInfo::new(398, 154, Encoding::VexRm_Lx as u8, 0x25, 138, 0), // #1398
6226    InstInfo::new(398, 154, Encoding::VexRm_Lx as u8, 0x23, 138, 0), // #1399
6227    InstInfo::new(396, 154, Encoding::VexRm_Lx as u8, 0x24, 213, 0), // #1400
6228    InstInfo::new(393, 149, Encoding::VexMr_Lx as u8, 0x11, 210, 0), // #1401
6229    InstInfo::new(394, 149, Encoding::VexMr_Lx as u8, 0x13, 211, 0), // #1402
6230    InstInfo::new(395, 149, Encoding::VexMr_Lx as u8, 0x12, 212, 0), // #1403
6231    InstInfo::new(394, 149, Encoding::VexMr_Lx as u8, 0x15, 211, 0), // #1404
6232    InstInfo::new(393, 149, Encoding::VexMr_Lx as u8, 0x14, 210, 0), // #1405
6233    InstInfo::new(394, 160, Encoding::VexMr_Lx as u8, 0x10, 211, 0), // #1406
6234    InstInfo::new(392, 160, Encoding::VexRm_Lx as u8, 0x29, 199, 0), // #1407
6235    InstInfo::new(394, 160, Encoding::VexMr_Lx as u8, 0x30, 211, 0), // #1408
6236    InstInfo::new(396, 154, Encoding::VexRm_Lx as u8, 0x31, 213, 0), // #1409
6237    InstInfo::new(397, 154, Encoding::VexRm_Lx as u8, 0x32, 214, 0), // #1410
6238    InstInfo::new(398, 173, Encoding::VexRm_Lx as u8, 0x30, 138, 0), // #1411
6239    InstInfo::new(398, 154, Encoding::VexRm_Lx as u8, 0x35, 138, 0), // #1412
6240    InstInfo::new(398, 154, Encoding::VexRm_Lx as u8, 0x33, 138, 0), // #1413
6241    InstInfo::new(396, 154, Encoding::VexRm_Lx as u8, 0x34, 213, 0), // #1414
6242    InstInfo::new(211, 154, Encoding::VexRvm_Lx as u8, 0x28, 203, 0), // #1415
6243    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0x0B, 109, 0), // #1416
6244    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0xE4, 143, 0), // #1417
6245    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0xE5, 143, 0), // #1418
6246    InstInfo::new(212, 154, Encoding::VexRvm_Lx as u8, 0x40, 109, 0), // #1419
6247    InstInfo::new(216, 152, Encoding::VexRvm_Lx as u8, 0x40, 112, 0), // #1420
6248    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0xD5, 143, 0), // #1421
6249    InstInfo::new(216, 182, Encoding::VexRvm_Lx as u8, 0x83, 112, 0), // #1422
6250    InstInfo::new(211, 154, Encoding::VexRvm_Lx as u8, 0xF4, 102, 0), // #1423
6251    InstInfo::new(282, 185, Encoding::VexRm_Lx as u8, 0x54, 113, 0), // #1424
6252    InstInfo::new(374, 186, Encoding::VexRm_Lx as u8, 0x55, 113, 0), // #1425
6253    InstInfo::new(349, 186, Encoding::VexRm_Lx as u8, 0x55, 112, 0), // #1426
6254    InstInfo::new(282, 185, Encoding::VexRm_Lx as u8, 0x54, 112, 0), // #1427
6255    InstInfo::new(350, 171, Encoding::VexRvm_Lx as u8, 0xEB, 71, 0), // #1428
6256    InstInfo::new(351, 149, Encoding::VexRvm_Lx as u8, 0xEB, 192, 0), // #1429
6257    InstInfo::new(355, 149, Encoding::VexRvm_Lx as u8, 0xEB, 134, 0), // #1430
6258    InstInfo::new(399, 163, Encoding::VexRvrmRvmr as u8, 0xA3, 202, 0), // #1431
6259    InstInfo::new(400, 149, Encoding::VexVmi_Lx as u8, 0x72, 215, 0), // #1432
6260    InstInfo::new(401, 149, Encoding::VexVmi_Lx as u8, 0x72, 216, 0), // #1433
6261    InstInfo::new(217, 149, Encoding::VexRvm_Lx as u8, 0x15, 113, 0), // #1434
6262    InstInfo::new(216, 149, Encoding::VexRvm_Lx as u8, 0x15, 112, 0), // #1435
6263    InstInfo::new(400, 149, Encoding::VexVmi_Lx as u8, 0x72, 192, 0), // #1436
6264    InstInfo::new(401, 149, Encoding::VexVmi_Lx as u8, 0x72, 134, 0), // #1437
6265    InstInfo::new(217, 149, Encoding::VexRvm_Lx as u8, 0x14, 113, 0), // #1438
6266    InstInfo::new(216, 149, Encoding::VexRvm_Lx as u8, 0x14, 112, 0), // #1439
6267    InstInfo::new(402, 163, Encoding::VexRvmRmvRmi as u8, 0x90, 81, 122), // #1440
6268    InstInfo::new(402, 163, Encoding::VexRvmRmvRmi as u8, 0x92, 81, 123), // #1441
6269    InstInfo::new(402, 163, Encoding::VexRvmRmvRmi as u8, 0x93, 81, 124), // #1442
6270    InstInfo::new(402, 163, Encoding::VexRvmRmvRmi as u8, 0x91, 81, 125), // #1443
6271    InstInfo::new(206, 173, Encoding::VexRvm_Lx as u8, 0xF6, 143, 0), // #1444
6272    InstInfo::new(403, 149, Encoding::VexMr_VM as u8, 0xA0, 128, 0), // #1445
6273    InstInfo::new(404, 149, Encoding::VexMr_VM as u8, 0xA0, 127, 0), // #1446
6274    InstInfo::new(405, 149, Encoding::VexMr_VM as u8, 0xA1, 128, 0), // #1447
6275    InstInfo::new(406, 149, Encoding::VexMr_VM as u8, 0xA1, 127, 0), // #1448
6276    InstInfo::new(407, 163, Encoding::VexRvmRmv as u8, 0x98, 81, 0), // #1449
6277    InstInfo::new(407, 163, Encoding::VexRvmRmv as u8, 0x9A, 81, 0), // #1450
6278    InstInfo::new(407, 163, Encoding::VexRvmRmv as u8, 0x9B, 81, 0), // #1451
6279    InstInfo::new(407, 163, Encoding::VexRvmRmv as u8, 0x99, 81, 0), // #1452
6280    InstInfo::new(407, 163, Encoding::VexRvmRmv as u8, 0x94, 81, 0), // #1453
6281    InstInfo::new(407, 163, Encoding::VexRvmRmv as u8, 0x96, 81, 0), // #1454
6282    InstInfo::new(209, 178, Encoding::VexRvmi_Lx as u8, 0x71, 110, 0), // #1455
6283    InstInfo::new(210, 178, Encoding::VexRvmi_Lx as u8, 0x71, 111, 0), // #1456
6284    InstInfo::new(217, 178, Encoding::VexRvm_Lx as u8, 0x71, 113, 0), // #1457
6285    InstInfo::new(216, 178, Encoding::VexRvm_Lx as u8, 0x71, 112, 0), // #1458
6286    InstInfo::new(356, 178, Encoding::VexRvm_Lx as u8, 0x70, 112, 0), // #1459
6287    InstInfo::new(280, 178, Encoding::VexRvmi_Lx as u8, 0x70, 111, 0), // #1460
6288    InstInfo::new(407, 163, Encoding::VexRvmRmv as u8, 0x97, 81, 0), // #1461
6289    InstInfo::new(407, 163, Encoding::VexRvmRmv as u8, 0x95, 81, 0), // #1462
6290    InstInfo::new(209, 178, Encoding::VexRvmi_Lx as u8, 0x73, 110, 0), // #1463
6291    InstInfo::new(210, 178, Encoding::VexRvmi_Lx as u8, 0x73, 111, 0), // #1464
6292    InstInfo::new(217, 178, Encoding::VexRvm_Lx as u8, 0x73, 113, 0), // #1465
6293    InstInfo::new(216, 178, Encoding::VexRvm_Lx as u8, 0x73, 112, 0), // #1466
6294    InstInfo::new(356, 178, Encoding::VexRvm_Lx as u8, 0x72, 112, 0), // #1467
6295    InstInfo::new(280, 178, Encoding::VexRvmi_Lx as u8, 0x72, 111, 0), // #1468
6296    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0x00, 109, 0), // #1469
6297    InstInfo::new(408, 185, Encoding::VexRvm_Lx as u8, 0x8F, 113, 0), // #1470
6298    InstInfo::new(409, 154, Encoding::VexRmi_Lx as u8, 0x70, 143, 0), // #1471
6299    InstInfo::new(410, 173, Encoding::VexRmi_Lx as u8, 0x70, 160, 0), // #1472
6300    InstInfo::new(410, 173, Encoding::VexRmi_Lx as u8, 0x70, 217, 0), // #1473
6301    InstInfo::new(205, 171, Encoding::VexRvm_Lx as u8, 0x08, 30, 0), // #1474
6302    InstInfo::new(205, 171, Encoding::VexRvm_Lx as u8, 0x0A, 30, 0), // #1475
6303    InstInfo::new(205, 171, Encoding::VexRvm_Lx as u8, 0x09, 30, 0), // #1476
6304    InstInfo::new(411, 154, Encoding::VexRvmVmi_Lx_MEvex as u8, 0xF2, 218, 126), // #1477
6305    InstInfo::new(412, 173, Encoding::VexVmi_Lx_MEvex as u8, 0x73, 219, 0), // #1478
6306    InstInfo::new(413, 154, Encoding::VexRvmVmi_Lx_MEvex as u8, 0xF3, 220, 127), // #1479
6307    InstInfo::new(212, 164, Encoding::VexRvm_Lx as u8, 0x47, 109, 0), // #1480
6308    InstInfo::new(211, 164, Encoding::VexRvm_Lx as u8, 0x47, 180, 0), // #1481
6309    InstInfo::new(356, 160, Encoding::VexRvm_Lx as u8, 0x12, 112, 0), // #1482
6310    InstInfo::new(414, 173, Encoding::VexRvmVmi_Lx_MEvex as u8, 0xF1, 218, 128), // #1483
6311    InstInfo::new(411, 154, Encoding::VexRvmVmi_Lx_MEvex as u8, 0xE2, 218, 129), // #1484
6312    InstInfo::new(415, 149, Encoding::VexRvmVmi_Lx_MEvex as u8, 0xE2, 221, 130), // #1485
6313    InstInfo::new(212, 164, Encoding::VexRvm_Lx as u8, 0x46, 109, 0), // #1486
6314    InstInfo::new(216, 149, Encoding::VexRvm_Lx as u8, 0x46, 112, 0), // #1487
6315    InstInfo::new(356, 160, Encoding::VexRvm_Lx as u8, 0x11, 112, 0), // #1488
6316    InstInfo::new(414, 173, Encoding::VexRvmVmi_Lx_MEvex as u8, 0xE1, 218, 131), // #1489
6317    InstInfo::new(411, 154, Encoding::VexRvmVmi_Lx_MEvex as u8, 0xD2, 218, 132), // #1490
6318    InstInfo::new(412, 173, Encoding::VexVmi_Lx_MEvex as u8, 0x73, 222, 0), // #1491
6319    InstInfo::new(413, 154, Encoding::VexRvmVmi_Lx_MEvex as u8, 0xD3, 220, 133), // #1492
6320    InstInfo::new(212, 164, Encoding::VexRvm_Lx as u8, 0x45, 109, 0), // #1493
6321    InstInfo::new(211, 164, Encoding::VexRvm_Lx as u8, 0x45, 180, 0), // #1494
6322    InstInfo::new(356, 160, Encoding::VexRvm_Lx as u8, 0x10, 112, 0), // #1495
6323    InstInfo::new(414, 173, Encoding::VexRvmVmi_Lx_MEvex as u8, 0xD1, 218, 134), // #1496
6324    InstInfo::new(416, 173, Encoding::VexRvm_Lx as u8, 0xF8, 143, 0), // #1497
6325    InstInfo::new(417, 154, Encoding::VexRvm_Lx as u8, 0xFA, 143, 0), // #1498
6326    InstInfo::new(418, 154, Encoding::VexRvm_Lx as u8, 0xFB, 102, 0), // #1499
6327    InstInfo::new(416, 173, Encoding::VexRvm_Lx as u8, 0xE8, 143, 0), // #1500
6328    InstInfo::new(416, 173, Encoding::VexRvm_Lx as u8, 0xE9, 143, 0), // #1501
6329    InstInfo::new(416, 173, Encoding::VexRvm_Lx as u8, 0xD8, 143, 0), // #1502
6330    InstInfo::new(416, 173, Encoding::VexRvm_Lx as u8, 0xD9, 143, 0), // #1503
6331    InstInfo::new(416, 173, Encoding::VexRvm_Lx as u8, 0xF9, 143, 0), // #1504
6332    InstInfo::new(209, 149, Encoding::VexRvmi_Lx as u8, 0x25, 110, 0), // #1505
6333    InstInfo::new(210, 149, Encoding::VexRvmi_Lx as u8, 0x25, 111, 0), // #1506
6334    InstInfo::new(301, 177, Encoding::VexRm_Lx as u8, 0x17, 30, 0), // #1507
6335    InstInfo::new(408, 160, Encoding::VexRvm_Lx as u8, 0x26, 113, 0), // #1508
6336    InstInfo::new(419, 149, Encoding::VexRvm_Lx as u8, 0x27, 113, 0), // #1509
6337    InstInfo::new(420, 149, Encoding::VexRvm_Lx as u8, 0x27, 112, 0), // #1510
6338    InstInfo::new(408, 160, Encoding::VexRvm_Lx as u8, 0x26, 112, 0), // #1511
6339    InstInfo::new(408, 160, Encoding::VexRvm_Lx as u8, 0x26, 169, 0), // #1512
6340    InstInfo::new(419, 149, Encoding::VexRvm_Lx as u8, 0x27, 169, 0), // #1513
6341    InstInfo::new(420, 149, Encoding::VexRvm_Lx as u8, 0x27, 223, 0), // #1514
6342    InstInfo::new(408, 160, Encoding::VexRvm_Lx as u8, 0x26, 223, 0), // #1515
6343    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0x68, 143, 0), // #1516
6344    InstInfo::new(212, 154, Encoding::VexRvm_Lx as u8, 0x6A, 143, 0), // #1517
6345    InstInfo::new(211, 154, Encoding::VexRvm_Lx as u8, 0x6D, 102, 0), // #1518
6346    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0x69, 143, 0), // #1519
6347    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0x60, 143, 0), // #1520
6348    InstInfo::new(212, 154, Encoding::VexRvm_Lx as u8, 0x62, 143, 0), // #1521
6349    InstInfo::new(211, 154, Encoding::VexRvm_Lx as u8, 0x6C, 102, 0), // #1522
6350    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0x61, 143, 0), // #1523
6351    InstInfo::new(352, 171, Encoding::VexRvm_Lx as u8, 0xEF, 71, 0), // #1524
6352    InstInfo::new(353, 149, Encoding::VexRvm_Lx as u8, 0xEF, 192, 0), // #1525
6353    InstInfo::new(354, 149, Encoding::VexRvm_Lx as u8, 0xEF, 134, 0), // #1526
6354    InstInfo::new(288, 152, Encoding::VexRvmi_Lx as u8, 0x50, 111, 0), // #1527
6355    InstInfo::new(289, 152, Encoding::VexRvmi_Lx as u8, 0x50, 110, 0), // #1528
6356    InstInfo::new(290, 152, Encoding::VexRvmi as u8, 0x51, 178, 0), // #1529
6357    InstInfo::new(291, 152, Encoding::VexRvmi as u8, 0x51, 179, 0), // #1530
6358    InstInfo::new(349, 149, Encoding::VexRm_Lx as u8, 0x4C, 112, 0), // #1531
6359    InstInfo::new(374, 149, Encoding::VexRm_Lx as u8, 0x4C, 113, 0), // #1532
6360    InstInfo::new(421, 149, Encoding::VexRvm as u8, 0x4D, 127, 0), // #1533
6361    InstInfo::new(422, 149, Encoding::VexRvm as u8, 0x4D, 128, 0), // #1534
6362    InstInfo::new(423, 145, Encoding::VexRm_Lx as u8, 0x4C, 181, 0), // #1535
6363    InstInfo::new(301, 146, Encoding::VexRm_Lx as u8, 0x53, 74, 0), // #1536
6364    InstInfo::new(424, 145, Encoding::VexRvm as u8, 0x4D, 183, 0), // #1537
6365    InstInfo::new(425, 146, Encoding::VexRvm as u8, 0x53, 193, 0), // #1538
6366    InstInfo::new(401, 152, Encoding::VexRmi_Lx as u8, 0x56, 111, 0), // #1539
6367    InstInfo::new(311, 145, Encoding::VexRmi_Lx as u8, 0x56, 122, 0), // #1540
6368    InstInfo::new(400, 152, Encoding::VexRmi_Lx as u8, 0x56, 110, 0), // #1541
6369    InstInfo::new(426, 152, Encoding::VexRvmi as u8, 0x57, 178, 0), // #1542
6370    InstInfo::new(313, 145, Encoding::VexRvmi as u8, 0x57, 186, 0), // #1543
6371    InstInfo::new(427, 152, Encoding::VexRvmi as u8, 0x57, 179, 0), // #1544
6372    InstInfo::new(310, 149, Encoding::VexRmi_Lx as u8, 0x09, 111, 0), // #1545
6373    InstInfo::new(311, 145, Encoding::VexRmi_Lx as u8, 0x08, 122, 0), // #1546
6374    InstInfo::new(312, 149, Encoding::VexRmi_Lx as u8, 0x08, 110, 0), // #1547
6375    InstInfo::new(290, 149, Encoding::VexRvmi as u8, 0x0B, 178, 0), // #1548
6376    InstInfo::new(313, 145, Encoding::VexRvmi as u8, 0x0A, 186, 0), // #1549
6377    InstInfo::new(291, 149, Encoding::VexRvmi as u8, 0x0A, 179, 0), // #1550
6378    InstInfo::new(428, 146, Encoding::VexRmi_Lx as u8, 0x09, 75, 0), // #1551
6379    InstInfo::new(428, 146, Encoding::VexRmi_Lx as u8, 0x08, 75, 0), // #1552
6380    InstInfo::new(429, 146, Encoding::VexRvmi as u8, 0x0B, 75, 0), // #1553
6381    InstInfo::new(430, 146, Encoding::VexRvmi as u8, 0x0A, 75, 0), // #1554
6382    InstInfo::new(349, 149, Encoding::VexRm_Lx as u8, 0x4E, 112, 0), // #1555
6383    InstInfo::new(374, 149, Encoding::VexRm_Lx as u8, 0x4E, 113, 0), // #1556
6384    InstInfo::new(421, 149, Encoding::VexRvm as u8, 0x4F, 127, 0), // #1557
6385    InstInfo::new(422, 149, Encoding::VexRvm as u8, 0x4F, 128, 0), // #1558
6386    InstInfo::new(423, 145, Encoding::VexRm_Lx as u8, 0x4E, 181, 0), // #1559
6387    InstInfo::new(301, 146, Encoding::VexRm_Lx as u8, 0x52, 74, 0), // #1560
6388    InstInfo::new(424, 145, Encoding::VexRvm as u8, 0x4F, 183, 0), // #1561
6389    InstInfo::new(425, 146, Encoding::VexRvm as u8, 0x52, 193, 0), // #1562
6390    InstInfo::new(431, 149, Encoding::VexRvm_Lx as u8, 0x2C, 112, 0), // #1563
6391    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0x2C, 181, 0), // #1564
6392    InstInfo::new(287, 149, Encoding::VexRvm_Lx as u8, 0x2C, 113, 0), // #1565
6393    InstInfo::new(256, 149, Encoding::VexRvm as u8, 0x2D, 127, 0), // #1566
6394    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0x2D, 183, 0), // #1567
6395    InstInfo::new(264, 149, Encoding::VexRvm as u8, 0x2D, 128, 0), // #1568
6396    InstInfo::new(404, 149, Encoding::VexMr_VM as u8, 0xA2, 127, 0), // #1569
6397    InstInfo::new(403, 149, Encoding::VexMr_VM as u8, 0xA2, 128, 0), // #1570
6398    InstInfo::new(406, 149, Encoding::VexMr_VM as u8, 0xA3, 127, 0), // #1571
6399    InstInfo::new(405, 149, Encoding::VexMr_VM as u8, 0xA3, 128, 0), // #1572
6400    InstInfo::new(432, 187, Encoding::VexRm as u8, 0xCC, 224, 0), // #1573
6401    InstInfo::new(433, 187, Encoding::VexRm as u8, 0xCD, 224, 0), // #1574
6402    InstInfo::new(434, 187, Encoding::VexRvm as u8, 0xCB, 224, 0), // #1575
6403    InstInfo::new(435, 149, Encoding::VexRvmi_Lx as u8, 0x23, 110, 0), // #1576
6404    InstInfo::new(436, 149, Encoding::VexRvmi_Lx as u8, 0x23, 111, 0), // #1577
6405    InstInfo::new(435, 149, Encoding::VexRvmi_Lx as u8, 0x43, 110, 0), // #1578
6406    InstInfo::new(436, 149, Encoding::VexRvmi_Lx as u8, 0x43, 111, 0), // #1579
6407    InstInfo::new(437, 144, Encoding::VexRvmi_Lx as u8, 0xC6, 102, 0), // #1580
6408    InstInfo::new(438, 144, Encoding::VexRvmi_Lx as u8, 0xC6, 104, 0), // #1581
6409    InstInfo::new(439, 188, Encoding::VexRvm as u8, 0xDA, 11, 0), // #1582
6410    InstInfo::new(439, 188, Encoding::VexRvm as u8, 0xDA, 30, 0), // #1583
6411    InstInfo::new(281, 188, Encoding::VexRvmi as u8, 0xDE, 75, 0), // #1584
6412    InstInfo::new(205, 189, Encoding::VexRvm_Lx as u8, 0xDA, 89, 0), // #1585
6413    InstInfo::new(205, 189, Encoding::VexRvm_Lx as u8, 0xDA, 85, 0), // #1586
6414    InstInfo::new(440, 144, Encoding::VexRm_Lx as u8, 0x51, 102, 0), // #1587
6415    InstInfo::new(251, 145, Encoding::VexRm_Lx as u8, 0x51, 103, 0), // #1588
6416    InstInfo::new(239, 144, Encoding::VexRm_Lx as u8, 0x51, 104, 0), // #1589
6417    InstInfo::new(202, 144, Encoding::VexRvm as u8, 0x51, 105, 0), // #1590
6418    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0x51, 106, 0), // #1591
6419    InstInfo::new(204, 144, Encoding::VexRvm as u8, 0x51, 107, 0), // #1592
6420    InstInfo::new(320, 146, Encoding::VexM as u8, 0xAE, 225, 0), // #1593
6421    InstInfo::new(199, 144, Encoding::VexRvm_Lx as u8, 0x5C, 102, 0), // #1594
6422    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0x5C, 103, 0), // #1595
6423    InstInfo::new(201, 144, Encoding::VexRvm_Lx as u8, 0x5C, 104, 0), // #1596
6424    InstInfo::new(202, 144, Encoding::VexRvm as u8, 0x5C, 105, 0), // #1597
6425    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0x5C, 106, 0), // #1598
6426    InstInfo::new(204, 144, Encoding::VexRvm as u8, 0x5C, 107, 0), // #1599
6427    InstInfo::new(301, 177, Encoding::VexRm_Lx as u8, 0x0F, 30, 0), // #1600
6428    InstInfo::new(301, 177, Encoding::VexRm_Lx as u8, 0x0E, 30, 0), // #1601
6429    InstInfo::new(233, 155, Encoding::VexRm as u8, 0x2E, 124, 0), // #1602
6430    InstInfo::new(234, 156, Encoding::VexRm as u8, 0x2E, 125, 0), // #1603
6431    InstInfo::new(235, 155, Encoding::VexRm as u8, 0x2E, 126, 0), // #1604
6432    InstInfo::new(211, 144, Encoding::VexRvm_Lx as u8, 0x15, 102, 0), // #1605
6433    InstInfo::new(212, 144, Encoding::VexRvm_Lx as u8, 0x15, 104, 0), // #1606
6434    InstInfo::new(211, 144, Encoding::VexRvm_Lx as u8, 0x14, 102, 0), // #1607
6435    InstInfo::new(212, 144, Encoding::VexRvm_Lx as u8, 0x14, 104, 0), // #1608
6436    InstInfo::new(418, 150, Encoding::VexRvm_Lx as u8, 0x57, 102, 0), // #1609
6437    InstInfo::new(417, 150, Encoding::VexRvm_Lx as u8, 0x57, 104, 0), // #1610
6438    InstInfo::new(441, 146, Encoding::VexOp as u8, 0x77, 70, 0), // #1611
6439    InstInfo::new(441, 146, Encoding::VexOp as u8, 0x77, 74, 0), // #1612
6440    InstInfo::new(31, 45, Encoding::X86Op as u8, 0x09, 5, 0), // #1613
6441    InstInfo::new(31, 190, Encoding::X86Op as u8, 0x09, 7, 0), // #1614
6442    InstInfo::new(177, 122, Encoding::X86M as u8, 0xAE, 226, 0), // #1615
6443    InstInfo::new(177, 122, Encoding::X86M as u8, 0xAE, 227, 0), // #1616
6444    InstInfo::new(180, 191, Encoding::X86Op as u8, 0x30, 5, 0), // #1617
6445    InstInfo::new(442, 65, Encoding::X86Mr as u8, 0xF6, 1, 0), // #1618
6446    InstInfo::new(443, 65, Encoding::X86Mr as u8, 0xF6, 228, 0), // #1619
6447    InstInfo::new(442, 65, Encoding::X86Mr as u8, 0xF5, 2, 0), // #1620
6448    InstInfo::new(443, 65, Encoding::X86Mr as u8, 0xF5, 229, 0), // #1621
6449    InstInfo::new(83, 192, Encoding::X86Op_Mod11RM_I8 as u8, 0xC6, 29, 0), // #1622
6450    InstInfo::new(444, 40, Encoding::X86Xadd as u8, 0xC0, 5, 0), // #1623
6451    InstInfo::new(445, 192, Encoding::X86JmpRel as u8, 0xC7, 29, 0), // #1624
6452    InstInfo::new(446, 0, Encoding::X86Xchg as u8, 0x86, 0, 0), // #1625
6453    InstInfo::new(31, 192, Encoding::X86Op as u8, 0xD5, 23, 0), // #1626
6454    InstInfo::new(180, 193, Encoding::X86Op as u8, 0xD0, 23, 0), // #1627
6455    InstInfo::new(31, 0, Encoding::X86Op as u8, 0xD7, 0, 0), // #1628
6456    InstInfo::new(184, 1, Encoding::X86Arith as u8, 0x30, 34, 0), // #1629
6457    InstInfo::new(154, 5, Encoding::ExtRm as u8, 0x57, 4, 0), // #1630
6458    InstInfo::new(154, 6, Encoding::ExtRm as u8, 0x57, 5, 0), // #1631
6459    InstInfo::new(31, 194, Encoding::X86Op as u8, 0xE9, 93, 0), // #1632
6460    InstInfo::new(447, 193, Encoding::X86M_Only_EDX_EAX as u8, 0xAE, 79, 0), // #1633
6461    InstInfo::new(448, 193, Encoding::X86M_Only_EDX_EAX as u8, 0xAE, 230, 0), // #1634
6462    InstInfo::new(447, 195, Encoding::X86M_Only_EDX_EAX as u8, 0xC7, 80, 0), // #1635
6463    InstInfo::new(448, 195, Encoding::X86M_Only_EDX_EAX as u8, 0xC7, 231, 0), // #1636
6464    InstInfo::new(447, 193, Encoding::X86M_Only_EDX_EAX as u8, 0xAE, 98, 0), // #1637
6465    InstInfo::new(448, 193, Encoding::X86M_Only_EDX_EAX as u8, 0xAE, 232, 0), // #1638
6466    InstInfo::new(447, 196, Encoding::X86M_Only_EDX_EAX as u8, 0xC7, 98, 0), // #1639
6467    InstInfo::new(448, 196, Encoding::X86M_Only_EDX_EAX as u8, 0xC7, 232, 0), // #1640
6468    InstInfo::new(447, 197, Encoding::X86M_Only_EDX_EAX as u8, 0xAE, 82, 0), // #1641
6469    InstInfo::new(448, 197, Encoding::X86M_Only_EDX_EAX as u8, 0xAE, 233, 0), // #1642
6470    InstInfo::new(447, 195, Encoding::X86M_Only_EDX_EAX as u8, 0xC7, 79, 0), // #1643
6471    InstInfo::new(448, 195, Encoding::X86M_Only_EDX_EAX as u8, 0xC7, 230, 0), // #1644
6472    InstInfo::new(180, 193, Encoding::X86Op as u8, 0xD1, 23, 0), // #1645
6473    InstInfo::new(31, 194, Encoding::X86Op as u8, 0xE8, 93, 0), // #1646
6474    InstInfo::new(31, 198, Encoding::X86Op as u8, 0xD6, 23, 0), // #1647
6475];
6476
6477pub static MAIN_OPCODE_TABLE: &[u32] = &[
6478    0x00000000, // #0 [ref=56x]
6479    0x00000200, // #1 [ref=25x]
6480    0x00200200, // #2 [ref=44x]
6481    0x00080000, // #3 [ref=4x]
6482    0x00200100, // #4 [ref=38x]
6483    0x00000100, // #5 [ref=189x]
6484    0x00600100, // #6 [ref=24x]
6485    0x00400100, // #7 [ref=29x]
6486    0x00400200, // #8 [ref=3x]
6487    0x00200300, // #9 [ref=22x]
6488    0x00100000, // #10 [ref=4x]
6489    0x00000200, // #11 [ref=13x]
6490    0x00600200, // #12 [ref=3x]
6491    0x00040900, // #13 [ref=3x]
6492    0x00180900, // #14 [ref=2x]
6493    0x00140900, // #15 [ref=1x]
6494    0x000C0900, // #16 [ref=1x]
6495    0x00080900, // #17 [ref=1x]
6496    0x000C0200, // #18 [ref=1x]
6497    0x00080200, // #19 [ref=1x]
6498    0x00040200, // #20 [ref=1x]
6499    0x00200000, // #21 [ref=7x]
6500    0x08000000, // #22 [ref=3x]
6501    0x00000400, // #23 [ref=32x]
6502    0x001C0100, // #24 [ref=6x]
6503    0x003C0100, // #25 [ref=1x]
6504    0x00580100, // #26 [ref=4x]
6505    0x00400400, // #27 [ref=9x]
6506    0x00380100, // #28 [ref=3x]
6507    0x001C0000, // #29 [ref=5x]
6508    0x00200200, // #30 [ref=48x]
6509    0x08040100, // #31 [ref=2x]
6510    0x00040100, // #32 [ref=6x]
6511    0x00040000, // #33 [ref=3x]
6512    0x00180000, // #34 [ref=4x]
6513    0x005C6100, // #35 [ref=1x]
6514    0x005C4100, // #36 [ref=1x]
6515    0x00036400, // #37 [ref=29x]
6516    0x00030000, // #38 [ref=1x]
6517    0x00037800, // #39 [ref=7x]
6518    0x00100000, // #40 [ref=4x]
6519    0x00180000, // #41 [ref=4x]
6520    0x00E36C00, // #42 [ref=2x]
6521    0x00036800, // #43 [ref=5x]
6522    0x00036C00, // #44 [ref=8x]
6523    0x000B4000, // #45 [ref=1x]
6524    0x00037C00, // #46 [ref=2x]
6525    0x000F6000, // #47 [ref=1x]
6526    0x001BC000, // #48 [ref=1x]
6527    0x001FE000, // #49 [ref=1x]
6528    0x00037400, // #50 [ref=3x]
6529    0x00000000, // #51 [ref=4x]
6530    0x00080000, // #52 [ref=3x]
6531    0x000C0000, // #53 [ref=3x]
6532    0x001C0000, // #54 [ref=3x]
6533    0x00040000, // #55 [ref=2x]
6534    0x00140000, // #56 [ref=2x]
6535    0x00072000, // #57 [ref=1x]
6536    0x00F80000, // #58 [ref=2x]
6537    0x00FC0000, // #59 [ref=2x]
6538    0x00138000, // #60 [ref=1x]
6539    0x0017A000, // #61 [ref=1x]
6540    0x08000100, // #62 [ref=3x]
6541    0x00400300, // #63 [ref=1x]
6542    0x00140000, // #64 [ref=4x]
6543    0x00540100, // #65 [ref=2x]
6544    0x08540100, // #66 [ref=1x]
6545    0x20200100, // #67 [ref=7x]
6546    0x28200100, // #68 [ref=6x]
6547    0x28000100, // #69 [ref=7x]
6548    0x20000100, // #70 [ref=8x]
6549    0x00200100, // #71 [ref=15x]
6550    0x08200100, // #72 [ref=4x]
6551    0x08000100, // #73 [ref=4x]
6552    0x00000100, // #74 [ref=10x]
6553    0x00200300, // #75 [ref=48x]
6554    0x08200300, // #76 [ref=4x]
6555    0x000C0000, // #77 [ref=4x]
6556    0x00080100, // #78 [ref=5x]
6557    0x00140100, // #79 [ref=4x]
6558    0x000C0100, // #80 [ref=5x]
6559    0x00000900, // #81 [ref=32x]
6560    0x00180100, // #82 [ref=6x]
6561    0x00000A00, // #83 [ref=1x]
6562    0x00040A00, // #84 [ref=1x]
6563    0x00600200, // #85 [ref=11x]
6564    0x00000300, // #86 [ref=4x]
6565    0x00400000, // #87 [ref=1x]
6566    0x00000100, // #88 [ref=26x]
6567    0x00400200, // #89 [ref=12x]
6568    0x08000300, // #90 [ref=1x]
6569    0x08200300, // #91 [ref=1x]
6570    0x00500100, // #92 [ref=1x]
6571    0x00600400, // #93 [ref=5x]
6572    0x00440100, // #94 [ref=3x]
6573    0x005C0100, // #95 [ref=1x]
6574    0x00600300, // #96 [ref=1x]
6575    0x00200400, // #97 [ref=4x]
6576    0x00100100, // #98 [ref=4x]
6577    0x001C0900, // #99 [ref=1x]
6578    0x00100900, // #100 [ref=1x]
6579    0x00780100, // #101 [ref=1x]
6580    0x10218100, // #102 [ref=25x]
6581    0x00019500, // #103 [ref=10x]
6582    0x00018100, // #104 [ref=19x]
6583    0x10606100, // #105 [ref=10x]
6584    0x00403500, // #106 [ref=13x]
6585    0x00404100, // #107 [ref=12x]
6586    0x00600100, // #108 [ref=4x]
6587    0x00218200, // #109 [ref=50x]
6588    0x00219300, // #110 [ref=17x]
6589    0x10219300, // #111 [ref=18x]
6590    0x10219200, // #112 [ref=38x]
6591    0x00219200, // #113 [ref=25x]
6592    0x20200200, // #114 [ref=2x]
6593    0x00207200, // #115 [ref=2x]
6594    0x00209200, // #116 [ref=2x]
6595    0x4020B200, // #117 [ref=2x]
6596    0x10209200, // #118 [ref=2x]
6597    0x5020B200, // #119 [ref=2x]
6598    0x10206200, // #120 [ref=2x]
6599    0x00204200, // #121 [ref=14x]
6600    0x00019300, // #122 [ref=5x]
6601    0x00403300, // #123 [ref=1x]
6602    0x10206100, // #124 [ref=5x]
6603    0x00003500, // #125 [ref=2x]
6604    0x00004100, // #126 [ref=2x]
6605    0x10207200, // #127 [ref=12x]
6606    0x00205200, // #128 [ref=12x]
6607    0x00416100, // #129 [ref=1x]
6608    0x00619200, // #130 [ref=2x]
6609    0x00418200, // #131 [ref=1x]
6610    0x10618100, // #132 [ref=1x]
6611    0x10219500, // #133 [ref=1x]
6612    0x10219100, // #134 [ref=10x]
6613    0x10019100, // #135 [ref=3x]
6614    0x00217500, // #136 [ref=1x]
6615    0x00015500, // #137 [ref=1x]
6616    0x00216200, // #138 [ref=7x]
6617    0x00217600, // #139 [ref=1x]
6618    0x00215500, // #140 [ref=4x]
6619    0x00017500, // #141 [ref=2x]
6620    0x00219500, // #142 [ref=3x]
6621    0x00218100, // #143 [ref=43x]
6622    0x00016100, // #144 [ref=1x]
6623    0x00216300, // #145 [ref=1x]
6624    0x00217100, // #146 [ref=4x]
6625    0x00019100, // #147 [ref=2x]
6626    0x10419100, // #148 [ref=3x]
6627    0x10019500, // #149 [ref=1x]
6628    0x10607500, // #150 [ref=1x]
6629    0x00606100, // #151 [ref=2x]
6630    0x00607100, // #152 [ref=2x]
6631    0x00003600, // #153 [ref=1x]
6632    0x00624100, // #154 [ref=1x]
6633    0x00425500, // #155 [ref=2x]
6634    0x00424100, // #156 [ref=1x]
6635    0x00005500, // #157 [ref=1x]
6636    0x00405100, // #158 [ref=2x]
6637    0x00417500, // #159 [ref=1x]
6638    0x00418100, // #160 [ref=4x]
6639    0x00417100, // #161 [ref=1x]
6640    0x00619500, // #162 [ref=2x]
6641    0x00619100, // #163 [ref=2x]
6642    0x10619500, // #164 [ref=1x]
6643    0x10619100, // #165 [ref=2x]
6644    0x00625100, // #166 [ref=1x]
6645    0x00425100, // #167 [ref=1x]
6646    0x00419500, // #168 [ref=1x]
6647    0x00419200, // #169 [ref=3x]
6648    0x20200300, // #170 [ref=6x]
6649    0x00209300, // #171 [ref=4x]
6650    0x4020B300, // #172 [ref=4x]
6651    0x10209300, // #173 [ref=4x]
6652    0x5020B300, // #174 [ref=4x]
6653    0x00204300, // #175 [ref=4x]
6654    0x00619600, // #176 [ref=2x]
6655    0x00605600, // #177 [ref=2x]
6656    0x10207300, // #178 [ref=6x]
6657    0x00205300, // #179 [ref=6x]
6658    0x18218200, // #180 [ref=22x]
6659    0x00219600, // #181 [ref=22x]
6660    0x18206200, // #182 [ref=12x]
6661    0x00203600, // #183 [ref=16x]
6662    0x00419600, // #184 [ref=2x]
6663    0x00405600, // #185 [ref=2x]
6664    0x00003300, // #186 [ref=4x]
6665    0x08200200, // #187 [ref=5x]
6666    0x18218300, // #188 [ref=2x]
6667    0x00080100, // #189 [ref=1x]
6668    0x00204100, // #190 [ref=1x]
6669    0x10636100, // #191 [ref=1x]
6670    0x00219100, // #192 [ref=6x]
6671    0x00400100, // #193 [ref=3x]
6672    0x00419100, // #194 [ref=1x]
6673    0x00006100, // #195 [ref=2x]
6674    0x00203500, // #196 [ref=1x]
6675    0x10619200, // #197 [ref=1x]
6676    0x00218300, // #198 [ref=2x]
6677    0x10401200, // #199 [ref=5x]
6678    0x00401200, // #200 [ref=5x]
6679    0x00202200, // #201 [ref=1x]
6680    0x00000800, // #202 [ref=22x]
6681    0x10218200, // #203 [ref=4x]
6682    0x00201200, // #204 [ref=2x]
6683    0x10203200, // #205 [ref=2x]
6684    0x18219200, // #206 [ref=1x]
6685    0x18206300, // #207 [ref=2x]
6686    0x00202300, // #208 [ref=1x]
6687    0x00202100, // #209 [ref=1x]
6688    0x00415200, // #210 [ref=6x]
6689    0x00417200, // #211 [ref=9x]
6690    0x00413200, // #212 [ref=3x]
6691    0x00214200, // #213 [ref=4x]
6692    0x00212200, // #214 [ref=2x]
6693    0x00259100, // #215 [ref=1x]
6694    0x10259100, // #216 [ref=1x]
6695    0x00618100, // #217 [ref=1x]
6696    0x00208100, // #218 [ref=6x]
6697    0x003D8100, // #219 [ref=1x]
6698    0x10208100, // #220 [ref=2x]
6699    0x10209100, // #221 [ref=1x]
6700    0x002D8100, // #222 [ref=1x]
6701    0x10419200, // #223 [ref=2x]
6702    0x20600200, // #224 [ref=3x]
6703    0x000C0100, // #225 [ref=1x]
6704    0x00480100, // #226 [ref=1x]
6705    0x004C0100, // #227 [ref=1x]
6706    0x08000200, // #228 [ref=1x]
6707    0x08200200, // #229 [ref=1x]
6708    0x08140100, // #230 [ref=2x]
6709    0x080C0100, // #231 [ref=1x]
6710    0x08100100, // #232 [ref=2x]
6711    0x08180100, // #233 [ref=1x]
6712];
6713
6714pub static ALT_OPCODE_TABLE: &[u32] = &[
6715    0x00000000, // #0 [ref=1512x]
6716    0x0020011B, // #1 [ref=1x]
6717    0x001001BA, // #2 [ref=1x]
6718    0x001C01BA, // #3 [ref=1x]
6719    0x001801BA, // #4 [ref=1x]
6720    0x001401BA, // #5 [ref=1x]
6721    0x00000048, // #6 [ref=1x]
6722    0x00200178, // #7 [ref=1x]
6723    0x001400DF, // #8 [ref=1x]
6724    0x001C00DF, // #9 [ref=1x]
6725    0x000400DD, // #10 [ref=1x]
6726    0x001400DB, // #11 [ref=1x]
6727    0x00037CE0, // #12 [ref=1x]
6728    0x001C00DB, // #13 [ref=1x]
6729    0x00E37CE0, // #14 [ref=1x]
6730    0x000000E4, // #15 [ref=1x]
6731    0x00000040, // #16 [ref=1x]
6732    0x00600178, // #17 [ref=1x]
6733    0x00000072, // #18 [ref=1x]
6734    0x00000076, // #19 [ref=1x]
6735    0x000000E3, // #20 [ref=1x]
6736    0x0000007C, // #21 [ref=1x]
6737    0x0000007E, // #22 [ref=1x]
6738    0x000000EB, // #23 [ref=1x]
6739    0x00000073, // #24 [ref=1x]
6740    0x00000077, // #25 [ref=1x]
6741    0x0000007D, // #26 [ref=1x]
6742    0x0000007F, // #27 [ref=1x]
6743    0x00000071, // #28 [ref=1x]
6744    0x0000007B, // #29 [ref=1x]
6745    0x00000079, // #30 [ref=1x]
6746    0x00000075, // #31 [ref=1x]
6747    0x00000070, // #32 [ref=1x]
6748    0x0000007A, // #33 [ref=1x]
6749    0x00000078, // #34 [ref=1x]
6750    0x00000074, // #35 [ref=1x]
6751    0x00200192, // #36 [ref=1x]
6752    0x00600192, // #37 [ref=1x]
6753    0x08600192, // #38 [ref=1x]
6754    0x00000192, // #39 [ref=1x]
6755    0x0000009A, // #40 [ref=1x]
6756    0x000000EA, // #41 [ref=1x]
6757    0x000000E2, // #42 [ref=1x]
6758    0x000000E1, // #43 [ref=1x]
6759    0x000000E0, // #44 [ref=1x]
6760    0x00200129, // #45 [ref=1x]
6761    0x00000129, // #46 [ref=1x]
6762    0x000002F1, // #47 [ref=1x]
6763    0x0000017E, // #48 [ref=2x]
6764    0x0020017F, // #49 [ref=1x]
6765    0x0040017F, // #50 [ref=1x]
6766    0x00200117, // #51 [ref=1x]
6767    0x00000117, // #52 [ref=1x]
6768    0x00200113, // #53 [ref=1x]
6769    0x00000113, // #54 [ref=1x]
6770    0x002001E7, // #55 [ref=1x]
6771    0x0020012B, // #56 [ref=1x]
6772    0x0000012B, // #57 [ref=1x]
6773    0x000001E7, // #58 [ref=1x]
6774    0x0060012B, // #59 [ref=1x]
6775    0x0040012B, // #60 [ref=1x]
6776    0x00600111, // #61 [ref=1x]
6777    0x00400111, // #62 [ref=1x]
6778    0x00200111, // #63 [ref=1x]
6779    0x00000111, // #64 [ref=1x]
6780    0x000000E6, // #65 [ref=1x]
6781    0x00000315, // #66 [ref=1x]
6782    0x00000058, // #67 [ref=1x]
6783    0x00180172, // #68 [ref=1x]
6784    0x003C0173, // #69 [ref=1x]
6785    0x00180173, // #70 [ref=1x]
6786    0x00180171, // #71 [ref=1x]
6787    0x00100172, // #72 [ref=1x]
6788    0x00100171, // #73 [ref=1x]
6789    0x00080172, // #74 [ref=1x]
6790    0x002C0173, // #75 [ref=1x]
6791    0x00080173, // #76 [ref=1x]
6792    0x00080171, // #77 [ref=1x]
6793    0x00000050, // #78 [ref=2x]
6794    0x000000F6, // #79 [ref=1x]
6795    0x10207292, // #80 [ref=1x]
6796    0x00205292, // #81 [ref=1x]
6797    0x10207293, // #82 [ref=1x]
6798    0x00205293, // #83 [ref=1x]
6799    0x0020022F, // #84 [ref=1x]
6800    0x0020022E, // #85 [ref=1x]
6801    0x10218129, // #86 [ref=1x]
6802    0x00018129, // #87 [ref=1x]
6803    0x0020417E, // #88 [ref=1x]
6804    0x0020017F, // #89 [ref=1x]
6805    0x0021917F, // #90 [ref=1x]
6806    0x1021917F, // #91 [ref=1x]
6807    0x0040017F, // #92 [ref=1x]
6808    0x1061917F, // #93 [ref=1x]
6809    0x0041917F, // #94 [ref=1x]
6810    0x1041917F, // #95 [ref=1x]
6811    0x0061917F, // #96 [ref=1x]
6812    0x10206117, // #97 [ref=1x]
6813    0x00006117, // #98 [ref=1x]
6814    0x10206113, // #99 [ref=1x]
6815    0x00006113, // #100 [ref=1x]
6816    0x1020617E, // #101 [ref=1x]
6817    0x10606111, // #102 [ref=1x]
6818    0x00403511, // #103 [ref=1x]
6819    0x00404111, // #104 [ref=1x]
6820    0x10218111, // #105 [ref=1x]
6821    0x00018111, // #106 [ref=1x]
6822    0x0020357E, // #107 [ref=1x]
6823    0x0020127A, // #108 [ref=1x]
6824    0x0020127C, // #109 [ref=1x]
6825    0x1020127C, // #110 [ref=1x]
6826    0x0020127B, // #111 [ref=1x]
6827    0x10218305, // #112 [ref=1x]
6828    0x00218304, // #113 [ref=1x]
6829    0x18218301, // #114 [ref=1x]
6830    0x18218300, // #115 [ref=1x]
6831    0x00205290, // #116 [ref=1x]
6832    0x10207290, // #117 [ref=1x]
6833    0x00205291, // #118 [ref=1x]
6834    0x10207291, // #119 [ref=1x]
6835    0x0020028E, // #120 [ref=1x]
6836    0x0820028E, // #121 [ref=1x]
6837    0x000008C0, // #122 [ref=1x]
6838    0x000008C2, // #123 [ref=1x]
6839    0x000008C3, // #124 [ref=1x]
6840    0x000008C1, // #125 [ref=1x]
6841    0x00398172, // #126 [ref=1x]
6842    0x10398173, // #127 [ref=1x]
6843    0x00398171, // #128 [ref=1x]
6844    0x00318172, // #129 [ref=1x]
6845    0x10319172, // #130 [ref=1x]
6846    0x00318171, // #131 [ref=1x]
6847    0x00298172, // #132 [ref=1x]
6848    0x10298173, // #133 [ref=1x]
6849    0x00298171, // #134 [ref=1x]
6850];
6851
6852/// Aggregated instruction information, indexed by [`InstInfo::common_info_index`].
6853pub static INST_COMMON_INFO_TABLE: &[CommonInfo] = &[
6854    CommonInfo::new(0, 0, 0, 0, InstControlFlow::Regular, InstSameRegHint::None), // #0 [ref=1x]
6855    CommonInfo::new(
6856        0,
6857        0,
6858        487,
6859        1,
6860        InstControlFlow::Regular,
6861        InstSameRegHint::None,
6862    ), // #1 [ref=4x]
6863    CommonInfo::new(
6864        0,
6865        0,
6866        488,
6867        1,
6868        InstControlFlow::Regular,
6869        InstSameRegHint::None,
6870    ), // #2 [ref=2x]
6871    CommonInfo::new(
6872        0,
6873        0,
6874        143,
6875        2,
6876        InstControlFlow::Regular,
6877        InstSameRegHint::None,
6878    ), // #3 [ref=6x]
6879    CommonInfo::new(
6880        InstFlags::LOCK.bits() | InstFlags::X_ACQUIRE.bits() | InstFlags::X_RELEASE.bits(),
6881        0,
6882        20,
6883        13,
6884        InstControlFlow::Regular,
6885        InstSameRegHint::None,
6886    ), // #4 [ref=2x]
6887    CommonInfo::new(0, 0, 77, 2, InstControlFlow::Regular, InstSameRegHint::None), // #5 [ref=2x]
6888    CommonInfo::new(
6889        InstFlags::VEC.bits(),
6890        0,
6891        99,
6892        1,
6893        InstControlFlow::Regular,
6894        InstSameRegHint::None,
6895    ), // #6 [ref=54x]
6896    CommonInfo::new(
6897        InstFlags::VEC.bits(),
6898        0,
6899        172,
6900        1,
6901        InstControlFlow::Regular,
6902        InstSameRegHint::None,
6903    ), // #7 [ref=19x]
6904    CommonInfo::new(
6905        InstFlags::VEC.bits(),
6906        0,
6907        313,
6908        1,
6909        InstControlFlow::Regular,
6910        InstSameRegHint::None,
6911    ), // #8 [ref=16x]
6912    CommonInfo::new(
6913        InstFlags::VEC.bits(),
6914        0,
6915        322,
6916        1,
6917        InstControlFlow::Regular,
6918        InstSameRegHint::None,
6919    ), // #9 [ref=20x]
6920    CommonInfo::new(
6921        InstFlags::LOCK.bits() | InstFlags::X_ACQUIRE.bits() | InstFlags::X_RELEASE.bits(),
6922        0,
6923        33,
6924        13,
6925        InstControlFlow::Regular,
6926        InstSameRegHint::RO,
6927    ), // #10 [ref=1x]
6928    CommonInfo::new(
6929        InstFlags::VEX.bits(),
6930        0,
6931        355,
6932        2,
6933        InstControlFlow::Regular,
6934        InstSameRegHint::None,
6935    ), // #11 [ref=3x]
6936    CommonInfo::new(
6937        InstFlags::VEC.bits(),
6938        0,
6939        99,
6940        1,
6941        InstControlFlow::Regular,
6942        InstSameRegHint::RO,
6943    ), // #12 [ref=12x]
6944    CommonInfo::new(
6945        0,
6946        0,
6947        489,
6948        1,
6949        InstControlFlow::Regular,
6950        InstSameRegHint::None,
6951    ), // #13 [ref=1x]
6952    CommonInfo::new(
6953        InstFlags::VEX.bits(),
6954        0,
6955        357,
6956        2,
6957        InstControlFlow::Regular,
6958        InstSameRegHint::None,
6959    ), // #14 [ref=5x]
6960    CommonInfo::new(
6961        InstFlags::VEX.bits(),
6962        0,
6963        77,
6964        2,
6965        InstControlFlow::Regular,
6966        InstSameRegHint::None,
6967    ), // #15 [ref=12x]
6968    CommonInfo::new(
6969        InstFlags::VEC.bits(),
6970        0,
6971        490,
6972        1,
6973        InstControlFlow::Regular,
6974        InstSameRegHint::None,
6975    ), // #16 [ref=4x]
6976    CommonInfo::new(
6977        0,
6978        0,
6979        359,
6980        2,
6981        InstControlFlow::Regular,
6982        InstSameRegHint::None,
6983    ), // #17 [ref=3x]
6984    CommonInfo::new(
6985        InstFlags::MIB.bits(),
6986        0,
6987        491,
6988        1,
6989        InstControlFlow::Regular,
6990        InstSameRegHint::None,
6991    ), // #18 [ref=1x]
6992    CommonInfo::new(
6993        0,
6994        0,
6995        492,
6996        1,
6997        InstControlFlow::Regular,
6998        InstSameRegHint::None,
6999    ), // #19 [ref=1x]
7000    CommonInfo::new(
7001        0,
7002        0,
7003        361,
7004        2,
7005        InstControlFlow::Regular,
7006        InstSameRegHint::None,
7007    ), // #20 [ref=1x]
7008    CommonInfo::new(
7009        InstFlags::MIB.bits(),
7010        0,
7011        493,
7012        1,
7013        InstControlFlow::Regular,
7014        InstSameRegHint::None,
7015    ), // #21 [ref=1x]
7016    CommonInfo::new(
7017        0,
7018        0,
7019        363,
7020        2,
7021        InstControlFlow::Regular,
7022        InstSameRegHint::None,
7023    ), // #22 [ref=1x]
7024    CommonInfo::new(0, 0, 76, 3, InstControlFlow::Regular, InstSameRegHint::None), // #23 [ref=21x]
7025    CommonInfo::new(
7026        0,
7027        0,
7028        365,
7029        2,
7030        InstControlFlow::Regular,
7031        InstSameRegHint::None,
7032    ), // #24 [ref=3x]
7033    CommonInfo::new(
7034        0,
7035        0,
7036        163,
7037        5,
7038        InstControlFlow::Regular,
7039        InstSameRegHint::None,
7040    ), // #25 [ref=1x]
7041    CommonInfo::new(
7042        InstFlags::LOCK.bits() | InstFlags::X_ACQUIRE.bits() | InstFlags::X_RELEASE.bits(),
7043        0,
7044        163,
7045        5,
7046        InstControlFlow::Regular,
7047        InstSameRegHint::None,
7048    ), // #26 [ref=3x]
7049    CommonInfo::new(
7050        InstFlags::REP.bits() | InstFlags::REP_IGNORED.bits(),
7051        0,
7052        268,
7053        3,
7054        InstControlFlow::Call,
7055        InstSameRegHint::None,
7056    ), // #27 [ref=1x]
7057    CommonInfo::new(
7058        0,
7059        0,
7060        494,
7061        1,
7062        InstControlFlow::Regular,
7063        InstSameRegHint::None,
7064    ), // #28 [ref=1x]
7065    CommonInfo::new(
7066        0,
7067        0,
7068        495,
7069        1,
7070        InstControlFlow::Regular,
7071        InstSameRegHint::None,
7072    ), // #29 [ref=2x]
7073    CommonInfo::new(
7074        0,
7075        0,
7076        468,
7077        1,
7078        InstControlFlow::Regular,
7079        InstSameRegHint::None,
7080    ), // #30 [ref=1x]
7081    CommonInfo::new(
7082        0,
7083        0,
7084        145,
7085        1,
7086        InstControlFlow::Regular,
7087        InstSameRegHint::None,
7088    ), // #31 [ref=88x]
7089    CommonInfo::new(
7090        0,
7091        0,
7092        496,
7093        1,
7094        InstControlFlow::Regular,
7095        InstSameRegHint::None,
7096    ), // #32 [ref=24x]
7097    CommonInfo::new(
7098        0,
7099        0,
7100        497,
7101        1,
7102        InstControlFlow::Regular,
7103        InstSameRegHint::None,
7104    ), // #33 [ref=6x]
7105    CommonInfo::new(
7106        0,
7107        0,
7108        498,
7109        1,
7110        InstControlFlow::Regular,
7111        InstSameRegHint::None,
7112    ), // #34 [ref=14x]
7113    CommonInfo::new(
7114        0,
7115        0,
7116        499,
7117        1,
7118        InstControlFlow::Regular,
7119        InstSameRegHint::None,
7120    ), // #35 [ref=1x]
7121    CommonInfo::new(
7122        0,
7123        0,
7124        46,
7125        13,
7126        InstControlFlow::Regular,
7127        InstSameRegHint::None,
7128    ), // #36 [ref=1x]
7129    CommonInfo::new(
7130        InstFlags::VEX.bits(),
7131        0,
7132        367,
7133        2,
7134        InstControlFlow::Regular,
7135        InstSameRegHint::None,
7136    ), // #37 [ref=16x]
7137    CommonInfo::new(
7138        InstFlags::REP.bits(),
7139        0,
7140        208,
7141        4,
7142        InstControlFlow::Regular,
7143        InstSameRegHint::None,
7144    ), // #38 [ref=1x]
7145    CommonInfo::new(
7146        InstFlags::VEC.bits(),
7147        0,
7148        500,
7149        1,
7150        InstControlFlow::Regular,
7151        InstSameRegHint::None,
7152    ), // #39 [ref=2x]
7153    CommonInfo::new(
7154        InstFlags::VEC.bits(),
7155        0,
7156        501,
7157        1,
7158        InstControlFlow::Regular,
7159        InstSameRegHint::None,
7160    ), // #40 [ref=3x]
7161    CommonInfo::new(
7162        InstFlags::LOCK.bits() | InstFlags::X_ACQUIRE.bits() | InstFlags::X_RELEASE.bits(),
7163        0,
7164        212,
7165        4,
7166        InstControlFlow::Regular,
7167        InstSameRegHint::None,
7168    ), // #41 [ref=1x]
7169    CommonInfo::new(
7170        InstFlags::LOCK.bits() | InstFlags::X_ACQUIRE.bits() | InstFlags::X_RELEASE.bits(),
7171        0,
7172        502,
7173        1,
7174        InstControlFlow::Regular,
7175        InstSameRegHint::None,
7176    ), // #42 [ref=1x]
7177    CommonInfo::new(
7178        InstFlags::LOCK.bits() | InstFlags::X_ACQUIRE.bits() | InstFlags::X_RELEASE.bits(),
7179        0,
7180        503,
7181        1,
7182        InstControlFlow::Regular,
7183        InstSameRegHint::None,
7184    ), // #43 [ref=1x]
7185    CommonInfo::new(
7186        0,
7187        0,
7188        504,
7189        1,
7190        InstControlFlow::Regular,
7191        InstSameRegHint::None,
7192    ), // #44 [ref=1x]
7193    CommonInfo::new(
7194        0,
7195        0,
7196        505,
7197        1,
7198        InstControlFlow::Regular,
7199        InstSameRegHint::None,
7200    ), // #45 [ref=1x]
7201    CommonInfo::new(
7202        0,
7203        0,
7204        369,
7205        2,
7206        InstControlFlow::Regular,
7207        InstSameRegHint::None,
7208    ), // #46 [ref=1x]
7209    CommonInfo::new(
7210        InstFlags::MMX.bits() | InstFlags::VEC.bits(),
7211        0,
7212        506,
7213        1,
7214        InstControlFlow::Regular,
7215        InstSameRegHint::None,
7216    ), // #47 [ref=2x]
7217    CommonInfo::new(
7218        InstFlags::MMX.bits() | InstFlags::VEC.bits(),
7219        0,
7220        507,
7221        1,
7222        InstControlFlow::Regular,
7223        InstSameRegHint::None,
7224    ), // #48 [ref=2x]
7225    CommonInfo::new(
7226        InstFlags::MMX.bits() | InstFlags::VEC.bits(),
7227        0,
7228        508,
7229        1,
7230        InstControlFlow::Regular,
7231        InstSameRegHint::None,
7232    ), // #49 [ref=2x]
7233    CommonInfo::new(
7234        InstFlags::VEC.bits(),
7235        0,
7236        371,
7237        2,
7238        InstControlFlow::Regular,
7239        InstSameRegHint::None,
7240    ), // #50 [ref=2x]
7241    CommonInfo::new(
7242        InstFlags::VEC.bits(),
7243        0,
7244        373,
7245        2,
7246        InstControlFlow::Regular,
7247        InstSameRegHint::None,
7248    ), // #51 [ref=2x]
7249    CommonInfo::new(
7250        InstFlags::VEC.bits(),
7251        0,
7252        375,
7253        2,
7254        InstControlFlow::Regular,
7255        InstSameRegHint::None,
7256    ), // #52 [ref=2x]
7257    CommonInfo::new(
7258        0,
7259        0,
7260        509,
7261        1,
7262        InstControlFlow::Regular,
7263        InstSameRegHint::None,
7264    ), // #53 [ref=1x]
7265    CommonInfo::new(
7266        0,
7267        0,
7268        510,
7269        1,
7270        InstControlFlow::Regular,
7271        InstSameRegHint::None,
7272    ), // #54 [ref=2x]
7273    CommonInfo::new(
7274        InstFlags::LOCK.bits() | InstFlags::X_ACQUIRE.bits() | InstFlags::X_RELEASE.bits(),
7275        0,
7276        271,
7277        3,
7278        InstControlFlow::Regular,
7279        InstSameRegHint::None,
7280    ), // #55 [ref=1x]
7281    CommonInfo::new(0, 0, 72, 4, InstControlFlow::Regular, InstSameRegHint::None), // #56 [ref=3x]
7282    CommonInfo::new(
7283        InstFlags::MMX.bits(),
7284        0,
7285        145,
7286        1,
7287        InstControlFlow::Regular,
7288        InstSameRegHint::None,
7289    ), // #57 [ref=1x]
7290    CommonInfo::new(
7291        0,
7292        0,
7293        377,
7294        2,
7295        InstControlFlow::Regular,
7296        InstSameRegHint::None,
7297    ), // #58 [ref=2x]
7298    CommonInfo::new(
7299        0,
7300        0,
7301        511,
7302        1,
7303        InstControlFlow::Regular,
7304        InstSameRegHint::None,
7305    ), // #59 [ref=1x]
7306    CommonInfo::new(
7307        InstFlags::VEC.bits(),
7308        0,
7309        512,
7310        1,
7311        InstControlFlow::Regular,
7312        InstSameRegHint::None,
7313    ), // #60 [ref=2x]
7314    CommonInfo::new(
7315        InstFlags::VEC.bits(),
7316        0,
7317        379,
7318        2,
7319        InstControlFlow::Regular,
7320        InstSameRegHint::None,
7321    ), // #61 [ref=1x]
7322    CommonInfo::new(
7323        InstFlags::FPU_M32.bits() | InstFlags::FPU_M64.bits(),
7324        0,
7325        274,
7326        3,
7327        InstControlFlow::Regular,
7328        InstSameRegHint::None,
7329    ), // #62 [ref=6x]
7330    CommonInfo::new(
7331        0,
7332        0,
7333        381,
7334        2,
7335        InstControlFlow::Regular,
7336        InstSameRegHint::None,
7337    ), // #63 [ref=9x]
7338    CommonInfo::new(
7339        InstFlags::FPU_M80.bits(),
7340        0,
7341        513,
7342        1,
7343        InstControlFlow::Regular,
7344        InstSameRegHint::None,
7345    ), // #64 [ref=2x]
7346    CommonInfo::new(
7347        0,
7348        0,
7349        382,
7350        1,
7351        InstControlFlow::Regular,
7352        InstSameRegHint::None,
7353    ), // #65 [ref=13x]
7354    CommonInfo::new(
7355        InstFlags::FPU_M32.bits() | InstFlags::FPU_M64.bits(),
7356        0,
7357        383,
7358        2,
7359        InstControlFlow::Regular,
7360        InstSameRegHint::None,
7361    ), // #66 [ref=2x]
7362    CommonInfo::new(
7363        InstFlags::FPU_M16.bits() | InstFlags::FPU_M32.bits(),
7364        0,
7365        514,
7366        1,
7367        InstControlFlow::Regular,
7368        InstSameRegHint::None,
7369    ), // #67 [ref=9x]
7370    CommonInfo::new(
7371        InstFlags::FPU_M16.bits() | InstFlags::FPU_M32.bits() | InstFlags::FPU_M64.bits(),
7372        0,
7373        515,
7374        1,
7375        InstControlFlow::Regular,
7376        InstSameRegHint::None,
7377    ), // #68 [ref=3x]
7378    CommonInfo::new(
7379        InstFlags::FPU_M32.bits() | InstFlags::FPU_M64.bits() | InstFlags::FPU_M80.bits(),
7380        0,
7381        516,
7382        1,
7383        InstControlFlow::Regular,
7384        InstSameRegHint::None,
7385    ), // #69 [ref=2x]
7386    CommonInfo::new(
7387        InstFlags::FPU_M16.bits(),
7388        0,
7389        517,
7390        1,
7391        InstControlFlow::Regular,
7392        InstSameRegHint::None,
7393    ), // #70 [ref=3x]
7394    CommonInfo::new(
7395        InstFlags::FPU_M16.bits(),
7396        0,
7397        518,
7398        1,
7399        InstControlFlow::Regular,
7400        InstSameRegHint::None,
7401    ), // #71 [ref=2x]
7402    CommonInfo::new(
7403        InstFlags::FPU_M32.bits() | InstFlags::FPU_M64.bits(),
7404        0,
7405        384,
7406        1,
7407        InstControlFlow::Regular,
7408        InstSameRegHint::None,
7409    ), // #72 [ref=1x]
7410    CommonInfo::new(
7411        0,
7412        0,
7413        519,
7414        1,
7415        InstControlFlow::Regular,
7416        InstSameRegHint::None,
7417    ), // #73 [ref=4x]
7418    CommonInfo::new(
7419        0,
7420        0,
7421        520,
7422        1,
7423        InstControlFlow::Regular,
7424        InstSameRegHint::None,
7425    ), // #74 [ref=1x]
7426    CommonInfo::new(
7427        0,
7428        0,
7429        521,
7430        1,
7431        InstControlFlow::Regular,
7432        InstSameRegHint::None,
7433    ), // #75 [ref=1x]
7434    CommonInfo::new(
7435        0,
7436        0,
7437        72,
7438        10,
7439        InstControlFlow::Regular,
7440        InstSameRegHint::None,
7441    ), // #76 [ref=1x]
7442    CommonInfo::new(
7443        0,
7444        0,
7445        522,
7446        1,
7447        InstControlFlow::Regular,
7448        InstSameRegHint::None,
7449    ), // #77 [ref=1x]
7450    CommonInfo::new(
7451        InstFlags::LOCK.bits(),
7452        0,
7453        271,
7454        3,
7455        InstControlFlow::Regular,
7456        InstSameRegHint::None,
7457    ), // #78 [ref=1x]
7458    CommonInfo::new(
7459        0,
7460        0,
7461        407,
7462        1,
7463        InstControlFlow::Regular,
7464        InstSameRegHint::None,
7465    ), // #79 [ref=2x]
7466    CommonInfo::new(
7467        0,
7468        0,
7469        366,
7470        1,
7471        InstControlFlow::Regular,
7472        InstSameRegHint::None,
7473    ), // #80 [ref=3x]
7474    CommonInfo::new(
7475        InstFlags::REP.bits(),
7476        0,
7477        523,
7478        1,
7479        InstControlFlow::Regular,
7480        InstSameRegHint::None,
7481    ), // #81 [ref=1x]
7482    CommonInfo::new(
7483        InstFlags::VEC.bits(),
7484        0,
7485        385,
7486        2,
7487        InstControlFlow::Regular,
7488        InstSameRegHint::None,
7489    ), // #82 [ref=1x]
7490    CommonInfo::new(
7491        0,
7492        0,
7493        524,
7494        1,
7495        InstControlFlow::Regular,
7496        InstSameRegHint::None,
7497    ), // #83 [ref=2x]
7498    CommonInfo::new(
7499        0,
7500        0,
7501        525,
7502        1,
7503        InstControlFlow::Regular,
7504        InstSameRegHint::None,
7505    ), // #84 [ref=8x]
7506    CommonInfo::new(
7507        0,
7508        0,
7509        387,
7510        2,
7511        InstControlFlow::Regular,
7512        InstSameRegHint::None,
7513    ), // #85 [ref=3x]
7514    CommonInfo::new(
7515        0,
7516        0,
7517        389,
7518        2,
7519        InstControlFlow::Regular,
7520        InstSameRegHint::None,
7521    ), // #86 [ref=1x]
7522    CommonInfo::new(
7523        0,
7524        0,
7525        391,
7526        2,
7527        InstControlFlow::Regular,
7528        InstSameRegHint::None,
7529    ), // #87 [ref=1x]
7530    CommonInfo::new(0, 0, 145, 1, InstControlFlow::Return, InstSameRegHint::None), // #88 [ref=2x]
7531    CommonInfo::new(0, 0, 498, 1, InstControlFlow::Return, InstSameRegHint::None), // #89 [ref=1x]
7532    CommonInfo::new(
7533        InstFlags::REP.bits(),
7534        0,
7535        393,
7536        2,
7537        InstControlFlow::Branch,
7538        InstSameRegHint::None,
7539    ), // #90 [ref=16x]
7540    CommonInfo::new(
7541        InstFlags::REP.bits(),
7542        0,
7543        395,
7544        2,
7545        InstControlFlow::Branch,
7546        InstSameRegHint::None,
7547    ), // #91 [ref=1x]
7548    CommonInfo::new(
7549        InstFlags::REP.bits(),
7550        0,
7551        277,
7552        3,
7553        InstControlFlow::Jump,
7554        InstSameRegHint::None,
7555    ), // #92 [ref=1x]
7556    CommonInfo::new(
7557        InstFlags::VEX.bits(),
7558        0,
7559        526,
7560        1,
7561        InstControlFlow::Regular,
7562        InstSameRegHint::None,
7563    ), // #93 [ref=19x]
7564    CommonInfo::new(
7565        InstFlags::VEX.bits(),
7566        0,
7567        397,
7568        2,
7569        InstControlFlow::Regular,
7570        InstSameRegHint::None,
7571    ), // #94 [ref=1x]
7572    CommonInfo::new(
7573        InstFlags::VEX.bits(),
7574        0,
7575        399,
7576        2,
7577        InstControlFlow::Regular,
7578        InstSameRegHint::None,
7579    ), // #95 [ref=1x]
7580    CommonInfo::new(
7581        InstFlags::VEX.bits(),
7582        0,
7583        216,
7584        4,
7585        InstControlFlow::Regular,
7586        InstSameRegHint::None,
7587    ), // #96 [ref=1x]
7588    CommonInfo::new(
7589        InstFlags::VEX.bits(),
7590        0,
7591        401,
7592        2,
7593        InstControlFlow::Regular,
7594        InstSameRegHint::None,
7595    ), // #97 [ref=1x]
7596    CommonInfo::new(
7597        InstFlags::VEX.bits(),
7598        0,
7599        527,
7600        1,
7601        InstControlFlow::Regular,
7602        InstSameRegHint::None,
7603    ), // #98 [ref=12x]
7604    CommonInfo::new(
7605        InstFlags::VEX.bits(),
7606        0,
7607        528,
7608        1,
7609        InstControlFlow::Regular,
7610        InstSameRegHint::None,
7611    ), // #99 [ref=8x]
7612    CommonInfo::new(
7613        InstFlags::VEX.bits(),
7614        0,
7615        526,
7616        1,
7617        InstControlFlow::Regular,
7618        InstSameRegHint::WO,
7619    ), // #100 [ref=8x]
7620    CommonInfo::new(
7621        0,
7622        0,
7623        529,
7624        1,
7625        InstControlFlow::Regular,
7626        InstSameRegHint::None,
7627    ), // #101 [ref=2x]
7628    CommonInfo::new(
7629        0,
7630        0,
7631        286,
7632        2,
7633        InstControlFlow::Regular,
7634        InstSameRegHint::None,
7635    ), // #102 [ref=1x]
7636    CommonInfo::new(0, 0, 280, 3, InstControlFlow::Call, InstSameRegHint::None),  // #103 [ref=1x]
7637    CommonInfo::new(
7638        InstFlags::VEC.bits(),
7639        0,
7640        198,
7641        1,
7642        InstControlFlow::Regular,
7643        InstSameRegHint::None,
7644    ), // #104 [ref=2x]
7645    CommonInfo::new(
7646        0,
7647        0,
7648        530,
7649        1,
7650        InstControlFlow::Regular,
7651        InstSameRegHint::None,
7652    ), // #105 [ref=2x]
7653    CommonInfo::new(
7654        0,
7655        0,
7656        403,
7657        2,
7658        InstControlFlow::Regular,
7659        InstSameRegHint::None,
7660    ), // #106 [ref=2x]
7661    CommonInfo::new(
7662        InstFlags::VEX.bits(),
7663        0,
7664        531,
7665        1,
7666        InstControlFlow::Regular,
7667        InstSameRegHint::None,
7668    ), // #107 [ref=2x]
7669    CommonInfo::new(
7670        0,
7671        0,
7672        405,
7673        2,
7674        InstControlFlow::Regular,
7675        InstSameRegHint::None,
7676    ), // #108 [ref=1x]
7677    CommonInfo::new(
7678        0,
7679        0,
7680        283,
7681        3,
7682        InstControlFlow::Regular,
7683        InstSameRegHint::None,
7684    ), // #109 [ref=3x]
7685    CommonInfo::new(0, 0, 280, 3, InstControlFlow::Jump, InstSameRegHint::None),  // #110 [ref=1x]
7686    CommonInfo::new(
7687        0,
7688        0,
7689        532,
7690        1,
7691        InstControlFlow::Regular,
7692        InstSameRegHint::None,
7693    ), // #111 [ref=5x]
7694    CommonInfo::new(
7695        InstFlags::VEX.bits(),
7696        0,
7697        407,
7698        2,
7699        InstControlFlow::Regular,
7700        InstSameRegHint::None,
7701    ), // #112 [ref=2x]
7702    CommonInfo::new(
7703        InstFlags::REP.bits(),
7704        0,
7705        220,
7706        4,
7707        InstControlFlow::Regular,
7708        InstSameRegHint::None,
7709    ), // #113 [ref=1x]
7710    CommonInfo::new(0, 0, 395, 2, InstControlFlow::Branch, InstSameRegHint::None), // #114 [ref=3x]
7711    CommonInfo::new(
7712        0,
7713        0,
7714        286,
7715        3,
7716        InstControlFlow::Regular,
7717        InstSameRegHint::None,
7718    ), // #115 [ref=1x]
7719    CommonInfo::new(
7720        InstFlags::VEX.bits(),
7721        0,
7722        409,
7723        2,
7724        InstControlFlow::Regular,
7725        InstSameRegHint::None,
7726    ), // #116 [ref=2x]
7727    CommonInfo::new(
7728        InstFlags::VEC.bits(),
7729        0,
7730        533,
7731        1,
7732        InstControlFlow::Regular,
7733        InstSameRegHint::None,
7734    ), // #117 [ref=1x]
7735    CommonInfo::new(
7736        InstFlags::MMX.bits(),
7737        0,
7738        534,
7739        1,
7740        InstControlFlow::Regular,
7741        InstSameRegHint::None,
7742    ), // #118 [ref=1x]
7743    CommonInfo::new(
7744        0,
7745        0,
7746        535,
7747        1,
7748        InstControlFlow::Regular,
7749        InstSameRegHint::None,
7750    ), // #119 [ref=2x]
7751    CommonInfo::new(
7752        InstFlags::X_RELEASE.bits(),
7753        0,
7754        0,
7755        20,
7756        InstControlFlow::Regular,
7757        InstSameRegHint::None,
7758    ), // #120 [ref=1x]
7759    CommonInfo::new(0, 0, 82, 9, InstControlFlow::Regular, InstSameRegHint::None), // #121 [ref=1x]
7760    CommonInfo::new(
7761        InstFlags::VEC.bits(),
7762        0,
7763        411,
7764        2,
7765        InstControlFlow::Regular,
7766        InstSameRegHint::None,
7767    ), // #122 [ref=6x]
7768    CommonInfo::new(
7769        0,
7770        0,
7771        139,
7772        6,
7773        InstControlFlow::Regular,
7774        InstSameRegHint::None,
7775    ), // #123 [ref=1x]
7776    CommonInfo::new(
7777        InstFlags::MMX.bits() | InstFlags::VEC.bits(),
7778        0,
7779        413,
7780        2,
7781        InstControlFlow::Regular,
7782        InstSameRegHint::None,
7783    ), // #124 [ref=1x]
7784    CommonInfo::new(
7785        0,
7786        0,
7787        415,
7788        2,
7789        InstControlFlow::Regular,
7790        InstSameRegHint::None,
7791    ), // #125 [ref=1x]
7792    CommonInfo::new(
7793        InstFlags::MMX.bits() | InstFlags::VEC.bits(),
7794        0,
7795        536,
7796        1,
7797        InstControlFlow::Regular,
7798        InstSameRegHint::None,
7799    ), // #126 [ref=1x]
7800    CommonInfo::new(
7801        InstFlags::VEC.bits(),
7802        0,
7803        380,
7804        1,
7805        InstControlFlow::Regular,
7806        InstSameRegHint::None,
7807    ), // #127 [ref=2x]
7808    CommonInfo::new(
7809        InstFlags::VEC.bits(),
7810        0,
7811        107,
7812        2,
7813        InstControlFlow::Regular,
7814        InstSameRegHint::None,
7815    ), // #128 [ref=4x]
7816    CommonInfo::new(
7817        InstFlags::VEC.bits(),
7818        0,
7819        537,
7820        1,
7821        InstControlFlow::Regular,
7822        InstSameRegHint::None,
7823    ), // #129 [ref=2x]
7824    CommonInfo::new(
7825        InstFlags::VEC.bits(),
7826        0,
7827        101,
7828        1,
7829        InstControlFlow::Regular,
7830        InstSameRegHint::None,
7831    ), // #130 [ref=3x]
7832    CommonInfo::new(
7833        InstFlags::MMX.bits(),
7834        0,
7835        538,
7836        1,
7837        InstControlFlow::Regular,
7838        InstSameRegHint::None,
7839    ), // #131 [ref=1x]
7840    CommonInfo::new(
7841        InstFlags::VEC.bits(),
7842        0,
7843        107,
7844        1,
7845        InstControlFlow::Regular,
7846        InstSameRegHint::None,
7847    ), // #132 [ref=1x]
7848    CommonInfo::new(
7849        InstFlags::VEC.bits(),
7850        0,
7851        115,
7852        1,
7853        InstControlFlow::Regular,
7854        InstSameRegHint::None,
7855    ), // #133 [ref=1x]
7856    CommonInfo::new(
7857        InstFlags::MMX.bits() | InstFlags::VEC.bits(),
7858        0,
7859        168,
7860        5,
7861        InstControlFlow::Regular,
7862        InstSameRegHint::None,
7863    ), // #134 [ref=1x]
7864    CommonInfo::new(
7865        InstFlags::MMX.bits() | InstFlags::VEC.bits(),
7866        0,
7867        539,
7868        1,
7869        InstControlFlow::Regular,
7870        InstSameRegHint::None,
7871    ), // #135 [ref=1x]
7872    CommonInfo::new(
7873        InstFlags::REP.bits(),
7874        0,
7875        224,
7876        4,
7877        InstControlFlow::Regular,
7878        InstSameRegHint::None,
7879    ), // #136 [ref=1x]
7880    CommonInfo::new(
7881        InstFlags::VEC.bits(),
7882        0,
7883        417,
7884        2,
7885        InstControlFlow::Regular,
7886        InstSameRegHint::None,
7887    ), // #137 [ref=1x]
7888    CommonInfo::new(
7889        InstFlags::VEC.bits(),
7890        0,
7891        419,
7892        2,
7893        InstControlFlow::Regular,
7894        InstSameRegHint::None,
7895    ), // #138 [ref=1x]
7896    CommonInfo::new(
7897        0,
7898        0,
7899        289,
7900        3,
7901        InstControlFlow::Regular,
7902        InstSameRegHint::None,
7903    ), // #139 [ref=2x]
7904    CommonInfo::new(
7905        0,
7906        0,
7907        421,
7908        2,
7909        InstControlFlow::Regular,
7910        InstSameRegHint::None,
7911    ), // #140 [ref=1x]
7912    CommonInfo::new(
7913        InstFlags::VEX.bits(),
7914        0,
7915        423,
7916        2,
7917        InstControlFlow::Regular,
7918        InstSameRegHint::None,
7919    ), // #141 [ref=1x]
7920    CommonInfo::new(
7921        0,
7922        0,
7923        540,
7924        1,
7925        InstControlFlow::Regular,
7926        InstSameRegHint::None,
7927    ), // #142 [ref=1x]
7928    CommonInfo::new(
7929        0,
7930        0,
7931        541,
7932        1,
7933        InstControlFlow::Regular,
7934        InstSameRegHint::None,
7935    ), // #143 [ref=1x]
7936    CommonInfo::new(
7937        InstFlags::LOCK.bits() | InstFlags::X_ACQUIRE.bits() | InstFlags::X_RELEASE.bits(),
7938        0,
7939        272,
7940        2,
7941        InstControlFlow::Regular,
7942        InstSameRegHint::None,
7943    ), // #144 [ref=2x]
7944    CommonInfo::new(
7945        0,
7946        0,
7947        145,
7948        6,
7949        InstControlFlow::Regular,
7950        InstSameRegHint::None,
7951    ), // #145 [ref=1x]
7952    CommonInfo::new(
7953        InstFlags::LOCK.bits() | InstFlags::X_ACQUIRE.bits() | InstFlags::X_RELEASE.bits(),
7954        0,
7955        59,
7956        13,
7957        InstControlFlow::Regular,
7958        InstSameRegHint::RO,
7959    ), // #146 [ref=1x]
7960    CommonInfo::new(
7961        0,
7962        0,
7963        542,
7964        1,
7965        InstControlFlow::Regular,
7966        InstSameRegHint::None,
7967    ), // #147 [ref=1x]
7968    CommonInfo::new(
7969        InstFlags::REP.bits(),
7970        0,
7971        543,
7972        1,
7973        InstControlFlow::Regular,
7974        InstSameRegHint::None,
7975    ), // #148 [ref=1x]
7976    CommonInfo::new(
7977        InstFlags::MMX.bits() | InstFlags::VEC.bits(),
7978        0,
7979        425,
7980        2,
7981        InstControlFlow::Regular,
7982        InstSameRegHint::None,
7983    ), // #149 [ref=37x]
7984    CommonInfo::new(
7985        InstFlags::MMX.bits() | InstFlags::VEC.bits(),
7986        0,
7987        427,
7988        2,
7989        InstControlFlow::Regular,
7990        InstSameRegHint::None,
7991    ), // #150 [ref=1x]
7992    CommonInfo::new(
7993        InstFlags::MMX.bits() | InstFlags::VEC.bits(),
7994        0,
7995        425,
7996        2,
7997        InstControlFlow::Regular,
7998        InstSameRegHint::RO,
7999    ), // #151 [ref=6x]
8000    CommonInfo::new(
8001        InstFlags::MMX.bits() | InstFlags::VEC.bits(),
8002        0,
8003        425,
8004        2,
8005        InstControlFlow::Regular,
8006        InstSameRegHint::WO,
8007    ), // #152 [ref=16x]
8008    CommonInfo::new(
8009        InstFlags::MMX.bits(),
8010        0,
8011        168,
8012        1,
8013        InstControlFlow::Regular,
8014        InstSameRegHint::None,
8015    ), // #153 [ref=26x]
8016    CommonInfo::new(
8017        InstFlags::VEC.bits(),
8018        0,
8019        99,
8020        1,
8021        InstControlFlow::Regular,
8022        InstSameRegHint::WO,
8023    ), // #154 [ref=4x]
8024    CommonInfo::new(
8025        InstFlags::VEC.bits(),
8026        0,
8027        544,
8028        1,
8029        InstControlFlow::Regular,
8030        InstSameRegHint::None,
8031    ), // #155 [ref=1x]
8032    CommonInfo::new(
8033        InstFlags::VEC.bits(),
8034        0,
8035        545,
8036        1,
8037        InstControlFlow::Regular,
8038        InstSameRegHint::None,
8039    ), // #156 [ref=1x]
8040    CommonInfo::new(
8041        InstFlags::VEC.bits(),
8042        0,
8043        546,
8044        1,
8045        InstControlFlow::Regular,
8046        InstSameRegHint::None,
8047    ), // #157 [ref=1x]
8048    CommonInfo::new(
8049        InstFlags::VEC.bits(),
8050        0,
8051        547,
8052        1,
8053        InstControlFlow::Regular,
8054        InstSameRegHint::None,
8055    ), // #158 [ref=1x]
8056    CommonInfo::new(
8057        InstFlags::VEC.bits(),
8058        0,
8059        548,
8060        1,
8061        InstControlFlow::Regular,
8062        InstSameRegHint::None,
8063    ), // #159 [ref=1x]
8064    CommonInfo::new(
8065        InstFlags::VEC.bits(),
8066        0,
8067        549,
8068        1,
8069        InstControlFlow::Regular,
8070        InstSameRegHint::None,
8071    ), // #160 [ref=1x]
8072    CommonInfo::new(
8073        InstFlags::MMX.bits() | InstFlags::VEC.bits(),
8074        0,
8075        429,
8076        2,
8077        InstControlFlow::Regular,
8078        InstSameRegHint::None,
8079    ), // #161 [ref=1x]
8080    CommonInfo::new(
8081        InstFlags::VEC.bits(),
8082        0,
8083        550,
8084        1,
8085        InstControlFlow::Regular,
8086        InstSameRegHint::None,
8087    ), // #162 [ref=1x]
8088    CommonInfo::new(
8089        InstFlags::VEC.bits(),
8090        0,
8091        551,
8092        1,
8093        InstControlFlow::Regular,
8094        InstSameRegHint::None,
8095    ), // #163 [ref=1x]
8096    CommonInfo::new(
8097        InstFlags::VEC.bits(),
8098        0,
8099        552,
8100        1,
8101        InstControlFlow::Regular,
8102        InstSameRegHint::None,
8103    ), // #164 [ref=1x]
8104    CommonInfo::new(
8105        InstFlags::MMX.bits() | InstFlags::VEC.bits(),
8106        0,
8107        553,
8108        1,
8109        InstControlFlow::Regular,
8110        InstSameRegHint::None,
8111    ), // #165 [ref=1x]
8112    CommonInfo::new(
8113        InstFlags::MMX.bits() | InstFlags::VEC.bits(),
8114        0,
8115        554,
8116        1,
8117        InstControlFlow::Regular,
8118        InstSameRegHint::None,
8119    ), // #166 [ref=1x]
8120    CommonInfo::new(
8121        InstFlags::VEC.bits(),
8122        0,
8123        343,
8124        1,
8125        InstControlFlow::Regular,
8126        InstSameRegHint::None,
8127    ), // #167 [ref=2x]
8128    CommonInfo::new(
8129        0,
8130        0,
8131        173,
8132        5,
8133        InstControlFlow::Regular,
8134        InstSameRegHint::None,
8135    ), // #168 [ref=1x]
8136    CommonInfo::new(
8137        InstFlags::MMX.bits(),
8138        0,
8139        427,
8140        1,
8141        InstControlFlow::Regular,
8142        InstSameRegHint::None,
8143    ), // #169 [ref=1x]
8144    CommonInfo::new(
8145        InstFlags::MMX.bits() | InstFlags::VEC.bits(),
8146        0,
8147        431,
8148        2,
8149        InstControlFlow::Regular,
8150        InstSameRegHint::None,
8151    ), // #170 [ref=8x]
8152    CommonInfo::new(
8153        InstFlags::VEC.bits(),
8154        0,
8155        555,
8156        1,
8157        InstControlFlow::Regular,
8158        InstSameRegHint::None,
8159    ), // #171 [ref=2x]
8160    CommonInfo::new(
8161        0,
8162        0,
8163        433,
8164        2,
8165        InstControlFlow::Regular,
8166        InstSameRegHint::None,
8167    ), // #172 [ref=1x]
8168    CommonInfo::new(
8169        InstFlags::MMX.bits() | InstFlags::VEC.bits(),
8170        0,
8171        435,
8172        2,
8173        InstControlFlow::Regular,
8174        InstSameRegHint::None,
8175    ), // #173 [ref=3x]
8176    CommonInfo::new(
8177        0,
8178        0,
8179        178,
8180        5,
8181        InstControlFlow::Regular,
8182        InstSameRegHint::None,
8183    ), // #174 [ref=1x]
8184    CommonInfo::new(
8185        0,
8186        0,
8187        556,
8188        1,
8189        InstControlFlow::Regular,
8190        InstSameRegHint::None,
8191    ), // #175 [ref=1x]
8192    CommonInfo::new(
8193        0,
8194        0,
8195        437,
8196        2,
8197        InstControlFlow::Regular,
8198        InstSameRegHint::None,
8199    ), // #176 [ref=7x]
8200    CommonInfo::new(
8201        0,
8202        0,
8203        557,
8204        1,
8205        InstControlFlow::Regular,
8206        InstSameRegHint::None,
8207    ), // #177 [ref=4x]
8208    CommonInfo::new(
8209        InstFlags::VEX.bits(),
8210        0,
8211        439,
8212        2,
8213        InstControlFlow::Regular,
8214        InstSameRegHint::None,
8215    ), // #178 [ref=1x]
8216    CommonInfo::new(
8217        0,
8218        0,
8219        441,
8220        2,
8221        InstControlFlow::Regular,
8222        InstSameRegHint::None,
8223    ), // #179 [ref=1x]
8224    CommonInfo::new(
8225        0,
8226        0,
8227        439,
8228        1,
8229        InstControlFlow::Regular,
8230        InstSameRegHint::None,
8231    ), // #180 [ref=7x]
8232    CommonInfo::new(
8233        InstFlags::REP.bits() | InstFlags::REP_IGNORED.bits(),
8234        0,
8235        443,
8236        2,
8237        InstControlFlow::Return,
8238        InstSameRegHint::None,
8239    ), // #181 [ref=1x]
8240    CommonInfo::new(0, 0, 443, 2, InstControlFlow::Return, InstSameRegHint::None), // #182 [ref=1x]
8241    CommonInfo::new(
8242        InstFlags::VEX.bits(),
8243        0,
8244        445,
8245        2,
8246        InstControlFlow::Regular,
8247        InstSameRegHint::None,
8248    ), // #183 [ref=1x]
8249    CommonInfo::new(
8250        InstFlags::LOCK.bits() | InstFlags::X_ACQUIRE.bits() | InstFlags::X_RELEASE.bits(),
8251        0,
8252        20,
8253        13,
8254        InstControlFlow::Regular,
8255        InstSameRegHint::WO,
8256    ), // #184 [ref=3x]
8257    CommonInfo::new(
8258        InstFlags::REP.bits(),
8259        0,
8260        228,
8261        4,
8262        InstControlFlow::Regular,
8263        InstSameRegHint::None,
8264    ), // #185 [ref=1x]
8265    CommonInfo::new(
8266        0,
8267        0,
8268        558,
8269        1,
8270        InstControlFlow::Regular,
8271        InstSameRegHint::None,
8272    ), // #186 [ref=16x]
8273    CommonInfo::new(
8274        0,
8275        0,
8276        292,
8277        3,
8278        InstControlFlow::Regular,
8279        InstSameRegHint::None,
8280    ), // #187 [ref=2x]
8281    CommonInfo::new(
8282        0,
8283        0,
8284        447,
8285        2,
8286        InstControlFlow::Regular,
8287        InstSameRegHint::None,
8288    ), // #188 [ref=3x]
8289    CommonInfo::new(
8290        InstFlags::REP.bits(),
8291        0,
8292        232,
8293        4,
8294        InstControlFlow::Regular,
8295        InstSameRegHint::None,
8296    ), // #189 [ref=1x]
8297    CommonInfo::new(
8298        InstFlags::VEX.bits(),
8299        0,
8300        559,
8301        1,
8302        InstControlFlow::Regular,
8303        InstSameRegHint::None,
8304    ), // #190 [ref=8x]
8305    CommonInfo::new(0, 0, 91, 8, InstControlFlow::Regular, InstSameRegHint::None), // #191 [ref=1x]
8306    CommonInfo::new(
8307        InstFlags::TSIB.bits() | InstFlags::VEX.bits(),
8308        0,
8309        560,
8310        1,
8311        InstControlFlow::Regular,
8312        InstSameRegHint::None,
8313    ), // #192 [ref=2x]
8314    CommonInfo::new(
8315        InstFlags::VEX.bits(),
8316        0,
8317        498,
8318        1,
8319        InstControlFlow::Regular,
8320        InstSameRegHint::None,
8321    ), // #193 [ref=1x]
8322    CommonInfo::new(
8323        InstFlags::TSIB.bits() | InstFlags::VEX.bits(),
8324        0,
8325        561,
8326        1,
8327        InstControlFlow::Regular,
8328        InstSameRegHint::None,
8329    ), // #194 [ref=1x]
8330    CommonInfo::new(
8331        InstFlags::VEX.bits(),
8332        0,
8333        562,
8334        1,
8335        InstControlFlow::Regular,
8336        InstSameRegHint::None,
8337    ), // #195 [ref=1x]
8338    CommonInfo::new(
8339        0,
8340        0,
8341        563,
8342        1,
8343        InstControlFlow::Regular,
8344        InstSameRegHint::None,
8345    ), // #196 [ref=2x]
8346    CommonInfo::new(0, 0, 77, 1, InstControlFlow::Regular, InstSameRegHint::None), // #197 [ref=2x]
8347    CommonInfo::new(
8348        0,
8349        0,
8350        449,
8351        2,
8352        InstControlFlow::Regular,
8353        InstSameRegHint::None,
8354    ), // #198 [ref=1x]
8355    CommonInfo::new(
8356        InstFlags::EVEX.bits()
8357            | InstFlags::EVEX_COMPAT.bits()
8358            | InstFlags::VEC.bits()
8359            | InstFlags::VEX.bits(),
8360        Avx512Flags::B64.bits()
8361            | Avx512Flags::ER.bits()
8362            | Avx512Flags::K.bits()
8363            | Avx512Flags::SAE.bits()
8364            | Avx512Flags::Z.bits(),
8365        295,
8366        3,
8367        InstControlFlow::Regular,
8368        InstSameRegHint::None,
8369    ), // #199 [ref=22x]
8370    CommonInfo::new(
8371        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8372        Avx512Flags::B16.bits()
8373            | Avx512Flags::ER.bits()
8374            | Avx512Flags::K.bits()
8375            | Avx512Flags::SAE.bits()
8376            | Avx512Flags::Z.bits(),
8377        295,
8378        3,
8379        InstControlFlow::Regular,
8380        InstSameRegHint::None,
8381    ), // #200 [ref=23x]
8382    CommonInfo::new(
8383        InstFlags::EVEX.bits()
8384            | InstFlags::EVEX_COMPAT.bits()
8385            | InstFlags::VEC.bits()
8386            | InstFlags::VEX.bits(),
8387        Avx512Flags::B32.bits()
8388            | Avx512Flags::ER.bits()
8389            | Avx512Flags::K.bits()
8390            | Avx512Flags::SAE.bits()
8391            | Avx512Flags::Z.bits(),
8392        295,
8393        3,
8394        InstControlFlow::Regular,
8395        InstSameRegHint::None,
8396    ), // #201 [ref=22x]
8397    CommonInfo::new(
8398        InstFlags::EVEX.bits()
8399            | InstFlags::EVEX_COMPAT.bits()
8400            | InstFlags::VEC.bits()
8401            | InstFlags::VEX.bits(),
8402        Avx512Flags::ER.bits()
8403            | Avx512Flags::K.bits()
8404            | Avx512Flags::SAE.bits()
8405            | Avx512Flags::Z.bits(),
8406        564,
8407        1,
8408        InstControlFlow::Regular,
8409        InstSameRegHint::None,
8410    ), // #202 [ref=18x]
8411    CommonInfo::new(
8412        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8413        Avx512Flags::ER.bits()
8414            | Avx512Flags::K.bits()
8415            | Avx512Flags::SAE.bits()
8416            | Avx512Flags::Z.bits(),
8417        565,
8418        1,
8419        InstControlFlow::Regular,
8420        InstSameRegHint::None,
8421    ), // #203 [ref=18x]
8422    CommonInfo::new(
8423        InstFlags::EVEX.bits()
8424            | InstFlags::EVEX_COMPAT.bits()
8425            | InstFlags::VEC.bits()
8426            | InstFlags::VEX.bits(),
8427        Avx512Flags::ER.bits()
8428            | Avx512Flags::K.bits()
8429            | Avx512Flags::SAE.bits()
8430            | Avx512Flags::Z.bits(),
8431        566,
8432        1,
8433        InstControlFlow::Regular,
8434        InstSameRegHint::None,
8435    ), // #204 [ref=17x]
8436    CommonInfo::new(
8437        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
8438        0,
8439        295,
8440        2,
8441        InstControlFlow::Regular,
8442        InstSameRegHint::None,
8443    ), // #205 [ref=29x]
8444    CommonInfo::new(
8445        InstFlags::EVEX.bits()
8446            | InstFlags::EVEX_COMPAT.bits()
8447            | InstFlags::VEC.bits()
8448            | InstFlags::VEX.bits(),
8449        0,
8450        295,
8451        3,
8452        InstControlFlow::Regular,
8453        InstSameRegHint::None,
8454    ), // #206 [ref=5x]
8455    CommonInfo::new(
8456        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
8457        0,
8458        99,
8459        1,
8460        InstControlFlow::Regular,
8461        InstSameRegHint::None,
8462    ), // #207 [ref=17x]
8463    CommonInfo::new(
8464        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
8465        0,
8466        322,
8467        1,
8468        InstControlFlow::Regular,
8469        InstSameRegHint::None,
8470    ), // #208 [ref=1x]
8471    CommonInfo::new(
8472        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8473        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
8474        298,
8475        3,
8476        InstControlFlow::Regular,
8477        InstSameRegHint::None,
8478    ), // #209 [ref=4x]
8479    CommonInfo::new(
8480        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8481        Avx512Flags::B64.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
8482        298,
8483        3,
8484        InstControlFlow::Regular,
8485        InstSameRegHint::None,
8486    ), // #210 [ref=4x]
8487    CommonInfo::new(
8488        InstFlags::EVEX.bits()
8489            | InstFlags::EVEX_COMPAT.bits()
8490            | InstFlags::VEC.bits()
8491            | InstFlags::VEX.bits(),
8492        Avx512Flags::B64.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
8493        295,
8494        3,
8495        InstControlFlow::Regular,
8496        InstSameRegHint::None,
8497    ), // #211 [ref=10x]
8498    CommonInfo::new(
8499        InstFlags::EVEX.bits()
8500            | InstFlags::EVEX_COMPAT.bits()
8501            | InstFlags::VEC.bits()
8502            | InstFlags::VEX.bits(),
8503        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
8504        295,
8505        3,
8506        InstControlFlow::Regular,
8507        InstSameRegHint::None,
8508    ), // #212 [ref=12x]
8509    CommonInfo::new(
8510        InstFlags::EVEX.bits()
8511            | InstFlags::EVEX_COMPAT.bits()
8512            | InstFlags::VEC.bits()
8513            | InstFlags::VEX.bits(),
8514        Avx512Flags::B64.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
8515        295,
8516        3,
8517        InstControlFlow::Regular,
8518        InstSameRegHint::RO,
8519    ), // #213 [ref=2x]
8520    CommonInfo::new(
8521        InstFlags::EVEX.bits()
8522            | InstFlags::EVEX_COMPAT.bits()
8523            | InstFlags::VEC.bits()
8524            | InstFlags::VEX.bits(),
8525        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
8526        295,
8527        3,
8528        InstControlFlow::Regular,
8529        InstSameRegHint::RO,
8530    ), // #214 [ref=6x]
8531    CommonInfo::new(
8532        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
8533        0,
8534        567,
8535        1,
8536        InstControlFlow::Regular,
8537        InstSameRegHint::None,
8538    ), // #215 [ref=2x]
8539    CommonInfo::new(
8540        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8541        Avx512Flags::B64.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
8542        295,
8543        3,
8544        InstControlFlow::Regular,
8545        InstSameRegHint::None,
8546    ), // #216 [ref=17x]
8547    CommonInfo::new(
8548        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8549        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
8550        295,
8551        3,
8552        InstControlFlow::Regular,
8553        InstSameRegHint::None,
8554    ), // #217 [ref=12x]
8555    CommonInfo::new(
8556        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
8557        0,
8558        298,
8559        2,
8560        InstControlFlow::Regular,
8561        InstSameRegHint::None,
8562    ), // #218 [ref=6x]
8563    CommonInfo::new(
8564        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
8565        0,
8566        451,
8567        2,
8568        InstControlFlow::Regular,
8569        InstSameRegHint::None,
8570    ), // #219 [ref=3x]
8571    CommonInfo::new(
8572        InstFlags::EVEX_TRANSFORMABLE.bits() | InstFlags::VEC.bits() | InstFlags::VEX.bits(),
8573        0,
8574        568,
8575        1,
8576        InstControlFlow::Regular,
8577        InstSameRegHint::None,
8578    ), // #220 [ref=2x]
8579    CommonInfo::new(
8580        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8581        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
8582        569,
8583        1,
8584        InstControlFlow::Regular,
8585        InstSameRegHint::None,
8586    ), // #221 [ref=1x]
8587    CommonInfo::new(
8588        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8589        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
8590        570,
8591        1,
8592        InstControlFlow::Regular,
8593        InstSameRegHint::None,
8594    ), // #222 [ref=4x]
8595    CommonInfo::new(
8596        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8597        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
8598        571,
8599        1,
8600        InstControlFlow::Regular,
8601        InstSameRegHint::None,
8602    ), // #223 [ref=4x]
8603    CommonInfo::new(
8604        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8605        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
8606        477,
8607        1,
8608        InstControlFlow::Regular,
8609        InstSameRegHint::None,
8610    ), // #224 [ref=1x]
8611    CommonInfo::new(
8612        InstFlags::EVEX.bits()
8613            | InstFlags::EVEX_COMPAT.bits()
8614            | InstFlags::VEC.bits()
8615            | InstFlags::VEX.bits(),
8616        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
8617        569,
8618        1,
8619        InstControlFlow::Regular,
8620        InstSameRegHint::None,
8621    ), // #225 [ref=1x]
8622    CommonInfo::new(
8623        InstFlags::EVEX.bits()
8624            | InstFlags::EVEX_COMPAT.bits()
8625            | InstFlags::VEC.bits()
8626            | InstFlags::VEX.bits(),
8627        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
8628        572,
8629        1,
8630        InstControlFlow::Regular,
8631        InstSameRegHint::None,
8632    ), // #226 [ref=1x]
8633    CommonInfo::new(
8634        InstFlags::EVEX.bits()
8635            | InstFlags::EVEX_K_REG.bits()
8636            | InstFlags::VEC.bits()
8637            | InstFlags::VEX.bits(),
8638        Avx512Flags::B64.bits()
8639            | Avx512Flags::IMPLICIT_Z.bits()
8640            | Avx512Flags::K.bits()
8641            | Avx512Flags::SAE.bits(),
8642        301,
8643        3,
8644        InstControlFlow::Regular,
8645        InstSameRegHint::None,
8646    ), // #227 [ref=1x]
8647    CommonInfo::new(
8648        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8649        Avx512Flags::B16.bits()
8650            | Avx512Flags::IMPLICIT_Z.bits()
8651            | Avx512Flags::K.bits()
8652            | Avx512Flags::SAE.bits(),
8653        304,
8654        3,
8655        InstControlFlow::Regular,
8656        InstSameRegHint::None,
8657    ), // #228 [ref=1x]
8658    CommonInfo::new(
8659        InstFlags::EVEX.bits()
8660            | InstFlags::EVEX_K_REG.bits()
8661            | InstFlags::VEC.bits()
8662            | InstFlags::VEX.bits(),
8663        Avx512Flags::B32.bits()
8664            | Avx512Flags::IMPLICIT_Z.bits()
8665            | Avx512Flags::K.bits()
8666            | Avx512Flags::SAE.bits(),
8667        301,
8668        3,
8669        InstControlFlow::Regular,
8670        InstSameRegHint::None,
8671    ), // #229 [ref=1x]
8672    CommonInfo::new(
8673        InstFlags::EVEX.bits()
8674            | InstFlags::EVEX_K_REG.bits()
8675            | InstFlags::VEC.bits()
8676            | InstFlags::VEX.bits(),
8677        Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits() | Avx512Flags::SAE.bits(),
8678        573,
8679        1,
8680        InstControlFlow::Regular,
8681        InstSameRegHint::None,
8682    ), // #230 [ref=1x]
8683    CommonInfo::new(
8684        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8685        Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits() | Avx512Flags::SAE.bits(),
8686        574,
8687        1,
8688        InstControlFlow::Regular,
8689        InstSameRegHint::None,
8690    ), // #231 [ref=1x]
8691    CommonInfo::new(
8692        InstFlags::EVEX.bits()
8693            | InstFlags::EVEX_K_REG.bits()
8694            | InstFlags::VEC.bits()
8695            | InstFlags::VEX.bits(),
8696        Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits() | Avx512Flags::SAE.bits(),
8697        575,
8698        1,
8699        InstControlFlow::Regular,
8700        InstSameRegHint::None,
8701    ), // #232 [ref=1x]
8702    CommonInfo::new(
8703        InstFlags::EVEX.bits()
8704            | InstFlags::EVEX_COMPAT.bits()
8705            | InstFlags::VEC.bits()
8706            | InstFlags::VEX.bits(),
8707        Avx512Flags::SAE.bits(),
8708        172,
8709        1,
8710        InstControlFlow::Regular,
8711        InstSameRegHint::None,
8712    ), // #233 [ref=2x]
8713    CommonInfo::new(
8714        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8715        Avx512Flags::SAE.bits(),
8716        343,
8717        1,
8718        InstControlFlow::Regular,
8719        InstSameRegHint::None,
8720    ), // #234 [ref=2x]
8721    CommonInfo::new(
8722        InstFlags::EVEX.bits()
8723            | InstFlags::EVEX_COMPAT.bits()
8724            | InstFlags::VEC.bits()
8725            | InstFlags::VEX.bits(),
8726        Avx512Flags::SAE.bits(),
8727        313,
8728        1,
8729        InstControlFlow::Regular,
8730        InstSameRegHint::None,
8731    ), // #235 [ref=2x]
8732    CommonInfo::new(
8733        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8734        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
8735        307,
8736        3,
8737        InstControlFlow::Regular,
8738        InstSameRegHint::None,
8739    ), // #236 [ref=6x]
8740    CommonInfo::new(
8741        InstFlags::EVEX.bits()
8742            | InstFlags::EVEX_COMPAT.bits()
8743            | InstFlags::VEC.bits()
8744            | InstFlags::VEX.bits(),
8745        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
8746        310,
8747        3,
8748        InstControlFlow::Regular,
8749        InstSameRegHint::None,
8750    ), // #237 [ref=1x]
8751    CommonInfo::new(
8752        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8753        Avx512Flags::B32.bits()
8754            | Avx512Flags::ER.bits()
8755            | Avx512Flags::K.bits()
8756            | Avx512Flags::SAE.bits()
8757            | Avx512Flags::Z.bits(),
8758        453,
8759        2,
8760        InstControlFlow::Regular,
8761        InstSameRegHint::None,
8762    ), // #238 [ref=3x]
8763    CommonInfo::new(
8764        InstFlags::EVEX.bits()
8765            | InstFlags::EVEX_COMPAT.bits()
8766            | InstFlags::VEC.bits()
8767            | InstFlags::VEX.bits(),
8768        Avx512Flags::B32.bits()
8769            | Avx512Flags::ER.bits()
8770            | Avx512Flags::K.bits()
8771            | Avx512Flags::SAE.bits()
8772            | Avx512Flags::Z.bits(),
8773        151,
8774        3,
8775        InstControlFlow::Regular,
8776        InstSameRegHint::None,
8777    ), // #239 [ref=3x]
8778    CommonInfo::new(
8779        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
8780        0,
8781        198,
8782        2,
8783        InstControlFlow::Regular,
8784        InstSameRegHint::None,
8785    ), // #240 [ref=5x]
8786    CommonInfo::new(
8787        InstFlags::EVEX.bits()
8788            | InstFlags::EVEX_COMPAT.bits()
8789            | InstFlags::PREFER_EVEX.bits()
8790            | InstFlags::VEC.bits()
8791            | InstFlags::VEX.bits(),
8792        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
8793        453,
8794        2,
8795        InstControlFlow::Regular,
8796        InstSameRegHint::None,
8797    ), // #241 [ref=1x]
8798    CommonInfo::new(
8799        InstFlags::EVEX.bits()
8800            | InstFlags::EVEX_COMPAT.bits()
8801            | InstFlags::VEC.bits()
8802            | InstFlags::VEX.bits(),
8803        Avx512Flags::B64.bits()
8804            | Avx512Flags::ER.bits()
8805            | Avx512Flags::K.bits()
8806            | Avx512Flags::SAE.bits()
8807            | Avx512Flags::Z.bits(),
8808        453,
8809        2,
8810        InstControlFlow::Regular,
8811        InstSameRegHint::None,
8812    ), // #242 [ref=2x]
8813    CommonInfo::new(
8814        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8815        Avx512Flags::B64.bits()
8816            | Avx512Flags::ER.bits()
8817            | Avx512Flags::K.bits()
8818            | Avx512Flags::SAE.bits()
8819            | Avx512Flags::Z.bits(),
8820        576,
8821        1,
8822        InstControlFlow::Regular,
8823        InstSameRegHint::None,
8824    ), // #243 [ref=3x]
8825    CommonInfo::new(
8826        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8827        Avx512Flags::B64.bits()
8828            | Avx512Flags::ER.bits()
8829            | Avx512Flags::K.bits()
8830            | Avx512Flags::SAE.bits()
8831            | Avx512Flags::Z.bits(),
8832        151,
8833        3,
8834        InstControlFlow::Regular,
8835        InstSameRegHint::None,
8836    ), // #244 [ref=4x]
8837    CommonInfo::new(
8838        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8839        Avx512Flags::B64.bits()
8840            | Avx512Flags::ER.bits()
8841            | Avx512Flags::K.bits()
8842            | Avx512Flags::SAE.bits()
8843            | Avx512Flags::Z.bits(),
8844        453,
8845        2,
8846        InstControlFlow::Regular,
8847        InstSameRegHint::None,
8848    ), // #245 [ref=3x]
8849    CommonInfo::new(
8850        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8851        Avx512Flags::B16.bits()
8852            | Avx512Flags::ER.bits()
8853            | Avx512Flags::K.bits()
8854            | Avx512Flags::SAE.bits()
8855            | Avx512Flags::Z.bits(),
8856        310,
8857        3,
8858        InstControlFlow::Regular,
8859        InstSameRegHint::None,
8860    ), // #246 [ref=2x]
8861    CommonInfo::new(
8862        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8863        Avx512Flags::B16.bits()
8864            | Avx512Flags::K.bits()
8865            | Avx512Flags::SAE.bits()
8866            | Avx512Flags::Z.bits(),
8867        313,
8868        3,
8869        InstControlFlow::Regular,
8870        InstSameRegHint::None,
8871    ), // #247 [ref=3x]
8872    CommonInfo::new(
8873        InstFlags::EVEX.bits()
8874            | InstFlags::EVEX_COMPAT.bits()
8875            | InstFlags::VEC.bits()
8876            | InstFlags::VEX.bits(),
8877        Avx512Flags::K.bits() | Avx512Flags::SAE.bits() | Avx512Flags::Z.bits(),
8878        310,
8879        3,
8880        InstControlFlow::Regular,
8881        InstSameRegHint::None,
8882    ), // #248 [ref=1x]
8883    CommonInfo::new(
8884        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8885        Avx512Flags::B16.bits()
8886            | Avx512Flags::K.bits()
8887            | Avx512Flags::SAE.bits()
8888            | Avx512Flags::Z.bits(),
8889        310,
8890        3,
8891        InstControlFlow::Regular,
8892        InstSameRegHint::None,
8893    ), // #249 [ref=3x]
8894    CommonInfo::new(
8895        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8896        Avx512Flags::B16.bits()
8897            | Avx512Flags::ER.bits()
8898            | Avx512Flags::K.bits()
8899            | Avx512Flags::SAE.bits()
8900            | Avx512Flags::Z.bits(),
8901        313,
8902        3,
8903        InstControlFlow::Regular,
8904        InstSameRegHint::None,
8905    ), // #250 [ref=2x]
8906    CommonInfo::new(
8907        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8908        Avx512Flags::B16.bits()
8909            | Avx512Flags::ER.bits()
8910            | Avx512Flags::K.bits()
8911            | Avx512Flags::SAE.bits()
8912            | Avx512Flags::Z.bits(),
8913        151,
8914        3,
8915        InstControlFlow::Regular,
8916        InstSameRegHint::None,
8917    ), // #251 [ref=5x]
8918    CommonInfo::new(
8919        InstFlags::EVEX.bits()
8920            | InstFlags::EVEX_COMPAT.bits()
8921            | InstFlags::VEC.bits()
8922            | InstFlags::VEX.bits(),
8923        Avx512Flags::B32.bits()
8924            | Avx512Flags::ER.bits()
8925            | Avx512Flags::K.bits()
8926            | Avx512Flags::SAE.bits()
8927            | Avx512Flags::Z.bits(),
8928        310,
8929        3,
8930        InstControlFlow::Regular,
8931        InstSameRegHint::None,
8932    ), // #252 [ref=1x]
8933    CommonInfo::new(
8934        InstFlags::EVEX.bits()
8935            | InstFlags::EVEX_COMPAT.bits()
8936            | InstFlags::VEC.bits()
8937            | InstFlags::VEX.bits(),
8938        Avx512Flags::K.bits() | Avx512Flags::SAE.bits() | Avx512Flags::Z.bits(),
8939        316,
8940        3,
8941        InstControlFlow::Regular,
8942        InstSameRegHint::None,
8943    ), // #253 [ref=1x]
8944    CommonInfo::new(
8945        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8946        Avx512Flags::B32.bits()
8947            | Avx512Flags::ER.bits()
8948            | Avx512Flags::K.bits()
8949            | Avx512Flags::SAE.bits()
8950            | Avx512Flags::Z.bits(),
8951        310,
8952        3,
8953        InstControlFlow::Regular,
8954        InstSameRegHint::None,
8955    ), // #254 [ref=3x]
8956    CommonInfo::new(
8957        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8958        Avx512Flags::B32.bits()
8959            | Avx512Flags::ER.bits()
8960            | Avx512Flags::K.bits()
8961            | Avx512Flags::SAE.bits()
8962            | Avx512Flags::Z.bits(),
8963        151,
8964        3,
8965        InstControlFlow::Regular,
8966        InstSameRegHint::None,
8967    ), // #255 [ref=2x]
8968    CommonInfo::new(
8969        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8970        Avx512Flags::ER.bits()
8971            | Avx512Flags::K.bits()
8972            | Avx512Flags::SAE.bits()
8973            | Avx512Flags::Z.bits(),
8974        564,
8975        1,
8976        InstControlFlow::Regular,
8977        InstSameRegHint::None,
8978    ), // #256 [ref=2x]
8979    CommonInfo::new(
8980        InstFlags::EVEX.bits()
8981            | InstFlags::EVEX_COMPAT.bits()
8982            | InstFlags::VEC.bits()
8983            | InstFlags::VEX.bits(),
8984        Avx512Flags::ER.bits() | Avx512Flags::SAE.bits(),
8985        371,
8986        2,
8987        InstControlFlow::Regular,
8988        InstSameRegHint::None,
8989    ), // #257 [ref=1x]
8990    CommonInfo::new(
8991        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8992        Avx512Flags::ER.bits() | Avx512Flags::SAE.bits(),
8993        371,
8994        2,
8995        InstControlFlow::Regular,
8996        InstSameRegHint::None,
8997    ), // #258 [ref=1x]
8998    CommonInfo::new(
8999        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9000        Avx512Flags::K.bits() | Avx512Flags::SAE.bits() | Avx512Flags::Z.bits(),
9001        565,
9002        1,
9003        InstControlFlow::Regular,
9004        InstSameRegHint::None,
9005    ), // #259 [ref=5x]
9006    CommonInfo::new(
9007        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9008        Avx512Flags::ER.bits() | Avx512Flags::SAE.bits(),
9009        455,
9010        2,
9011        InstControlFlow::Regular,
9012        InstSameRegHint::None,
9013    ), // #260 [ref=2x]
9014    CommonInfo::new(
9015        InstFlags::EVEX.bits()
9016            | InstFlags::EVEX_COMPAT.bits()
9017            | InstFlags::VEC.bits()
9018            | InstFlags::VEX.bits(),
9019        Avx512Flags::ER.bits() | Avx512Flags::SAE.bits(),
9020        457,
9021        2,
9022        InstControlFlow::Regular,
9023        InstSameRegHint::None,
9024    ), // #261 [ref=2x]
9025    CommonInfo::new(
9026        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9027        Avx512Flags::ER.bits() | Avx512Flags::SAE.bits(),
9028        459,
9029        2,
9030        InstControlFlow::Regular,
9031        InstSameRegHint::None,
9032    ), // #262 [ref=2x]
9033    CommonInfo::new(
9034        InstFlags::EVEX.bits()
9035            | InstFlags::EVEX_COMPAT.bits()
9036            | InstFlags::VEC.bits()
9037            | InstFlags::VEX.bits(),
9038        Avx512Flags::K.bits() | Avx512Flags::SAE.bits() | Avx512Flags::Z.bits(),
9039        566,
9040        1,
9041        InstControlFlow::Regular,
9042        InstSameRegHint::None,
9043    ), // #263 [ref=3x]
9044    CommonInfo::new(
9045        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9046        Avx512Flags::ER.bits()
9047            | Avx512Flags::K.bits()
9048            | Avx512Flags::SAE.bits()
9049            | Avx512Flags::Z.bits(),
9050        566,
9051        1,
9052        InstControlFlow::Regular,
9053        InstSameRegHint::None,
9054    ), // #264 [ref=6x]
9055    CommonInfo::new(
9056        InstFlags::EVEX.bits()
9057            | InstFlags::EVEX_COMPAT.bits()
9058            | InstFlags::VEC.bits()
9059            | InstFlags::VEX.bits(),
9060        Avx512Flags::ER.bits() | Avx512Flags::SAE.bits(),
9061        375,
9062        2,
9063        InstControlFlow::Regular,
9064        InstSameRegHint::None,
9065    ), // #265 [ref=1x]
9066    CommonInfo::new(
9067        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9068        Avx512Flags::ER.bits() | Avx512Flags::SAE.bits(),
9069        375,
9070        2,
9071        InstControlFlow::Regular,
9072        InstSameRegHint::None,
9073    ), // #266 [ref=1x]
9074    CommonInfo::new(
9075        InstFlags::EVEX.bits()
9076            | InstFlags::EVEX_COMPAT.bits()
9077            | InstFlags::VEC.bits()
9078            | InstFlags::VEX.bits(),
9079        Avx512Flags::B64.bits()
9080            | Avx512Flags::K.bits()
9081            | Avx512Flags::SAE.bits()
9082            | Avx512Flags::Z.bits(),
9083        453,
9084        2,
9085        InstControlFlow::Regular,
9086        InstSameRegHint::None,
9087    ), // #267 [ref=1x]
9088    CommonInfo::new(
9089        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9090        Avx512Flags::B64.bits()
9091            | Avx512Flags::K.bits()
9092            | Avx512Flags::SAE.bits()
9093            | Avx512Flags::Z.bits(),
9094        151,
9095        3,
9096        InstControlFlow::Regular,
9097        InstSameRegHint::None,
9098    ), // #268 [ref=3x]
9099    CommonInfo::new(
9100        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9101        Avx512Flags::B64.bits()
9102            | Avx512Flags::K.bits()
9103            | Avx512Flags::SAE.bits()
9104            | Avx512Flags::Z.bits(),
9105        453,
9106        2,
9107        InstControlFlow::Regular,
9108        InstSameRegHint::None,
9109    ), // #269 [ref=1x]
9110    CommonInfo::new(
9111        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9112        Avx512Flags::B16.bits()
9113            | Avx512Flags::K.bits()
9114            | Avx512Flags::SAE.bits()
9115            | Avx512Flags::Z.bits(),
9116        151,
9117        3,
9118        InstControlFlow::Regular,
9119        InstSameRegHint::None,
9120    ), // #270 [ref=3x]
9121    CommonInfo::new(
9122        InstFlags::EVEX.bits()
9123            | InstFlags::EVEX_COMPAT.bits()
9124            | InstFlags::VEC.bits()
9125            | InstFlags::VEX.bits(),
9126        Avx512Flags::B32.bits()
9127            | Avx512Flags::K.bits()
9128            | Avx512Flags::SAE.bits()
9129            | Avx512Flags::Z.bits(),
9130        151,
9131        3,
9132        InstControlFlow::Regular,
9133        InstSameRegHint::None,
9134    ), // #271 [ref=1x]
9135    CommonInfo::new(
9136        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9137        Avx512Flags::B32.bits()
9138            | Avx512Flags::K.bits()
9139            | Avx512Flags::SAE.bits()
9140            | Avx512Flags::Z.bits(),
9141        310,
9142        3,
9143        InstControlFlow::Regular,
9144        InstSameRegHint::None,
9145    ), // #272 [ref=2x]
9146    CommonInfo::new(
9147        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9148        Avx512Flags::B32.bits()
9149            | Avx512Flags::K.bits()
9150            | Avx512Flags::SAE.bits()
9151            | Avx512Flags::Z.bits(),
9152        151,
9153        3,
9154        InstControlFlow::Regular,
9155        InstSameRegHint::None,
9156    ), // #273 [ref=2x]
9157    CommonInfo::new(
9158        InstFlags::EVEX.bits()
9159            | InstFlags::EVEX_COMPAT.bits()
9160            | InstFlags::VEC.bits()
9161            | InstFlags::VEX.bits(),
9162        Avx512Flags::SAE.bits(),
9163        371,
9164        2,
9165        InstControlFlow::Regular,
9166        InstSameRegHint::None,
9167    ), // #274 [ref=1x]
9168    CommonInfo::new(
9169        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9170        Avx512Flags::SAE.bits(),
9171        371,
9172        2,
9173        InstControlFlow::Regular,
9174        InstSameRegHint::None,
9175    ), // #275 [ref=1x]
9176    CommonInfo::new(
9177        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9178        Avx512Flags::SAE.bits(),
9179        455,
9180        2,
9181        InstControlFlow::Regular,
9182        InstSameRegHint::None,
9183    ), // #276 [ref=2x]
9184    CommonInfo::new(
9185        InstFlags::EVEX.bits()
9186            | InstFlags::EVEX_COMPAT.bits()
9187            | InstFlags::VEC.bits()
9188            | InstFlags::VEX.bits(),
9189        Avx512Flags::SAE.bits(),
9190        375,
9191        2,
9192        InstControlFlow::Regular,
9193        InstSameRegHint::None,
9194    ), // #277 [ref=1x]
9195    CommonInfo::new(
9196        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9197        Avx512Flags::SAE.bits(),
9198        375,
9199        2,
9200        InstControlFlow::Regular,
9201        InstSameRegHint::None,
9202    ), // #278 [ref=1x]
9203    CommonInfo::new(
9204        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9205        Avx512Flags::ER.bits() | Avx512Flags::SAE.bits(),
9206        457,
9207        2,
9208        InstControlFlow::Regular,
9209        InstSameRegHint::None,
9210    ), // #279 [ref=2x]
9211    CommonInfo::new(
9212        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9213        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9214        298,
9215        3,
9216        InstControlFlow::Regular,
9217        InstSameRegHint::None,
9218    ), // #280 [ref=3x]
9219    CommonInfo::new(
9220        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
9221        0,
9222        298,
9223        1,
9224        InstControlFlow::Regular,
9225        InstSameRegHint::None,
9226    ), // #281 [ref=10x]
9227    CommonInfo::new(
9228        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9229        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9230        151,
9231        3,
9232        InstControlFlow::Regular,
9233        InstSameRegHint::None,
9234    ), // #282 [ref=8x]
9235    CommonInfo::new(
9236        InstFlags::EVEX_TRANSFORMABLE.bits() | InstFlags::VEC.bits() | InstFlags::VEX.bits(),
9237        0,
9238        317,
9239        1,
9240        InstControlFlow::Regular,
9241        InstSameRegHint::None,
9242    ), // #283 [ref=2x]
9243    CommonInfo::new(
9244        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9245        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9246        577,
9247        1,
9248        InstControlFlow::Regular,
9249        InstSameRegHint::None,
9250    ), // #284 [ref=4x]
9251    CommonInfo::new(
9252        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9253        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9254        318,
9255        1,
9256        InstControlFlow::Regular,
9257        InstSameRegHint::None,
9258    ), // #285 [ref=4x]
9259    CommonInfo::new(
9260        InstFlags::EVEX.bits()
9261            | InstFlags::EVEX_COMPAT.bits()
9262            | InstFlags::VEC.bits()
9263            | InstFlags::VEX.bits(),
9264        0,
9265        512,
9266        1,
9267        InstControlFlow::Regular,
9268        InstSameRegHint::None,
9269    ), // #286 [ref=2x]
9270    CommonInfo::new(
9271        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9272        Avx512Flags::B32.bits()
9273            | Avx512Flags::ER.bits()
9274            | Avx512Flags::K.bits()
9275            | Avx512Flags::SAE.bits()
9276            | Avx512Flags::Z.bits(),
9277        295,
9278        3,
9279        InstControlFlow::Regular,
9280        InstSameRegHint::None,
9281    ), // #287 [ref=5x]
9282    CommonInfo::new(
9283        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9284        Avx512Flags::B64.bits()
9285            | Avx512Flags::K.bits()
9286            | Avx512Flags::SAE.bits()
9287            | Avx512Flags::Z.bits(),
9288        298,
9289        3,
9290        InstControlFlow::Regular,
9291        InstSameRegHint::None,
9292    ), // #288 [ref=2x]
9293    CommonInfo::new(
9294        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9295        Avx512Flags::B32.bits()
9296            | Avx512Flags::K.bits()
9297            | Avx512Flags::SAE.bits()
9298            | Avx512Flags::Z.bits(),
9299        298,
9300        3,
9301        InstControlFlow::Regular,
9302        InstSameRegHint::None,
9303    ), // #289 [ref=2x]
9304    CommonInfo::new(
9305        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9306        Avx512Flags::K.bits() | Avx512Flags::SAE.bits() | Avx512Flags::Z.bits(),
9307        578,
9308        1,
9309        InstControlFlow::Regular,
9310        InstSameRegHint::None,
9311    ), // #290 [ref=4x]
9312    CommonInfo::new(
9313        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9314        Avx512Flags::K.bits() | Avx512Flags::SAE.bits() | Avx512Flags::Z.bits(),
9315        579,
9316        1,
9317        InstControlFlow::Regular,
9318        InstSameRegHint::None,
9319    ), // #291 [ref=4x]
9320    CommonInfo::new(
9321        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
9322        0,
9323        236,
9324        4,
9325        InstControlFlow::Regular,
9326        InstSameRegHint::None,
9327    ), // #292 [ref=12x]
9328    CommonInfo::new(
9329        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
9330        0,
9331        461,
9332        2,
9333        InstControlFlow::Regular,
9334        InstSameRegHint::None,
9335    ), // #293 [ref=4x]
9336    CommonInfo::new(
9337        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
9338        0,
9339        463,
9340        2,
9341        InstControlFlow::Regular,
9342        InstSameRegHint::None,
9343    ), // #294 [ref=4x]
9344    CommonInfo::new(
9345        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9346        Avx512Flags::B64.bits() | Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits(),
9347        580,
9348        1,
9349        InstControlFlow::Regular,
9350        InstSameRegHint::None,
9351    ), // #295 [ref=1x]
9352    CommonInfo::new(
9353        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9354        Avx512Flags::B16.bits() | Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits(),
9355        580,
9356        1,
9357        InstControlFlow::Regular,
9358        InstSameRegHint::None,
9359    ), // #296 [ref=1x]
9360    CommonInfo::new(
9361        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9362        Avx512Flags::B32.bits() | Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits(),
9363        580,
9364        1,
9365        InstControlFlow::Regular,
9366        InstSameRegHint::None,
9367    ), // #297 [ref=1x]
9368    CommonInfo::new(
9369        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9370        Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits(),
9371        581,
9372        1,
9373        InstControlFlow::Regular,
9374        InstSameRegHint::None,
9375    ), // #298 [ref=1x]
9376    CommonInfo::new(
9377        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9378        Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits(),
9379        582,
9380        1,
9381        InstControlFlow::Regular,
9382        InstSameRegHint::None,
9383    ), // #299 [ref=1x]
9384    CommonInfo::new(
9385        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9386        Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits(),
9387        583,
9388        1,
9389        InstControlFlow::Regular,
9390        InstSameRegHint::None,
9391    ), // #300 [ref=1x]
9392    CommonInfo::new(
9393        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
9394        0,
9395        99,
9396        2,
9397        InstControlFlow::Regular,
9398        InstSameRegHint::None,
9399    ), // #301 [ref=7x]
9400    CommonInfo::new(
9401        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
9402        0,
9403        172,
9404        1,
9405        InstControlFlow::Regular,
9406        InstSameRegHint::None,
9407    ), // #302 [ref=1x]
9408    CommonInfo::new(
9409        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
9410        0,
9411        313,
9412        1,
9413        InstControlFlow::Regular,
9414        InstSameRegHint::None,
9415    ), // #303 [ref=1x]
9416    CommonInfo::new(
9417        InstFlags::EVEX.bits()
9418            | InstFlags::EVEX_TWO_OP.bits()
9419            | InstFlags::VEC.bits()
9420            | InstFlags::VEX.bits()
9421            | InstFlags::VSIB.bits(),
9422        Avx512Flags::K.bits(),
9423        240,
9424        4,
9425        InstControlFlow::Regular,
9426        InstSameRegHint::None,
9427    ), // #304 [ref=2x]
9428    CommonInfo::new(
9429        InstFlags::EVEX.bits()
9430            | InstFlags::EVEX_TWO_OP.bits()
9431            | InstFlags::VEC.bits()
9432            | InstFlags::VEX.bits()
9433            | InstFlags::VSIB.bits(),
9434        Avx512Flags::K.bits(),
9435        183,
9436        5,
9437        InstControlFlow::Regular,
9438        InstSameRegHint::None,
9439    ), // #305 [ref=2x]
9440    CommonInfo::new(
9441        InstFlags::EVEX.bits()
9442            | InstFlags::EVEX_TWO_OP.bits()
9443            | InstFlags::VEC.bits()
9444            | InstFlags::VEX.bits()
9445            | InstFlags::VSIB.bits(),
9446        Avx512Flags::K.bits(),
9447        188,
9448        5,
9449        InstControlFlow::Regular,
9450        InstSameRegHint::None,
9451    ), // #306 [ref=2x]
9452    CommonInfo::new(
9453        InstFlags::EVEX.bits()
9454            | InstFlags::EVEX_TWO_OP.bits()
9455            | InstFlags::VEC.bits()
9456            | InstFlags::VEX.bits()
9457            | InstFlags::VSIB.bits(),
9458        Avx512Flags::K.bits(),
9459        319,
9460        3,
9461        InstControlFlow::Regular,
9462        InstSameRegHint::None,
9463    ), // #307 [ref=2x]
9464    CommonInfo::new(
9465        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9466        Avx512Flags::K.bits() | Avx512Flags::SAE.bits() | Avx512Flags::Z.bits(),
9467        564,
9468        1,
9469        InstControlFlow::Regular,
9470        InstSameRegHint::None,
9471    ), // #308 [ref=1x]
9472    CommonInfo::new(
9473        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9474        Avx512Flags::K.bits() | Avx512Flags::SAE.bits() | Avx512Flags::Z.bits(),
9475        566,
9476        1,
9477        InstControlFlow::Regular,
9478        InstSameRegHint::None,
9479    ), // #309 [ref=1x]
9480    CommonInfo::new(
9481        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9482        Avx512Flags::B64.bits()
9483            | Avx512Flags::K.bits()
9484            | Avx512Flags::SAE.bits()
9485            | Avx512Flags::Z.bits(),
9486        322,
9487        3,
9488        InstControlFlow::Regular,
9489        InstSameRegHint::None,
9490    ), // #310 [ref=2x]
9491    CommonInfo::new(
9492        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9493        Avx512Flags::B16.bits()
9494            | Avx512Flags::K.bits()
9495            | Avx512Flags::SAE.bits()
9496            | Avx512Flags::Z.bits(),
9497        322,
9498        3,
9499        InstControlFlow::Regular,
9500        InstSameRegHint::None,
9501    ), // #311 [ref=3x]
9502    CommonInfo::new(
9503        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9504        Avx512Flags::B32.bits()
9505            | Avx512Flags::K.bits()
9506            | Avx512Flags::SAE.bits()
9507            | Avx512Flags::Z.bits(),
9508        322,
9509        3,
9510        InstControlFlow::Regular,
9511        InstSameRegHint::None,
9512    ), // #312 [ref=2x]
9513    CommonInfo::new(
9514        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9515        Avx512Flags::K.bits() | Avx512Flags::SAE.bits() | Avx512Flags::Z.bits(),
9516        584,
9517        1,
9518        InstControlFlow::Regular,
9519        InstSameRegHint::None,
9520    ), // #313 [ref=3x]
9521    CommonInfo::new(
9522        InstFlags::EVEX.bits()
9523            | InstFlags::EVEX_COMPAT.bits()
9524            | InstFlags::VEC.bits()
9525            | InstFlags::VEX.bits(),
9526        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9527        298,
9528        3,
9529        InstControlFlow::Regular,
9530        InstSameRegHint::None,
9531    ), // #314 [ref=3x]
9532    CommonInfo::new(
9533        InstFlags::EVEX.bits()
9534            | InstFlags::EVEX_COMPAT.bits()
9535            | InstFlags::VEC.bits()
9536            | InstFlags::VEX.bits(),
9537        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9538        295,
9539        3,
9540        InstControlFlow::Regular,
9541        InstSameRegHint::None,
9542    ), // #315 [ref=22x]
9543    CommonInfo::new(
9544        InstFlags::EVEX_TRANSFORMABLE.bits() | InstFlags::VEC.bits() | InstFlags::VEX.bits(),
9545        0,
9546        465,
9547        1,
9548        InstControlFlow::Regular,
9549        InstSameRegHint::None,
9550    ), // #316 [ref=2x]
9551    CommonInfo::new(
9552        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9553        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9554        465,
9555        2,
9556        InstControlFlow::Regular,
9557        InstSameRegHint::None,
9558    ), // #317 [ref=4x]
9559    CommonInfo::new(
9560        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9561        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9562        585,
9563        1,
9564        InstControlFlow::Regular,
9565        InstSameRegHint::None,
9566    ), // #318 [ref=4x]
9567    CommonInfo::new(
9568        InstFlags::EVEX.bits()
9569            | InstFlags::EVEX_COMPAT.bits()
9570            | InstFlags::VEC.bits()
9571            | InstFlags::VEX.bits(),
9572        0,
9573        579,
9574        1,
9575        InstControlFlow::Regular,
9576        InstSameRegHint::None,
9577    ), // #319 [ref=1x]
9578    CommonInfo::new(
9579        InstFlags::VEX.bits(),
9580        0,
9581        530,
9582        1,
9583        InstControlFlow::Regular,
9584        InstSameRegHint::None,
9585    ), // #320 [ref=2x]
9586    CommonInfo::new(
9587        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
9588        0,
9589        533,
9590        1,
9591        InstControlFlow::Regular,
9592        InstSameRegHint::None,
9593    ), // #321 [ref=1x]
9594    CommonInfo::new(
9595        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
9596        0,
9597        244,
9598        4,
9599        InstControlFlow::Regular,
9600        InstSameRegHint::None,
9601    ), // #322 [ref=4x]
9602    CommonInfo::new(
9603        InstFlags::EVEX.bits()
9604            | InstFlags::EVEX_COMPAT.bits()
9605            | InstFlags::VEC.bits()
9606            | InstFlags::VEX.bits(),
9607        Avx512Flags::B64.bits()
9608            | Avx512Flags::K.bits()
9609            | Avx512Flags::SAE.bits()
9610            | Avx512Flags::Z.bits(),
9611        295,
9612        3,
9613        InstControlFlow::Regular,
9614        InstSameRegHint::None,
9615    ), // #323 [ref=2x]
9616    CommonInfo::new(
9617        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9618        Avx512Flags::B16.bits()
9619            | Avx512Flags::K.bits()
9620            | Avx512Flags::SAE.bits()
9621            | Avx512Flags::Z.bits(),
9622        295,
9623        3,
9624        InstControlFlow::Regular,
9625        InstSameRegHint::None,
9626    ), // #324 [ref=2x]
9627    CommonInfo::new(
9628        InstFlags::EVEX.bits()
9629            | InstFlags::EVEX_COMPAT.bits()
9630            | InstFlags::VEC.bits()
9631            | InstFlags::VEX.bits(),
9632        Avx512Flags::B32.bits()
9633            | Avx512Flags::K.bits()
9634            | Avx512Flags::SAE.bits()
9635            | Avx512Flags::Z.bits(),
9636        295,
9637        3,
9638        InstControlFlow::Regular,
9639        InstSameRegHint::None,
9640    ), // #325 [ref=2x]
9641    CommonInfo::new(
9642        InstFlags::EVEX.bits()
9643            | InstFlags::EVEX_COMPAT.bits()
9644            | InstFlags::VEC.bits()
9645            | InstFlags::VEX.bits(),
9646        Avx512Flags::K.bits() | Avx512Flags::SAE.bits() | Avx512Flags::Z.bits(),
9647        564,
9648        1,
9649        InstControlFlow::Regular,
9650        InstSameRegHint::None,
9651    ), // #326 [ref=2x]
9652    CommonInfo::new(
9653        0,
9654        0,
9655        467,
9656        2,
9657        InstControlFlow::Regular,
9658        InstSameRegHint::None,
9659    ), // #327 [ref=3x]
9660    CommonInfo::new(
9661        InstFlags::EVEX.bits()
9662            | InstFlags::EVEX_COMPAT.bits()
9663            | InstFlags::VEC.bits()
9664            | InstFlags::VEX.bits(),
9665        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9666        99,
9667        8,
9668        InstControlFlow::Regular,
9669        InstSameRegHint::None,
9670    ), // #328 [ref=4x]
9671    CommonInfo::new(
9672        InstFlags::EVEX.bits()
9673            | InstFlags::EVEX_COMPAT.bits()
9674            | InstFlags::VEC.bits()
9675            | InstFlags::VEX.bits(),
9676        0,
9677        469,
9678        2,
9679        InstControlFlow::Regular,
9680        InstSameRegHint::None,
9681    ), // #329 [ref=1x]
9682    CommonInfo::new(
9683        InstFlags::EVEX.bits()
9684            | InstFlags::EVEX_COMPAT.bits()
9685            | InstFlags::VEC.bits()
9686            | InstFlags::VEX.bits(),
9687        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9688        325,
9689        3,
9690        InstControlFlow::Regular,
9691        InstSameRegHint::None,
9692    ), // #330 [ref=1x]
9693    CommonInfo::new(
9694        InstFlags::EVEX_TRANSFORMABLE.bits() | InstFlags::VEC.bits() | InstFlags::VEX.bits(),
9695        0,
9696        99,
9697        4,
9698        InstControlFlow::Regular,
9699        InstSameRegHint::None,
9700    ), // #331 [ref=2x]
9701    CommonInfo::new(
9702        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9703        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9704        151,
9705        6,
9706        InstControlFlow::Regular,
9707        InstSameRegHint::None,
9708    ), // #332 [ref=6x]
9709    CommonInfo::new(
9710        InstFlags::EVEX.bits()
9711            | InstFlags::EVEX_COMPAT.bits()
9712            | InstFlags::VEC.bits()
9713            | InstFlags::VEX.bits(),
9714        0,
9715        109,
9716        2,
9717        InstControlFlow::Regular,
9718        InstSameRegHint::None,
9719    ), // #333 [ref=2x]
9720    CommonInfo::new(
9721        InstFlags::EVEX.bits()
9722            | InstFlags::EVEX_COMPAT.bits()
9723            | InstFlags::VEC.bits()
9724            | InstFlags::VEX.bits(),
9725        0,
9726        248,
9727        4,
9728        InstControlFlow::Regular,
9729        InstSameRegHint::None,
9730    ), // #334 [ref=4x]
9731    CommonInfo::new(
9732        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
9733        0,
9734        586,
9735        1,
9736        InstControlFlow::Regular,
9737        InstSameRegHint::None,
9738    ), // #335 [ref=3x]
9739    CommonInfo::new(
9740        InstFlags::EVEX.bits()
9741            | InstFlags::EVEX_COMPAT.bits()
9742            | InstFlags::VEC.bits()
9743            | InstFlags::VEX.bits(),
9744        0,
9745        193,
9746        5,
9747        InstControlFlow::Regular,
9748        InstSameRegHint::None,
9749    ), // #336 [ref=3x]
9750    CommonInfo::new(
9751        InstFlags::EVEX.bits()
9752            | InstFlags::EVEX_COMPAT.bits()
9753            | InstFlags::VEC.bits()
9754            | InstFlags::VEX.bits(),
9755        0,
9756        198,
9757        5,
9758        InstControlFlow::Regular,
9759        InstSameRegHint::None,
9760    ), // #337 [ref=1x]
9761    CommonInfo::new(
9762        InstFlags::EVEX.bits()
9763            | InstFlags::EVEX_COMPAT.bits()
9764            | InstFlags::VEC.bits()
9765            | InstFlags::VEX.bits(),
9766        0,
9767        203,
9768        5,
9769        InstControlFlow::Regular,
9770        InstSameRegHint::None,
9771    ), // #338 [ref=1x]
9772    CommonInfo::new(
9773        InstFlags::EVEX.bits()
9774            | InstFlags::EVEX_COMPAT.bits()
9775            | InstFlags::VEC.bits()
9776            | InstFlags::VEX.bits(),
9777        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9778        107,
9779        8,
9780        InstControlFlow::Regular,
9781        InstSameRegHint::None,
9782    ), // #339 [ref=1x]
9783    CommonInfo::new(
9784        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9785        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9786        252,
9787        4,
9788        InstControlFlow::Regular,
9789        InstSameRegHint::None,
9790    ), // #340 [ref=1x]
9791    CommonInfo::new(
9792        InstFlags::EVEX.bits()
9793            | InstFlags::EVEX_COMPAT.bits()
9794            | InstFlags::VEC.bits()
9795            | InstFlags::VEX.bits(),
9796        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9797        151,
9798        3,
9799        InstControlFlow::Regular,
9800        InstSameRegHint::None,
9801    ), // #341 [ref=4x]
9802    CommonInfo::new(
9803        InstFlags::EVEX.bits()
9804            | InstFlags::EVEX_COMPAT.bits()
9805            | InstFlags::VEC.bits()
9806            | InstFlags::VEX.bits(),
9807        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9808        115,
9809        8,
9810        InstControlFlow::Regular,
9811        InstSameRegHint::None,
9812    ), // #342 [ref=1x]
9813    CommonInfo::new(
9814        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9815        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9816        471,
9817        2,
9818        InstControlFlow::Regular,
9819        InstSameRegHint::None,
9820    ), // #343 [ref=1x]
9821    CommonInfo::new(
9822        0,
9823        0,
9824        473,
9825        2,
9826        InstControlFlow::Regular,
9827        InstSameRegHint::None,
9828    ), // #344 [ref=1x]
9829    CommonInfo::new(
9830        0,
9831        0,
9832        475,
9833        2,
9834        InstControlFlow::Regular,
9835        InstSameRegHint::None,
9836    ), // #345 [ref=1x]
9837    CommonInfo::new(
9838        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9839        Avx512Flags::B32.bits(),
9840        328,
9841        3,
9842        InstControlFlow::Regular,
9843        InstSameRegHint::None,
9844    ), // #346 [ref=1x]
9845    CommonInfo::new(
9846        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9847        Avx512Flags::B64.bits(),
9848        328,
9849        3,
9850        InstControlFlow::Regular,
9851        InstSameRegHint::None,
9852    ), // #347 [ref=1x]
9853    CommonInfo::new(
9854        InstFlags::EVEX.bits()
9855            | InstFlags::EVEX_COMPAT.bits()
9856            | InstFlags::VEC.bits()
9857            | InstFlags::VEX.bits(),
9858        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9859        151,
9860        3,
9861        InstControlFlow::Regular,
9862        InstSameRegHint::None,
9863    ), // #348 [ref=1x]
9864    CommonInfo::new(
9865        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9866        Avx512Flags::B64.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9867        151,
9868        3,
9869        InstControlFlow::Regular,
9870        InstSameRegHint::None,
9871    ), // #349 [ref=5x]
9872    CommonInfo::new(
9873        InstFlags::EVEX_TRANSFORMABLE.bits() | InstFlags::VEC.bits() | InstFlags::VEX.bits(),
9874        0,
9875        295,
9876        2,
9877        InstControlFlow::Regular,
9878        InstSameRegHint::RO,
9879    ), // #350 [ref=2x]
9880    CommonInfo::new(
9881        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9882        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9883        295,
9884        3,
9885        InstControlFlow::Regular,
9886        InstSameRegHint::RO,
9887    ), // #351 [ref=2x]
9888    CommonInfo::new(
9889        InstFlags::EVEX_TRANSFORMABLE.bits() | InstFlags::VEC.bits() | InstFlags::VEX.bits(),
9890        0,
9891        295,
9892        2,
9893        InstControlFlow::Regular,
9894        InstSameRegHint::WO,
9895    ), // #352 [ref=2x]
9896    CommonInfo::new(
9897        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9898        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9899        295,
9900        3,
9901        InstControlFlow::Regular,
9902        InstSameRegHint::WO,
9903    ), // #353 [ref=2x]
9904    CommonInfo::new(
9905        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9906        Avx512Flags::B64.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9907        295,
9908        3,
9909        InstControlFlow::Regular,
9910        InstSameRegHint::WO,
9911    ), // #354 [ref=2x]
9912    CommonInfo::new(
9913        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9914        Avx512Flags::B64.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9915        295,
9916        3,
9917        InstControlFlow::Regular,
9918        InstSameRegHint::RO,
9919    ), // #355 [ref=2x]
9920    CommonInfo::new(
9921        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9922        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9923        295,
9924        3,
9925        InstControlFlow::Regular,
9926        InstSameRegHint::None,
9927    ), // #356 [ref=13x]
9928    CommonInfo::new(
9929        InstFlags::EVEX.bits()
9930            | InstFlags::EVEX_COMPAT.bits()
9931            | InstFlags::VEC.bits()
9932            | InstFlags::VEX.bits(),
9933        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9934        587,
9935        1,
9936        InstControlFlow::Regular,
9937        InstSameRegHint::None,
9938    ), // #357 [ref=1x]
9939    CommonInfo::new(
9940        InstFlags::EVEX.bits()
9941            | InstFlags::EVEX_COMPAT.bits()
9942            | InstFlags::VEC.bits()
9943            | InstFlags::VEX.bits(),
9944        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9945        588,
9946        1,
9947        InstControlFlow::Regular,
9948        InstSameRegHint::None,
9949    ), // #358 [ref=1x]
9950    CommonInfo::new(
9951        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9952        0,
9953        589,
9954        1,
9955        InstControlFlow::Regular,
9956        InstSameRegHint::None,
9957    ), // #359 [ref=6x]
9958    CommonInfo::new(
9959        InstFlags::EVEX.bits()
9960            | InstFlags::EVEX_COMPAT.bits()
9961            | InstFlags::VEC.bits()
9962            | InstFlags::VEX.bits(),
9963        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9964        477,
9965        2,
9966        InstControlFlow::Regular,
9967        InstSameRegHint::None,
9968    ), // #360 [ref=1x]
9969    CommonInfo::new(
9970        InstFlags::EVEX.bits()
9971            | InstFlags::EVEX_COMPAT.bits()
9972            | InstFlags::VEC.bits()
9973            | InstFlags::VEX.bits(),
9974        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9975        590,
9976        1,
9977        InstControlFlow::Regular,
9978        InstSameRegHint::None,
9979    ), // #361 [ref=1x]
9980    CommonInfo::new(
9981        InstFlags::EVEX.bits()
9982            | InstFlags::EVEX_COMPAT.bits()
9983            | InstFlags::VEC.bits()
9984            | InstFlags::VEX.bits(),
9985        0,
9986        298,
9987        3,
9988        InstControlFlow::Regular,
9989        InstSameRegHint::None,
9990    ), // #362 [ref=1x]
9991    CommonInfo::new(
9992        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
9993        0,
9994        256,
9995        4,
9996        InstControlFlow::Regular,
9997        InstSameRegHint::None,
9998    ), // #363 [ref=1x]
9999    CommonInfo::new(
10000        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10001        Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits(),
10002        304,
10003        3,
10004        InstControlFlow::Regular,
10005        InstSameRegHint::WO,
10006    ), // #364 [ref=4x]
10007    CommonInfo::new(
10008        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10009        Avx512Flags::B32.bits() | Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits(),
10010        304,
10011        3,
10012        InstControlFlow::Regular,
10013        InstSameRegHint::WO,
10014    ), // #365 [ref=2x]
10015    CommonInfo::new(
10016        InstFlags::EVEX.bits()
10017            | InstFlags::EVEX_K_REG.bits()
10018            | InstFlags::VEC.bits()
10019            | InstFlags::VEX.bits(),
10020        Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits(),
10021        331,
10022        3,
10023        InstControlFlow::Regular,
10024        InstSameRegHint::WO,
10025    ), // #366 [ref=4x]
10026    CommonInfo::new(
10027        InstFlags::EVEX.bits()
10028            | InstFlags::EVEX_K_REG.bits()
10029            | InstFlags::VEC.bits()
10030            | InstFlags::VEX.bits(),
10031        Avx512Flags::B32.bits() | Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits(),
10032        331,
10033        3,
10034        InstControlFlow::Regular,
10035        InstSameRegHint::WO,
10036    ), // #367 [ref=2x]
10037    CommonInfo::new(
10038        InstFlags::EVEX.bits()
10039            | InstFlags::EVEX_K_REG.bits()
10040            | InstFlags::VEC.bits()
10041            | InstFlags::VEX.bits(),
10042        Avx512Flags::B64.bits() | Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits(),
10043        331,
10044        3,
10045        InstControlFlow::Regular,
10046        InstSameRegHint::WO,
10047    ), // #368 [ref=2x]
10048    CommonInfo::new(
10049        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10050        0,
10051        544,
10052        1,
10053        InstControlFlow::Regular,
10054        InstSameRegHint::None,
10055    ), // #369 [ref=1x]
10056    CommonInfo::new(
10057        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10058        0,
10059        545,
10060        1,
10061        InstControlFlow::Regular,
10062        InstSameRegHint::None,
10063    ), // #370 [ref=1x]
10064    CommonInfo::new(
10065        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10066        0,
10067        546,
10068        1,
10069        InstControlFlow::Regular,
10070        InstSameRegHint::None,
10071    ), // #371 [ref=1x]
10072    CommonInfo::new(
10073        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10074        0,
10075        547,
10076        1,
10077        InstControlFlow::Regular,
10078        InstSameRegHint::None,
10079    ), // #372 [ref=1x]
10080    CommonInfo::new(
10081        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10082        Avx512Flags::B64.bits() | Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits(),
10083        304,
10084        3,
10085        InstControlFlow::Regular,
10086        InstSameRegHint::WO,
10087    ), // #373 [ref=2x]
10088    CommonInfo::new(
10089        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10090        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10091        151,
10092        3,
10093        InstControlFlow::Regular,
10094        InstSameRegHint::None,
10095    ), // #374 [ref=6x]
10096    CommonInfo::new(
10097        InstFlags::EVEX.bits()
10098            | InstFlags::EVEX_COMPAT.bits()
10099            | InstFlags::PREFER_EVEX.bits()
10100            | InstFlags::VEC.bits()
10101            | InstFlags::VEX.bits(),
10102        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10103        295,
10104        3,
10105        InstControlFlow::Regular,
10106        InstSameRegHint::None,
10107    ), // #375 [ref=4x]
10108    CommonInfo::new(
10109        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10110        0,
10111        299,
10112        1,
10113        InstControlFlow::Regular,
10114        InstSameRegHint::None,
10115    ), // #376 [ref=2x]
10116    CommonInfo::new(
10117        InstFlags::EVEX.bits()
10118            | InstFlags::EVEX_COMPAT.bits()
10119            | InstFlags::VEC.bits()
10120            | InstFlags::VEX.bits(),
10121        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10122        296,
10123        2,
10124        InstControlFlow::Regular,
10125        InstSameRegHint::None,
10126    ), // #377 [ref=2x]
10127    CommonInfo::new(
10128        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10129        0,
10130        260,
10131        4,
10132        InstControlFlow::Regular,
10133        InstSameRegHint::None,
10134    ), // #378 [ref=2x]
10135    CommonInfo::new(
10136        InstFlags::EVEX.bits()
10137            | InstFlags::EVEX_COMPAT.bits()
10138            | InstFlags::VEC.bits()
10139            | InstFlags::VEX.bits(),
10140        Avx512Flags::B64.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10141        123,
10142        8,
10143        InstControlFlow::Regular,
10144        InstSameRegHint::None,
10145    ), // #379 [ref=1x]
10146    CommonInfo::new(
10147        InstFlags::EVEX.bits()
10148            | InstFlags::EVEX_COMPAT.bits()
10149            | InstFlags::VEC.bits()
10150            | InstFlags::VEX.bits(),
10151        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10152        123,
10153        8,
10154        InstControlFlow::Regular,
10155        InstSameRegHint::None,
10156    ), // #380 [ref=1x]
10157    CommonInfo::new(
10158        InstFlags::EVEX.bits()
10159            | InstFlags::EVEX_COMPAT.bits()
10160            | InstFlags::VEC.bits()
10161            | InstFlags::VEX.bits(),
10162        Avx512Flags::B64.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10163        264,
10164        4,
10165        InstControlFlow::Regular,
10166        InstSameRegHint::None,
10167    ), // #381 [ref=2x]
10168    CommonInfo::new(
10169        InstFlags::EVEX.bits()
10170            | InstFlags::EVEX_COMPAT.bits()
10171            | InstFlags::VEC.bits()
10172            | InstFlags::VEX.bits(),
10173        0,
10174        548,
10175        1,
10176        InstControlFlow::Regular,
10177        InstSameRegHint::None,
10178    ), // #382 [ref=1x]
10179    CommonInfo::new(
10180        InstFlags::EVEX.bits()
10181            | InstFlags::EVEX_COMPAT.bits()
10182            | InstFlags::VEC.bits()
10183            | InstFlags::VEX.bits(),
10184        0,
10185        549,
10186        1,
10187        InstControlFlow::Regular,
10188        InstSameRegHint::None,
10189    ), // #383 [ref=1x]
10190    CommonInfo::new(
10191        InstFlags::EVEX.bits()
10192            | InstFlags::EVEX_COMPAT.bits()
10193            | InstFlags::VEC.bits()
10194            | InstFlags::VEX.bits(),
10195        0,
10196        591,
10197        1,
10198        InstControlFlow::Regular,
10199        InstSameRegHint::None,
10200    ), // #384 [ref=1x]
10201    CommonInfo::new(
10202        InstFlags::EVEX.bits()
10203            | InstFlags::EVEX_COMPAT.bits()
10204            | InstFlags::VEC.bits()
10205            | InstFlags::VEX.bits(),
10206        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10207        592,
10208        1,
10209        InstControlFlow::Regular,
10210        InstSameRegHint::None,
10211    ), // #385 [ref=1x]
10212    CommonInfo::new(
10213        InstFlags::EVEX.bits()
10214            | InstFlags::EVEX_COMPAT.bits()
10215            | InstFlags::VEC.bits()
10216            | InstFlags::VEX.bits(),
10217        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10218        593,
10219        1,
10220        InstControlFlow::Regular,
10221        InstSameRegHint::None,
10222    ), // #386 [ref=1x]
10223    CommonInfo::new(
10224        InstFlags::EVEX.bits()
10225            | InstFlags::EVEX_COMPAT.bits()
10226            | InstFlags::VEC.bits()
10227            | InstFlags::VEX.bits(),
10228        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10229        594,
10230        1,
10231        InstControlFlow::Regular,
10232        InstSameRegHint::None,
10233    ), // #387 [ref=1x]
10234    CommonInfo::new(
10235        InstFlags::EVEX.bits()
10236            | InstFlags::EVEX_COMPAT.bits()
10237            | InstFlags::VEC.bits()
10238            | InstFlags::VEX.bits(),
10239        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10240        595,
10241        1,
10242        InstControlFlow::Regular,
10243        InstSameRegHint::None,
10244    ), // #388 [ref=1x]
10245    CommonInfo::new(
10246        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10247        0,
10248        451,
10249        1,
10250        InstControlFlow::Regular,
10251        InstSameRegHint::None,
10252    ), // #389 [ref=12x]
10253    CommonInfo::new(
10254        InstFlags::EVEX.bits()
10255            | InstFlags::EVEX_COMPAT.bits()
10256            | InstFlags::PREFER_EVEX.bits()
10257            | InstFlags::VEC.bits()
10258            | InstFlags::VEX.bits(),
10259        Avx512Flags::B64.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10260        295,
10261        3,
10262        InstControlFlow::Regular,
10263        InstSameRegHint::None,
10264    ), // #390 [ref=2x]
10265    CommonInfo::new(
10266        InstFlags::EVEX.bits()
10267            | InstFlags::EVEX_COMPAT.bits()
10268            | InstFlags::VEC.bits()
10269            | InstFlags::VEX.bits(),
10270        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10271        295,
10272        3,
10273        InstControlFlow::Regular,
10274        InstSameRegHint::RO,
10275    ), // #391 [ref=8x]
10276    CommonInfo::new(
10277        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10278        0,
10279        596,
10280        1,
10281        InstControlFlow::Regular,
10282        InstSameRegHint::None,
10283    ), // #392 [ref=4x]
10284    CommonInfo::new(
10285        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10286        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10287        334,
10288        3,
10289        InstControlFlow::Regular,
10290        InstSameRegHint::None,
10291    ), // #393 [ref=6x]
10292    CommonInfo::new(
10293        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10294        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10295        337,
10296        3,
10297        InstControlFlow::Regular,
10298        InstSameRegHint::None,
10299    ), // #394 [ref=9x]
10300    CommonInfo::new(
10301        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10302        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10303        340,
10304        3,
10305        InstControlFlow::Regular,
10306        InstSameRegHint::None,
10307    ), // #395 [ref=3x]
10308    CommonInfo::new(
10309        InstFlags::EVEX.bits()
10310            | InstFlags::EVEX_COMPAT.bits()
10311            | InstFlags::VEC.bits()
10312            | InstFlags::VEX.bits(),
10313        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10314        313,
10315        3,
10316        InstControlFlow::Regular,
10317        InstSameRegHint::None,
10318    ), // #396 [ref=4x]
10319    CommonInfo::new(
10320        InstFlags::EVEX.bits()
10321            | InstFlags::EVEX_COMPAT.bits()
10322            | InstFlags::VEC.bits()
10323            | InstFlags::VEX.bits(),
10324        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10325        343,
10326        3,
10327        InstControlFlow::Regular,
10328        InstSameRegHint::None,
10329    ), // #397 [ref=2x]
10330    CommonInfo::new(
10331        InstFlags::EVEX.bits()
10332            | InstFlags::EVEX_COMPAT.bits()
10333            | InstFlags::VEC.bits()
10334            | InstFlags::VEX.bits(),
10335        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10336        310,
10337        3,
10338        InstControlFlow::Regular,
10339        InstSameRegHint::None,
10340    ), // #398 [ref=6x]
10341    CommonInfo::new(
10342        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10343        0,
10344        256,
10345        2,
10346        InstControlFlow::Regular,
10347        InstSameRegHint::None,
10348    ), // #399 [ref=1x]
10349    CommonInfo::new(
10350        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10351        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10352        322,
10353        3,
10354        InstControlFlow::Regular,
10355        InstSameRegHint::None,
10356    ), // #400 [ref=3x]
10357    CommonInfo::new(
10358        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10359        Avx512Flags::B64.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10360        322,
10361        3,
10362        InstControlFlow::Regular,
10363        InstSameRegHint::None,
10364    ), // #401 [ref=3x]
10365    CommonInfo::new(
10366        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10367        0,
10368        479,
10369        2,
10370        InstControlFlow::Regular,
10371        InstSameRegHint::None,
10372    ), // #402 [ref=4x]
10373    CommonInfo::new(
10374        InstFlags::EVEX.bits() | InstFlags::VEC.bits() | InstFlags::VSIB.bits(),
10375        Avx512Flags::K.bits(),
10376        346,
10377        3,
10378        InstControlFlow::Regular,
10379        InstSameRegHint::None,
10380    ), // #403 [ref=2x]
10381    CommonInfo::new(
10382        InstFlags::EVEX.bits() | InstFlags::VEC.bits() | InstFlags::VSIB.bits(),
10383        Avx512Flags::K.bits(),
10384        481,
10385        2,
10386        InstControlFlow::Regular,
10387        InstSameRegHint::None,
10388    ), // #404 [ref=2x]
10389    CommonInfo::new(
10390        InstFlags::EVEX.bits() | InstFlags::VEC.bits() | InstFlags::VSIB.bits(),
10391        Avx512Flags::K.bits(),
10392        483,
10393        2,
10394        InstControlFlow::Regular,
10395        InstSameRegHint::None,
10396    ), // #405 [ref=2x]
10397    CommonInfo::new(
10398        InstFlags::EVEX.bits() | InstFlags::VEC.bits() | InstFlags::VSIB.bits(),
10399        Avx512Flags::K.bits(),
10400        349,
10401        3,
10402        InstControlFlow::Regular,
10403        InstSameRegHint::None,
10404    ), // #406 [ref=2x]
10405    CommonInfo::new(
10406        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10407        0,
10408        485,
10409        2,
10410        InstControlFlow::Regular,
10411        InstSameRegHint::None,
10412    ), // #407 [ref=8x]
10413    CommonInfo::new(
10414        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10415        Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits(),
10416        352,
10417        3,
10418        InstControlFlow::Regular,
10419        InstSameRegHint::None,
10420    ), // #408 [ref=5x]
10421    CommonInfo::new(
10422        InstFlags::EVEX.bits()
10423            | InstFlags::EVEX_COMPAT.bits()
10424            | InstFlags::VEC.bits()
10425            | InstFlags::VEX.bits(),
10426        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10427        322,
10428        3,
10429        InstControlFlow::Regular,
10430        InstSameRegHint::None,
10431    ), // #409 [ref=1x]
10432    CommonInfo::new(
10433        InstFlags::EVEX.bits()
10434            | InstFlags::EVEX_COMPAT.bits()
10435            | InstFlags::VEC.bits()
10436            | InstFlags::VEX.bits(),
10437        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10438        322,
10439        3,
10440        InstControlFlow::Regular,
10441        InstSameRegHint::None,
10442    ), // #410 [ref=2x]
10443    CommonInfo::new(
10444        InstFlags::EVEX.bits()
10445            | InstFlags::EVEX_COMPAT.bits()
10446            | InstFlags::VEC.bits()
10447            | InstFlags::VEX.bits(),
10448        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10449        157,
10450        6,
10451        InstControlFlow::Regular,
10452        InstSameRegHint::None,
10453    ), // #411 [ref=3x]
10454    CommonInfo::new(
10455        InstFlags::EVEX.bits()
10456            | InstFlags::EVEX_COMPAT.bits()
10457            | InstFlags::VEC.bits()
10458            | InstFlags::VEX.bits(),
10459        0,
10460        322,
10461        3,
10462        InstControlFlow::Regular,
10463        InstSameRegHint::None,
10464    ), // #412 [ref=2x]
10465    CommonInfo::new(
10466        InstFlags::EVEX.bits()
10467            | InstFlags::EVEX_COMPAT.bits()
10468            | InstFlags::VEC.bits()
10469            | InstFlags::VEX.bits(),
10470        Avx512Flags::B64.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10471        157,
10472        6,
10473        InstControlFlow::Regular,
10474        InstSameRegHint::None,
10475    ), // #413 [ref=2x]
10476    CommonInfo::new(
10477        InstFlags::EVEX.bits()
10478            | InstFlags::EVEX_COMPAT.bits()
10479            | InstFlags::VEC.bits()
10480            | InstFlags::VEX.bits(),
10481        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10482        157,
10483        6,
10484        InstControlFlow::Regular,
10485        InstSameRegHint::None,
10486    ), // #414 [ref=3x]
10487    CommonInfo::new(
10488        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10489        Avx512Flags::B64.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10490        157,
10491        6,
10492        InstControlFlow::Regular,
10493        InstSameRegHint::None,
10494    ), // #415 [ref=1x]
10495    CommonInfo::new(
10496        InstFlags::EVEX.bits()
10497            | InstFlags::EVEX_COMPAT.bits()
10498            | InstFlags::VEC.bits()
10499            | InstFlags::VEX.bits(),
10500        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10501        295,
10502        3,
10503        InstControlFlow::Regular,
10504        InstSameRegHint::WO,
10505    ), // #416 [ref=6x]
10506    CommonInfo::new(
10507        InstFlags::EVEX.bits()
10508            | InstFlags::EVEX_COMPAT.bits()
10509            | InstFlags::VEC.bits()
10510            | InstFlags::VEX.bits(),
10511        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10512        295,
10513        3,
10514        InstControlFlow::Regular,
10515        InstSameRegHint::WO,
10516    ), // #417 [ref=2x]
10517    CommonInfo::new(
10518        InstFlags::EVEX.bits()
10519            | InstFlags::EVEX_COMPAT.bits()
10520            | InstFlags::VEC.bits()
10521            | InstFlags::VEX.bits(),
10522        Avx512Flags::B64.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10523        295,
10524        3,
10525        InstControlFlow::Regular,
10526        InstSameRegHint::WO,
10527    ), // #418 [ref=2x]
10528    CommonInfo::new(
10529        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10530        Avx512Flags::B32.bits() | Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits(),
10531        352,
10532        3,
10533        InstControlFlow::Regular,
10534        InstSameRegHint::None,
10535    ), // #419 [ref=2x]
10536    CommonInfo::new(
10537        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10538        Avx512Flags::B64.bits() | Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits(),
10539        352,
10540        3,
10541        InstControlFlow::Regular,
10542        InstSameRegHint::None,
10543    ), // #420 [ref=2x]
10544    CommonInfo::new(
10545        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10546        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10547        564,
10548        1,
10549        InstControlFlow::Regular,
10550        InstSameRegHint::None,
10551    ), // #421 [ref=2x]
10552    CommonInfo::new(
10553        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10554        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10555        566,
10556        1,
10557        InstControlFlow::Regular,
10558        InstSameRegHint::None,
10559    ), // #422 [ref=2x]
10560    CommonInfo::new(
10561        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10562        Avx512Flags::B16.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10563        151,
10564        3,
10565        InstControlFlow::Regular,
10566        InstSameRegHint::None,
10567    ), // #423 [ref=2x]
10568    CommonInfo::new(
10569        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10570        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10571        565,
10572        1,
10573        InstControlFlow::Regular,
10574        InstSameRegHint::None,
10575    ), // #424 [ref=2x]
10576    CommonInfo::new(
10577        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10578        0,
10579        566,
10580        1,
10581        InstControlFlow::Regular,
10582        InstSameRegHint::None,
10583    ), // #425 [ref=2x]
10584    CommonInfo::new(
10585        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10586        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10587        578,
10588        1,
10589        InstControlFlow::Regular,
10590        InstSameRegHint::None,
10591    ), // #426 [ref=1x]
10592    CommonInfo::new(
10593        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10594        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10595        579,
10596        1,
10597        InstControlFlow::Regular,
10598        InstSameRegHint::None,
10599    ), // #427 [ref=1x]
10600    CommonInfo::new(
10601        InstFlags::EVEX_TRANSFORMABLE.bits() | InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10602        0,
10603        322,
10604        2,
10605        InstControlFlow::Regular,
10606        InstSameRegHint::None,
10607    ), // #428 [ref=2x]
10608    CommonInfo::new(
10609        InstFlags::EVEX_TRANSFORMABLE.bits() | InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10610        0,
10611        578,
10612        1,
10613        InstControlFlow::Regular,
10614        InstSameRegHint::None,
10615    ), // #429 [ref=1x]
10616    CommonInfo::new(
10617        InstFlags::EVEX_TRANSFORMABLE.bits() | InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10618        0,
10619        579,
10620        1,
10621        InstControlFlow::Regular,
10622        InstSameRegHint::None,
10623    ), // #430 [ref=1x]
10624    CommonInfo::new(
10625        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10626        Avx512Flags::B64.bits()
10627            | Avx512Flags::ER.bits()
10628            | Avx512Flags::K.bits()
10629            | Avx512Flags::SAE.bits()
10630            | Avx512Flags::Z.bits(),
10631        295,
10632        3,
10633        InstControlFlow::Regular,
10634        InstSameRegHint::None,
10635    ), // #431 [ref=1x]
10636    CommonInfo::new(
10637        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10638        0,
10639        597,
10640        1,
10641        InstControlFlow::Regular,
10642        InstSameRegHint::None,
10643    ), // #432 [ref=1x]
10644    CommonInfo::new(
10645        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10646        0,
10647        598,
10648        1,
10649        InstControlFlow::Regular,
10650        InstSameRegHint::None,
10651    ), // #433 [ref=1x]
10652    CommonInfo::new(
10653        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10654        0,
10655        599,
10656        1,
10657        InstControlFlow::Regular,
10658        InstSameRegHint::None,
10659    ), // #434 [ref=1x]
10660    CommonInfo::new(
10661        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10662        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10663        299,
10664        2,
10665        InstControlFlow::Regular,
10666        InstSameRegHint::None,
10667    ), // #435 [ref=2x]
10668    CommonInfo::new(
10669        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10670        Avx512Flags::B64.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10671        299,
10672        2,
10673        InstControlFlow::Regular,
10674        InstSameRegHint::None,
10675    ), // #436 [ref=2x]
10676    CommonInfo::new(
10677        InstFlags::EVEX.bits()
10678            | InstFlags::EVEX_COMPAT.bits()
10679            | InstFlags::VEC.bits()
10680            | InstFlags::VEX.bits(),
10681        Avx512Flags::B64.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10682        298,
10683        3,
10684        InstControlFlow::Regular,
10685        InstSameRegHint::None,
10686    ), // #437 [ref=1x]
10687    CommonInfo::new(
10688        InstFlags::EVEX.bits()
10689            | InstFlags::EVEX_COMPAT.bits()
10690            | InstFlags::VEC.bits()
10691            | InstFlags::VEX.bits(),
10692        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10693        298,
10694        3,
10695        InstControlFlow::Regular,
10696        InstSameRegHint::None,
10697    ), // #438 [ref=1x]
10698    CommonInfo::new(
10699        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10700        0,
10701        295,
10702        1,
10703        InstControlFlow::Regular,
10704        InstSameRegHint::None,
10705    ), // #439 [ref=2x]
10706    CommonInfo::new(
10707        InstFlags::EVEX.bits()
10708            | InstFlags::EVEX_COMPAT.bits()
10709            | InstFlags::VEC.bits()
10710            | InstFlags::VEX.bits(),
10711        Avx512Flags::B64.bits()
10712            | Avx512Flags::ER.bits()
10713            | Avx512Flags::K.bits()
10714            | Avx512Flags::SAE.bits()
10715            | Avx512Flags::Z.bits(),
10716        151,
10717        3,
10718        InstControlFlow::Regular,
10719        InstSameRegHint::None,
10720    ), // #440 [ref=1x]
10721    CommonInfo::new(
10722        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10723        0,
10724        145,
10725        1,
10726        InstControlFlow::Regular,
10727        InstSameRegHint::None,
10728    ), // #441 [ref=2x]
10729    CommonInfo::new(
10730        0,
10731        0,
10732        143,
10733        1,
10734        InstControlFlow::Regular,
10735        InstSameRegHint::None,
10736    ), // #442 [ref=2x]
10737    CommonInfo::new(0, 0, 42, 1, InstControlFlow::Regular, InstSameRegHint::None), // #443 [ref=2x]
10738    CommonInfo::new(
10739        InstFlags::LOCK.bits() | InstFlags::X_ACQUIRE.bits() | InstFlags::X_RELEASE.bits(),
10740        0,
10741        20,
10742        4,
10743        InstControlFlow::Regular,
10744        InstSameRegHint::None,
10745    ), // #444 [ref=1x]
10746    CommonInfo::new(
10747        0,
10748        0,
10749        269,
10750        1,
10751        InstControlFlow::Regular,
10752        InstSameRegHint::None,
10753    ), // #445 [ref=1x]
10754    CommonInfo::new(
10755        InstFlags::X_ACQUIRE.bits(),
10756        0,
10757        131,
10758        8,
10759        InstControlFlow::Regular,
10760        InstSameRegHint::RO,
10761    ), // #446 [ref=1x]
10762    CommonInfo::new(
10763        0,
10764        0,
10765        600,
10766        1,
10767        InstControlFlow::Regular,
10768        InstSameRegHint::None,
10769    ), // #447 [ref=6x]
10770    CommonInfo::new(
10771        0,
10772        0,
10773        601,
10774        1,
10775        InstControlFlow::Regular,
10776        InstSameRegHint::None,
10777    ), // #448 [ref=6x]
10778];
10779
10780/// CPU feature requirements and RW flag indexes, indexed by [`InstInfo::additional_info_index`].
10781pub static ADDITIONAL_INFO_TABLE: &[AdditionalInfo] = &[
10782    AdditionalInfo::new(0, 0, [0, 0, 0, 0, 0, 0]), // #0 [ref=68x]
10783    AdditionalInfo::new(0, 1, [0, 0, 0, 0, 0, 0]), // #1 [ref=31x]
10784    AdditionalInfo::new(0, 0, [CpuFeature::RAO_INT as u8, 0, 0, 0, 0, 0]), // #2 [ref=4x]
10785    AdditionalInfo::new(0, 2, [0, 0, 0, 0, 0, 0]), // #3 [ref=2x]
10786    AdditionalInfo::new(0, 3, [CpuFeature::ADX as u8, 0, 0, 0, 0, 0]), // #4 [ref=1x]
10787    AdditionalInfo::new(0, 0, [CpuFeature::SSE2 as u8, 0, 0, 0, 0, 0]), // #5 [ref=60x]
10788    AdditionalInfo::new(0, 0, [CpuFeature::SSE as u8, 0, 0, 0, 0, 0]), // #6 [ref=46x]
10789    AdditionalInfo::new(0, 0, [CpuFeature::SSE3 as u8, 0, 0, 0, 0, 0]), // #7 [ref=10x]
10790    AdditionalInfo::new(0, 4, [CpuFeature::ADX as u8, 0, 0, 0, 0, 0]), // #8 [ref=1x]
10791    AdditionalInfo::new(0, 0, [CpuFeature::AESNI as u8, 0, 0, 0, 0, 0]), // #9 [ref=6x]
10792    AdditionalInfo::new(0, 1, [CpuFeature::BMI as u8, 0, 0, 0, 0, 0]), // #10 [ref=6x]
10793    AdditionalInfo::new(0, 5, [0, 0, 0, 0, 0, 0]), // #11 [ref=5x]
10794    AdditionalInfo::new(0, 0, [CpuFeature::TBM as u8, 0, 0, 0, 0, 0]), // #12 [ref=9x]
10795    AdditionalInfo::new(0, 0, [CpuFeature::SSE4_1 as u8, 0, 0, 0, 0, 0]), // #13 [ref=47x]
10796    AdditionalInfo::new(0, 0, [CpuFeature::MPX as u8, 0, 0, 0, 0, 0]), // #14 [ref=7x]
10797    AdditionalInfo::new(0, 6, [0, 0, 0, 0, 0, 0]), // #15 [ref=4x]
10798    AdditionalInfo::new(0, 1, [CpuFeature::BMI2 as u8, 0, 0, 0, 0, 0]), // #16 [ref=1x]
10799    AdditionalInfo::new(0, 7, [CpuFeature::SMAP as u8, 0, 0, 0, 0, 0]), // #17 [ref=2x]
10800    AdditionalInfo::new(0, 8, [0, 0, 0, 0, 0, 0]), // #18 [ref=2x]
10801    AdditionalInfo::new(0, 9, [0, 0, 0, 0, 0, 0]), // #19 [ref=2x]
10802    AdditionalInfo::new(0, 0, [CpuFeature::CLDEMOTE as u8, 0, 0, 0, 0, 0]), // #20 [ref=1x]
10803    AdditionalInfo::new(0, 0, [CpuFeature::CLFLUSH as u8, 0, 0, 0, 0, 0]), // #21 [ref=1x]
10804    AdditionalInfo::new(0, 0, [CpuFeature::CLFLUSHOPT as u8, 0, 0, 0, 0, 0]), // #22 [ref=1x]
10805    AdditionalInfo::new(0, 0, [CpuFeature::SVM as u8, 0, 0, 0, 0, 0]), // #23 [ref=6x]
10806    AdditionalInfo::new(0, 10, [0, 0, 0, 0, 0, 0]), // #24 [ref=2x]
10807    AdditionalInfo::new(0, 1, [CpuFeature::CET_SS as u8, 0, 0, 0, 0, 0]), // #25 [ref=3x]
10808    AdditionalInfo::new(0, 0, [CpuFeature::UINTR as u8, 0, 0, 0, 0, 0]), // #26 [ref=4x]
10809    AdditionalInfo::new(0, 0, [CpuFeature::CLWB as u8, 0, 0, 0, 0, 0]), // #27 [ref=1x]
10810    AdditionalInfo::new(0, 0, [CpuFeature::CLZERO as u8, 0, 0, 0, 0, 0]), // #28 [ref=1x]
10811    AdditionalInfo::new(0, 3, [0, 0, 0, 0, 0, 0]), // #29 [ref=1x]
10812    AdditionalInfo::new(0, 11, [CpuFeature::CMOV as u8, 0, 0, 0, 0, 0]), // #30 [ref=2x]
10813    AdditionalInfo::new(0, 12, [CpuFeature::CMOV as u8, 0, 0, 0, 0, 0]), // #31 [ref=2x]
10814    AdditionalInfo::new(0, 13, [CpuFeature::CMOV as u8, 0, 0, 0, 0, 0]), // #32 [ref=2x]
10815    AdditionalInfo::new(0, 14, [CpuFeature::CMOV as u8, 0, 0, 0, 0, 0]), // #33 [ref=2x]
10816    AdditionalInfo::new(0, 15, [CpuFeature::CMOV as u8, 0, 0, 0, 0, 0]), // #34 [ref=2x]
10817    AdditionalInfo::new(0, 16, [CpuFeature::CMOV as u8, 0, 0, 0, 0, 0]), // #35 [ref=2x]
10818    AdditionalInfo::new(0, 17, [CpuFeature::CMOV as u8, 0, 0, 0, 0, 0]), // #36 [ref=2x]
10819    AdditionalInfo::new(0, 18, [CpuFeature::CMOV as u8, 0, 0, 0, 0, 0]), // #37 [ref=2x]
10820    AdditionalInfo::new(0, 1, [CpuFeature::CMPCCXADD as u8, 0, 0, 0, 0, 0]), // #38 [ref=16x]
10821    AdditionalInfo::new(0, 19, [0, 0, 0, 0, 0, 0]), // #39 [ref=2x]
10822    AdditionalInfo::new(0, 1, [CpuFeature::I486 as u8, 0, 0, 0, 0, 0]), // #40 [ref=2x]
10823    AdditionalInfo::new(0, 5, [CpuFeature::CMPXCHG16B as u8, 0, 0, 0, 0, 0]), // #41 [ref=1x]
10824    AdditionalInfo::new(0, 5, [CpuFeature::CMPXCHG8B as u8, 0, 0, 0, 0, 0]), // #42 [ref=1x]
10825    AdditionalInfo::new(0, 1, [CpuFeature::SSE2 as u8, 0, 0, 0, 0, 0]), // #43 [ref=2x]
10826    AdditionalInfo::new(0, 1, [CpuFeature::SSE as u8, 0, 0, 0, 0, 0]), // #44 [ref=2x]
10827    AdditionalInfo::new(0, 0, [CpuFeature::I486 as u8, 0, 0, 0, 0, 0]), // #45 [ref=5x]
10828    AdditionalInfo::new(0, 0, [CpuFeature::SSE4_2 as u8, 0, 0, 0, 0, 0]), // #46 [ref=2x]
10829    AdditionalInfo::new(0, 20, [0, 0, 0, 0, 0, 0]), // #47 [ref=2x]
10830    AdditionalInfo::new(0, 0, [CpuFeature::MMX as u8, 0, 0, 0, 0, 0]), // #48 [ref=1x]
10831    AdditionalInfo::new(0, 0, [CpuFeature::CET_IBT as u8, 0, 0, 0, 0, 0]), // #49 [ref=2x]
10832    AdditionalInfo::new(0, 1, [CpuFeature::ENQCMD as u8, 0, 0, 0, 0, 0]), // #50 [ref=2x]
10833    AdditionalInfo::new(0, 0, [CpuFeature::SSE4A as u8, 0, 0, 0, 0, 0]), // #51 [ref=4x]
10834    AdditionalInfo::new(0, 21, [CpuFeature::FPU as u8, 0, 0, 0, 0, 0]), // #52 [ref=80x]
10835    AdditionalInfo::new(
10836        0,
10837        22,
10838        [CpuFeature::CMOV as u8, CpuFeature::FPU as u8, 0, 0, 0, 0],
10839    ), // #53 [ref=2x]
10840    AdditionalInfo::new(
10841        0,
10842        23,
10843        [CpuFeature::CMOV as u8, CpuFeature::FPU as u8, 0, 0, 0, 0],
10844    ), // #54 [ref=2x]
10845    AdditionalInfo::new(
10846        0,
10847        24,
10848        [CpuFeature::CMOV as u8, CpuFeature::FPU as u8, 0, 0, 0, 0],
10849    ), // #55 [ref=2x]
10850    AdditionalInfo::new(
10851        0,
10852        25,
10853        [CpuFeature::CMOV as u8, CpuFeature::FPU as u8, 0, 0, 0, 0],
10854    ), // #56 [ref=2x]
10855    AdditionalInfo::new(0, 26, [CpuFeature::FPU as u8, 0, 0, 0, 0, 0]), // #57 [ref=4x]
10856    AdditionalInfo::new(0, 0, [CpuFeature::_3DNOW as u8, 0, 0, 0, 0, 0]), // #58 [ref=21x]
10857    AdditionalInfo::new(
10858        0,
10859        21,
10860        [CpuFeature::SSE3 as u8, CpuFeature::FPU as u8, 0, 0, 0, 0],
10861    ), // #59 [ref=1x]
10862    AdditionalInfo::new(0, 21, [CpuFeature::FXSR as u8, 0, 0, 0, 0, 0]), // #60 [ref=2x]
10863    AdditionalInfo::new(0, 27, [CpuFeature::FXSR as u8, 0, 0, 0, 0, 0]), // #61 [ref=2x]
10864    AdditionalInfo::new(0, 0, [CpuFeature::SMX as u8, 0, 0, 0, 0, 0]), // #62 [ref=1x]
10865    AdditionalInfo::new(0, 0, [CpuFeature::GFNI as u8, 0, 0, 0, 0, 0]), // #63 [ref=3x]
10866    AdditionalInfo::new(0, 0, [CpuFeature::HRESET as u8, 0, 0, 0, 0, 0]), // #64 [ref=1x]
10867    AdditionalInfo::new(0, 0, [CpuFeature::CET_SS as u8, 0, 0, 0, 0, 0]), // #65 [ref=9x]
10868    AdditionalInfo::new(0, 15, [0, 0, 0, 0, 0, 0]), // #66 [ref=5x]
10869    AdditionalInfo::new(0, 0, [CpuFeature::VMX as u8, 0, 0, 0, 0, 0]), // #67 [ref=13x]
10870    AdditionalInfo::new(0, 0, [CpuFeature::INVLPGB as u8, 0, 0, 0, 0, 0]), // #68 [ref=2x]
10871    AdditionalInfo::new(0, 11, [0, 0, 0, 0, 0, 0]), // #69 [ref=4x]
10872    AdditionalInfo::new(0, 12, [0, 0, 0, 0, 0, 0]), // #70 [ref=4x]
10873    AdditionalInfo::new(0, 13, [0, 0, 0, 0, 0, 0]), // #71 [ref=4x]
10874    AdditionalInfo::new(0, 14, [0, 0, 0, 0, 0, 0]), // #72 [ref=4x]
10875    AdditionalInfo::new(0, 16, [0, 0, 0, 0, 0, 0]), // #73 [ref=4x]
10876    AdditionalInfo::new(0, 17, [0, 0, 0, 0, 0, 0]), // #74 [ref=4x]
10877    AdditionalInfo::new(0, 18, [0, 0, 0, 0, 0, 0]), // #75 [ref=6x]
10878    AdditionalInfo::new(0, 0, [CpuFeature::AVX512_DQ as u8, 0, 0, 0, 0, 0]), // #76 [ref=10x]
10879    AdditionalInfo::new(0, 0, [CpuFeature::AVX512_BW as u8, 0, 0, 0, 0, 0]), // #77 [ref=20x]
10880    AdditionalInfo::new(0, 0, [CpuFeature::AVX512_F as u8, 0, 0, 0, 0, 0]), // #78 [ref=9x]
10881    AdditionalInfo::new(1, 0, [CpuFeature::AVX512_DQ as u8, 0, 0, 0, 0, 0]), // #79 [ref=1x]
10882    AdditionalInfo::new(1, 0, [CpuFeature::AVX512_BW as u8, 0, 0, 0, 0, 0]), // #80 [ref=2x]
10883    AdditionalInfo::new(1, 0, [CpuFeature::AVX512_F as u8, 0, 0, 0, 0, 0]), // #81 [ref=1x]
10884    AdditionalInfo::new(0, 1, [CpuFeature::AVX512_DQ as u8, 0, 0, 0, 0, 0]), // #82 [ref=3x]
10885    AdditionalInfo::new(0, 1, [CpuFeature::AVX512_BW as u8, 0, 0, 0, 0, 0]), // #83 [ref=4x]
10886    AdditionalInfo::new(0, 1, [CpuFeature::AVX512_F as u8, 0, 0, 0, 0, 0]), // #84 [ref=1x]
10887    AdditionalInfo::new(0, 28, [CpuFeature::LAHFSAHF as u8, 0, 0, 0, 0, 0]), // #85 [ref=1x]
10888    AdditionalInfo::new(0, 0, [CpuFeature::AMX_TILE as u8, 0, 0, 0, 0, 0]), // #86 [ref=7x]
10889    AdditionalInfo::new(0, 0, [CpuFeature::LWP as u8, 0, 0, 0, 0, 0]), // #87 [ref=4x]
10890    AdditionalInfo::new(0, 29, [0, 0, 0, 0, 0, 0]), // #88 [ref=3x]
10891    AdditionalInfo::new(0, 1, [CpuFeature::LZCNT as u8, 0, 0, 0, 0, 0]), // #89 [ref=1x]
10892    AdditionalInfo::new(0, 0, [CpuFeature::MMX2 as u8, 0, 0, 0, 0, 0]), // #90 [ref=3x]
10893    AdditionalInfo::new(0, 1, [CpuFeature::MCOMMIT as u8, 0, 0, 0, 0, 0]), // #91 [ref=1x]
10894    AdditionalInfo::new(0, 0, [CpuFeature::MONITOR as u8, 0, 0, 0, 0, 0]), // #92 [ref=2x]
10895    AdditionalInfo::new(0, 0, [CpuFeature::MONITORX as u8, 0, 0, 0, 0, 0]), // #93 [ref=2x]
10896    AdditionalInfo::new(1, 0, [0, 0, 0, 0, 0, 0]), // #94 [ref=1x]
10897    AdditionalInfo::new(1, 0, [CpuFeature::SSE2 as u8, 0, 0, 0, 0, 0]), // #95 [ref=5x]
10898    AdditionalInfo::new(1, 0, [CpuFeature::SSE as u8, 0, 0, 0, 0, 0]), // #96 [ref=3x]
10899    AdditionalInfo::new(0, 0, [CpuFeature::MOVBE as u8, 0, 0, 0, 0, 0]), // #97 [ref=1x]
10900    AdditionalInfo::new(
10901        0,
10902        0,
10903        [CpuFeature::MMX as u8, CpuFeature::SSE2 as u8, 0, 0, 0, 0],
10904    ), // #98 [ref=45x]
10905    AdditionalInfo::new(0, 0, [CpuFeature::MOVDIR64B as u8, 0, 0, 0, 0, 0]), // #99 [ref=1x]
10906    AdditionalInfo::new(0, 0, [CpuFeature::MOVDIRI as u8, 0, 0, 0, 0, 0]), // #100 [ref=1x]
10907    AdditionalInfo::new(
10908        1,
10909        0,
10910        [CpuFeature::MMX as u8, CpuFeature::SSE2 as u8, 0, 0, 0, 0],
10911    ), // #101 [ref=1x]
10912    AdditionalInfo::new(0, 0, [CpuFeature::BMI2 as u8, 0, 0, 0, 0, 0]), // #102 [ref=7x]
10913    AdditionalInfo::new(0, 0, [CpuFeature::SSSE3 as u8, 0, 0, 0, 0, 0]), // #103 [ref=16x]
10914    AdditionalInfo::new(
10915        0,
10916        0,
10917        [CpuFeature::MMX2 as u8, CpuFeature::SSE2 as u8, 0, 0, 0, 0],
10918    ), // #104 [ref=10x]
10919    AdditionalInfo::new(0, 0, [CpuFeature::PCLMULQDQ as u8, 0, 0, 0, 0, 0]), // #105 [ref=1x]
10920    AdditionalInfo::new(0, 1, [CpuFeature::SSE4_2 as u8, 0, 0, 0, 0, 0]), // #106 [ref=4x]
10921    AdditionalInfo::new(0, 0, [CpuFeature::PCONFIG as u8, 0, 0, 0, 0, 0]), // #107 [ref=1x]
10922    AdditionalInfo::new(
10923        0,
10924        0,
10925        [
10926            CpuFeature::MMX2 as u8,
10927            CpuFeature::SSE2 as u8,
10928            CpuFeature::SSE4_1 as u8,
10929            0,
10930            0,
10931            0,
10932        ],
10933    ), // #108 [ref=1x]
10934    AdditionalInfo::new(0, 0, [CpuFeature::_3DNOW2 as u8, 0, 0, 0, 0, 0]), // #109 [ref=5x]
10935    AdditionalInfo::new(0, 0, [CpuFeature::GEODE as u8, 0, 0, 0, 0, 0]), // #110 [ref=2x]
10936    AdditionalInfo::new(0, 1, [CpuFeature::POPCNT as u8, 0, 0, 0, 0, 0]), // #111 [ref=1x]
10937    AdditionalInfo::new(0, 30, [0, 0, 0, 0, 0, 0]), // #112 [ref=3x]
10938    AdditionalInfo::new(0, 0, [CpuFeature::PREFETCHI as u8, 0, 0, 0, 0, 0]), // #113 [ref=2x]
10939    AdditionalInfo::new(0, 1, [CpuFeature::PREFETCHW as u8, 0, 0, 0, 0, 0]), // #114 [ref=1x]
10940    AdditionalInfo::new(0, 1, [CpuFeature::PREFETCHWT1 as u8, 0, 0, 0, 0, 0]), // #115 [ref=1x]
10941    AdditionalInfo::new(0, 20, [CpuFeature::SEV_SNP as u8, 0, 0, 0, 0, 0]), // #116 [ref=3x]
10942    AdditionalInfo::new(0, 1, [CpuFeature::SSE4_1 as u8, 0, 0, 0, 0, 0]), // #117 [ref=1x]
10943    AdditionalInfo::new(0, 0, [CpuFeature::PTWRITE as u8, 0, 0, 0, 0, 0]), // #118 [ref=1x]
10944    AdditionalInfo::new(0, 31, [0, 0, 0, 0, 0, 0]), // #119 [ref=3x]
10945    AdditionalInfo::new(0, 1, [CpuFeature::SEV_SNP as u8, 0, 0, 0, 0, 0]), // #120 [ref=1x]
10946    AdditionalInfo::new(0, 32, [0, 0, 0, 0, 0, 0]), // #121 [ref=2x]
10947    AdditionalInfo::new(0, 0, [CpuFeature::FSGSBASE as u8, 0, 0, 0, 0, 0]), // #122 [ref=4x]
10948    AdditionalInfo::new(
10949        0,
10950        0,
10951        [CpuFeature::MSR as u8, CpuFeature::MSR_IMM as u8, 0, 0, 0, 0],
10952    ), // #123 [ref=1x]
10953    AdditionalInfo::new(0, 0, [CpuFeature::RDPID as u8, 0, 0, 0, 0, 0]), // #124 [ref=1x]
10954    AdditionalInfo::new(0, 0, [CpuFeature::OSPKE as u8, 0, 0, 0, 0, 0]), // #125 [ref=1x]
10955    AdditionalInfo::new(0, 0, [CpuFeature::RDPRU as u8, 0, 0, 0, 0, 0]), // #126 [ref=1x]
10956    AdditionalInfo::new(0, 1, [CpuFeature::RDRAND as u8, 0, 0, 0, 0, 0]), // #127 [ref=1x]
10957    AdditionalInfo::new(0, 1, [CpuFeature::RDSEED as u8, 0, 0, 0, 0, 0]), // #128 [ref=1x]
10958    AdditionalInfo::new(0, 0, [CpuFeature::RDTSC as u8, 0, 0, 0, 0, 0]), // #129 [ref=1x]
10959    AdditionalInfo::new(0, 0, [CpuFeature::RDTSCP as u8, 0, 0, 0, 0, 0]), // #130 [ref=1x]
10960    AdditionalInfo::new(0, 33, [0, 0, 0, 0, 0, 0]), // #131 [ref=2x]
10961    AdditionalInfo::new(0, 34, [CpuFeature::LAHFSAHF as u8, 0, 0, 0, 0, 0]), // #132 [ref=1x]
10962    AdditionalInfo::new(0, 0, [CpuFeature::SEAM as u8, 0, 0, 0, 0, 0]), // #133 [ref=4x]
10963    AdditionalInfo::new(0, 0, [CpuFeature::SERIALIZE as u8, 0, 0, 0, 0, 0]), // #134 [ref=1x]
10964    AdditionalInfo::new(0, 0, [CpuFeature::SHA as u8, 0, 0, 0, 0, 0]), // #135 [ref=7x]
10965    AdditionalInfo::new(0, 0, [CpuFeature::SKINIT as u8, 0, 0, 0, 0, 0]), // #136 [ref=2x]
10966    AdditionalInfo::new(0, 0, [CpuFeature::AMX_COMPLEX as u8, 0, 0, 0, 0, 0]), // #137 [ref=2x]
10967    AdditionalInfo::new(0, 0, [CpuFeature::AMX_BF16 as u8, 0, 0, 0, 0, 0]), // #138 [ref=1x]
10968    AdditionalInfo::new(0, 0, [CpuFeature::AMX_INT8 as u8, 0, 0, 0, 0, 0]), // #139 [ref=4x]
10969    AdditionalInfo::new(0, 0, [CpuFeature::AMX_FP16 as u8, 0, 0, 0, 0, 0]), // #140 [ref=1x]
10970    AdditionalInfo::new(0, 1, [CpuFeature::UINTR as u8, 0, 0, 0, 0, 0]), // #141 [ref=1x]
10971    AdditionalInfo::new(0, 1, [CpuFeature::WAITPKG as u8, 0, 0, 0, 0, 0]), // #142 [ref=2x]
10972    AdditionalInfo::new(0, 0, [CpuFeature::WAITPKG as u8, 0, 0, 0, 0, 0]), // #143 [ref=1x]
10973    AdditionalInfo::new(
10974        0,
10975        0,
10976        [
10977            CpuFeature::AVX as u8,
10978            CpuFeature::AVX512_F as u8,
10979            CpuFeature::AVX512_VL as u8,
10980            0,
10981            0,
10982            0,
10983        ],
10984    ), // #144 [ref=71x]
10985    AdditionalInfo::new(
10986        0,
10987        0,
10988        [
10989            CpuFeature::AVX512_FP16 as u8,
10990            CpuFeature::AVX512_VL as u8,
10991            0,
10992            0,
10993            0,
10994            0,
10995        ],
10996    ), // #145 [ref=104x]
10997    AdditionalInfo::new(0, 0, [CpuFeature::AVX as u8, 0, 0, 0, 0, 0]), // #146 [ref=35x]
10998    AdditionalInfo::new(
10999        0,
11000        0,
11001        [
11002            CpuFeature::AESNI as u8,
11003            CpuFeature::VAES as u8,
11004            CpuFeature::AVX as u8,
11005            CpuFeature::AVX512_F as u8,
11006            CpuFeature::AVX512_VL as u8,
11007            0,
11008        ],
11009    ), // #147 [ref=4x]
11010    AdditionalInfo::new(
11011        0,
11012        0,
11013        [CpuFeature::AESNI as u8, CpuFeature::AVX as u8, 0, 0, 0, 0],
11014    ), // #148 [ref=2x]
11015    AdditionalInfo::new(
11016        0,
11017        0,
11018        [
11019            CpuFeature::AVX512_F as u8,
11020            CpuFeature::AVX512_VL as u8,
11021            0,
11022            0,
11023            0,
11024            0,
11025        ],
11026    ), // #149 [ref=135x]
11027    AdditionalInfo::new(
11028        0,
11029        0,
11030        [
11031            CpuFeature::AVX as u8,
11032            CpuFeature::AVX512_DQ as u8,
11033            CpuFeature::AVX512_VL as u8,
11034            0,
11035            0,
11036            0,
11037        ],
11038    ), // #150 [ref=12x]
11039    AdditionalInfo::new(0, 0, [CpuFeature::AVX_NE_CONVERT as u8, 0, 0, 0, 0, 0]), // #151 [ref=6x]
11040    AdditionalInfo::new(
11041        0,
11042        0,
11043        [
11044            CpuFeature::AVX512_DQ as u8,
11045            CpuFeature::AVX512_VL as u8,
11046            0,
11047            0,
11048            0,
11049            0,
11050        ],
11051    ), // #152 [ref=42x]
11052    AdditionalInfo::new(0, 0, [CpuFeature::AVX2 as u8, 0, 0, 0, 0, 0]), // #153 [ref=7x]
11053    AdditionalInfo::new(
11054        0,
11055        0,
11056        [
11057            CpuFeature::AVX as u8,
11058            CpuFeature::AVX2 as u8,
11059            CpuFeature::AVX512_F as u8,
11060            CpuFeature::AVX512_VL as u8,
11061            0,
11062            0,
11063        ],
11064    ), // #154 [ref=39x]
11065    AdditionalInfo::new(
11066        0,
11067        1,
11068        [
11069            CpuFeature::AVX as u8,
11070            CpuFeature::AVX512_F as u8,
11071            CpuFeature::AVX512_VL as u8,
11072            0,
11073            0,
11074            0,
11075        ],
11076    ), // #155 [ref=4x]
11077    AdditionalInfo::new(
11078        0,
11079        1,
11080        [
11081            CpuFeature::AVX512_FP16 as u8,
11082            CpuFeature::AVX512_VL as u8,
11083            0,
11084            0,
11085            0,
11086            0,
11087        ],
11088    ), // #156 [ref=2x]
11089    AdditionalInfo::new(
11090        0,
11091        0,
11092        [
11093            CpuFeature::AVX512_BF16 as u8,
11094            CpuFeature::AVX512_VL as u8,
11095            0,
11096            0,
11097            0,
11098            0,
11099        ],
11100    ), // #157 [ref=2x]
11101    AdditionalInfo::new(
11102        0,
11103        0,
11104        [
11105            CpuFeature::AVX_NE_CONVERT as u8,
11106            CpuFeature::AVX512_BF16 as u8,
11107            CpuFeature::AVX512_VL as u8,
11108            0,
11109            0,
11110            0,
11111        ],
11112    ), // #158 [ref=1x]
11113    AdditionalInfo::new(
11114        0,
11115        0,
11116        [
11117            CpuFeature::F16C as u8,
11118            CpuFeature::AVX512_F as u8,
11119            CpuFeature::AVX512_VL as u8,
11120            0,
11121            0,
11122            0,
11123        ],
11124    ), // #159 [ref=2x]
11125    AdditionalInfo::new(
11126        0,
11127        0,
11128        [
11129            CpuFeature::AVX512_BW as u8,
11130            CpuFeature::AVX512_VL as u8,
11131            0,
11132            0,
11133            0,
11134            0,
11135        ],
11136    ), // #160 [ref=24x]
11137    AdditionalInfo::new(
11138        0,
11139        0,
11140        [
11141            CpuFeature::FMA as u8,
11142            CpuFeature::AVX512_F as u8,
11143            CpuFeature::AVX512_VL as u8,
11144            0,
11145            0,
11146            0,
11147        ],
11148    ), // #161 [ref=60x]
11149    AdditionalInfo::new(0, 0, [CpuFeature::FMA4 as u8, 0, 0, 0, 0, 0]), // #162 [ref=20x]
11150    AdditionalInfo::new(0, 0, [CpuFeature::XOP as u8, 0, 0, 0, 0, 0]), // #163 [ref=55x]
11151    AdditionalInfo::new(
11152        0,
11153        0,
11154        [
11155            CpuFeature::AVX2 as u8,
11156            CpuFeature::AVX512_F as u8,
11157            CpuFeature::AVX512_VL as u8,
11158            0,
11159            0,
11160            0,
11161        ],
11162    ), // #164 [ref=19x]
11163    AdditionalInfo::new(
11164        0,
11165        0,
11166        [
11167            CpuFeature::GFNI as u8,
11168            CpuFeature::AVX as u8,
11169            CpuFeature::AVX512_F as u8,
11170            CpuFeature::AVX512_VL as u8,
11171            0,
11172            0,
11173        ],
11174    ), // #165 [ref=3x]
11175    AdditionalInfo::new(0, 0, [CpuFeature::SEV_ES as u8, 0, 0, 0, 0, 0]), // #166 [ref=1x]
11176    AdditionalInfo::new(
11177        1,
11178        0,
11179        [
11180            CpuFeature::AVX as u8,
11181            CpuFeature::AVX512_F as u8,
11182            CpuFeature::AVX512_VL as u8,
11183            0,
11184            0,
11185            0,
11186        ],
11187    ), // #167 [ref=7x]
11188    AdditionalInfo::new(1, 0, [CpuFeature::AVX as u8, 0, 0, 0, 0, 0]), // #168 [ref=2x]
11189    AdditionalInfo::new(
11190        1,
11191        0,
11192        [
11193            CpuFeature::AVX512_F as u8,
11194            CpuFeature::AVX512_VL as u8,
11195            0,
11196            0,
11197            0,
11198            0,
11199        ],
11200    ), // #169 [ref=4x]
11201    AdditionalInfo::new(
11202        1,
11203        0,
11204        [
11205            CpuFeature::AVX512_BW as u8,
11206            CpuFeature::AVX512_VL as u8,
11207            0,
11208            0,
11209            0,
11210            0,
11211        ],
11212    ), // #170 [ref=2x]
11213    AdditionalInfo::new(
11214        0,
11215        0,
11216        [CpuFeature::AVX as u8, CpuFeature::AVX2 as u8, 0, 0, 0, 0],
11217    ), // #171 [ref=17x]
11218    AdditionalInfo::new(
11219        0,
11220        0,
11221        [
11222            CpuFeature::AVX512_VL as u8,
11223            CpuFeature::AVX512_VP2INTERSECT as u8,
11224            0,
11225            0,
11226            0,
11227            0,
11228        ],
11229    ), // #172 [ref=2x]
11230    AdditionalInfo::new(
11231        0,
11232        0,
11233        [
11234            CpuFeature::AVX as u8,
11235            CpuFeature::AVX2 as u8,
11236            CpuFeature::AVX512_BW as u8,
11237            CpuFeature::AVX512_VL as u8,
11238            0,
11239            0,
11240        ],
11241    ), // #173 [ref=54x]
11242    AdditionalInfo::new(
11243        0,
11244        0,
11245        [
11246            CpuFeature::AVX2 as u8,
11247            CpuFeature::AVX512_BW as u8,
11248            CpuFeature::AVX512_VL as u8,
11249            0,
11250            0,
11251            0,
11252        ],
11253    ), // #174 [ref=2x]
11254    AdditionalInfo::new(
11255        0,
11256        0,
11257        [
11258            CpuFeature::AVX512_CD as u8,
11259            CpuFeature::AVX512_VL as u8,
11260            0,
11261            0,
11262            0,
11263            0,
11264        ],
11265    ), // #175 [ref=6x]
11266    AdditionalInfo::new(
11267        0,
11268        0,
11269        [
11270            CpuFeature::PCLMULQDQ as u8,
11271            CpuFeature::VPCLMULQDQ as u8,
11272            CpuFeature::AVX as u8,
11273            CpuFeature::AVX512_F as u8,
11274            CpuFeature::AVX512_VL as u8,
11275            0,
11276        ],
11277    ), // #176 [ref=1x]
11278    AdditionalInfo::new(0, 1, [CpuFeature::AVX as u8, 0, 0, 0, 0, 0]), // #177 [ref=7x]
11279    AdditionalInfo::new(
11280        0,
11281        0,
11282        [
11283            CpuFeature::AVX512_VBMI2 as u8,
11284            CpuFeature::AVX512_VL as u8,
11285            0,
11286            0,
11287            0,
11288            0,
11289        ],
11290    ), // #178 [ref=16x]
11291    AdditionalInfo::new(0, 0, [CpuFeature::AVX_VNNI_INT8 as u8, 0, 0, 0, 0, 0]), // #179 [ref=6x]
11292    AdditionalInfo::new(
11293        0,
11294        0,
11295        [
11296            CpuFeature::AVX_VNNI as u8,
11297            CpuFeature::AVX512_VL as u8,
11298            CpuFeature::AVX512_VNNI as u8,
11299            0,
11300            0,
11301            0,
11302        ],
11303    ), // #180 [ref=4x]
11304    AdditionalInfo::new(0, 0, [CpuFeature::AVX_VNNI_INT16 as u8, 0, 0, 0, 0, 0]), // #181 [ref=6x]
11305    AdditionalInfo::new(
11306        0,
11307        0,
11308        [
11309            CpuFeature::AVX512_VBMI as u8,
11310            CpuFeature::AVX512_VL as u8,
11311            0,
11312            0,
11313            0,
11314            0,
11315        ],
11316    ), // #182 [ref=4x]
11317    AdditionalInfo::new(
11318        0,
11319        0,
11320        [
11321            CpuFeature::AVX as u8,
11322            CpuFeature::AVX512_BW as u8,
11323            CpuFeature::AVX512_VL as u8,
11324            0,
11325            0,
11326            0,
11327        ],
11328    ), // #183 [ref=4x]
11329    AdditionalInfo::new(
11330        0,
11331        0,
11332        [
11333            CpuFeature::AVX_IFMA as u8,
11334            CpuFeature::AVX512_IFMA as u8,
11335            CpuFeature::AVX512_VL as u8,
11336            0,
11337            0,
11338            0,
11339        ],
11340    ), // #184 [ref=2x]
11341    AdditionalInfo::new(
11342        0,
11343        0,
11344        [
11345            CpuFeature::AVX512_BITALG as u8,
11346            CpuFeature::AVX512_VL as u8,
11347            0,
11348            0,
11349            0,
11350            0,
11351        ],
11352    ), // #185 [ref=3x]
11353    AdditionalInfo::new(
11354        0,
11355        0,
11356        [
11357            CpuFeature::AVX512_VL as u8,
11358            CpuFeature::AVX512_VPOPCNTDQ as u8,
11359            0,
11360            0,
11361            0,
11362            0,
11363        ],
11364    ), // #186 [ref=2x]
11365    AdditionalInfo::new(
11366        0,
11367        0,
11368        [CpuFeature::SHA512 as u8, CpuFeature::AVX as u8, 0, 0, 0, 0],
11369    ), // #187 [ref=3x]
11370    AdditionalInfo::new(
11371        0,
11372        0,
11373        [CpuFeature::SM3 as u8, CpuFeature::AVX as u8, 0, 0, 0, 0],
11374    ), // #188 [ref=3x]
11375    AdditionalInfo::new(
11376        0,
11377        0,
11378        [CpuFeature::SM4 as u8, CpuFeature::AVX as u8, 0, 0, 0, 0],
11379    ), // #189 [ref=2x]
11380    AdditionalInfo::new(0, 0, [CpuFeature::WBNOINVD as u8, 0, 0, 0, 0, 0]), // #190 [ref=1x]
11381    AdditionalInfo::new(0, 0, [CpuFeature::MSR as u8, 0, 0, 0, 0, 0]), // #191 [ref=1x]
11382    AdditionalInfo::new(0, 0, [CpuFeature::RTM as u8, 0, 0, 0, 0, 0]), // #192 [ref=3x]
11383    AdditionalInfo::new(0, 0, [CpuFeature::XSAVE as u8, 0, 0, 0, 0, 0]), // #193 [ref=6x]
11384    AdditionalInfo::new(0, 0, [CpuFeature::TSXLDTRK as u8, 0, 0, 0, 0, 0]), // #194 [ref=2x]
11385    AdditionalInfo::new(0, 0, [CpuFeature::XSAVES as u8, 0, 0, 0, 0, 0]), // #195 [ref=4x]
11386    AdditionalInfo::new(0, 0, [CpuFeature::XSAVEC as u8, 0, 0, 0, 0, 0]), // #196 [ref=2x]
11387    AdditionalInfo::new(0, 0, [CpuFeature::XSAVEOPT as u8, 0, 0, 0, 0, 0]), // #197 [ref=2x]
11388    AdditionalInfo::new(0, 1, [CpuFeature::RTM as u8, 0, 0, 0, 0, 0]), // #198 [ref=1x]
11389];
11390
11391/// CPU flags read/written, indexed by [`AdditionalInfo::rw_flags_index`].
11392pub static RW_FLAGS_INFO_TABLE: &[RwFlagsInfo] = &[
11393    RwFlagsInfo::new(0, 0), // #0 [ref=1352x]
11394    RwFlagsInfo::new(
11395        0,
11396        CpuRwFlags::X86_AF.bits()
11397            | CpuRwFlags::X86_CF.bits()
11398            | CpuRwFlags::X86_OF.bits()
11399            | CpuRwFlags::X86_PF.bits()
11400            | CpuRwFlags::X86_SF.bits()
11401            | CpuRwFlags::X86_ZF.bits(),
11402    ), // #1 [ref=103x]
11403    RwFlagsInfo::new(
11404        CpuRwFlags::X86_CF.bits(),
11405        CpuRwFlags::X86_AF.bits()
11406            | CpuRwFlags::X86_CF.bits()
11407            | CpuRwFlags::X86_OF.bits()
11408            | CpuRwFlags::X86_PF.bits()
11409            | CpuRwFlags::X86_SF.bits()
11410            | CpuRwFlags::X86_ZF.bits(),
11411    ), // #2 [ref=2x]
11412    RwFlagsInfo::new(CpuRwFlags::X86_CF.bits(), CpuRwFlags::X86_CF.bits()), // #3 [ref=2x]
11413    RwFlagsInfo::new(CpuRwFlags::X86_OF.bits(), CpuRwFlags::X86_OF.bits()), // #4 [ref=1x]
11414    RwFlagsInfo::new(0, CpuRwFlags::X86_ZF.bits()), // #5 [ref=7x]
11415    RwFlagsInfo::new(
11416        0,
11417        CpuRwFlags::X86_AF.bits()
11418            | CpuRwFlags::X86_CF.bits()
11419            | CpuRwFlags::X86_OF.bits()
11420            | CpuRwFlags::X86_PF.bits()
11421            | CpuRwFlags::X86_SF.bits(),
11422    ), // #6 [ref=4x]
11423    RwFlagsInfo::new(0, CpuRwFlags::X86_AC.bits()), // #7 [ref=2x]
11424    RwFlagsInfo::new(0, CpuRwFlags::X86_CF.bits()), // #8 [ref=2x]
11425    RwFlagsInfo::new(0, CpuRwFlags::X86_DF.bits()), // #9 [ref=2x]
11426    RwFlagsInfo::new(0, CpuRwFlags::X86_IF.bits()), // #10 [ref=2x]
11427    RwFlagsInfo::new(CpuRwFlags::X86_CF.bits(), 0), // #11 [ref=6x]
11428    RwFlagsInfo::new(CpuRwFlags::X86_CF.bits() | CpuRwFlags::X86_ZF.bits(), 0), // #12 [ref=6x]
11429    RwFlagsInfo::new(CpuRwFlags::X86_OF.bits() | CpuRwFlags::X86_SF.bits(), 0), // #13 [ref=6x]
11430    RwFlagsInfo::new(
11431        CpuRwFlags::X86_OF.bits() | CpuRwFlags::X86_SF.bits() | CpuRwFlags::X86_ZF.bits(),
11432        0,
11433    ), // #14 [ref=6x]
11434    RwFlagsInfo::new(CpuRwFlags::X86_OF.bits(), 0), // #15 [ref=7x]
11435    RwFlagsInfo::new(CpuRwFlags::X86_PF.bits(), 0), // #16 [ref=6x]
11436    RwFlagsInfo::new(CpuRwFlags::X86_SF.bits(), 0), // #17 [ref=6x]
11437    RwFlagsInfo::new(CpuRwFlags::X86_ZF.bits(), 0), // #18 [ref=8x]
11438    RwFlagsInfo::new(
11439        CpuRwFlags::X86_DF.bits(),
11440        CpuRwFlags::X86_AF.bits()
11441            | CpuRwFlags::X86_CF.bits()
11442            | CpuRwFlags::X86_OF.bits()
11443            | CpuRwFlags::X86_PF.bits()
11444            | CpuRwFlags::X86_SF.bits()
11445            | CpuRwFlags::X86_ZF.bits(),
11446    ), // #19 [ref=2x]
11447    RwFlagsInfo::new(
11448        0,
11449        CpuRwFlags::X86_AF.bits()
11450            | CpuRwFlags::X86_OF.bits()
11451            | CpuRwFlags::X86_PF.bits()
11452            | CpuRwFlags::X86_SF.bits()
11453            | CpuRwFlags::X86_ZF.bits(),
11454    ), // #20 [ref=5x]
11455    RwFlagsInfo::new(
11456        0,
11457        CpuRwFlags::X86_C0.bits()
11458            | CpuRwFlags::X86_C1.bits()
11459            | CpuRwFlags::X86_C2.bits()
11460            | CpuRwFlags::X86_C3.bits(),
11461    ), // #21 [ref=83x]
11462    RwFlagsInfo::new(
11463        CpuRwFlags::X86_CF.bits(),
11464        CpuRwFlags::X86_C0.bits()
11465            | CpuRwFlags::X86_C1.bits()
11466            | CpuRwFlags::X86_C2.bits()
11467            | CpuRwFlags::X86_C3.bits(),
11468    ), // #22 [ref=2x]
11469    RwFlagsInfo::new(
11470        CpuRwFlags::X86_CF.bits() | CpuRwFlags::X86_ZF.bits(),
11471        CpuRwFlags::X86_C0.bits()
11472            | CpuRwFlags::X86_C1.bits()
11473            | CpuRwFlags::X86_C2.bits()
11474            | CpuRwFlags::X86_C3.bits(),
11475    ), // #23 [ref=2x]
11476    RwFlagsInfo::new(
11477        CpuRwFlags::X86_ZF.bits(),
11478        CpuRwFlags::X86_C0.bits()
11479            | CpuRwFlags::X86_C1.bits()
11480            | CpuRwFlags::X86_C2.bits()
11481            | CpuRwFlags::X86_C3.bits(),
11482    ), // #24 [ref=2x]
11483    RwFlagsInfo::new(
11484        CpuRwFlags::X86_PF.bits(),
11485        CpuRwFlags::X86_C0.bits()
11486            | CpuRwFlags::X86_C1.bits()
11487            | CpuRwFlags::X86_C2.bits()
11488            | CpuRwFlags::X86_C3.bits(),
11489    ), // #25 [ref=2x]
11490    RwFlagsInfo::new(
11491        0,
11492        CpuRwFlags::X86_C1.bits()
11493            | CpuRwFlags::X86_CF.bits()
11494            | CpuRwFlags::X86_PF.bits()
11495            | CpuRwFlags::X86_ZF.bits(),
11496    ), // #26 [ref=4x]
11497    RwFlagsInfo::new(
11498        CpuRwFlags::X86_C0.bits()
11499            | CpuRwFlags::X86_C1.bits()
11500            | CpuRwFlags::X86_C2.bits()
11501            | CpuRwFlags::X86_C3.bits(),
11502        0,
11503    ), // #27 [ref=2x]
11504    RwFlagsInfo::new(
11505        CpuRwFlags::X86_AF.bits()
11506            | CpuRwFlags::X86_CF.bits()
11507            | CpuRwFlags::X86_PF.bits()
11508            | CpuRwFlags::X86_SF.bits()
11509            | CpuRwFlags::X86_ZF.bits(),
11510        0,
11511    ), // #28 [ref=1x]
11512    RwFlagsInfo::new(CpuRwFlags::X86_DF.bits(), 0), // #29 [ref=3x]
11513    RwFlagsInfo::new(
11514        0,
11515        CpuRwFlags::X86_AF.bits()
11516            | CpuRwFlags::X86_CF.bits()
11517            | CpuRwFlags::X86_DF.bits()
11518            | CpuRwFlags::X86_IF.bits()
11519            | CpuRwFlags::X86_OF.bits()
11520            | CpuRwFlags::X86_PF.bits()
11521            | CpuRwFlags::X86_SF.bits()
11522            | CpuRwFlags::X86_ZF.bits(),
11523    ), // #30 [ref=3x]
11524    RwFlagsInfo::new(
11525        CpuRwFlags::X86_AF.bits()
11526            | CpuRwFlags::X86_CF.bits()
11527            | CpuRwFlags::X86_DF.bits()
11528            | CpuRwFlags::X86_IF.bits()
11529            | CpuRwFlags::X86_OF.bits()
11530            | CpuRwFlags::X86_PF.bits()
11531            | CpuRwFlags::X86_SF.bits()
11532            | CpuRwFlags::X86_ZF.bits(),
11533        0,
11534    ), // #31 [ref=3x]
11535    RwFlagsInfo::new(
11536        CpuRwFlags::X86_CF.bits() | CpuRwFlags::X86_OF.bits(),
11537        CpuRwFlags::X86_CF.bits() | CpuRwFlags::X86_OF.bits(),
11538    ), // #32 [ref=2x]
11539    RwFlagsInfo::new(0, CpuRwFlags::X86_CF.bits() | CpuRwFlags::X86_OF.bits()), // #33 [ref=2x]
11540    RwFlagsInfo::new(
11541        0,
11542        CpuRwFlags::X86_AF.bits()
11543            | CpuRwFlags::X86_CF.bits()
11544            | CpuRwFlags::X86_PF.bits()
11545            | CpuRwFlags::X86_SF.bits()
11546            | CpuRwFlags::X86_ZF.bits(),
11547    ), // #34 [ref=1x]
11548];
11549
11550/// Instruction RW flags, indexed by [`AdditionalInfo::inst_flags_index`].
11551pub static INST_FLAGS_TABLE: &[InstRwFlags] = &[
11552    InstRwFlags::NONE,   // #0 [ref=1619x]
11553    InstRwFlags::MOV_OP, // #1 [ref=29x]
11554];
11555
11556/// Maps the first letter of an instruction name to a span of [`InstId`] values.
11557pub static INST_NAME_INDEX: &[(u16, u16)] = &[
11558    (InstId::Aaa as u16, InstId::Axor as u16 + 1),
11559    (InstId::Bextr as u16, InstId::Bzhi as u16 + 1),
11560    (InstId::Call as u16, InstId::Cwde as u16 + 1),
11561    (InstId::Daa as u16, InstId::Dpps as u16 + 1),
11562    (InstId::Emms as u16, InstId::Extrq as u16 + 1),
11563    (InstId::F2xm1 as u16, InstId::Fyl2xp1 as u16 + 1),
11564    (InstId::Getsec as u16, InstId::Gf2p8mulb as u16 + 1),
11565    (InstId::Haddpd as u16, InstId::Hsubps as u16 + 1),
11566    (InstId::Idiv as u16, InstId::Iretq as u16 + 1),
11567    (InstId::Jb as u16, InstId::Jz as u16 + 1),
11568    (InstId::Kaddb as u16, InstId::Kxorw as u16 + 1),
11569    (InstId::Lahf as u16, InstId::Lzcnt as u16 + 1),
11570    (InstId::Maskmovdqu as u16, InstId::Mwaitx as u16 + 1),
11571    (InstId::Neg as u16, InstId::Not as u16 + 1),
11572    (InstId::Or as u16, InstId::Outs as u16 + 1),
11573    (InstId::Pabsb as u16, InstId::Pxor as u16 + 1),
11574    (InstId::None as u16, InstId::None as u16 + 1),
11575    (InstId::Rcl as u16, InstId::Rstorssp as u16 + 1),
11576    (InstId::Sahf as u16, InstId::Sysretq as u16 + 1),
11577    (InstId::T1mskc as u16, InstId::Tzmsk as u16 + 1),
11578    (InstId::Ucomisd as u16, InstId::Unpcklps as u16 + 1),
11579    (InstId::Vaddpd as u16, InstId::Vzeroupper as u16 + 1),
11580    (InstId::Wbinvd as u16, InstId::Wrussq as u16 + 1),
11581    (InstId::Xabort as u16, InstId::Xtest as u16 + 1),
11582    (InstId::None as u16, InstId::None as u16 + 1),
11583    (InstId::None as u16, InstId::None as u16 + 1),
11584];
11585
11586pub const MAX_NAME_LENGTH: u16 = 17;
11587
11588pub static INST_NAME_STRING_TABLE: &[u8] = b"cmovb\x0Ccmov.b|nae|ccmovbe\x0Acmov.be|nacmovl\x0Acmov.l|ngecmovle\x0Acmov.le|ngcmovnb\x0Dcmov.nb|ae|nccmovnbe\x0Acmov.nbe|acmovnl\x0Acmov.nl|gecmovnle\x0Acmov.nle|gcmovnp\x0Acmov.np|pocmovnz\x0Acmov.nz|necmovp\x09cmov.p|pecmovz\x08cmov.z|ejb\x0Ajb|jnae|jcjbe\x07jbe|jnajl\x07jl|jngejle\x07jle|jngjnb\x0Bjnb|jae|jncjnbe\x07jnbe|jajnl\x07jnl|jgejnle\x07jnle|jgjnp\x07jnp|jpojnz\x07jnz|jnejp\x06jp|jpejz\x05jz|jesetb\x0Bset.b|nae|csetbe\x09set.be|nasetl\x09set.l|ngesetle\x09set.le|ngsetnb\x0Cset.nb|ae|ncsetnbe\x09set.nbe|asetnl\x09set.nl|gesetnle\x09set.nle|gsetnp\x09set.np|posetnz\x09set.nz|nesetp\x08set.p|pesetz\x07set.z|evgf2p8affineinvqbvaeskeygenassisvbroadcastf32x464x264x4i32x2i32x4i32x8i64x2i64x4vpbroadcastmb2w2dvbcstnebf162p128i128vcvtne2ps2vcvtneebf16vcvtneobf16vfmaddsub132ph213pd213ph213ps231pd231ph231psvfmsubadd132vpmultishiftvcvtneps2vextracvextractfvp2intersecttcmmimfp16tcmmrlfp16sh2pssdph2psvfnmadd132213sd213sh213ss231sd231sh231ssvfnmsub132vinservinsertfvpshufbitqvsha512rndprefetchit0ntawt1saveprevsssha256rndtileloaddtilerelevaesdeclvaesenclvcompressvcvttpd2udqqvcvttph2uqqvcvttpsvcvttsd2uvcvttsh2uvcvttss2uvfixupimmvfmadd132vfmsub132vmaskmovdqvpcompressvpconflictvphminposuvpmadd52hluqvpscatterqdvpunpckhqlqdqvrndscalevscatterdqpdqpsmsg1msg2clflushopcmpnbexcmpnlexcmpxchg16t2tilestorevcvtpdvcvtph2psvcvtps2phvcvtsd2uvcvtsh2uvcvtss2u2dq2qqvcvtudq2vcvtuqq2vcvtusi2vfcmaddcvfpclassvgatherdvgetmanmulbvpclmuvpcmpestrvpcmpistrvperm2fvpermil2vpgathervpmacssdqvpmadcsswubswvpmaskmovpternlogbwwdlbwldqlwdvrsqrt14vshufvshuffvzeroupxsaveoptcmpbexcmplexcmpnbxcmpnlxcmpnoxcmpnpxcmpnsxcmpnzx8b2pifxrstorldtilecfmovdir64pvalidarmpadjurmpupdaserialisha1nexsha1rndssttilecftdpbf16tdpfp16vaddsubvblendmvpdvcvtdq2uwvcvtqq2vcvtsi2vcvtuwvdbpsadvdpbf16vexpandvfcmulccphcshvgetexpvmovdqau16u32u64vmovmskvmovntvmovshdvmovsldvpackssdwbvpackuswbvpblendmdvpdpbssudsvpdpbusvpdpwssvpdpwus2pdvpermtvpexpanvphaddubwqdqhvpmovmskvpmovsxbvpmovusqwvpmovzxbvpmulhrvptestnmqvreducevscalefvsm3rndvsm4rndsvunpckhlpdlpsxresldtrs64xsusldtrcldemoclrssbscmpbxcmplxcmpoxcmppxcmpsxcmpzxcvtpifxsavekortestwkshiftrbkunpckmonitorpfrcpipfrsqirtvrdfsbrdgsbsspseamcalsenduisetssbssysesysexumvcvtwvfmulvldmxcsvmlaundupu8vmovhvmovlhvmpsadvmresumvpadduvpaligngtbgtdgtqgtw2bbdbqvphsubvplzcnb2md2mq2mw2mvpopcnvpshldvqvpshrdvwhwvpsubuvrangevrcp14vroundvsm4keyvstmxcsvucomiallwbnoinwrfsbwrgsbc64blcfiblsfiendbrenqcmfcmovnufdecsfincsfnstefrndfsincfucomfyl2xincsspqinvlinvlpinvpcinvvpmcommmovqpavgupfcmpepfpnaptwriseamoseamrsyscsysretdpbutlbsyvaesivaligvandnvcomivfrczvhaddvhsubvmclevmgexvmmcvmovavmovuvmptvmwrivpandvpextrwvpinsvpmaxvpminvprolvprorvpsadvpsigvpslvpsllvpsravpsrlvsqrvtes";
11589
11590#[rustfmt::skip]
11591pub static INST_NAME_INDEX_TABLE: &[u32] = &[
11592    0x80000000, // Small ''.
11593    0x80000421, // Small 'aaa'.
11594    0x80001021, // Small 'aad'.
11595    0x80021021, // Small 'aadd'.
11596    0x80003421, // Small 'aam'.
11597    0x80023821, // Small 'aand'.
11598    0x80004C21, // Small 'aas'.
11599    0x80000C81, // Small 'adc'.
11600    0x800C0C81, // Small 'adcx'.
11601    0x80001081, // Small 'add'.
11602    0x80481081, // Small 'addpd'.
11603    0x81381081, // Small 'addps'.
11604    0x80499081, // Small 'addsd'.
11605    0x81399081, // Small 'addss'.
11606    0x22AC629E, // Large 'addsub|pd'.
11607    0x2282629E, // Large 'addsub|ps'.
11608    0x800C3C81, // Small 'adox'.
11609    0x86524CA1, // Small 'aesdec'.
11610    0x322D73AE, // Large 'aesdecl|ast'.
11611    0x86E2CCA1, // Small 'aesenc'.
11612    0x322D73B6, // Large 'aesencl|ast'.
11613    0x86D4CCA1, // Small 'aesimc'.
11614    0x1154E218, // Large 'aeskeygenassis|t'.
11615    0x800011C1, // Small 'and'.
11616    0x800711C1, // Small 'andn'.
11617    0x890711C1, // Small 'andnpd'.
11618    0xA70711C1, // Small 'andnps'.
11619    0x804811C1, // Small 'andpd'.
11620    0x813811C1, // Small 'andps'.
11621    0x800049E1, // Small 'aor'.
11622    0x80064241, // Small 'arpl'.
11623    0x80093F01, // Small 'axor'.
11624    0x812A60A2, // Small 'bextr'.
11625    0x28BA58CF, // Large 'blcfi|ll'.
11626    0x80048D82, // Small 'blci'.
11627    0x80348D82, // Small 'blcic'.
11628    0x97368D82, // Small 'blcmsk'.
11629    0x80098D82, // Small 'blcs'.
11630    0x22AC563C, // Large 'blend|pd'.
11631    0x2282563C, // Large 'blend|ps'.
11632    0x3642563C, // Large 'blend|vpd'.
11633    0x3364563C, // Large 'blend|vps'.
11634    0x28BA58D4, // Large 'blsfi|ll'.
11635    0x8004CD82, // Small 'blsi'.
11636    0x8034CD82, // Small 'blsic'.
11637    0x9736CD82, // Small 'blsmsk'.
11638    0x80094D82, // Small 'blsr'.
11639    0x80C191C2, // Small 'bndcl'.
11640    0x80E191C2, // Small 'bndcn'.
11641    0x815191C2, // Small 'bndcu'.
11642    0xB04611C2, // Small 'bndldx'.
11643    0x80B691C2, // Small 'bndmk'.
11644    0xACF691C2, // Small 'bndmov'.
11645    0xB14991C2, // Small 'bndstx'.
11646    0x804755E2, // Small 'bound'.
11647    0x80001A62, // Small 'bsf'.
11648    0x80004A62, // Small 'bsr'.
11649    0x8100DE62, // Small 'bswap'.
11650    0x80000282, // Small 'bt'.
11651    0x80000E82, // Small 'btc'.
11652    0x80004A82, // Small 'btr'.
11653    0x80004E82, // Small 'bts'.
11654    0x8004A342, // Small 'bzhi'.
11655    0x80063023, // Small 'call'.
11656    0x80005C43, // Small 'cbw'.
11657    0x80004483, // Small 'cdq'.
11658    0x8002C483, // Small 'cdqe'.
11659    0x80018583, // Small 'clac'.
11660    0x80000D83, // Small 'clc'.
11661    0x80001183, // Small 'cld'.
11662    0x22FD677C, // Large 'cldemo|te'.
11663    0x00007486, // Large 'clflush'.
11664    0x11549486, // Large 'clflushop|t'.
11665    0x80049D83, // Small 'clgi'.
11666    0x80002583, // Small 'cli'.
11667    0x121D7782, // Large 'clrssbs|y'.
11668    0x8009D183, // Small 'clts'.
11669    0x8004D583, // Small 'clui'.
11670    0x80015D83, // Small 'clwb'.
11671    0x9F22E983, // Small 'clzero'.
11672    0x80000DA3, // Small 'cmc'.
11673    0x0FFF5000, // Large 'cmovb' + 'cmov.b|nae|c'
11674    0x0FFF6012, // Large 'cmovbe' + 'cmov.be|na'
11675    0x0FFF5023, // Large 'cmovl' + 'cmov.l|nge'
11676    0x0FFF6033, // Large 'cmovle' + 'cmov.le|ng'
11677    0x0FFF6044, // Large 'cmovnb' + 'cmov.nb|ae|nc'
11678    0x0FFF7058, // Large 'cmovnbe' + 'cmov.nbe|a'
11679    0x0FFF606A, // Large 'cmovnl' + 'cmov.nl|ge'
11680    0x0FFF707B, // Large 'cmovnle' + 'cmov.nle|g'
11681    0x9EEB3DA3, // Small 'cmovno'.
11682    0x0FFF608D, // Large 'cmovnp' + 'cmov.np|po'
11683    0xA6EB3DA3, // Small 'cmovns'.
11684    0x0FFF609E, // Large 'cmovnz' + 'cmov.nz|ne'
11685    0x80FB3DA3, // Small 'cmovo'.
11686    0x0FFF50AF, // Large 'cmovp' + 'cmov.p|pe'
11687    0x813B3DA3, // Small 'cmovs'.
11688    0x0FFF50BE, // Large 'cmovz' + 'cmov.z|e'
11689    0x800041A3, // Small 'cmp'.
11690    0x329E65A7, // Large 'cmpbex|add'.
11691    0x329E5789, // Large 'cmpbx|add'.
11692    0x329E65AD, // Large 'cmplex|add'.
11693    0x329E578E, // Large 'cmplx|add'.
11694    0x329E748F, // Large 'cmpnbex|add'.
11695    0x329E65B3, // Large 'cmpnbx|add'.
11696    0x329E7496, // Large 'cmpnlex|add'.
11697    0x329E65B9, // Large 'cmpnlx|add'.
11698    0x329E65BF, // Large 'cmpnox|add'.
11699    0x329E65C5, // Large 'cmpnpx|add'.
11700    0x329E65CB, // Large 'cmpnsx|add'.
11701    0x329E65D1, // Large 'cmpnzx|add'.
11702    0x329E5793, // Large 'cmpox|add'.
11703    0x804841A3, // Small 'cmppd'.
11704    0x813841A3, // Small 'cmpps'.
11705    0x329E5798, // Large 'cmppx|add'.
11706    0x8009C1A3, // Small 'cmps'.
11707    0x8049C1A3, // Small 'cmpsd'.
11708    0x8139C1A3, // Small 'cmpss'.
11709    0x329E579D, // Large 'cmpsx|add'.
11710    0x0000749D, // Large 'cmpxchg'.
11711    0x1004949D, // Large 'cmpxchg16|b'.
11712    0x25D7749D, // Large 'cmpxchg|8b'.
11713    0x329E57A2, // Large 'cmpzx|add'.
11714    0x8934B5E3, // Small 'comisd'.
11715    0xA734B5E3, // Small 'comiss'.
11716    0x8044D603, // Small 'cpuid'.
11717    0x80003E23, // Small 'cqo'.
11718    0x81DF0E43, // Small 'crc32'.
11719    0x22AC6646, // Large 'cvtdq2|pd'.
11720    0x22826646, // Large 'cvtdq2|ps'.
11721    0x34E154B2, // Large 'cvtpd|2dq'.
11722    0x35D954B2, // Large 'cvtpd|2pi'.
11723    0x328154B2, // Large 'cvtpd|2ps'.
11724    0x36F157A7, // Large 'cvtpi|2pd'.
11725    0x328157A7, // Large 'cvtpi|2ps'.
11726    0x23CF64C1, // Large 'cvtps2|dq'.
11727    0x122B74C1, // Large 'cvtps2p|d'.
11728    0x120F74C1, // Large 'cvtps2p|i'.
11729    0x222364CA, // Large 'cvtsd2|si'.
11730    0x222264CA, // Large 'cvtsd2|ss'.
11731    0x231D6656, // Large 'cvtsi2|sd'.
11732    0x22226656, // Large 'cvtsi2|ss'.
11733    0x231D64DA, // Large 'cvtss2|sd'.
11734    0x222364DA, // Large 'cvtss2|si'.
11735    0x23CF73C7, // Large 'cvttpd2|dq'.
11736    0x240473C7, // Large 'cvttpd2|pi'.
11737    0x34E163DE, // Large 'cvttps|2dq'.
11738    0x35D963DE, // Large 'cvttps|2pi'.
11739    0x222373E5, // Large 'cvttsd2|si'.
11740    0x222373F7, // Large 'cvttss2|si'.
11741    0x800012E3, // Small 'cwd'.
11742    0x800292E3, // Small 'cwde'.
11743    0x80000424, // Small 'daa'.
11744    0x80004C24, // Small 'das'.
11745    0x80000CA4, // Small 'dec'.
11746    0x80005924, // Small 'div'.
11747    0x80485924, // Small 'divpd'.
11748    0x81385924, // Small 'divps'.
11749    0x8049D924, // Small 'divsd'.
11750    0x8139D924, // Small 'divss'.
11751    0x80024204, // Small 'dppd'.
11752    0x8009C204, // Small 'dpps'.
11753    0x8009B5A5, // Small 'emms'.
11754    0x223158D9, // Large 'endbr|32'.
11755    0x223558D9, // Large 'endbr|64'.
11756    0x88D1C5C5, // Small 'enqcmd'.
11757    0x22A058DE, // Large 'enqcm|ds'.
11758    0x8122D1C5, // Small 'enter'.
11759    0x228272F0, // Large 'extract|ps'.
11760    0x81195305, // Small 'extrq'.
11761    0x81C6E3A6, // Small 'f2xm1'.
11762    0x80098826, // Small 'fabs'.
11763    0x80021026, // Small 'fadd'.
11764    0x81021026, // Small 'faddp'.
11765    0x80023046, // Small 'fbld'.
11766    0x810A4C46, // Small 'fbstp'.
11767    0x8009A066, // Small 'fchs'.
11768    0x8182B066, // Small 'fclex'.
11769    0x8567B466, // Small 'fcmovb'.
11770    0x40143500, // Large 'fcm|ovbe'.
11771    0x8B67B466, // Small 'fcmove'.
11772    0x40463500, // Large 'fcm|ovnb'.
11773    0x505A3500, // Large 'fcm|ovnbe'.
11774    0x20AD58E3, // Large 'fcmov|ne'.
11775    0x28E858E3, // Large 'fcmov|nu'.
11776    0xAB67B466, // Small 'fcmovu'.
11777    0x8006BC66, // Small 'fcom'.
11778    0x8096BC66, // Small 'fcomi'.
11779    0xA096BC66, // Small 'fcomip'.
11780    0x8106BC66, // Small 'fcomp'.
11781    0xA106BC66, // Small 'fcompp'.
11782    0x8009BC66, // Small 'fcos'.
11783    0x21EF58EA, // Large 'fdecs|tp'.
11784    0x800B2486, // Small 'fdiv'.
11785    0x810B2486, // Small 'fdivp'.
11786    0x812B2486, // Small 'fdivr'.
11787    0xA12B2486, // Small 'fdivrp'.
11788    0x8136B4A6, // Small 'femms'.
11789    0x8052C8C6, // Small 'ffree'.
11790    0x80420526, // Small 'fiadd'.
11791    0x80D78D26, // Small 'ficom'.
11792    0xA0D78D26, // Small 'ficomp'.
11793    0x81649126, // Small 'fidiv'.
11794    0xA5649126, // Small 'fidivr'.
11795    0x80023126, // Small 'fild'.
11796    0x80CAB526, // Small 'fimul'.
11797    0x21EF58EF, // Large 'fincs|tp'.
11798    0x8144B926, // Small 'finit'.
11799    0x800A4D26, // Small 'fist'.
11800    0x810A4D26, // Small 'fistp'.
11801    0xA14A4D26, // Small 'fisttp'.
11802    0x802ACD26, // Small 'fisub'.
11803    0xA42ACD26, // Small 'fisubr'.
11804    0x80001186, // Small 'fld'.
11805    0x800E1186, // Small 'fld1'.
11806    0x81719186, // Small 'fldcw'.
11807    0xACE29186, // Small 'fldenv'.
11808    0x8BD61186, // Small 'fldl2e'.
11809    0xA9D61186, // Small 'fldl2t'.
11810    0xBA761186, // Small 'fldlg2'.
11811    0xBAE61186, // Small 'fldln2'.
11812    0x80981186, // Small 'fldpi'.
11813    0x800D1186, // Small 'fldz'.
11814    0x800655A6, // Small 'fmul'.
11815    0x810655A6, // Small 'fmulp'.
11816    0xB0560DC6, // Small 'fnclex'.
11817    0xA89725C6, // Small 'fninit'.
11818    0x80083DC6, // Small 'fnop'.
11819    0x8B60CDC6, // Small 'fnsave'.
11820    0xAE3A4DC6, // Small 'fnstcw'.
11821    0x221358F4, // Large 'fnste|nv'.
11822    0xAF3A4DC6, // Small 'fnstsw'.
11823    0x9C1A0606, // Small 'fpatan'.
11824    0x80D2CA06, // Small 'fprem'.
11825    0xB8D2CA06, // Small 'fprem1'.
11826    0x80E0D206, // Small 'fptan'.
11827    0x32FB48F9, // Large 'frnd|int'.
11828    0xA4FA4E46, // Small 'frstor'.
11829    0x805B0666, // Small 'fsave'.
11830    0x8AC08E66, // Small 'fscale'.
11831    0x80072666, // Small 'fsin'.
11832    0x21DD58FD, // Large 'fsinc|os'.
11833    0x81494666, // Small 'fsqrt'.
11834    0x80005266, // Small 'fst'.
11835    0x8171D266, // Small 'fstcw'.
11836    0xACE2D266, // Small 'fstenv'.
11837    0x80085266, // Small 'fstp'.
11838    0x8179D266, // Small 'fstsw'.
11839    0x80015666, // Small 'fsub'.
11840    0x81015666, // Small 'fsubp'.
11841    0x81215666, // Small 'fsubr'.
11842    0xA1215666, // Small 'fsubrp'.
11843    0x800A4E86, // Small 'ftst'.
11844    0x80D78EA6, // Small 'fucom'.
11845    0x92D78EA6, // Small 'fucomi'.
11846    0x27D45902, // Large 'fucom|ip'.
11847    0xA0D78EA6, // Small 'fucomp'.
11848    0x279A5902, // Large 'fucom|pp'.
11849    0x814486E6, // Small 'fwait'.
11850    0x80068706, // Small 'fxam'.
11851    0x80040F06, // Small 'fxch'.
11852    0x000075DC, // Large 'fxrstor'.
11853    0x223575DC, // Large 'fxrstor|64'.
11854    0x8B60CF06, // Small 'fxsave'.
11855    0x223567AC, // Large 'fxsave|64'.
11856    0x52F225DC, // Large 'fx|tract'.
11857    0x818EB326, // Small 'fyl2x'.
11858    0x22735907, // Large 'fyl2x|p1'.
11859    0x8659D0A7, // Small 'getsec'.
11860    0x1004F207, // Large 'gf2p8affineinvq|b'.
11861    0x2215B207, // Large 'gf2p8affine|qb'.
11862    0x451E5207, // Large 'gf2p8|mulb'.
11863    0x89021028, // Small 'haddpd'.
11864    0xA7021028, // Small 'haddps'.
11865    0x80005188, // Small 'hlt'.
11866    0xA8599648, // Small 'hreset'.
11867    0x89015668, // Small 'hsubpd'.
11868    0xA7015668, // Small 'hsubps'.
11869    0x800B2489, // Small 'idiv'.
11870    0x800655A9, // Small 'imul'.
11871    0x800001C9, // Small 'in'.
11872    0x80000DC9, // Small 'inc'.
11873    0x22AC590C, // Large 'incss|pd'.
11874    0x2911590C, // Large 'incss|pq'.
11875    0x80004DC9, // Small 'ins'.
11876    0x2282635D, // Large 'insert|ps'.
11877    0x1215635D, // Large 'insert|q'.
11878    0x800051C9, // Small 'int'.
11879    0x800F51C9, // Small 'int3'.
11880    0x8007D1C9, // Small 'into'.
11881    0x800259C9, // Small 'invd'.
11882    0xA902D9C9, // Small 'invept'.
11883    0x8F0659C9, // Small 'invlpg'.
11884    0x354A4913, // Large 'invl|pga'.
11885    0x25775917, // Large 'invlp|gb'.
11886    0x25F7591C, // Large 'invpc|id'.
11887    0x25F75921, // Large 'invvp|id'.
11888    0x800A1649, // Small 'iret'.
11889    0x804A1649, // Small 'iretd'.
11890    0x811A1649, // Small 'iretq'.
11891    0x0FFF20CC, // Large 'jb' + 'jb|jnae|jc'
11892    0x0FFF30D9, // Large 'jbe' + 'jbe|jna'
11893    0x81AC0CAA, // Small 'jecxz'.
11894    0x0FFF20E4, // Large 'jl' + 'jl|jnge'
11895    0x0FFF30EE, // Large 'jle' + 'jle|jng'
11896    0x800041AA, // Small 'jmp'.
11897    0x0FFF30F9, // Large 'jnb' + 'jnb|jae|jnc'
11898    0x0FFF4108, // Large 'jnbe' + 'jnbe|ja'
11899    0x0FFF3114, // Large 'jnl' + 'jnl|jge'
11900    0x0FFF411F, // Large 'jnle' + 'jnle|jg'
11901    0x80003DCA, // Small 'jno'.
11902    0x0FFF312B, // Large 'jnp' + 'jnp|jpo'
11903    0x80004DCA, // Small 'jns'.
11904    0x0FFF3136, // Large 'jnz' + 'jnz|jne'
11905    0x800001EA, // Small 'jo'.
11906    0x0FFF2141, // Large 'jp' + 'jp|jpe'
11907    0x8000026A, // Small 'js'.
11908    0x0FFF214A, // Large 'jz' + 'jz|je'
11909    0x8022102B, // Small 'kaddb'.
11910    0x8042102B, // Small 'kaddd'.
11911    0x8112102B, // Small 'kaddq'.
11912    0x8172102B, // Small 'kaddw'.
11913    0x8022382B, // Small 'kandb'.
11914    0x8042382B, // Small 'kandd'.
11915    0x84E2382B, // Small 'kandnb'.
11916    0x88E2382B, // Small 'kandnd'.
11917    0xA2E2382B, // Small 'kandnq'.
11918    0xAEE2382B, // Small 'kandnw'.
11919    0x8112382B, // Small 'kandq'.
11920    0x8172382B, // Small 'kandw'.
11921    0x802B3DAB, // Small 'kmovb'.
11922    0x804B3DAB, // Small 'kmovd'.
11923    0x811B3DAB, // Small 'kmovq'.
11924    0x817B3DAB, // Small 'kmovw'.
11925    0x802A3DCB, // Small 'knotb'.
11926    0x804A3DCB, // Small 'knotd'.
11927    0x811A3DCB, // Small 'knotq'.
11928    0x817A3DCB, // Small 'knotw'.
11929    0x800149EB, // Small 'korb'.
11930    0x800249EB, // Small 'kord'.
11931    0x8008C9EB, // Small 'korq'.
11932    0x215467B2, // Large 'kortes|tb'.
11933    0x262667B2, // Large 'kortes|td'.
11934    0x236C67B2, // Large 'kortes|tq'.
11935    0x27B867B2, // Large 'kortes|tw'.
11936    0x800BC9EB, // Small 'korw'.
11937    0x252067BA, // Large 'kshift|lb'.
11938    0x257F67BA, // Large 'kshift|ld'.
11939    0x246267BA, // Large 'kshift|lq'.
11940    0x258267BA, // Large 'kshift|lw'.
11941    0x27C067BA, // Large 'kshift|rb'.
11942    0x122B77BA, // Large 'kshiftr|d'.
11943    0x121577BA, // Large 'kshiftr|q'.
11944    0x126477BA, // Large 'kshiftr|w'.
11945    0x8549968B, // Small 'ktestb'.
11946    0x8949968B, // Small 'ktestd'.
11947    0xA349968B, // Small 'ktestq'.
11948    0xAF49968B, // Small 'ktestw'.
11949    0x257867C2, // Large 'kunpck|bw'.
11950    0x23CF67C2, // Large 'kunpck|dq'.
11951    0x257A67C2, // Large 'kunpck|wd'.
11952    0x8527BB0B, // Small 'kxnorb'.
11953    0x8927BB0B, // Small 'kxnord'.
11954    0xA327BB0B, // Small 'kxnorq'.
11955    0xAF27BB0B, // Small 'kxnorw'.
11956    0x80293F0B, // Small 'kxorb'.
11957    0x80493F0B, // Small 'kxord'.
11958    0x81193F0B, // Small 'kxorq'.
11959    0x81793F0B, // Small 'kxorw'.
11960    0x8003202C, // Small 'lahf'.
11961    0x8000482C, // Small 'lar'.
11962    0x80C6046C, // Small 'lcall'.
11963    0x8158908C, // Small 'lddqu'.
11964    0x12286815, // Large 'ldmxcs|r'.
11965    0x80004C8C, // Small 'lds'.
11966    0x103185E3, // Large 'ldtilecf|g'.
11967    0x800004AC, // Small 'lea'.
11968    0x805B04AC, // Small 'leave'.
11969    0x80004CAC, // Small 'les'.
11970    0x8A3714CC, // Small 'lfence'.
11971    0x80004CCC, // Small 'lfs'.
11972    0x800A10EC, // Small 'lgdt'.
11973    0x80004CEC, // Small 'lgs'.
11974    0x800A112C, // Small 'lidt'.
11975    0x8008354C, // Small 'ljmp'.
11976    0x800A118C, // Small 'lldt'.
11977    0x84385D8C, // Small 'llwpcb'.
11978    0x800BCDAC, // Small 'lmsw'.
11979    0x800991EC, // Small 'lods'.
11980    0x80083DEC, // Small 'loop'.
11981    0x80583DEC, // Small 'loope'.
11982    0x8AE83DEC, // Small 'loopne'.
11983    0x8000326C, // Small 'lsl'.
11984    0x80004E6C, // Small 'lss'.
11985    0x80004A8C, // Small 'ltr'.
11986    0xA6E4C2EC, // Small 'lwpins'.
11987    0x981B42EC, // Small 'lwpval'.
11988    0x81470F4C, // Small 'lzcnt'.
11989    0x12A2941B, // Large 'maskmovdq|u'.
11990    0x1215741B, // Large 'maskmov|q'.
11991    0x8048602D, // Small 'maxpd'.
11992    0x8138602D, // Small 'maxps'.
11993    0x8049E02D, // Small 'maxsd'.
11994    0x8139E02D, // Small 'maxss'.
11995    0x236B5926, // Large 'mcomm|it'.
11996    0x8A3714CD, // Small 'mfence'.
11997    0x8048392D, // Small 'minpd'.
11998    0x8138392D, // Small 'minps'.
11999    0x8049B92D, // Small 'minsd'.
12000    0x8139B92D, // Small 'minss'.
12001    0x000077C8, // Large 'monitor'.
12002    0x123377C8, // Large 'monitor|x'.
12003    0x800059ED, // Small 'mov'.
12004    0xA620D9ED, // Small 'movabs'.
12005    0x8900D9ED, // Small 'movapd'.
12006    0xA700D9ED, // Small 'movaps'.
12007    0x805159ED, // Small 'movbe'.
12008    0x800259ED, // Small 'movd'.
12009    0x3821441F, // Large 'movd|dup'.
12010    0x100485EB, // Large 'movdir64|b'.
12011    0x120F65EB, // Large 'movdir|i'.
12012    0x24E4541F, // Large 'movdq|2q'.
12013    0x831259ED, // Small 'movdqa'.
12014    0xAB1259ED, // Small 'movdqu'.
12015    0x37664827, // Large 'movh|lps'.
12016    0x890459ED, // Small 'movhpd'.
12017    0xA70459ED, // Small 'movhps'.
12018    0x2282582C, // Large 'movlh|ps'.
12019    0x890659ED, // Small 'movlpd'.
12020    0xA70659ED, // Small 'movlps'.
12021    0x22AC669C, // Large 'movmsk|pd'.
12022    0x2282669C, // Large 'movmsk|ps'.
12023    0x23CF56A3, // Large 'movnt|dq'.
12024    0x368F56A3, // Large 'movnt|dqa'.
12025    0x934759ED, // Small 'movnti'.
12026    0x22AC56A3, // Large 'movnt|pd'.
12027    0x228256A3, // Large 'movnt|ps'.
12028    0xA34759ED, // Small 'movntq'.
12029    0x231D56A3, // Large 'movnt|sd'.
12030    0x222256A3, // Large 'movnt|ss'.
12031    0x8008D9ED, // Small 'movq'.
12032    0x34E1492B, // Large 'movq|2dq'.
12033    0x8009D9ED, // Small 'movs'.
12034    0x8049D9ED, // Small 'movsd'.
12035    0x240366A9, // Large 'movshd|up'.
12036    0x240366B0, // Large 'movsld|up'.
12037    0x8139D9ED, // Small 'movss'.
12038    0x8189D9ED, // Small 'movsx'.
12039    0x8989D9ED, // Small 'movsxd'.
12040    0x890AD9ED, // Small 'movupd'.
12041    0xA70AD9ED, // Small 'movups'.
12042    0x818D59ED, // Small 'movzx'.
12043    0x25785832, // Large 'mpsad|bw'.
12044    0x800032AD, // Small 'mul'.
12045    0x804832AD, // Small 'mulpd'.
12046    0x813832AD, // Small 'mulps'.
12047    0x8049B2AD, // Small 'mulsd'.
12048    0x8139B2AD, // Small 'mulss'.
12049    0x800C32AD, // Small 'mulx'.
12050    0x814486ED, // Small 'mwait'.
12051    0xB14486ED, // Small 'mwaitx'.
12052    0x80001CAE, // Small 'neg'.
12053    0x800041EE, // Small 'nop'.
12054    0x800051EE, // Small 'not'.
12055    0x8000024F, // Small 'or'.
12056    0x8002424F, // Small 'orpd'.
12057    0x8009C24F, // Small 'orps'.
12058    0x800052AF, // Small 'out'.
12059    0x8009D2AF, // Small 'outs'.
12060    0x80298830, // Small 'pabsb'.
12061    0x80498830, // Small 'pabsd'.
12062    0x81798830, // Small 'pabsw'.
12063    0x000086B7, // Large 'packssdw'.
12064    0x26BE66B7, // Large 'packss|wb'.
12065    0x26BD66C1, // Large 'packus|dw'.
12066    0x000086C1, // Large 'packuswb'.
12067    0x80221030, // Small 'paddb'.
12068    0x80421030, // Small 'paddd'.
12069    0x81121030, // Small 'paddq'.
12070    0x85321030, // Small 'paddsb'.
12071    0xAF321030, // Small 'paddsw'.
12072    0x2786583F, // Large 'paddu|sb'.
12073    0x2561583F, // Large 'paddu|sw'.
12074    0x81721030, // Small 'paddw'.
12075    0x12286845, // Large 'palign|r'.
12076    0x80023830, // Small 'pand'.
12077    0x80E23830, // Small 'pandn'.
12078    0x8059D430, // Small 'pause'.
12079    0x8023D830, // Small 'pavgb'.
12080    0x2786592F, // Large 'pavgu|sb'.
12081    0x8173D830, // Small 'pavgw'.
12082    0x200366CA, // Large 'pblend|vb'.
12083    0x126466CA, // Large 'pblend|w'.
12084    0x44625523, // Large 'pclmu|lqdq'.
12085    0x22155529, // Large 'pcmpe|qb'.
12086    0x24575529, // Large 'pcmpe|qd'.
12087    0x23D05529, // Large 'pcmpe|qq'.
12088    0x27255529, // Large 'pcmpe|qw'.
12089    0x120F8529, // Large 'pcmpestr|i'.
12090    0x10018529, // Large 'pcmpestr|m'.
12091    0x384B448E, // Large 'pcmp|gtb'.
12092    0x384E448E, // Large 'pcmp|gtd'.
12093    0x3851448E, // Large 'pcmp|gtq'.
12094    0x3854448E, // Large 'pcmp|gtw'.
12095    0x120F8532, // Large 'pcmpistr|i'.
12096    0x10018532, // Large 'pcmpistr|m'.
12097    0x2848542F, // Large 'pconf|ig'.
12098    0x80081490, // Small 'pdep'.
12099    0x800A60B0, // Small 'pext'.
12100    0x852A60B0, // Small 'pextrb'.
12101    0x892A60B0, // Small 'pextrd'.
12102    0xA32A60B0, // Small 'pextrq'.
12103    0xAF2A60B0, // Small 'pextrw'.
12104    0x8044F4D0, // Small 'pf2id'.
12105    0x8174F4D0, // Small 'pf2iw'.
12106    0x803184D0, // Small 'pfacc'.
12107    0x804204D0, // Small 'pfadd'.
12108    0x12156934, // Large 'pfcmpe|q'.
12109    0x20315934, // Large 'pfcmp|ge'.
12110    0x284B5934, // Large 'pfcmp|gt'.
12111    0x8180B4D0, // Small 'pfmax'.
12112    0x80E4B4D0, // Small 'pfmin'.
12113    0x80CAB4D0, // Small 'pfmul'.
12114    0x8630B8D0, // Small 'pfnacc'.
12115    0x2011593A, // Large 'pfpna|cc'.
12116    0x8101C8D0, // Small 'pfrcp'.
12117    0x238767CF, // Large 'pfrcpi|t1'.
12118    0x24A667CF, // Large 'pfrcpi|t2'.
12119    0xAD01C8D0, // Small 'pfrcpv'.
12120    0x238767D5, // Large 'pfrsqi|t1'.
12121    0x236157D5, // Large 'pfrsq|rt'.
12122    0x37DB57D5, // Large 'pfrsq|rtv'.
12123    0x802ACCD0, // Small 'pfsub'.
12124    0xA42ACCD0, // Small 'pfsubr'.
12125    0x88420510, // Small 'phaddd'.
12126    0x25615702, // Large 'phadd|sw'.
12127    0xAE420510, // Small 'phaddw'.
12128    0x12649439, // Large 'phminposu|w'.
12129    0x882ACD10, // Small 'phsubd'.
12130    0x2561585E, // Large 'phsub|sw'.
12131    0xAE2ACD10, // Small 'phsubw'.
12132    0x80437530, // Small 'pi2fd'.
12133    0x81737530, // Small 'pi2fw'.
12134    0x8529B930, // Small 'pinsrb'.
12135    0x8929B930, // Small 'pinsrd'.
12136    0xA329B930, // Small 'pinsrq'.
12137    0xAF29B930, // Small 'pinsrw'.
12138    0x45635443, // Large 'pmadd|ubsw'.
12139    0x257A5443, // Large 'pmadd|wd'.
12140    0x853C05B0, // Small 'pmaxsb'.
12141    0x893C05B0, // Small 'pmaxsd'.
12142    0xAF3C05B0, // Small 'pmaxsw'.
12143    0x855C05B0, // Small 'pmaxub'.
12144    0x895C05B0, // Small 'pmaxud'.
12145    0xAF5C05B0, // Small 'pmaxuw'.
12146    0x853725B0, // Small 'pminsb'.
12147    0x893725B0, // Small 'pminsd'.
12148    0xAF3725B0, // Small 'pminsw'.
12149    0x855725B0, // Small 'pminub'.
12150    0x895725B0, // Small 'pminud'.
12151    0xAF5725B0, // Small 'pminuw'.
12152    0x1004770F, // Large 'pmovmsk|b'.
12153    0x122B7717, // Large 'pmovsxb|d'.
12154    0x12157717, // Large 'pmovsxb|q'.
12155    0x12647717, // Large 'pmovsxb|w'.
12156    0x23CF6717, // Large 'pmovsx|dq'.
12157    0x257A6717, // Large 'pmovsx|wd'.
12158    0x27096717, // Large 'pmovsx|wq'.
12159    0x122B7728, // Large 'pmovzxb|d'.
12160    0x12157728, // Large 'pmovzxb|q'.
12161    0x12647728, // Large 'pmovzxb|w'.
12162    0x23CF6728, // Large 'pmovzx|dq'.
12163    0x257A6728, // Large 'pmovzx|wd'.
12164    0x27096728, // Large 'pmovzx|wq'.
12165    0xA24655B0, // Small 'pmuldq'.
12166    0x25616730, // Large 'pmulhr|sw'.
12167    0x12646730, // Large 'pmulhr|w'.
12168    0x264C5730, // Large 'pmulh|uw'.
12169    0xAE8655B0, // Small 'pmulhw'.
12170    0x88C655B0, // Small 'pmulld'.
12171    0xAEC655B0, // Small 'pmullw'.
12172    0x33CE42D4, // Large 'pmul|udq'.
12173    0x800041F0, // Small 'pop'.
12174    0x8000C1F0, // Small 'popa'.
12175    0x8040C1F0, // Small 'popad'.
12176    0xA8E1C1F0, // Small 'popcnt'.
12177    0x800341F0, // Small 'popf'.
12178    0x804341F0, // Small 'popfd'.
12179    0x811341F0, // Small 'popfq'.
12180    0x800049F0, // Small 'por'.
12181    0x00008378, // Large 'prefetch'.
12182    0x0000B378, // Large 'prefetchit0'.
12183    0x1270A378, // Large 'prefetchit|1'.
12184    0x33838378, // Large 'prefetch|nta'.
12185    0x23818378, // Large 'prefetch|t0'.
12186    0x23878378, // Large 'prefetch|t1'.
12187    0x24A68378, // Large 'prefetch|t2'.
12188    0x12648378, // Large 'prefetch|w'.
12189    0x33868378, // Large 'prefetch|wt1'.
12190    0xAE220670, // Small 'psadbw'.
12191    0x846AA270, // Small 'pshufb'.
12192    0x886AA270, // Small 'pshufd'.
12193    0x288B5365, // Large 'pshuf|hw'.
12194    0x25825365, // Large 'pshuf|lw'.
12195    0xAE6AA270, // Small 'pshufw'.
12196    0x84E3A670, // Small 'psignb'.
12197    0x88E3A670, // Small 'psignd'.
12198    0xAEE3A670, // Small 'psignw'.
12199    0x80463270, // Small 'pslld'.
12200    0xA2463270, // Small 'pslldq'.
12201    0x81163270, // Small 'psllq'.
12202    0x81763270, // Small 'psllw'.
12203    0x9130B670, // Small 'psmash'.
12204    0x8040CA70, // Small 'psrad'.
12205    0x8170CA70, // Small 'psraw'.
12206    0x80464A70, // Small 'psrld'.
12207    0xA2464A70, // Small 'psrldq'.
12208    0x81164A70, // Small 'psrlq'.
12209    0x81764A70, // Small 'psrlw'.
12210    0x80215670, // Small 'psubb'.
12211    0x80415670, // Small 'psubd'.
12212    0x81115670, // Small 'psubq'.
12213    0x85315670, // Small 'psubsb'.
12214    0xAF315670, // Small 'psubsw'.
12215    0x2786588E, // Large 'psubu|sb'.
12216    0x2561588E, // Large 'psubu|sw'.
12217    0x81715670, // Small 'psubw'.
12218    0x8900DE70, // Small 'pswapd'.
12219    0x81499690, // Small 'ptest'.
12220    0x22FD593F, // Large 'ptwri|te'.
12221    0x2578745A, // Large 'punpckh|bw'.
12222    0x23CF745A, // Large 'punpckh|dq'.
12223    0x23CF845A, // Large 'punpckhq|dq'.
12224    0x257A745A, // Large 'punpckh|wd'.
12225    0x357C645A, // Large 'punpck|lbw'.
12226    0x357F645A, // Large 'punpck|ldq'.
12227    0x4462645A, // Large 'punpck|lqdq'.
12228    0x3582645A, // Large 'punpck|lwd'.
12229    0x80044EB0, // Small 'push'.
12230    0x80144EB0, // Small 'pusha'.
12231    0x88144EB0, // Small 'pushad'.
12232    0x80644EB0, // Small 'pushf'.
12233    0x88644EB0, // Small 'pushfd'.
12234    0xA2644EB0, // Small 'pushfq'.
12235    0x81744EB0, // Small 'pushw'.
12236    0x22FD75F3, // Large 'pvalida|te'.
12237    0x80093F10, // Small 'pxor'.
12238    0x80003072, // Small 'rcl'.
12239    0x81384072, // Small 'rcpps'.
12240    0x8139C072, // Small 'rcpss'.
12241    0x80004872, // Small 'rcr'.
12242    0x317057DE, // Large 'rdfsb|ase'.
12243    0x317057E3, // Large 'rdgsb|ase'.
12244    0x8129B492, // Small 'rdmsr'.
12245    0x8044C092, // Small 'rdpid'.
12246    0xAB25C092, // Small 'rdpkru'.
12247    0x8036C092, // Small 'rdpmc'.
12248    0x81594092, // Small 'rdpru'.
12249    0x88E0C892, // Small 'rdrand'.
12250    0x8852CC92, // Small 'rdseed'.
12251    0x8909CC92, // Small 'rdsspd'.
12252    0xA309CC92, // Small 'rdsspq'.
12253    0x8039D092, // Small 'rdtsc'.
12254    0xA039D092, // Small 'rdtscp'.
12255    0x800050B2, // Small 'ret'.
12256    0x800350B2, // Small 'retf'.
12257    0x222E75FA, // Large 'rmpadju|st'.
12258    0x22FD7601, // Large 'rmpupda|te'.
12259    0x800031F2, // Small 'rol'.
12260    0x800049F2, // Small 'ror'.
12261    0x800C49F2, // Small 'rorx'.
12262    0x22AC58A0, // Large 'round|pd'.
12263    0x228258A0, // Large 'round|ps'.
12264    0x231D58A0, // Large 'round|sd'.
12265    0x222258A0, // Large 'round|ss'.
12266    0x80003672, // Small 'rsm'.
12267    0x22825586, // Large 'rsqrt|ps'.
12268    0x22225586, // Large 'rsqrt|ss'.
12269    0x37E855DE, // Large 'rstor|ssp'.
12270    0x80032033, // Small 'sahf'.
12271    0x80004833, // Small 'sar'.
12272    0x800C4833, // Small 'sarx'.
12273    0x1092A389, // Large 'saveprevss|p'.
12274    0x80000853, // Small 'sbb'.
12275    0x80098473, // Small 'scas'.
12276    0x102777EB, // Large 'seamcal|l'.
12277    0x22825944, // Large 'seamo|ps'.
12278    0x21535949, // Large 'seamr|et'.
12279    0x240467F2, // Large 'sendui|pi'.
12280    0x25997608, // Large 'seriali|ze'.
12281    0x0FFF4152, // Large 'setb' + 'set.b|nae|c'
12282    0x0FFF5162, // Large 'setbe' + 'set.be|na'
12283    0x0FFF4171, // Large 'setl' + 'set.l|nge'
12284    0x0FFF517F, // Large 'setle' + 'set.le|ng'
12285    0x0FFF518E, // Large 'setnb' + 'set.nb|ae|nc'
12286    0x0FFF61A0, // Large 'setnbe' + 'set.nbe|a'
12287    0x0FFF51B0, // Large 'setnl' + 'set.nl|ge'
12288    0x0FFF61BF, // Large 'setnle' + 'set.nle|g'
12289    0x80F750B3, // Small 'setno'.
12290    0x0FFF51CF, // Large 'setnp' + 'set.np|po'
12291    0x813750B3, // Small 'setns'.
12292    0x0FFF51DE, // Large 'setnz' + 'set.nz|ne'
12293    0x8007D0B3, // Small 'seto'.
12294    0x0FFF41ED, // Large 'setp' + 'set.p|pe'
12295    0x8009D0B3, // Small 'sets'.
12296    0x121D77F8, // Large 'setssbs|y'.
12297    0x0FFF41FA, // Large 'setz' + 'set.z|e'
12298    0x8A3714D3, // Small 'sfence'.
12299    0x800A10F3, // Small 'sgdt'.
12300    0x447E460F, // Large 'sha1|msg1'.
12301    0x4482460F, // Large 'sha1|msg2'.
12302    0x22FD760F, // Large 'sha1nex|te'.
12303    0x12348616, // Large 'sha1rnds|4'.
12304    0x447E6393, // Large 'sha256|msg1'.
12305    0x44826393, // Large 'sha256|msg2'.
12306    0x22839393, // Large 'sha256rnd|s2'.
12307    0x80003113, // Small 'shl'.
12308    0x80023113, // Small 'shld'.
12309    0x800C3113, // Small 'shlx'.
12310    0x80004913, // Small 'shr'.
12311    0x80024913, // Small 'shrd'.
12312    0x800C4913, // Small 'shrx'.
12313    0x89035513, // Small 'shufpd'.
12314    0xA7035513, // Small 'shufps'.
12315    0x800A1133, // Small 'sidt'.
12316    0xA8972573, // Small 'skinit'.
12317    0x800A1193, // Small 'sldt'.
12318    0x84385D93, // Small 'slwpcb'.
12319    0x800BCDB3, // Small 'smsw'.
12320    0x890A4A33, // Small 'sqrtpd'.
12321    0xA70A4A33, // Small 'sqrtps'.
12322    0x893A4A33, // Small 'sqrtsd'.
12323    0xA73A4A33, // Small 'sqrtss'.
12324    0x80018693, // Small 'stac'.
12325    0x80000E93, // Small 'stc'.
12326    0x80001293, // Small 'std'.
12327    0x80049E93, // Small 'stgi'.
12328    0x80002693, // Small 'sti'.
12329    0x122868AD, // Large 'stmxcs|r'.
12330    0x8009BE93, // Small 'stos'.
12331    0x80004A93, // Small 'str'.
12332    0x1031861E, // Large 'sttilecf|g'.
12333    0x8004D693, // Small 'stui'.
12334    0x80000AB3, // Small 'sub'.
12335    0x80480AB3, // Small 'subpd'.
12336    0x81380AB3, // Small 'subps'.
12337    0x80498AB3, // Small 'subsd'.
12338    0x81398AB3, // Small 'subss'.
12339    0xA67806F3, // Small 'swapgs'.
12340    0x38B9494E, // Large 'sysc|all'.
12341    0x42FC47FF, // Large 'syse|nter'.
12342    0x236B5803, // Large 'sysex|it'.
12343    0x336B5803, // Large 'sysex|itq'.
12344    0xA8594F33, // Small 'sysret'.
12345    0x236C5952, // Large 'sysre|tq'.
12346    0x86B9B794, // Small 't1mskc'.
12347    0x2282A304, // Large 'tcmmimfp16|ps'.
12348    0x2282A30E, // Large 'tcmmrlfp16|ps'.
12349    0x98C08C94, // Small 'tdcall'.
12350    0x22827626, // Large 'tdpbf16|ps'.
12351    0x331C4626, // Large 'tdpb|ssd'.
12352    0x36D84626, // Large 'tdpb|sud'.
12353    0x231D5957, // Large 'tdpbu|sd'.
12354    0x23CE5957, // Large 'tdpbu|ud'.
12355    0x2282762D, // Large 'tdpfp16|ps'.
12356    0x800A4CB4, // Small 'test'.
12357    0x935A4CB4, // Small 'testui'.
12358    0x0000939C, // Large 'tileloadd'.
12359    0x2387939C, // Large 'tileloadd|t1'.
12360    0x317083A5, // Large 'tilerele|ase'.
12361    0x122B94A8, // Large 'tilestore|d'.
12362    0x4599439C, // Large 'tile|zero'.
12363    0x2056595C, // Large 'tlbsy|nc'.
12364    0x8B3A8614, // Small 'tpause'.
12365    0x81470F54, // Small 'tzcnt'.
12366    0x80B9B754, // Small 'tzmsk'.
12367    0x231D58B4, // Large 'ucomi|sd'.
12368    0x222258B4, // Large 'ucomi|ss'.
12369    0x80006C95, // Small 'ud0'.
12370    0x80007095, // Small 'ud1'.
12371    0x80007495, // Small 'ud2'.
12372    0x8142C935, // Small 'uiret'.
12373    0x67C92808, // Large 'um|onitor'.
12374    0xA890DDB5, // Small 'umwait'.
12375    0x22AC645B, // Large 'unpckh|pd'.
12376    0x2282645B, // Large 'unpckh|ps'.
12377    0x3763545B, // Large 'unpck|lpd'.
12378    0x3766545B, // Large 'unpck|lps'.
12379    0x89021036, // Small 'vaddpd'.
12380    0x91021036, // Small 'vaddph'.
12381    0xA7021036, // Small 'vaddps'.
12382    0x89321036, // Small 'vaddsd'.
12383    0x91321036, // Small 'vaddsh'.
12384    0xA7321036, // Small 'vaddss'.
12385    0x22AC7634, // Large 'vaddsub|pd'.
12386    0x22827634, // Large 'vaddsub|ps'.
12387    0x000073AD, // Large 'vaesdec'.
12388    0x322D83AD, // Large 'vaesdecl|ast'.
12389    0x000073B5, // Large 'vaesenc'.
12390    0x322D83B5, // Large 'vaesencl|ast'.
12391    0x27EE5961, // Large 'vaesi|mc'.
12392    0x1154F217, // Large 'vaeskeygenassis|t'.
12393    0x23765966, // Large 'valig|nd'.
12394    0x28DF5966, // Large 'valig|nq'.
12395    0x22AC596B, // Large 'vandn|pd'.
12396    0x2282596B, // Large 'vandn|ps'.
12397    0x89023836, // Small 'vandpd'.
12398    0xA7023836, // Small 'vandps'.
12399    0x1152D267, // Large 'vbcstnebf162p|s'.
12400    0x53187267, // Large 'vbcstne|sh2ps'.
12401    0x22AC763B, // Large 'vblendm|pd'.
12402    0x2282763B, // Large 'vblendm|ps'.
12403    0x22AC663B, // Large 'vblend|pd'.
12404    0x2282663B, // Large 'vblend|ps'.
12405    0x3642663B, // Large 'vblend|vpd'.
12406    0x3364663B, // Large 'vblend|vps'.
12407    0x3274B226, // Large 'vbroadcastf|128'.
12408    0x1209E226, // Large 'vbroadcastf32x|2'.
12409    0x1234E226, // Large 'vbroadcastf32x|4'.
12410    0x120BE226, // Large 'vbroadcastf32x|8'.
12411    0x4235B226, // Large 'vbroadcastf|64x2'.
12412    0x4239B226, // Large 'vbroadcastf|64x4'.
12413    0x4277A226, // Large 'vbroadcast|i128'.
12414    0x523DA226, // Large 'vbroadcast|i32x2'.
12415    0x5242A226, // Large 'vbroadcast|i32x4'.
12416    0x5247A226, // Large 'vbroadcast|i32x8'.
12417    0x524CA226, // Large 'vbroadcast|i64x2'.
12418    0x5251A226, // Large 'vbroadcast|i64x4'.
12419    0x231DA226, // Large 'vbroadcast|sd'.
12420    0x2222A226, // Large 'vbroadcast|ss'.
12421    0x89083476, // Small 'vcmppd'.
12422    0x91083476, // Small 'vcmpph'.
12423    0xA7083476, // Small 'vcmpps'.
12424    0x89383476, // Small 'vcmpsd'.
12425    0x91383476, // Small 'vcmpsh'.
12426    0xA7383476, // Small 'vcmpss'.
12427    0x231D5970, // Large 'vcomi|sd'.
12428    0x22DA5970, // Large 'vcomi|sh'.
12429    0x22225970, // Large 'vcomi|ss'.
12430    0x22AC93BD, // Large 'vcompress|pd'.
12431    0x228293BD, // Large 'vcompress|ps'.
12432    0x22AC7645, // Large 'vcvtdq2|pd'.
12433    0x22A77645, // Large 'vcvtdq2|ph'.
12434    0x22827645, // Large 'vcvtdq2|ps'.
12435    0x426EA27B, // Large 'vcvtne2ps2|bf16'.
12436    0x3281B285, // Large 'vcvtneebf16|2ps'.
12437    0x531F7285, // Large 'vcvtnee|ph2ps'.
12438    0x3281B290, // Large 'vcvtneobf16|2ps'.
12439    0x531F7290, // Large 'vcvtneo|ph2ps'.
12440    0x426E92DF, // Large 'vcvtneps2|bf16'.
12441    0x34E164B1, // Large 'vcvtpd|2dq'.
12442    0x32A664B1, // Large 'vcvtpd|2ph'.
12443    0x328164B1, // Large 'vcvtpd|2ps'.
12444    0x34E464B1, // Large 'vcvtpd|2qq'.
12445    0x63CB427B, // Large 'vcvt|pd2udq'.
12446    0x43D964B1, // Large 'vcvtpd|2uqq'.
12447    0x23CF74B7, // Large 'vcvtph2|dq'.
12448    0x122B84B7, // Large 'vcvtph2p|d'.
12449    0x000094B7, // Large 'vcvtph2ps'.
12450    0x123394B7, // Large 'vcvtph2ps|x'.
12451    0x23D074B7, // Large 'vcvtph2|qq'.
12452    0x33CE74B7, // Large 'vcvtph2|udq'.
12453    0x33DA74B7, // Large 'vcvtph2|uqq'.
12454    0x264C74B7, // Large 'vcvtph2|uw'.
12455    0x126474B7, // Large 'vcvtph2|w'.
12456    0x23CF74C0, // Large 'vcvtps2|dq'.
12457    0x122B84C0, // Large 'vcvtps2p|d'.
12458    0x000094C0, // Large 'vcvtps2ph'.
12459    0x123394C0, // Large 'vcvtps2ph|x'.
12460    0x23D074C0, // Large 'vcvtps2|qq'.
12461    0x33CE74C0, // Large 'vcvtps2|udq'.
12462    0x33DA74C0, // Large 'vcvtps2|uqq'.
12463    0x22AC764E, // Large 'vcvtqq2|pd'.
12464    0x22A7764E, // Large 'vcvtqq2|ph'.
12465    0x2282764E, // Large 'vcvtqq2|ps'.
12466    0x22DA74C9, // Large 'vcvtsd2|sh'.
12467    0x222374C9, // Large 'vcvtsd2|si'.
12468    0x222274C9, // Large 'vcvtsd2|ss'.
12469    0x222384C9, // Large 'vcvtsd2u|si'.
12470    0x231D74D1, // Large 'vcvtsh2|sd'.
12471    0x222374D1, // Large 'vcvtsh2|si'.
12472    0x222274D1, // Large 'vcvtsh2|ss'.
12473    0x222384D1, // Large 'vcvtsh2u|si'.
12474    0x231D7655, // Large 'vcvtsi2|sd'.
12475    0x22DA7655, // Large 'vcvtsi2|sh'.
12476    0x22227655, // Large 'vcvtsi2|ss'.
12477    0x231D74D9, // Large 'vcvtss2|sd'.
12478    0x22DA74D9, // Large 'vcvtss2|sh'.
12479    0x222374D9, // Large 'vcvtss2|si'.
12480    0x222384D9, // Large 'vcvtss2u|si'.
12481    0x23CF83C6, // Large 'vcvttpd2|dq'.
12482    0x23D083C6, // Large 'vcvttpd2|qq'.
12483    0x1215A3C6, // Large 'vcvttpd2ud|q'.
12484    0x23D093C6, // Large 'vcvttpd2u|qq'.
12485    0x23CF83D2, // Large 'vcvttph2|dq'.
12486    0x23D083D2, // Large 'vcvttph2|qq'.
12487    0x43CD73D2, // Large 'vcvttph|2udq'.
12488    0x43D973D2, // Large 'vcvttph|2uqq'.
12489    0x126493D2, // Large 'vcvttph2u|w'.
12490    0x126483D2, // Large 'vcvttph2|w'.
12491    0x34E173DD, // Large 'vcvttps|2dq'.
12492    0x34E473DD, // Large 'vcvttps|2qq'.
12493    0x43CD73DD, // Large 'vcvttps|2udq'.
12494    0x43D973DD, // Large 'vcvttps|2uqq'.
12495    0x222383E4, // Large 'vcvttsd2|si'.
12496    0x222393E4, // Large 'vcvttsd2u|si'.
12497    0x222383ED, // Large 'vcvttsh2|si'.
12498    0x222393ED, // Large 'vcvttsh2u|si'.
12499    0x222383F6, // Large 'vcvttss2|si'.
12500    0x222393F6, // Large 'vcvttss2u|si'.
12501    0x22AC84E7, // Large 'vcvtudq2|pd'.
12502    0x22A784E7, // Large 'vcvtudq2|ph'.
12503    0x228284E7, // Large 'vcvtudq2|ps'.
12504    0x22AC84EF, // Large 'vcvtuqq2|pd'.
12505    0x22A784EF, // Large 'vcvtuqq2|ph'.
12506    0x228284EF, // Large 'vcvtuqq2|ps'.
12507    0x231D84F7, // Large 'vcvtusi2|sd'.
12508    0x22DA84F7, // Large 'vcvtusi2|sh'.
12509    0x222284F7, // Large 'vcvtusi2|ss'.
12510    0x32A6665C, // Large 'vcvtuw|2ph'.
12511    0x32A6580A, // Large 'vcvtw|2ph'.
12512    0x25787662, // Large 'vdbpsad|bw'.
12513    0x890B2496, // Small 'vdivpd'.
12514    0x910B2496, // Small 'vdivph'.
12515    0xA70B2496, // Small 'vdivps'.
12516    0x893B2496, // Small 'vdivsd'.
12517    0x913B2496, // Small 'vdivsh'.
12518    0xA73B2496, // Small 'vdivss'.
12519    0x22827669, // Large 'vdpbf16|ps'.
12520    0x80484096, // Small 'vdppd'.
12521    0x81384096, // Small 'vdpps'.
12522    0x800948B6, // Small 'verr'.
12523    0x800BC8B6, // Small 'verw'.
12524    0x22AC7670, // Large 'vexpand|pd'.
12525    0x22827670, // Large 'vexpand|ps'.
12526    0x327492EF, // Large 'vextractf|128'.
12527    0x622F72E8, // Large 'vextrac|tf32x4'.
12528    0x424892EF, // Large 'vextractf|32x8'.
12529    0x423592EF, // Large 'vextractf|64x2'.
12530    0x423992EF, // Large 'vextractf|64x4'.
12531    0x427782EF, // Large 'vextract|i128'.
12532    0x524282EF, // Large 'vextract|i32x4'.
12533    0x524782EF, // Large 'vextract|i32x8'.
12534    0x524C82EF, // Large 'vextract|i64x2'.
12535    0x525182EF, // Large 'vextract|i64x4'.
12536    0x228282EF, // Large 'vextract|ps'.
12537    0x22A784FF, // Large 'vfcmaddc|ph'.
12538    0x22DA84FF, // Large 'vfcmaddc|sh'.
12539    0x22A77677, // Large 'vfcmulc|ph'.
12540    0x22DA7677, // Large 'vfcmulc|sh'.
12541    0x22AC93FF, // Large 'vfixupimm|pd'.
12542    0x228293FF, // Large 'vfixupimm|ps'.
12543    0x231D93FF, // Large 'vfixupimm|sd'.
12544    0x222293FF, // Large 'vfixupimm|ss'.
12545    0x22AC9408, // Large 'vfmadd132|pd'.
12546    0x22A79408, // Large 'vfmadd132|ph'.
12547    0x22829408, // Large 'vfmadd132|ps'.
12548    0x231D9408, // Large 'vfmadd132|sd'.
12549    0x22DA9408, // Large 'vfmadd132|sh'.
12550    0x22229408, // Large 'vfmadd132|ss'.
12551    0x52A9629B, // Large 'vfmadd|213pd'.
12552    0x52AE629B, // Large 'vfmadd|213ph'.
12553    0x52B3629B, // Large 'vfmadd|213ps'.
12554    0x532E629B, // Large 'vfmadd|213sd'.
12555    0x5333629B, // Large 'vfmadd|213sh'.
12556    0x5338629B, // Large 'vfmadd|213ss'.
12557    0x52B8629B, // Large 'vfmadd|231pd'.
12558    0x52BD629B, // Large 'vfmadd|231ph'.
12559    0x52C2629B, // Large 'vfmadd|231ps'.
12560    0x533D629B, // Large 'vfmadd|231sd'.
12561    0x5342629B, // Large 'vfmadd|231sh'.
12562    0x5347629B, // Large 'vfmadd|231ss'.
12563    0x367E629B, // Large 'vfmadd|cph'.
12564    0x3681629B, // Large 'vfmadd|csh'.
12565    0x22AC629B, // Large 'vfmadd|pd'.
12566    0x2282629B, // Large 'vfmadd|ps'.
12567    0x122B729B, // Large 'vfmadds|d'.
12568    0x1152729B, // Large 'vfmadds|s'.
12569    0x122BD29B, // Large 'vfmaddsub132p|d'.
12570    0x12A8D29B, // Large 'vfmaddsub132p|h'.
12571    0x1152D29B, // Large 'vfmaddsub132p|s'.
12572    0x52A9929B, // Large 'vfmaddsub|213pd'.
12573    0x52AE929B, // Large 'vfmaddsub|213ph'.
12574    0x52B3929B, // Large 'vfmaddsub|213ps'.
12575    0x52B8929B, // Large 'vfmaddsub|231pd'.
12576    0x52BD929B, // Large 'vfmaddsub|231ph'.
12577    0x52C2929B, // Large 'vfmaddsub|231ps'.
12578    0x22AC929B, // Large 'vfmaddsub|pd'.
12579    0x2282929B, // Large 'vfmaddsub|ps'.
12580    0x22AC9411, // Large 'vfmsub132|pd'.
12581    0x22A79411, // Large 'vfmsub132|ph'.
12582    0x22829411, // Large 'vfmsub132|ps'.
12583    0x231D9411, // Large 'vfmsub132|sd'.
12584    0x22DA9411, // Large 'vfmsub132|sh'.
12585    0x22229411, // Large 'vfmsub132|ss'.
12586    0x52A962C7, // Large 'vfmsub|213pd'.
12587    0x52AE62C7, // Large 'vfmsub|213ph'.
12588    0x52B362C7, // Large 'vfmsub|213ps'.
12589    0x532E62C7, // Large 'vfmsub|213sd'.
12590    0x533362C7, // Large 'vfmsub|213sh'.
12591    0x533862C7, // Large 'vfmsub|213ss'.
12592    0x52B862C7, // Large 'vfmsub|231pd'.
12593    0x52BD62C7, // Large 'vfmsub|231ph'.
12594    0x52C262C7, // Large 'vfmsub|231ps'.
12595    0x533D62C7, // Large 'vfmsub|231sd'.
12596    0x534262C7, // Large 'vfmsub|231sh'.
12597    0x534762C7, // Large 'vfmsub|231ss'.
12598    0x22ACC2C7, // Large 'vfmsubadd132|pd'.
12599    0x22A7C2C7, // Large 'vfmsubadd132|ph'.
12600    0x2282C2C7, // Large 'vfmsubadd132|ps'.
12601    0x52A992C7, // Large 'vfmsubadd|213pd'.
12602    0x52AE92C7, // Large 'vfmsubadd|213ph'.
12603    0x52B392C7, // Large 'vfmsubadd|213ps'.
12604    0x52B892C7, // Large 'vfmsubadd|231pd'.
12605    0x52BD92C7, // Large 'vfmsubadd|231ph'.
12606    0x52C292C7, // Large 'vfmsubadd|231ps'.
12607    0x22AC92C7, // Large 'vfmsubadd|pd'.
12608    0x228292C7, // Large 'vfmsubadd|ps'.
12609    0x22AC62C7, // Large 'vfmsub|pd'.
12610    0x228262C7, // Large 'vfmsub|ps'.
12611    0x231D62C7, // Large 'vfmsub|sd'.
12612    0x222262C7, // Large 'vfmsub|ss'.
12613    0x367E580F, // Large 'vfmul|cph'.
12614    0x3681580F, // Large 'vfmul|csh'.
12615    0x22ACA324, // Large 'vfnmadd132|pd'.
12616    0x22A7A324, // Large 'vfnmadd132|ph'.
12617    0x2282A324, // Large 'vfnmadd132|ps'.
12618    0x231DA324, // Large 'vfnmadd132|sd'.
12619    0x22DAA324, // Large 'vfnmadd132|sh'.
12620    0x2222A324, // Large 'vfnmadd132|ss'.
12621    0x52A97324, // Large 'vfnmadd|213pd'.
12622    0x52AE7324, // Large 'vfnmadd|213ph'.
12623    0x52B37324, // Large 'vfnmadd|213ps'.
12624    0x532E7324, // Large 'vfnmadd|213sd'.
12625    0x53337324, // Large 'vfnmadd|213sh'.
12626    0x53387324, // Large 'vfnmadd|213ss'.
12627    0x52B87324, // Large 'vfnmadd|231pd'.
12628    0x52BD7324, // Large 'vfnmadd|231ph'.
12629    0x52C27324, // Large 'vfnmadd|231ps'.
12630    0x533D7324, // Large 'vfnmadd|231sd'.
12631    0x53427324, // Large 'vfnmadd|231sh'.
12632    0x53477324, // Large 'vfnmadd|231ss'.
12633    0x22AC7324, // Large 'vfnmadd|pd'.
12634    0x22827324, // Large 'vfnmadd|ps'.
12635    0x231D7324, // Large 'vfnmadd|sd'.
12636    0x22227324, // Large 'vfnmadd|ss'.
12637    0x22ACA34C, // Large 'vfnmsub132|pd'.
12638    0x22A7A34C, // Large 'vfnmsub132|ph'.
12639    0x2282A34C, // Large 'vfnmsub132|ps'.
12640    0x231DA34C, // Large 'vfnmsub132|sd'.
12641    0x22DAA34C, // Large 'vfnmsub132|sh'.
12642    0x2222A34C, // Large 'vfnmsub132|ss'.
12643    0x52A9734C, // Large 'vfnmsub|213pd'.
12644    0x52AE734C, // Large 'vfnmsub|213ph'.
12645    0x52B3734C, // Large 'vfnmsub|213ps'.
12646    0x532E734C, // Large 'vfnmsub|213sd'.
12647    0x5333734C, // Large 'vfnmsub|213sh'.
12648    0x5338734C, // Large 'vfnmsub|213ss'.
12649    0x52B8734C, // Large 'vfnmsub|231pd'.
12650    0x52BD734C, // Large 'vfnmsub|231ph'.
12651    0x52C2734C, // Large 'vfnmsub|231ps'.
12652    0x533D734C, // Large 'vfnmsub|231sd'.
12653    0x5342734C, // Large 'vfnmsub|231sh'.
12654    0x5347734C, // Large 'vfnmsub|231ss'.
12655    0x22AC734C, // Large 'vfnmsub|pd'.
12656    0x2282734C, // Large 'vfnmsub|ps'.
12657    0x231D734C, // Large 'vfnmsub|sd'.
12658    0x2222734C, // Large 'vfnmsub|ss'.
12659    0x22AC8507, // Large 'vfpclass|pd'.
12660    0x22A78507, // Large 'vfpclass|ph'.
12661    0x22828507, // Large 'vfpclass|ps'.
12662    0x231D8507, // Large 'vfpclass|sd'.
12663    0x22DA8507, // Large 'vfpclass|sh'.
12664    0x22228507, // Large 'vfpclass|ss'.
12665    0x22AC5975, // Large 'vfrcz|pd'.
12666    0x22825975, // Large 'vfrcz|ps'.
12667    0x231D5975, // Large 'vfrcz|sd'.
12668    0x22225975, // Large 'vfrcz|ss'.
12669    0x22AC850F, // Large 'vgatherd|pd'.
12670    0x2282850F, // Large 'vgatherd|ps'.
12671    0x3478750F, // Large 'vgather|qpd'.
12672    0x347B750F, // Large 'vgather|qps'.
12673    0x22AC7684, // Large 'vgetexp|pd'.
12674    0x22A77684, // Large 'vgetexp|ph'.
12675    0x22827684, // Large 'vgetexp|ps'.
12676    0x231D7684, // Large 'vgetexp|sd'.
12677    0x22DA7684, // Large 'vgetexp|sh'.
12678    0x22227684, // Large 'vgetexp|ss'.
12679    0x33CA7517, // Large 'vgetman|tpd'.
12680    0x33D67517, // Large 'vgetman|tph'.
12681    0x33E17517, // Large 'vgetman|tps'.
12682    0x33E87517, // Large 'vgetman|tsd'.
12683    0x33F17517, // Large 'vgetman|tsh'.
12684    0x33FA7517, // Large 'vgetman|tss'.
12685    0x2215F206, // Large 'vgf2p8affineinv|qb'.
12686    0x2215C206, // Large 'vgf2p8affine|qb'.
12687    0x451E6206, // Large 'vgf2p8|mulb'.
12688    0x22AC597A, // Large 'vhadd|pd'.
12689    0x2282597A, // Large 'vhadd|ps'.
12690    0x22AC597F, // Large 'vhsub|pd'.
12691    0x2282597F, // Large 'vhsub|ps'.
12692    0x3274835C, // Large 'vinsertf|128'.
12693    0x622F6356, // Large 'vinser|tf32x4'.
12694    0x4248835C, // Large 'vinsertf|32x8'.
12695    0x4235835C, // Large 'vinsertf|64x2'.
12696    0x4239835C, // Large 'vinsertf|64x4'.
12697    0x4277735C, // Large 'vinsert|i128'.
12698    0x5242735C, // Large 'vinsert|i32x4'.
12699    0x5247735C, // Large 'vinsert|i32x8'.
12700    0x524C735C, // Large 'vinsert|i64x2'.
12701    0x5251735C, // Large 'vinsert|i64x4'.
12702    0x2282735C, // Large 'vinsert|ps'.
12703    0xAB121196, // Small 'vlddqu'.
12704    0x12287814, // Large 'vldmxcs|r'.
12705    0x12A2A41A, // Large 'vmaskmovdq|u'.
12706    0x22AC841A, // Large 'vmaskmov|pd'.
12707    0x2282841A, // Large 'vmaskmov|ps'.
12708    0x890C05B6, // Small 'vmaxpd'.
12709    0x910C05B6, // Small 'vmaxph'.
12710    0xA70C05B6, // Small 'vmaxps'.
12711    0x893C05B6, // Small 'vmaxsd'.
12712    0x913C05B6, // Small 'vmaxsh'.
12713    0xA73C05B6, // Small 'vmaxss'.
12714    0x98C08DB6, // Small 'vmcall'.
12715    0x25F95984, // Large 'vmcle|ar'.
12716    0x86EA99B6, // Small 'vmfunc'.
12717    0x236B5989, // Large 'vmgex|it'.
12718    0x890725B6, // Small 'vminpd'.
12719    0x910725B6, // Small 'vminph'.
12720    0xA70725B6, // Small 'vminps'.
12721    0x893725B6, // Small 'vminsd'.
12722    0x913725B6, // Small 'vminsh'.
12723    0xA73725B6, // Small 'vminss'.
12724    0x237E681B, // Large 'vmlaun|ch'.
12725    0x8817B1B6, // Small 'vmload'.
12726    0x38B9498E, // Large 'vmmc|all'.
12727    0x22AC5992, // Large 'vmova|pd'.
12728    0x22825992, // Large 'vmova|ps'.
12729    0x804B3DB6, // Small 'vmovd'.
12730    0x3821568B, // Large 'vmovd|dup'.
12731    0x0000768B, // Large 'vmovdqa'.
12732    0x2231768B, // Large 'vmovdqa|32'.
12733    0x2235768B, // Large 'vmovdqa|64'.
12734    0x12A2668B, // Large 'vmovdq|u'.
12735    0x3692668B, // Large 'vmovdq|u16'.
12736    0x3695668B, // Large 'vmovdq|u32'.
12737    0x3698668B, // Large 'vmovdq|u64'.
12738    0x2824668B, // Large 'vmovdq|u8'.
12739    0x37665826, // Large 'vmovh|lps'.
12740    0x22AC5826, // Large 'vmovh|pd'.
12741    0x22825826, // Large 'vmovh|ps'.
12742    0x2282682B, // Large 'vmovlh|ps'.
12743    0x22AC582B, // Large 'vmovl|pd'.
12744    0x2282582B, // Large 'vmovl|ps'.
12745    0x22AC769B, // Large 'vmovmsk|pd'.
12746    0x2282769B, // Large 'vmovmsk|ps'.
12747    0x23CF66A2, // Large 'vmovnt|dq'.
12748    0x368F66A2, // Large 'vmovnt|dqa'.
12749    0x22AC66A2, // Large 'vmovnt|pd'.
12750    0x228266A2, // Large 'vmovnt|ps'.
12751    0x811B3DB6, // Small 'vmovq'.
12752    0x893B3DB6, // Small 'vmovsd'.
12753    0x913B3DB6, // Small 'vmovsh'.
12754    0x240376A8, // Large 'vmovshd|up'.
12755    0x240376AF, // Large 'vmovsld|up'.
12756    0xA73B3DB6, // Small 'vmovss'.
12757    0x3604468B, // Large 'vmov|upd'.
12758    0x22825997, // Large 'vmovu|ps'.
12759    0x817B3DB6, // Small 'vmovw'.
12760    0x25786831, // Large 'vmpsad|bw'.
12761    0x35E2499C, // Large 'vmpt|rld'.
12762    0x35DE499C, // Large 'vmpt|rst'.
12763    0x8812C9B6, // Small 'vmread'.
12764    0x100F7837, // Large 'vmresum|e'.
12765    0x80EAC9B6, // Small 'vmrun'.
12766    0x8B60CDB6, // Small 'vmsave'.
12767    0x890655B6, // Small 'vmulpd'.
12768    0x910655B6, // Small 'vmulph'.
12769    0xA70655B6, // Small 'vmulps'.
12770    0x893655B6, // Small 'vmulsd'.
12771    0x913655B6, // Small 'vmulsh'.
12772    0xA73655B6, // Small 'vmulss'.
12773    0x22FD59A0, // Large 'vmwri|te'.
12774    0x8C67E1B6, // Small 'vmxoff'.
12775    0x80E7E1B6, // Small 'vmxon'.
12776    0x804849F6, // Small 'vorpd'.
12777    0x813849F6, // Small 'vorps'.
12778    0x122BC2F8, // Large 'vp2intersect|d'.
12779    0x1215C2F8, // Large 'vp2intersect|q'.
12780    0x85310616, // Small 'vpabsb'.
12781    0x89310616, // Small 'vpabsd'.
12782    0xA3310616, // Small 'vpabsq'.
12783    0xAF310616, // Small 'vpabsw'.
12784    0x126486B6, // Large 'vpackssd|w'.
12785    0x26BE76B6, // Large 'vpackss|wb'.
12786    0x36BC66C0, // Large 'vpacku|sdw'.
12787    0x36C666C0, // Large 'vpacku|swb'.
12788    0x84420616, // Small 'vpaddb'.
12789    0x88420616, // Small 'vpaddd'.
12790    0xA2420616, // Small 'vpaddq'.
12791    0x2786583E, // Large 'vpadd|sb'.
12792    0x2561583E, // Large 'vpadd|sw'.
12793    0x2786683E, // Large 'vpaddu|sb'.
12794    0x2561683E, // Large 'vpaddu|sw'.
12795    0xAE420616, // Small 'vpaddw'.
12796    0x12287844, // Large 'vpalign|r'.
12797    0x80470616, // Small 'vpand'.
12798    0x88470616, // Small 'vpandd'.
12799    0x9C470616, // Small 'vpandn'.
12800    0x237659A5, // Large 'vpand|nd'.
12801    0x28DF59A5, // Large 'vpand|nq'.
12802    0xA2470616, // Small 'vpandq'.
12803    0x847B0616, // Small 'vpavgb'.
12804    0xAE7B0616, // Small 'vpavgw'.
12805    0x122B76C9, // Large 'vpblend|d'.
12806    0x226176C9, // Large 'vpblend|mb'.
12807    0x26D076C9, // Large 'vpblend|md'.
12808    0x121586C9, // Large 'vpblendm|q'.
12809    0x126486C9, // Large 'vpblendm|w'.
12810    0x200376C9, // Large 'vpblend|vb'.
12811    0x126476C9, // Large 'vpblend|w'.
12812    0x1004B256, // Large 'vpbroadcast|b'.
12813    0x122BB256, // Large 'vpbroadcast|d'.
12814    0x1215E256, // Large 'vpbroadcastmb2|q'.
12815    0x3264C256, // Large 'vpbroadcastm|w2d'.
12816    0x1215B256, // Large 'vpbroadcast|q'.
12817    0x1264B256, // Large 'vpbroadcast|w'.
12818    0x44626522, // Large 'vpclmu|lqdq'.
12819    0xACF68E16, // Small 'vpcmov'.
12820    0x85068E16, // Small 'vpcmpb'.
12821    0x89068E16, // Small 'vpcmpd'.
12822    0x22156528, // Large 'vpcmpe|qb'.
12823    0x24576528, // Large 'vpcmpe|qd'.
12824    0x23D06528, // Large 'vpcmpe|qq'.
12825    0x27256528, // Large 'vpcmpe|qw'.
12826    0x120F9528, // Large 'vpcmpestr|i'.
12827    0x10019528, // Large 'vpcmpestr|m'.
12828    0x384B5528, // Large 'vpcmp|gtb'.
12829    0x384E5528, // Large 'vpcmp|gtd'.
12830    0x38515528, // Large 'vpcmp|gtq'.
12831    0x38545528, // Large 'vpcmp|gtw'.
12832    0x120F9531, // Large 'vpcmpistr|i'.
12833    0x10019531, // Large 'vpcmpistr|m'.
12834    0xA3068E16, // Small 'vpcmpq'.
12835    0x22A25528, // Large 'vpcmp|ub'.
12836    0x23CE5528, // Large 'vpcmp|ud'.
12837    0x23DA5528, // Large 'vpcmp|uq'.
12838    0x264C5528, // Large 'vpcmp|uw'.
12839    0xAF068E16, // Small 'vpcmpw'.
12840    0x84D78E16, // Small 'vpcomb'.
12841    0x88D78E16, // Small 'vpcomd'.
12842    0x1004A424, // Large 'vpcompress|b'.
12843    0x122BA424, // Large 'vpcompress|d'.
12844    0x1215A424, // Large 'vpcompress|q'.
12845    0x1264A424, // Large 'vpcompress|w'.
12846    0xA2D78E16, // Small 'vpcomq'.
12847    0x22A25424, // Large 'vpcom|ub'.
12848    0x23CE5424, // Large 'vpcom|ud'.
12849    0x23DA5424, // Large 'vpcom|uq'.
12850    0x264C5424, // Large 'vpcom|uw'.
12851    0xAED78E16, // Small 'vpcomw'.
12852    0x122BA42E, // Large 'vpconflict|d'.
12853    0x1215A42E, // Large 'vpconflict|q'.
12854    0x122B76D2, // Large 'vpdpbss|d'.
12855    0x22A076D2, // Large 'vpdpbss|ds'.
12856    0x23CE66D2, // Large 'vpdpbs|ud'.
12857    0x36D966D2, // Large 'vpdpbs|uds'.
12858    0x122B76DC, // Large 'vpdpbus|d'.
12859    0x22A076DC, // Large 'vpdpbus|ds'.
12860    0x23CE66DC, // Large 'vpdpbu|ud'.
12861    0x36D966DC, // Large 'vpdpbu|uds'.
12862    0x122B76E3, // Large 'vpdpwss|d'.
12863    0x22A076E3, // Large 'vpdpwss|ds'.
12864    0x23CE66E3, // Large 'vpdpws|ud'.
12865    0x36D966E3, // Large 'vpdpws|uds'.
12866    0x122B76EA, // Large 'vpdpwus|d'.
12867    0x22A076EA, // Large 'vpdpwus|ds'.
12868    0x23CE66EA, // Large 'vpdpwu|ud'.
12869    0x36D966EA, // Large 'vpdpwu|uds'.
12870    0x3274753A, // Large 'vperm2f|128'.
12871    0x4277653A, // Large 'vperm2|i128'.
12872    0x84D91616, // Small 'vpermb'.
12873    0x88D91616, // Small 'vpermd'.
12874    0x28576541, // Large 'vpermi|2b'.
12875    0x22656541, // Large 'vpermi|2d'.
12876    0x36F16541, // Large 'vpermi|2pd'.
12877    0x32816541, // Large 'vpermi|2ps'.
12878    0x24E46541, // Large 'vpermi|2q'.
12879    0x22636541, // Large 'vpermi|2w'.
12880    0x22AC8541, // Large 'vpermil2|pd'.
12881    0x22828541, // Large 'vpermil2|ps'.
12882    0x22AC7541, // Large 'vpermil|pd'.
12883    0x22827541, // Large 'vpermil|ps'.
12884    0x22AC553A, // Large 'vperm|pd'.
12885    0x2282553A, // Large 'vperm|ps'.
12886    0xA2D91616, // Small 'vpermq'.
12887    0x285766F4, // Large 'vpermt|2b'.
12888    0x226566F4, // Large 'vpermt|2d'.
12889    0x36F166F4, // Large 'vpermt|2pd'.
12890    0x328166F4, // Large 'vpermt|2ps'.
12891    0x24E466F4, // Large 'vpermt|2q'.
12892    0x226366F4, // Large 'vpermt|2w'.
12893    0xAED91616, // Small 'vpermw'.
12894    0x266376FA, // Large 'vpexpan|db'.
12895    0x229F76FA, // Large 'vpexpan|dd'.
12896    0x23CF76FA, // Large 'vpexpan|dq'.
12897    0x26BD76FA, // Large 'vpexpan|dw'.
12898    0x37BF46FA, // Large 'vpex|trb'.
12899    0x247659AA, // Large 'vpext|rd'.
12900    0x245659AA, // Large 'vpext|rq'.
12901    0x29AF59AA, // Large 'vpext|rw'.
12902    0x229F8549, // Large 'vpgather|dd'.
12903    0x23CF8549, // Large 'vpgather|dq'.
12904    0x24578549, // Large 'vpgather|qd'.
12905    0x23D08549, // Large 'vpgather|qq'.
12906    0x28596701, // Large 'vphadd|bd'.
12907    0x285B6701, // Large 'vphadd|bq'.
12908    0x25786701, // Large 'vphadd|bw'.
12909    0x122B6701, // Large 'vphadd|d'.
12910    0x23CF6701, // Large 'vphadd|dq'.
12911    0x25616701, // Large 'vphadd|sw'.
12912    0x122B8701, // Large 'vphaddub|d'.
12913    0x12158701, // Large 'vphaddub|q'.
12914    0x12648701, // Large 'vphaddub|w'.
12915    0x23CF7701, // Large 'vphaddu|dq'.
12916    0x257A7701, // Large 'vphaddu|wd'.
12917    0x27097701, // Large 'vphaddu|wq'.
12918    0x12646701, // Large 'vphadd|w'.
12919    0x257A6701, // Large 'vphadd|wd'.
12920    0x27096701, // Large 'vphadd|wq'.
12921    0x1264A438, // Large 'vphminposu|w'.
12922    0x2578685D, // Large 'vphsub|bw'.
12923    0x122B685D, // Large 'vphsub|d'.
12924    0x23CF685D, // Large 'vphsub|dq'.
12925    0x2561685D, // Large 'vphsub|sw'.
12926    0x1264685D, // Large 'vphsub|w'.
12927    0x257A685D, // Large 'vphsub|wd'.
12928    0x27C059B1, // Large 'vpins|rb'.
12929    0x247659B1, // Large 'vpins|rd'.
12930    0x245659B1, // Large 'vpins|rq'.
12931    0x29AF59B1, // Large 'vpins|rw'.
12932    0x26266863, // Large 'vplzcn|td'.
12933    0x236C6863, // Large 'vplzcn|tq'.
12934    0x229F6551, // Large 'vpmacs|dd'.
12935    0x370B6551, // Large 'vpmacs|dqh'.
12936    0x35806551, // Large 'vpmacs|dql'.
12937    0x122B8551, // Large 'vpmacssd|d'.
12938    0x12A89551, // Large 'vpmacssdq|h'.
12939    0x10279551, // Large 'vpmacssdq|l'.
12940    0x257A7551, // Large 'vpmacss|wd'.
12941    0x25797551, // Large 'vpmacss|ww'.
12942    0x257A6551, // Large 'vpmacs|wd'.
12943    0x25796551, // Large 'vpmacs|ww'.
12944    0x122B955A, // Large 'vpmadcssw|d'.
12945    0x257A755A, // Large 'vpmadcs|wd'.
12946    0x23DA9442, // Large 'vpmadd52h|uq'.
12947    0x344B8442, // Large 'vpmadd52|luq'.
12948    0x45636442, // Large 'vpmadd|ubsw'.
12949    0x257A6442, // Large 'vpmadd|wd'.
12950    0x641D4442, // Large 'vpma|skmovd'.
12951    0x22148567, // Large 'vpmaskmo|vq'.
12952    0x278659B6, // Large 'vpmax|sb'.
12953    0x231D59B6, // Large 'vpmax|sd'.
12954    0x258759B6, // Large 'vpmax|sq'.
12955    0x256159B6, // Large 'vpmax|sw'.
12956    0x22A259B6, // Large 'vpmax|ub'.
12957    0x23CE59B6, // Large 'vpmax|ud'.
12958    0x23DA59B6, // Large 'vpmax|uq'.
12959    0x264C59B6, // Large 'vpmax|uw'.
12960    0x278659BB, // Large 'vpmin|sb'.
12961    0x231D59BB, // Large 'vpmin|sd'.
12962    0x258759BB, // Large 'vpmin|sq'.
12963    0x256159BB, // Large 'vpmin|sw'.
12964    0x22A259BB, // Large 'vpmin|ub'.
12965    0x23CE59BB, // Large 'vpmin|ud'.
12966    0x23DA59BB, // Large 'vpmin|uq'.
12967    0x264C59BB, // Large 'vpmin|uw'.
12968    0x3869570E, // Large 'vpmov|b2m'.
12969    0x386C570E, // Large 'vpmov|d2m'.
12970    0x2663570E, // Large 'vpmov|db'.
12971    0x26BD570E, // Large 'vpmov|dw'.
12972    0x2857670E, // Large 'vpmovm|2b'.
12973    0x2265670E, // Large 'vpmovm|2d'.
12974    0x24E4670E, // Large 'vpmovm|2q'.
12975    0x2263670E, // Large 'vpmovm|2w'.
12976    0x1004870E, // Large 'vpmovmsk|b'.
12977    0x386F570E, // Large 'vpmov|q2m'.
12978    0x2215570E, // Large 'vpmov|qb'.
12979    0x2457570E, // Large 'vpmov|qd'.
12980    0x2725570E, // Large 'vpmov|qw'.
12981    0x26636716, // Large 'vpmovs|db'.
12982    0x26BD6716, // Large 'vpmovs|dw'.
12983    0x22156716, // Large 'vpmovs|qb'.
12984    0x24576716, // Large 'vpmovs|qd'.
12985    0x27256716, // Large 'vpmovs|qw'.
12986    0x26BE6716, // Large 'vpmovs|wb'.
12987    0x122B8716, // Large 'vpmovsxb|d'.
12988    0x12158716, // Large 'vpmovsxb|q'.
12989    0x12648716, // Large 'vpmovsxb|w'.
12990    0x23CF7716, // Large 'vpmovsx|dq'.
12991    0x257A7716, // Large 'vpmovsx|wd'.
12992    0x27097716, // Large 'vpmovsx|wq'.
12993    0x2663771E, // Large 'vpmovus|db'.
12994    0x26BD771E, // Large 'vpmovus|dw'.
12995    0x2215771E, // Large 'vpmovus|qb'.
12996    0x2457771E, // Large 'vpmovus|qd'.
12997    0x2725771E, // Large 'vpmovus|qw'.
12998    0x26BE771E, // Large 'vpmovus|wb'.
12999    0x3872570E, // Large 'vpmov|w2m'.
13000    0x26BE570E, // Large 'vpmov|wb'.
13001    0x122B8727, // Large 'vpmovzxb|d'.
13002    0x12158727, // Large 'vpmovzxb|q'.
13003    0x12648727, // Large 'vpmovzxb|w'.
13004    0x23CF7727, // Large 'vpmovzx|dq'.
13005    0x257A7727, // Large 'vpmovzx|wd'.
13006    0x27097727, // Large 'vpmovzx|wq'.
13007    0x23CF52D3, // Large 'vpmul|dq'.
13008    0x2561772F, // Large 'vpmulhr|sw'.
13009    0x264C672F, // Large 'vpmulh|uw'.
13010    0x1264672F, // Large 'vpmulh|w'.
13011    0x257F52D3, // Large 'vpmul|ld'.
13012    0x246252D3, // Large 'vpmul|lq'.
13013    0x258252D3, // Large 'vpmul|lw'.
13014    0x2215C2D3, // Large 'vpmultishift|qb'.
13015    0x33CE52D3, // Large 'vpmul|udq'.
13016    0x21546875, // Large 'vpopcn|tb'.
13017    0x26266875, // Large 'vpopcn|td'.
13018    0x236C6875, // Large 'vpopcn|tq'.
13019    0x27B86875, // Large 'vpopcn|tw'.
13020    0x80093E16, // Small 'vpor'.
13021    0x80493E16, // Small 'vpord'.
13022    0x81193E16, // Small 'vporq'.
13023    0x9B22C216, // Small 'vpperm'.
13024    0x88C7CA16, // Small 'vprold'.
13025    0xA2C7CA16, // Small 'vprolq'.
13026    0x242159C0, // Large 'vprol|vd'.
13027    0x221459C0, // Large 'vprol|vq'.
13028    0x8927CA16, // Small 'vprord'.
13029    0xA327CA16, // Small 'vprorq'.
13030    0x242159C5, // Large 'vpror|vd'.
13031    0x221459C5, // Large 'vpror|vq'.
13032    0x8547CA16, // Small 'vprotb'.
13033    0x8947CA16, // Small 'vprotd'.
13034    0xA347CA16, // Small 'vprotq'.
13035    0xAF47CA16, // Small 'vprotw'.
13036    0x257859CA, // Large 'vpsad|bw'.
13037    0x229F944E, // Large 'vpscatter|dd'.
13038    0x23CF944E, // Large 'vpscatter|dq'.
13039    0x2457944E, // Large 'vpscatter|qd'.
13040    0x1215A44E, // Large 'vpscatterq|q'.
13041    0x84144E16, // Small 'vpshab'.
13042    0x88144E16, // Small 'vpshad'.
13043    0xA2144E16, // Small 'vpshaq'.
13044    0xAE144E16, // Small 'vpshaw'.
13045    0x84C44E16, // Small 'vpshlb'.
13046    0x88C44E16, // Small 'vpshld'.
13047    0x122B687B, // Large 'vpshld|d'.
13048    0x1215687B, // Large 'vpshld|q'.
13049    0x3668587B, // Large 'vpshl|dvd'.
13050    0x3880587B, // Large 'vpshl|dvq'.
13051    0x1264787B, // Large 'vpshldv|w'.
13052    0x1264687B, // Large 'vpshld|w'.
13053    0xA2C44E16, // Small 'vpshlq'.
13054    0xAEC44E16, // Small 'vpshlw'.
13055    0x122B6883, // Large 'vpshrd|d'.
13056    0x12156883, // Large 'vpshrd|q'.
13057    0x36685883, // Large 'vpshr|dvd'.
13058    0x38805883, // Large 'vpshr|dvq'.
13059    0x38885883, // Large 'vpshr|dvw'.
13060    0x12646883, // Large 'vpshrd|w'.
13061    0x00007364, // Large 'vpshufb'.
13062    0x2261A364, // Large 'vpshufbitq|mb'.
13063    0x122B6364, // Large 'vpshuf|d'.
13064    0x288B6364, // Large 'vpshuf|hw'.
13065    0x25826364, // Large 'vpshuf|lw'.
13066    0x204859CF, // Large 'vpsig|nb'.
13067    0x237659CF, // Large 'vpsig|nd'.
13068    0x28C159CF, // Large 'vpsig|nw'.
13069    0x88C64E16, // Small 'vpslld'.
13070    0x357F49D4, // Large 'vpsl|ldq'.
13071    0xA2C64E16, // Small 'vpsllq'.
13072    0x242159D8, // Large 'vpsll|vd'.
13073    0x221459D8, // Large 'vpsll|vq'.
13074    0x288959D8, // Large 'vpsll|vw'.
13075    0xAEC64E16, // Small 'vpsllw'.
13076    0x88194E16, // Small 'vpsrad'.
13077    0xA2194E16, // Small 'vpsraq'.
13078    0x242159DD, // Large 'vpsra|vd'.
13079    0x221459DD, // Large 'vpsra|vq'.
13080    0x288959DD, // Large 'vpsra|vw'.
13081    0xAE194E16, // Small 'vpsraw'.
13082    0x88C94E16, // Small 'vpsrld'.
13083    0x357F49DD, // Large 'vpsr|ldq'.
13084    0xA2C94E16, // Small 'vpsrlq'.
13085    0x242159E2, // Large 'vpsrl|vd'.
13086    0x221459E2, // Large 'vpsrl|vq'.
13087    0x288959E2, // Large 'vpsrl|vw'.
13088    0xAEC94E16, // Small 'vpsrlw'.
13089    0x842ACE16, // Small 'vpsubb'.
13090    0x882ACE16, // Small 'vpsubd'.
13091    0xA22ACE16, // Small 'vpsubq'.
13092    0x2786588D, // Large 'vpsub|sb'.
13093    0x2561588D, // Large 'vpsub|sw'.
13094    0x2786688D, // Large 'vpsubu|sb'.
13095    0x2561688D, // Large 'vpsubu|sw'.
13096    0xAE2ACE16, // Small 'vpsubw'.
13097    0x122B956F, // Large 'vpternlog|d'.
13098    0x1215956F, // Large 'vpternlog|q'.
13099    0xA932D216, // Small 'vptest'.
13100    0x22616736, // Large 'vptest|mb'.
13101    0x26D06736, // Large 'vptest|md'.
13102    0x273D6736, // Large 'vptest|mq'.
13103    0x28716736, // Large 'vptest|mw'.
13104    0x22617736, // Large 'vptestn|mb'.
13105    0x26D07736, // Large 'vptestn|md'.
13106    0x273D7736, // Large 'vptestn|mq'.
13107    0x12648736, // Large 'vptestnm|w'.
13108    0x25788459, // Large 'vpunpckh|bw'.
13109    0x23CF8459, // Large 'vpunpckh|dq'.
13110    0x23CF9459, // Large 'vpunpckhq|dq'.
13111    0x257A8459, // Large 'vpunpckh|wd'.
13112    0x357C7459, // Large 'vpunpck|lbw'.
13113    0x357F7459, // Large 'vpunpck|ldq'.
13114    0x44627459, // Large 'vpunpck|lqdq'.
13115    0x35827459, // Large 'vpunpck|lwd'.
13116    0x8127E216, // Small 'vpxor'.
13117    0x8927E216, // Small 'vpxord'.
13118    0xA327E216, // Small 'vpxorq'.
13119    0x22AC6893, // Large 'vrange|pd'.
13120    0x22826893, // Large 'vrange|ps'.
13121    0x231D6893, // Large 'vrange|sd'.
13122    0x22226893, // Large 'vrange|ss'.
13123    0x22AC6899, // Large 'vrcp14|pd'.
13124    0x22826899, // Large 'vrcp14|ps'.
13125    0x231D6899, // Large 'vrcp14|sd'.
13126    0x22226899, // Large 'vrcp14|ss'.
13127    0x91080E56, // Small 'vrcpph'.
13128    0xA7080E56, // Small 'vrcpps'.
13129    0x91380E56, // Small 'vrcpsh'.
13130    0xA7380E56, // Small 'vrcpss'.
13131    0x22AC773F, // Large 'vreduce|pd'.
13132    0x22A7773F, // Large 'vreduce|ph'.
13133    0x2282773F, // Large 'vreduce|ps'.
13134    0x231D773F, // Large 'vreduce|sd'.
13135    0x22DA773F, // Large 'vreduce|sh'.
13136    0x2222773F, // Large 'vreduce|ss'.
13137    0x22AC9466, // Large 'vrndscale|pd'.
13138    0x22A79466, // Large 'vrndscale|ph'.
13139    0x22829466, // Large 'vrndscale|ps'.
13140    0x231D9466, // Large 'vrndscale|sd'.
13141    0x22DA9466, // Large 'vrndscale|sh'.
13142    0x22229466, // Large 'vrndscale|ss'.
13143    0x22AC689F, // Large 'vround|pd'.
13144    0x2282689F, // Large 'vround|ps'.
13145    0x231D689F, // Large 'vround|sd'.
13146    0x2222689F, // Large 'vround|ss'.
13147    0x22AC8585, // Large 'vrsqrt14|pd'.
13148    0x22828585, // Large 'vrsqrt14|ps'.
13149    0x231D8585, // Large 'vrsqrt14|sd'.
13150    0x22228585, // Large 'vrsqrt14|ss'.
13151    0x22A76585, // Large 'vrsqrt|ph'.
13152    0x22826585, // Large 'vrsqrt|ps'.
13153    0x22DA6585, // Large 'vrsqrt|sh'.
13154    0x22226585, // Large 'vrsqrt|ss'.
13155    0x22AC7746, // Large 'vscalef|pd'.
13156    0x22A77746, // Large 'vscalef|ph'.
13157    0x22827746, // Large 'vscalef|ps'.
13158    0x231D7746, // Large 'vscalef|sd'.
13159    0x22DA7746, // Large 'vscalef|sh'.
13160    0x22227746, // Large 'vscalef|ss'.
13161    0x22AC946F, // Large 'vscatterd|pd'.
13162    0x2282946F, // Large 'vscatterd|ps'.
13163    0x3478846F, // Large 'vscatter|qpd'.
13164    0x347B846F, // Large 'vscatter|qps'.
13165    0x447E736E, // Large 'vsha512|msg1'.
13166    0x4482736E, // Large 'vsha512|msg2'.
13167    0x2283A36E, // Large 'vsha512rnd|s2'.
13168    0x5230558D, // Large 'vshuf|f32x4'.
13169    0x42356592, // Large 'vshuff|64x2'.
13170    0x5242558D, // Large 'vshuf|i32x4'.
13171    0x524C558D, // Large 'vshuf|i64x2'.
13172    0x22AC558D, // Large 'vshuf|pd'.
13173    0x2282558D, // Large 'vshuf|ps'.
13174    0x447E474D, // Large 'vsm3|msg1'.
13175    0x4482474D, // Large 'vsm3|msg2'.
13176    0x2283774D, // Large 'vsm3rnd|s2'.
13177    0x123478A5, // Large 'vsm4key|4'.
13178    0x12348754, // Large 'vsm4rnds|4'.
13179    0x33CA49E7, // Large 'vsqr|tpd'.
13180    0x33D649E7, // Large 'vsqr|tph'.
13181    0x33E149E7, // Large 'vsqr|tps'.
13182    0x33E849E7, // Large 'vsqr|tsd'.
13183    0x33F149E7, // Large 'vsqr|tsh'.
13184    0x33FA49E7, // Large 'vsqr|tss'.
13185    0x122878AC, // Large 'vstmxcs|r'.
13186    0x89015676, // Small 'vsubpd'.
13187    0x91015676, // Small 'vsubph'.
13188    0xA7015676, // Small 'vsubps'.
13189    0x89315676, // Small 'vsubsd'.
13190    0x91315676, // Small 'vsubsh'.
13191    0xA7315676, // Small 'vsubss'.
13192    0x33CA49EB, // Large 'vtes|tpd'.
13193    0x33E149EB, // Large 'vtes|tps'.
13194    0x231D68B3, // Large 'vucomi|sd'.
13195    0x22DA68B3, // Large 'vucomi|sh'.
13196    0x222268B3, // Large 'vucomi|ss'.
13197    0x22AC775C, // Large 'vunpckh|pd'.
13198    0x2282775C, // Large 'vunpckh|ps'.
13199    0x3763675C, // Large 'vunpck|lpd'.
13200    0x3766675C, // Large 'vunpck|lps'.
13201    0x89093F16, // Small 'vxorpd'.
13202    0xA7093F16, // Small 'vxorps'.
13203    0x38B95598, // Large 'vzero|all'.
13204    0x353B7598, // Large 'vzeroup|per'.
13205    0x89672457, // Small 'wbinvd'.
13206    0x242168BC, // Large 'wbnoin|vd'.
13207    0x317058C2, // Large 'wrfsb|ase'.
13208    0x317058C7, // Large 'wrgsb|ase'.
13209    0x8129B657, // Small 'wrmsr'.
13210    0x8049CE57, // Small 'wrssd'.
13211    0x8119CE57, // Small 'wrssq'.
13212    0x8939D657, // Small 'wrussd'.
13213    0xA339D657, // Small 'wrussq'.
13214    0xA9278838, // Small 'xabort'.
13215    0x80021038, // Small 'xadd'.
13216    0x9C939458, // Small 'xbegin'.
13217    0x8003A078, // Small 'xchg'.
13218    0x800238B8, // Small 'xend'.
13219    0xAC2A14F8, // Small 'xgetbv'.
13220    0x802A0598, // Small 'xlatb'.
13221    0x800049F8, // Small 'xor'.
13222    0x804849F8, // Small 'xorpd'.
13223    0x813849F8, // Small 'xorps'.
13224    0x121B8769, // Large 'xresldtr|k'.
13225    0xA4FA4E58, // Small 'xrstor'.
13226    0x223565DD, // Large 'xrstor|64'.
13227    0x115265DD, // Large 'xrstor|s'.
13228    0x377165DD, // Large 'xrstor|s64'.
13229    0x805B0678, // Small 'xsave'.
13230    0x2235559F, // Large 'xsave|64'.
13231    0x865B0678, // Small 'xsavec'.
13232    0x38CC559F, // Large 'xsave|c64'.
13233    0x0000859F, // Large 'xsaveopt'.
13234    0x2235859F, // Large 'xsaveopt|64'.
13235    0xA65B0678, // Small 'xsaves'.
13236    0x3771559F, // Large 'xsave|s64'.
13237    0xAC2A1678, // Small 'xsetbv'.
13238    0x121B8774, // Large 'xsusldtr|k'.
13239    0x81499698 // Small 'xtest'.
13240];
13241
13242pub static ALIAS_NAME_STRING_TABLE: &[u8] = b"cmovnaege";
13243
13244pub static ALIAS_NAME_INDEX_TABLE: &[u32] = &[
13245    0x801B3DA3, // Small 'cmova'.
13246    0x8A1B3DA3, // Small 'cmovae'.
13247    0x803B3DA3, // Small 'cmovc'.
13248    0x805B3DA3, // Small 'cmove'.
13249    0x807B3DA3, // Small 'cmovg'.
13250    0x8A7B3DA3, // Small 'cmovge'.
13251    0x82EB3DA3, // Small 'cmovna'.
13252    0x00007000, // Large 'cmovnae'.
13253    0x86EB3DA3, // Small 'cmovnc'.
13254    0x8AEB3DA3, // Small 'cmovne'.
13255    0x8EEB3DA3, // Small 'cmovng'.
13256    0x20075000, // Large 'cmovn|ge'.
13257    0x8B0B3DA3, // Small 'cmovpe'.
13258    0x9F0B3DA3, // Small 'cmovpo'.
13259    0x8000002A, // Small 'ja'.
13260    0x8000142A, // Small 'jae'.
13261    0x8000006A, // Small 'jc'.
13262    0x800000AA, // Small 'je'.
13263    0x800000EA, // Small 'jg'.
13264    0x800014EA, // Small 'jge'.
13265    0x800005CA, // Small 'jna'.
13266    0x800285CA, // Small 'jnae'.
13267    0x80000DCA, // Small 'jnc'.
13268    0x800015CA, // Small 'jne'.
13269    0x80001DCA, // Small 'jng'.
13270    0x80029DCA, // Small 'jnge'.
13271    0x8000160A, // Small 'jpe'.
13272    0x80003E0A, // Small 'jpo'.
13273    0x80003033, // Small 'sal'.
13274    0x8000D0B3, // Small 'seta'.
13275    0x8050D0B3, // Small 'setae'.
13276    0x8001D0B3, // Small 'setc'.
13277    0x8002D0B3, // Small 'sete'.
13278    0x8003D0B3, // Small 'setg'.
13279    0x8053D0B3, // Small 'setge'.
13280    0x801750B3, // Small 'setna'.
13281    0x8A1750B3, // Small 'setnae'.
13282    0x803750B3, // Small 'setnc'.
13283    0x805750B3, // Small 'setne'.
13284    0x807750B3, // Small 'setng'.
13285    0x8A7750B3, // Small 'setnge'.
13286    0x805850B3, // Small 'setpe'.
13287    0x80F850B3, // Small 'setpo'.
13288    0x800A2437, // Small 'wait'.
13289];
13290
13291pub static ALIAS_INDEX_TO_INST_ID_TABLE: &[u32] = &[
13292    InstId::Cmovnbe as u32, // #0
13293    InstId::Cmovnb as u32,  // #1
13294    InstId::Cmovb as u32,   // #2
13295    InstId::Cmovz as u32,   // #3
13296    InstId::Cmovnle as u32, // #4
13297    InstId::Cmovnl as u32,  // #5
13298    InstId::Cmovbe as u32,  // #6
13299    InstId::Cmovb as u32,   // #7
13300    InstId::Cmovnb as u32,  // #8
13301    InstId::Cmovnz as u32,  // #9
13302    InstId::Cmovle as u32,  // #10
13303    InstId::Cmovl as u32,   // #11
13304    InstId::Cmovp as u32,   // #12
13305    InstId::Cmovnp as u32,  // #13
13306    InstId::Jnbe as u32,    // #14
13307    InstId::Jnb as u32,     // #15
13308    InstId::Jb as u32,      // #16
13309    InstId::Jz as u32,      // #17
13310    InstId::Jnle as u32,    // #18
13311    InstId::Jnl as u32,     // #19
13312    InstId::Jbe as u32,     // #20
13313    InstId::Jb as u32,      // #21
13314    InstId::Jnb as u32,     // #22
13315    InstId::Jnz as u32,     // #23
13316    InstId::Jle as u32,     // #24
13317    InstId::Jl as u32,      // #25
13318    InstId::Jp as u32,      // #26
13319    InstId::Jnp as u32,     // #27
13320    InstId::Shl as u32,     // #28
13321    InstId::Setnbe as u32,  // #29
13322    InstId::Setnb as u32,   // #30
13323    InstId::Setb as u32,    // #31
13324    InstId::Setz as u32,    // #32
13325    InstId::Setnle as u32,  // #33
13326    InstId::Setnl as u32,   // #34
13327    InstId::Setbe as u32,   // #35
13328    InstId::Setb as u32,    // #36
13329    InstId::Setnb as u32,   // #37
13330    InstId::Setnz as u32,   // #38
13331    InstId::Setle as u32,   // #39
13332    InstId::Setl as u32,    // #40
13333    InstId::Setp as u32,    // #41
13334    InstId::Setnp as u32,   // #42
13335    InstId::Fwait as u32,   // #43
13336];
13337
13338pub const ALIAS_TABLE_SIZE: u32 = 44;
13339
13340/// Instruction signatures, see [`CommonInfo::signature_index`].
13341pub static INST_SIGNATURE_TABLE: &[InstSignature] = &[
13342    InstSignature::new(2, Mode::Any as u8, 0, 0, [1, 2, 0, 0, 0, 0]), // #0   {r8lo|r8hi|m8|mem, r8lo|r8hi}
13343    InstSignature::new(2, Mode::Any as u8, 0, 0, [3, 4, 0, 0, 0, 0]), // {r16|m16|mem|sreg, r16}
13344    InstSignature::new(2, Mode::Any as u8, 0, 0, [5, 6, 0, 0, 0, 0]), // {r32|m32|mem|sreg, r32}
13345    InstSignature::new(2, Mode::X64 as u8, 0, 0, [7, 8, 0, 0, 0, 0]), // {r64|m64|mem|sreg|creg|dreg, r64}
13346    InstSignature::new(2, Mode::Any as u8, 0, 0, [9, 10, 0, 0, 0, 0]), // {r8lo|r8hi|m8, i8|u8}
13347    InstSignature::new(2, Mode::Any as u8, 0, 0, [11, 12, 0, 0, 0, 0]), // {r16|m16, i16|u16}
13348    InstSignature::new(2, Mode::Any as u8, 0, 0, [13, 14, 0, 0, 0, 0]), // {r32|m32, i32|u32}
13349    InstSignature::new(2, Mode::X64 as u8, 0, 0, [15, 16, 0, 0, 0, 0]), // {r64|m64, i32}
13350    InstSignature::new(2, Mode::Any as u8, 0, 0, [2, 17, 0, 0, 0, 0]), // {r8lo|r8hi, m8|mem}
13351    InstSignature::new(2, Mode::Any as u8, 0, 0, [4, 18, 0, 0, 0, 0]), // {r16, m16|mem|sreg}
13352    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 19, 0, 0, 0, 0]), // {r32, m32|mem|sreg}
13353    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 20, 0, 0, 0, 0]), // {r64, m64|mem|i64|u64|sreg|creg|dreg}
13354    InstSignature::new(2, Mode::Any as u8, 0, 0, [21, 22, 0, 0, 0, 0]), // {m16|mem, sreg}
13355    InstSignature::new(2, Mode::Any as u8, 0, 0, [21, 22, 0, 0, 0, 0]), // {m16|mem, sreg}
13356    InstSignature::new(2, Mode::X64 as u8, 0, 0, [21, 22, 0, 0, 0, 0]), // {m16|mem, sreg}
13357    InstSignature::new(2, Mode::Any as u8, 0, 0, [22, 21, 0, 0, 0, 0]), // {sreg, m16|mem}
13358    InstSignature::new(2, Mode::Any as u8, 0, 0, [22, 21, 0, 0, 0, 0]), // {sreg, m16|mem}
13359    InstSignature::new(2, Mode::X64 as u8, 0, 0, [22, 21, 0, 0, 0, 0]), // {sreg, m16|mem}
13360    InstSignature::new(2, Mode::X86 as u8, 0, 0, [6, 23, 0, 0, 0, 0]), // {r32, creg|dreg}
13361    InstSignature::new(2, Mode::X86 as u8, 0, 0, [23, 6, 0, 0, 0, 0]), // {creg|dreg, r32}
13362    InstSignature::new(2, Mode::Any as u8, 0, 0, [1, 2, 0, 0, 0, 0]), // #20  {r8lo|r8hi|m8|mem, r8lo|r8hi}
13363    InstSignature::new(2, Mode::Any as u8, 0, 0, [24, 4, 0, 0, 0, 0]), // {r16|m16|mem, r16}
13364    InstSignature::new(2, Mode::Any as u8, 0, 0, [25, 6, 0, 0, 0, 0]), // {r32|m32|mem, r32}
13365    InstSignature::new(2, Mode::X64 as u8, 0, 0, [26, 8, 0, 0, 0, 0]), // {r64|m64|mem, r64}
13366    InstSignature::new(2, Mode::Any as u8, 0, 0, [9, 10, 0, 0, 0, 0]), // {r8lo|r8hi|m8, i8|u8}
13367    InstSignature::new(2, Mode::Any as u8, 0, 0, [27, 28, 0, 0, 0, 0]), // {r16|m16|r32|m32, i8}
13368    InstSignature::new(2, Mode::X64 as u8, 0, 0, [15, 29, 0, 0, 0, 0]), // {r64|m64, i8|i32}
13369    InstSignature::new(2, Mode::Any as u8, 0, 0, [11, 12, 0, 0, 0, 0]), // {r16|m16, i16|u16}
13370    InstSignature::new(2, Mode::Any as u8, 0, 0, [13, 14, 0, 0, 0, 0]), // {r32|m32, i32|u32}
13371    InstSignature::new(2, Mode::Any as u8, 0, 0, [2, 17, 0, 0, 0, 0]), // {r8lo|r8hi, m8|mem}
13372    InstSignature::new(2, Mode::Any as u8, 0, 0, [4, 21, 0, 0, 0, 0]), // {r16, m16|mem}
13373    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 30, 0, 0, 0, 0]), // {r32, m32|mem}
13374    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 31, 0, 0, 0, 0]), // {r64, m64|mem}
13375    InstSignature::new(2, Mode::Any as u8, 0, 0, [9, 10, 0, 0, 0, 0]), // #33  {r8lo|r8hi|m8, i8|u8}
13376    InstSignature::new(2, Mode::Any as u8, 0, 0, [11, 12, 0, 0, 0, 0]), // {r16|m16, i16|u16}
13377    InstSignature::new(2, Mode::Any as u8, 0, 0, [13, 14, 0, 0, 0, 0]), // {r32|m32, i32|u32}
13378    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 32, 0, 0, 0, 0]), // {r64, u32|i32|i8|r64|m64|mem}
13379    InstSignature::new(2, Mode::X64 as u8, 0, 0, [33, 29, 0, 0, 0, 0]), // {m64, i32|i8}
13380    InstSignature::new(2, Mode::Any as u8, 0, 0, [27, 28, 0, 0, 0, 0]), // {r16|m16|r32|m32, i8}
13381    InstSignature::new(2, Mode::Any as u8, 0, 0, [1, 2, 0, 0, 0, 0]), // {r8lo|r8hi|m8|mem, r8lo|r8hi}
13382    InstSignature::new(2, Mode::Any as u8, 0, 0, [24, 4, 0, 0, 0, 0]), // {r16|m16|mem, r16}
13383    InstSignature::new(2, Mode::Any as u8, 0, 0, [25, 6, 0, 0, 0, 0]), // {r32|m32|mem, r32}
13384    InstSignature::new(2, Mode::X64 as u8, 0, 0, [31, 8, 0, 0, 0, 0]), // #42  {m64|mem, r64}
13385    InstSignature::new(2, Mode::Any as u8, 0, 0, [2, 17, 0, 0, 0, 0]), // {r8lo|r8hi, m8|mem}
13386    InstSignature::new(2, Mode::Any as u8, 0, 0, [4, 21, 0, 0, 0, 0]), // {r16, m16|mem}
13387    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 30, 0, 0, 0, 0]), // {r32, m32|mem}
13388    InstSignature::new(2, Mode::Any as u8, 0, 0, [1, 2, 0, 0, 0, 0]), // #46  {r8lo|r8hi|m8|mem, r8lo|r8hi}
13389    InstSignature::new(2, Mode::Any as u8, 0, 0, [24, 4, 0, 0, 0, 0]), // {r16|m16|mem, r16}
13390    InstSignature::new(2, Mode::Any as u8, 0, 0, [25, 6, 0, 0, 0, 0]), // {r32|m32|mem, r32}
13391    InstSignature::new(2, Mode::X64 as u8, 0, 0, [26, 8, 0, 0, 0, 0]), // {r64|m64|mem, r64}
13392    InstSignature::new(2, Mode::Any as u8, 0, 0, [2, 34, 0, 0, 0, 0]), // {r8lo|r8hi, m8|mem|i8|u8}
13393    InstSignature::new(2, Mode::Any as u8, 0, 0, [4, 35, 0, 0, 0, 0]), // {r16, m16|mem|i8|i16|u16}
13394    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 36, 0, 0, 0, 0]), // {r32, m32|mem|i8|i32|u32}
13395    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 37, 0, 0, 0, 0]), // {r64, m64|mem|i8|i32}
13396    InstSignature::new(2, Mode::Any as u8, 0, 0, [38, 10, 0, 0, 0, 0]), // {m8, i8|u8}
13397    InstSignature::new(2, Mode::Any as u8, 0, 0, [39, 28, 0, 0, 0, 0]), // {m16|m32, i8}
13398    InstSignature::new(2, Mode::X64 as u8, 0, 0, [33, 29, 0, 0, 0, 0]), // {m64, i8|i32}
13399    InstSignature::new(2, Mode::Any as u8, 0, 0, [40, 12, 0, 0, 0, 0]), // {m16, i16|u16}
13400    InstSignature::new(2, Mode::Any as u8, 0, 0, [41, 14, 0, 0, 0, 0]), // {m32, i32|u32}
13401    InstSignature::new(2, Mode::Any as u8, 0, 0, [1, 2, 0, 0, 0, 0]), // #59  {r8lo|r8hi|m8|mem, r8lo|r8hi}
13402    InstSignature::new(2, Mode::Any as u8, 0, 0, [24, 4, 0, 0, 0, 0]), // {r16|m16|mem, r16}
13403    InstSignature::new(2, Mode::Any as u8, 0, 0, [25, 6, 0, 0, 0, 0]), // {r32|m32|mem, r32}
13404    InstSignature::new(2, Mode::X64 as u8, 0, 0, [26, 8, 0, 0, 0, 0]), // {r64|m64|mem, r64}
13405    InstSignature::new(2, Mode::Any as u8, 0, 0, [9, 10, 0, 0, 0, 0]), // {r8lo|r8hi|m8, i8|u8}
13406    InstSignature::new(2, Mode::Any as u8, 0, 0, [11, 12, 0, 0, 0, 0]), // {r16|m16, i16|u16}
13407    InstSignature::new(2, Mode::Any as u8, 0, 0, [13, 14, 0, 0, 0, 0]), // {r32|m32, i32|u32}
13408    InstSignature::new(2, Mode::X64 as u8, 0, 0, [15, 29, 0, 0, 0, 0]), // {r64|m64, i32|i8}
13409    InstSignature::new(2, Mode::Any as u8, 0, 0, [27, 28, 0, 0, 0, 0]), // {r16|m16|r32|m32, i8}
13410    InstSignature::new(2, Mode::Any as u8, 0, 0, [2, 17, 0, 0, 0, 0]), // {r8lo|r8hi, m8|mem}
13411    InstSignature::new(2, Mode::Any as u8, 0, 0, [4, 21, 0, 0, 0, 0]), // {r16, m16|mem}
13412    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 30, 0, 0, 0, 0]), // {r32, m32|mem}
13413    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 31, 0, 0, 0, 0]), // {r64, m64|mem}
13414    InstSignature::new(2, Mode::Any as u8, 1, 0, [42, 1, 0, 0, 0, 0]), // #72  {<ax>, r8lo|r8hi|m8|mem}
13415    InstSignature::new(3, Mode::Any as u8, 2, 0, [43, 42, 24, 0, 0, 0]), // {<dx>, <ax>, r16|m16|mem}
13416    InstSignature::new(3, Mode::Any as u8, 2, 0, [44, 45, 25, 0, 0, 0]), // {<edx>, <eax>, r32|m32|mem}
13417    InstSignature::new(3, Mode::X64 as u8, 2, 0, [46, 47, 26, 0, 0, 0]), // {<rdx>, <rax>, r64|m64|mem}
13418    InstSignature::new(2, Mode::Any as u8, 0, 0, [4, 24, 0, 0, 0, 0]),   // #76  {r16, r16|m16|mem}
13419    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 25, 0, 0, 0, 0]),   // #77  {r32, r32|m32|mem}
13420    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 26, 0, 0, 0, 0]),   // {r64, r64|m64|mem}
13421    InstSignature::new(3, Mode::Any as u8, 0, 0, [4, 24, 48, 0, 0, 0]), // {r16, r16|m16|mem, i8|i16|u16}
13422    InstSignature::new(3, Mode::Any as u8, 0, 0, [6, 25, 49, 0, 0, 0]), // {r32, r32|m32|mem, i8|i32|u32}
13423    InstSignature::new(3, Mode::X64 as u8, 0, 0, [8, 26, 29, 0, 0, 0]), // {r64, r64|m64|mem, i8|i32}
13424    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 50, 0, 0, 0, 0]),  // #82  {r64, i64|u64}
13425    InstSignature::new(2, Mode::Any as u8, 0, 0, [51, 17, 0, 0, 0, 0]), // {al, m8|mem}
13426    InstSignature::new(2, Mode::Any as u8, 0, 0, [52, 21, 0, 0, 0, 0]), // {ax, m16|mem}
13427    InstSignature::new(2, Mode::Any as u8, 0, 0, [53, 30, 0, 0, 0, 0]), // {eax, m32|mem}
13428    InstSignature::new(2, Mode::X64 as u8, 0, 0, [54, 31, 0, 0, 0, 0]), // {rax, m64|mem}
13429    InstSignature::new(2, Mode::Any as u8, 0, 0, [17, 51, 0, 0, 0, 0]), // {m8|mem, al}
13430    InstSignature::new(2, Mode::Any as u8, 0, 0, [21, 52, 0, 0, 0, 0]), // {m16|mem, ax}
13431    InstSignature::new(2, Mode::Any as u8, 0, 0, [30, 53, 0, 0, 0, 0]), // {m32|mem, eax}
13432    InstSignature::new(2, Mode::X64 as u8, 0, 0, [31, 54, 0, 0, 0, 0]), // {m64|mem, rax}
13433    InstSignature::new(2, Mode::Any as u8, 0, 0, [1, 2, 0, 0, 0, 0]), // #91  {r8lo|r8hi|m8|mem, r8lo|r8hi}
13434    InstSignature::new(2, Mode::Any as u8, 0, 0, [24, 4, 0, 0, 0, 0]), // {r16|m16|mem, r16}
13435    InstSignature::new(2, Mode::Any as u8, 0, 0, [25, 6, 0, 0, 0, 0]), // {r32|m32|mem, r32}
13436    InstSignature::new(2, Mode::X64 as u8, 0, 0, [26, 8, 0, 0, 0, 0]), // {r64|m64|mem, r64}
13437    InstSignature::new(2, Mode::Any as u8, 0, 0, [9, 10, 0, 0, 0, 0]), // {r8lo|r8hi|m8, i8|u8}
13438    InstSignature::new(2, Mode::Any as u8, 0, 0, [11, 12, 0, 0, 0, 0]), // {r16|m16, i16|u16}
13439    InstSignature::new(2, Mode::Any as u8, 0, 0, [13, 14, 0, 0, 0, 0]), // {r32|m32, i32|u32}
13440    InstSignature::new(2, Mode::X64 as u8, 0, 0, [15, 16, 0, 0, 0, 0]), // {r64|m64, i32}
13441    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 56, 0, 0, 0, 0]), // #99  {xmm, xmm|m128|mem}
13442    InstSignature::new(2, Mode::Any as u8, 0, 0, [57, 58, 0, 0, 0, 0]), // {ymm, ymm|m256|mem}
13443    InstSignature::new(2, Mode::Any as u8, 0, 0, [59, 55, 0, 0, 0, 0]), // #101 {m128|mem, xmm}
13444    InstSignature::new(2, Mode::Any as u8, 0, 0, [60, 57, 0, 0, 0, 0]), // {m256|mem, ymm}
13445    InstSignature::new(2, Mode::Any as u8, 0, 0, [61, 62, 0, 0, 0, 0]), // {zmm, zmm|m512|mem}
13446    InstSignature::new(2, Mode::Any as u8, 0, 0, [59, 55, 0, 0, 0, 0]), // {m128|mem, xmm}
13447    InstSignature::new(2, Mode::Any as u8, 0, 0, [60, 57, 0, 0, 0, 0]), // {m256|mem, ymm}
13448    InstSignature::new(2, Mode::Any as u8, 0, 0, [63, 61, 0, 0, 0, 0]), // {m512|mem, zmm}
13449    InstSignature::new(2, Mode::Any as u8, 0, 0, [31, 55, 0, 0, 0, 0]), // #107 {m64|mem, xmm}
13450    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 31, 0, 0, 0, 0]), // {xmm, m64|mem}
13451    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 55, 0, 0, 0]), // #109 {xmm, xmm, xmm}
13452    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 55, 0, 0, 0]), // {xmm, xmm, xmm}
13453    InstSignature::new(2, Mode::Any as u8, 0, 0, [31, 55, 0, 0, 0, 0]), // {m64|mem, xmm}
13454    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 31, 0, 0, 0, 0]), // {xmm, m64|mem}
13455    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 55, 0, 0, 0]), // {xmm, xmm, xmm}
13456    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 55, 0, 0, 0]), // {xmm, xmm, xmm}
13457    InstSignature::new(2, Mode::Any as u8, 0, 0, [30, 55, 0, 0, 0, 0]), // #115 {m32|mem, xmm}
13458    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 30, 0, 0, 0, 0]), // {xmm, m32|mem}
13459    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 55, 0, 0, 0]), // {xmm, xmm, xmm}
13460    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 55, 0, 0, 0]), // {xmm, xmm, xmm}
13461    InstSignature::new(2, Mode::Any as u8, 0, 0, [30, 55, 0, 0, 0, 0]), // {m32|mem, xmm}
13462    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 30, 0, 0, 0, 0]), // {xmm, m32|mem}
13463    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 55, 0, 0, 0]), // {xmm, xmm, xmm}
13464    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 55, 0, 0, 0]), // {xmm, xmm, xmm}
13465    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 64, 0, 0, 0]), // #123 {xmm, xmm, xmm|m128|mem|i8|u8}
13466    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 59, 10, 0, 0, 0]), // {xmm, m128|mem, i8|u8}
13467    InstSignature::new(3, Mode::Any as u8, 0, 0, [57, 57, 65, 0, 0, 0]), // {ymm, ymm, ymm|m256|mem|i8|u8}
13468    InstSignature::new(3, Mode::Any as u8, 0, 0, [57, 60, 10, 0, 0, 0]), // {ymm, m256|mem, i8|u8}
13469    InstSignature::new(3, Mode::Any as u8, 0, 0, [61, 61, 66, 0, 0, 0]), // {zmm, zmm, zmm|m512|mem|i8|u8}
13470    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 59, 10, 0, 0, 0]), // {xmm, m128|mem, i8|u8}
13471    InstSignature::new(3, Mode::Any as u8, 0, 0, [57, 60, 10, 0, 0, 0]), // {ymm, m256|mem, i8|u8}
13472    InstSignature::new(3, Mode::Any as u8, 0, 0, [61, 63, 10, 0, 0, 0]), // {zmm, m512|mem, i8|u8}
13473    InstSignature::new(2, Mode::Any as u8, 0, 0, [1, 2, 0, 0, 0, 0]), // #131 {r8lo|r8hi|m8|mem, r8lo|r8hi}
13474    InstSignature::new(2, Mode::Any as u8, 0, 0, [24, 4, 0, 0, 0, 0]), // {r16|m16|mem, r16}
13475    InstSignature::new(2, Mode::Any as u8, 0, 0, [25, 6, 0, 0, 0, 0]), // {r32|m32|mem, r32}
13476    InstSignature::new(2, Mode::X64 as u8, 0, 0, [26, 8, 0, 0, 0, 0]), // {r64|m64|mem, r64}
13477    InstSignature::new(2, Mode::Any as u8, 0, 0, [2, 17, 0, 0, 0, 0]), // {r8lo|r8hi, m8|mem}
13478    InstSignature::new(2, Mode::Any as u8, 0, 0, [4, 21, 0, 0, 0, 0]), // {r16, m16|mem}
13479    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 30, 0, 0, 0, 0]), // {r32, m32|mem}
13480    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 31, 0, 0, 0, 0]), // {r64, m64|mem}
13481    InstSignature::new(2, Mode::Any as u8, 0, 0, [4, 21, 0, 0, 0, 0]), // #139 {r16, m16|mem}
13482    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 30, 0, 0, 0, 0]), // {r32, m32|mem}
13483    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 31, 0, 0, 0, 0]), // {r64, m64|mem}
13484    InstSignature::new(2, Mode::Any as u8, 0, 0, [21, 4, 0, 0, 0, 0]), // {m16|mem, r16}
13485    InstSignature::new(2, Mode::Any as u8, 0, 0, [30, 6, 0, 0, 0, 0]), // #143 {m32|mem, r32}
13486    InstSignature::new(2, Mode::X64 as u8, 0, 0, [31, 8, 0, 0, 0, 0]), // {m64|mem, r64}
13487    InstSignature::new(0, Mode::Any as u8, 0, 0, [0, 0, 0, 0, 0, 0]), // #145 {}
13488    InstSignature::new(1, Mode::Any as u8, 0, 0, [27, 0, 0, 0, 0, 0]), // {r16|m16|r32|m32}
13489    InstSignature::new(1, Mode::X64 as u8, 0, 0, [15, 0, 0, 0, 0, 0]), // {r64|m64}
13490    InstSignature::new(2, Mode::Any as u8, 0, 0, [24, 4, 0, 0, 0, 0]), // {r16|m16|mem, r16}
13491    InstSignature::new(2, Mode::Any as u8, 0, 0, [25, 6, 0, 0, 0, 0]), // {r32|m32|mem, r32}
13492    InstSignature::new(2, Mode::X64 as u8, 0, 0, [26, 8, 0, 0, 0, 0]), // {r64|m64|mem, r64}
13493    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 56, 0, 0, 0, 0]), // #151 {xmm, xmm|m128|mem}
13494    InstSignature::new(2, Mode::Any as u8, 0, 0, [57, 58, 0, 0, 0, 0]), // {ymm, ymm|m256|mem}
13495    InstSignature::new(2, Mode::Any as u8, 0, 0, [61, 62, 0, 0, 0, 0]), // {zmm, zmm|m512|mem}
13496    InstSignature::new(2, Mode::Any as u8, 0, 0, [59, 55, 0, 0, 0, 0]), // {m128|mem, xmm}
13497    InstSignature::new(2, Mode::Any as u8, 0, 0, [60, 57, 0, 0, 0, 0]), // {m256|mem, ymm}
13498    InstSignature::new(2, Mode::Any as u8, 0, 0, [63, 61, 0, 0, 0, 0]), // {m512|mem, zmm}
13499    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 64, 0, 0, 0]), // #157 {xmm, xmm, xmm|m128|mem|i8|u8}
13500    InstSignature::new(3, Mode::Any as u8, 0, 0, [57, 57, 64, 0, 0, 0]), // {ymm, ymm, xmm|m128|mem|i8|u8}
13501    InstSignature::new(3, Mode::Any as u8, 0, 0, [61, 61, 64, 0, 0, 0]), // {zmm, zmm, xmm|m128|mem|i8|u8}
13502    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 59, 10, 0, 0, 0]), // {xmm, m128|mem, i8|u8}
13503    InstSignature::new(3, Mode::Any as u8, 0, 0, [57, 60, 10, 0, 0, 0]), // {ymm, m256|mem, i8|u8}
13504    InstSignature::new(3, Mode::Any as u8, 0, 0, [61, 63, 10, 0, 0, 0]), // {zmm, m512|mem, i8|u8}
13505    InstSignature::new(2, Mode::Any as u8, 0, 0, [24, 4, 0, 0, 0, 0]),   // #163 {r16|m16|mem, r16}
13506    InstSignature::new(2, Mode::Any as u8, 0, 0, [25, 6, 0, 0, 0, 0]),   // {r32|m32|mem, r32}
13507    InstSignature::new(2, Mode::X64 as u8, 0, 0, [26, 8, 0, 0, 0, 0]),   // {r64|m64|mem, r64}
13508    InstSignature::new(2, Mode::Any as u8, 0, 0, [27, 10, 0, 0, 0, 0]),  // {r16|m16|r32|m32, i8|u8}
13509    InstSignature::new(2, Mode::X64 as u8, 0, 0, [15, 10, 0, 0, 0, 0]),  // {r64|m64, i8|u8}
13510    InstSignature::new(2, Mode::Any as u8, 0, 0, [67, 68, 0, 0, 0, 0]),  // #168 {mm, mm|m64|mem}
13511    InstSignature::new(2, Mode::X64 as u8, 0, 0, [69, 26, 0, 0, 0, 0]),  // {mm|xmm, r64|m64|mem}
13512    InstSignature::new(2, Mode::Any as u8, 0, 0, [31, 69, 0, 0, 0, 0]),  // {m64|mem, mm|xmm}
13513    InstSignature::new(2, Mode::X64 as u8, 0, 0, [26, 69, 0, 0, 0, 0]),  // {r64|m64|mem, mm|xmm}
13514    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 70, 0, 0, 0, 0]),  // #172 {xmm, xmm|m64|mem}
13515    InstSignature::new(1, Mode::Any as u8, 0, 0, [11, 0, 0, 0, 0, 0]),   // #173 {r16|m16}
13516    InstSignature::new(1, Mode::X86 as u8, 0, 0, [13, 0, 0, 0, 0, 0]),   // {r32|m32}
13517    InstSignature::new(1, Mode::X64 as u8, 0, 0, [15, 0, 0, 0, 0, 0]),   // {r64|m64}
13518    InstSignature::new(1, Mode::X86 as u8, 0, 0, [71, 0, 0, 0, 0, 0]),   // {ds|es|ss}
13519    InstSignature::new(1, Mode::Any as u8, 0, 0, [72, 0, 0, 0, 0, 0]),   // {fs|gs}
13520    InstSignature::new(1, Mode::Any as u8, 0, 0, [73, 0, 0, 0, 0, 0]), // #178 {r16|m16|i8|u8|i16|u16}
13521    InstSignature::new(1, Mode::X86 as u8, 0, 0, [74, 0, 0, 0, 0, 0]), // {r32|m32|i32|u32}
13522    InstSignature::new(1, Mode::X64 as u8, 0, 0, [75, 0, 0, 0, 0, 0]), // {r64|m64|i32}
13523    InstSignature::new(1, Mode::X86 as u8, 0, 0, [76, 0, 0, 0, 0, 0]), // {cs|ss|ds|es}
13524    InstSignature::new(1, Mode::Any as u8, 0, 0, [72, 0, 0, 0, 0, 0]), // {fs|gs}
13525    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 77, 55, 0, 0, 0]), // #183 {xmm, vm32x, xmm}
13526    InstSignature::new(3, Mode::Any as u8, 0, 0, [57, 78, 57, 0, 0, 0]), // {ymm, vm32y, ymm}
13527    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 77, 0, 0, 0, 0]), // {xmm, vm32x}
13528    InstSignature::new(2, Mode::Any as u8, 0, 0, [57, 78, 0, 0, 0, 0]), // {ymm, vm32y}
13529    InstSignature::new(2, Mode::Any as u8, 0, 0, [61, 79, 0, 0, 0, 0]), // {zmm, vm32z}
13530    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 80, 55, 0, 0, 0]), // #188 {xmm, vm64x, xmm}
13531    InstSignature::new(3, Mode::Any as u8, 0, 0, [57, 81, 57, 0, 0, 0]), // {ymm, vm64y, ymm}
13532    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 80, 0, 0, 0, 0]), // {xmm, vm64x}
13533    InstSignature::new(2, Mode::Any as u8, 0, 0, [57, 81, 0, 0, 0, 0]), // {ymm, vm64y}
13534    InstSignature::new(2, Mode::Any as u8, 0, 0, [61, 82, 0, 0, 0, 0]), // {zmm, vm64z}
13535    InstSignature::new(2, Mode::Any as u8, 0, 0, [59, 55, 0, 0, 0, 0]), // #193 {m128|mem, xmm}
13536    InstSignature::new(2, Mode::Any as u8, 0, 0, [60, 57, 0, 0, 0, 0]), // {m256|mem, ymm}
13537    InstSignature::new(2, Mode::Any as u8, 0, 0, [59, 55, 0, 0, 0, 0]), // {m128|mem, xmm}
13538    InstSignature::new(2, Mode::Any as u8, 0, 0, [60, 57, 0, 0, 0, 0]), // {m256|mem, ymm}
13539    InstSignature::new(2, Mode::Any as u8, 0, 0, [63, 61, 0, 0, 0, 0]), // {m512|mem, zmm}
13540    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 59, 0, 0, 0, 0]), // #198 {xmm, m128|mem}
13541    InstSignature::new(2, Mode::Any as u8, 0, 0, [57, 60, 0, 0, 0, 0]), // {ymm, m256|mem}
13542    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 59, 0, 0, 0, 0]), // {xmm, m128|mem}
13543    InstSignature::new(2, Mode::Any as u8, 0, 0, [57, 60, 0, 0, 0, 0]), // {ymm, m256|mem}
13544    InstSignature::new(2, Mode::Any as u8, 0, 0, [61, 63, 0, 0, 0, 0]), // {zmm, m512|mem}
13545    InstSignature::new(2, Mode::X64 as u8, 0, 0, [26, 55, 0, 0, 0, 0]), // #203 {r64|m64|mem, xmm}
13546    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 70, 0, 0, 0, 0]), // {xmm, xmm|m64|mem}
13547    InstSignature::new(2, Mode::X64 as u8, 0, 0, [55, 26, 0, 0, 0, 0]), // {xmm, r64|m64|mem}
13548    InstSignature::new(2, Mode::Any as u8, 0, 0, [31, 55, 0, 0, 0, 0]), // {m64|mem, xmm}
13549    InstSignature::new(2, Mode::Any as u8, 0, 0, [31, 55, 0, 0, 0, 0]), // {m64|mem, xmm}
13550    InstSignature::new(2, Mode::Any as u8, 0, 0, [83, 84, 0, 0, 0, 0]), // #208 {ds:[memBase|zsi|m8], es:[memBase|zdi|m8]}
13551    InstSignature::new(2, Mode::Any as u8, 0, 0, [85, 86, 0, 0, 0, 0]), // {ds:[memBase|zsi|m16], es:[memBase|zdi|m16]}
13552    InstSignature::new(2, Mode::Any as u8, 0, 0, [87, 88, 0, 0, 0, 0]), // {ds:[memBase|zsi|m32], es:[memBase|zdi|m32]}
13553    InstSignature::new(2, Mode::X64 as u8, 0, 0, [89, 90, 0, 0, 0, 0]), // {ds:[memBase|zsi|m64], es:[memBase|zdi|m64]}
13554    InstSignature::new(3, Mode::Any as u8, 1, 0, [1, 2, 91, 0, 0, 0]), // #212 {r8lo|r8hi|m8|mem, r8lo|r8hi, <al>}
13555    InstSignature::new(3, Mode::Any as u8, 1, 0, [24, 4, 42, 0, 0, 0]), // {r16|m16|mem, r16, <ax>}
13556    InstSignature::new(3, Mode::Any as u8, 1, 0, [25, 6, 45, 0, 0, 0]), // {r32|m32|mem, r32, <eax>}
13557    InstSignature::new(3, Mode::X64 as u8, 1, 0, [26, 8, 47, 0, 0, 0]), // {r64|m64|mem, r64, <rax>}
13558    InstSignature::new(2, Mode::Any as u8, 0, 0, [92, 93, 0, 0, 0, 0]), // #216 {k, k|m64|mem}
13559    InstSignature::new(2, Mode::X64 as u8, 0, 0, [92, 8, 0, 0, 0, 0]), // {k, r64}
13560    InstSignature::new(2, Mode::Any as u8, 0, 0, [31, 92, 0, 0, 0, 0]), // {m64|mem, k}
13561    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 92, 0, 0, 0, 0]), // {r64, k}
13562    InstSignature::new(2, Mode::Any as u8, 0, 0, [51, 94, 0, 0, 0, 0]), // #220 {al, ds:[memBase|zsi|m8|mem]}
13563    InstSignature::new(2, Mode::Any as u8, 0, 0, [52, 95, 0, 0, 0, 0]), // {ax, ds:[memBase|zsi|m16|mem]}
13564    InstSignature::new(2, Mode::Any as u8, 0, 0, [53, 96, 0, 0, 0, 0]), // {eax, ds:[memBase|zsi|m32|mem]}
13565    InstSignature::new(2, Mode::X64 as u8, 0, 0, [54, 97, 0, 0, 0, 0]), // {rax, ds:[memBase|zsi|m64|mem]}
13566    InstSignature::new(2, Mode::Any as u8, 0, 0, [84, 83, 0, 0, 0, 0]), // #224 {es:[memBase|zdi|m8], ds:[memBase|zsi|m8]}
13567    InstSignature::new(2, Mode::Any as u8, 0, 0, [86, 85, 0, 0, 0, 0]), // {es:[memBase|zdi|m16], ds:[memBase|zsi|m16]}
13568    InstSignature::new(2, Mode::Any as u8, 0, 0, [88, 87, 0, 0, 0, 0]), // {es:[memBase|zdi|m32], ds:[memBase|zsi|m32]}
13569    InstSignature::new(2, Mode::X64 as u8, 0, 0, [90, 89, 0, 0, 0, 0]), // {es:[memBase|zdi|m64], ds:[memBase|zsi|m64]}
13570    InstSignature::new(2, Mode::Any as u8, 0, 0, [51, 98, 0, 0, 0, 0]), // #228 {al, es:[memBase|zdi|m8|mem]}
13571    InstSignature::new(2, Mode::Any as u8, 0, 0, [52, 99, 0, 0, 0, 0]), // {ax, es:[memBase|zdi|m16|mem]}
13572    InstSignature::new(2, Mode::Any as u8, 0, 0, [53, 100, 0, 0, 0, 0]), // {eax, es:[memBase|zdi|m32|mem]}
13573    InstSignature::new(2, Mode::X64 as u8, 0, 0, [54, 101, 0, 0, 0, 0]), // {rax, es:[memBase|zdi|m64|mem]}
13574    InstSignature::new(2, Mode::Any as u8, 0, 0, [98, 51, 0, 0, 0, 0]), // #232 {es:[memBase|zdi|m8|mem], al}
13575    InstSignature::new(2, Mode::Any as u8, 0, 0, [99, 52, 0, 0, 0, 0]), // {es:[memBase|zdi|m16|mem], ax}
13576    InstSignature::new(2, Mode::Any as u8, 0, 0, [100, 53, 0, 0, 0, 0]), // {es:[memBase|zdi|m32|mem], eax}
13577    InstSignature::new(2, Mode::X64 as u8, 0, 0, [101, 54, 0, 0, 0, 0]), // {es:[memBase|zdi|m64|mem], rax}
13578    InstSignature::new(4, Mode::Any as u8, 0, 0, [55, 55, 55, 56, 0, 0]), // #236 {xmm, xmm, xmm, xmm|m128|mem}
13579    InstSignature::new(4, Mode::Any as u8, 0, 0, [57, 57, 57, 58, 0, 0]), // {ymm, ymm, ymm, ymm|m256|mem}
13580    InstSignature::new(4, Mode::Any as u8, 0, 0, [55, 55, 59, 55, 0, 0]), // {xmm, xmm, m128|mem, xmm}
13581    InstSignature::new(4, Mode::Any as u8, 0, 0, [57, 57, 60, 57, 0, 0]), // {ymm, ymm, m256|mem, ymm}
13582    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 77, 55, 0, 0, 0]),  // #240 {xmm, vm32x, xmm}
13583    InstSignature::new(3, Mode::Any as u8, 0, 0, [57, 77, 57, 0, 0, 0]),  // {ymm, vm32x, ymm}
13584    InstSignature::new(2, Mode::Any as u8, 0, 0, [102, 77, 0, 0, 0, 0]),  // {xmm|ymm, vm32x}
13585    InstSignature::new(2, Mode::Any as u8, 0, 0, [61, 78, 0, 0, 0, 0]),   // {zmm, vm32y}
13586    InstSignature::new(3, Mode::Any as u8, 0, 0, [59, 55, 55, 0, 0, 0]), // #244 {m128|mem, xmm, xmm}
13587    InstSignature::new(3, Mode::Any as u8, 0, 0, [60, 57, 57, 0, 0, 0]), // {m256|mem, ymm, ymm}
13588    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 59, 0, 0, 0]), // {xmm, xmm, m128|mem}
13589    InstSignature::new(3, Mode::Any as u8, 0, 0, [57, 57, 60, 0, 0, 0]), // {ymm, ymm, m256|mem}
13590    InstSignature::new(2, Mode::Any as u8, 0, 0, [31, 55, 0, 0, 0, 0]),  // #248 {m64|mem, xmm}
13591    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 31, 0, 0, 0]), // {xmm, xmm, m64|mem}
13592    InstSignature::new(2, Mode::Any as u8, 0, 0, [31, 55, 0, 0, 0, 0]),  // {m64|mem, xmm}
13593    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 31, 0, 0, 0]), // {xmm, xmm, m64|mem}
13594    InstSignature::new(2, Mode::Any as u8, 0, 0, [21, 55, 0, 0, 0, 0]),  // #252 {m16|mem, xmm}
13595    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 21, 0, 0, 0, 0]),  // {xmm, m16|mem}
13596    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 55, 0, 0, 0]), // {xmm, xmm, xmm}
13597    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 55, 0, 0, 0]), // {xmm, xmm, xmm}
13598    InstSignature::new(4, Mode::Any as u8, 0, 0, [55, 55, 55, 56, 0, 0]), // #256 {xmm, xmm, xmm, xmm|m128|mem}
13599    InstSignature::new(4, Mode::Any as u8, 0, 0, [55, 55, 59, 55, 0, 0]), // {xmm, xmm, m128|mem, xmm}
13600    InstSignature::new(4, Mode::Any as u8, 0, 0, [57, 57, 57, 58, 0, 0]), // {ymm, ymm, ymm, ymm|m256|mem}
13601    InstSignature::new(4, Mode::Any as u8, 0, 0, [57, 57, 60, 57, 0, 0]), // {ymm, ymm, m256|mem, ymm}
13602    InstSignature::new(5, Mode::Any as u8, 0, 0, [55, 55, 56, 55, 103, 0]), // #260 {xmm, xmm, xmm|m128|mem, xmm, i4|u4}
13603    InstSignature::new(5, Mode::Any as u8, 0, 0, [55, 55, 55, 59, 103, 0]), // {xmm, xmm, xmm, m128|mem, i4|u4}
13604    InstSignature::new(5, Mode::Any as u8, 0, 0, [57, 57, 58, 57, 103, 0]), // {ymm, ymm, ymm|m256|mem, ymm, i4|u4}
13605    InstSignature::new(5, Mode::Any as u8, 0, 0, [57, 57, 57, 60, 103, 0]), // {ymm, ymm, ymm, m256|mem, i4|u4}
13606    InstSignature::new(3, Mode::Any as u8, 0, 0, [57, 58, 10, 0, 0, 0]), // #264 {ymm, ymm|m256|mem, i8|u8}
13607    InstSignature::new(3, Mode::Any as u8, 0, 0, [57, 57, 58, 0, 0, 0]), // {ymm, ymm, ymm|m256|mem}
13608    InstSignature::new(3, Mode::Any as u8, 0, 0, [61, 61, 66, 0, 0, 0]), // {zmm, zmm, zmm|m512|mem|i8|u8}
13609    InstSignature::new(3, Mode::Any as u8, 0, 0, [61, 63, 10, 0, 0, 0]), // {zmm, m512|mem, i8|u8}
13610    InstSignature::new(1, Mode::X86 as u8, 0, 0, [104, 0, 0, 0, 0, 0]), // #268 {rel16|r16|m16|mem|r32|m32}
13611    InstSignature::new(1, Mode::Any as u8, 0, 0, [105, 0, 0, 0, 0, 0]), // #269 {rel32}
13612    InstSignature::new(1, Mode::X64 as u8, 0, 0, [26, 0, 0, 0, 0, 0]),  // {r64|m64|mem}
13613    InstSignature::new(1, Mode::X86 as u8, 0, 0, [106, 0, 0, 0, 0, 0]), // #271 {r16|r32}
13614    InstSignature::new(1, Mode::Any as u8, 0, 0, [107, 0, 0, 0, 0, 0]), // #272 {r8lo|r8hi|m8|r16|m16|r32|m32}
13615    InstSignature::new(1, Mode::X64 as u8, 0, 0, [15, 0, 0, 0, 0, 0]),  // {r64|m64}
13616    InstSignature::new(1, Mode::Any as u8, 0, 0, [108, 0, 0, 0, 0, 0]), // #274 {m32|m64}
13617    InstSignature::new(2, Mode::Any as u8, 0, 0, [109, 110, 0, 0, 0, 0]), // {st0, st}
13618    InstSignature::new(2, Mode::Any as u8, 0, 0, [110, 109, 0, 0, 0, 0]), // {st, st0}
13619    InstSignature::new(1, Mode::Any as u8, 0, 0, [111, 0, 0, 0, 0, 0]), // #277 {rel8|rel32}
13620    InstSignature::new(1, Mode::X86 as u8, 0, 0, [112, 0, 0, 0, 0, 0]), // {rel16|r32|m32}
13621    InstSignature::new(1, Mode::X64 as u8, 0, 0, [15, 0, 0, 0, 0, 0]),  // {r64|m64}
13622    InstSignature::new(2, Mode::X86 as u8, 0, 0, [12, 113, 0, 0, 0, 0]), // #280 {i16|u16, i16|u16|i32|u32}
13623    InstSignature::new(1, Mode::Any as u8, 0, 0, [114, 0, 0, 0, 0, 0]),  // {m32|mem|m48}
13624    InstSignature::new(1, Mode::X64 as u8, 0, 0, [115, 0, 0, 0, 0, 0]),  // {m80|mem}
13625    InstSignature::new(2, Mode::Any as u8, 0, 0, [4, 30, 0, 0, 0, 0]),   // #283 {r16, m32|mem}
13626    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 116, 0, 0, 0, 0]),  // {r32, m48|mem}
13627    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 115, 0, 0, 0, 0]),  // {r64, m80|mem}
13628    InstSignature::new(2, Mode::Any as u8, 0, 0, [4, 24, 0, 0, 0, 0]),   // #286 {r16, r16|m16|mem}
13629    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 117, 0, 0, 0, 0]),  // {r32, r32|m16|mem}
13630    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 117, 0, 0, 0, 0]),  // {r64, r32|m16|mem}
13631    InstSignature::new(2, Mode::Any as u8, 0, 0, [4, 9, 0, 0, 0, 0]),    // #289 {r16, r8lo|r8hi|m8}
13632    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 118, 0, 0, 0, 0]), // {r32, r8lo|r8hi|m8|r16|m16}
13633    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 118, 0, 0, 0, 0]), // {r64, r8lo|r8hi|m8|r16|m16}
13634    InstSignature::new(3, Mode::Any as u8, 0, 0, [24, 4, 119, 0, 0, 0]), // #292 {r16|m16|mem, r16, cl|i8|u8}
13635    InstSignature::new(3, Mode::Any as u8, 0, 0, [25, 6, 119, 0, 0, 0]), // {r32|m32|mem, r32, cl|i8|u8}
13636    InstSignature::new(3, Mode::X64 as u8, 0, 0, [26, 8, 119, 0, 0, 0]), // {r64|m64|mem, r64, cl|i8|u8}
13637    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 56, 0, 0, 0]), // #295 {xmm, xmm, xmm|m128|mem}
13638    InstSignature::new(3, Mode::Any as u8, 0, 0, [57, 57, 58, 0, 0, 0]), // #296 {ymm, ymm, ymm|m256|mem}
13639    InstSignature::new(3, Mode::Any as u8, 0, 0, [61, 61, 62, 0, 0, 0]), // {zmm, zmm, zmm|m512|mem}
13640    InstSignature::new(4, Mode::Any as u8, 0, 0, [55, 55, 56, 10, 0, 0]), // #298 {xmm, xmm, xmm|m128|mem, i8|u8}
13641    InstSignature::new(4, Mode::Any as u8, 0, 0, [57, 57, 58, 10, 0, 0]), // #299 {ymm, ymm, ymm|m256|mem, i8|u8}
13642    InstSignature::new(4, Mode::Any as u8, 0, 0, [61, 61, 62, 10, 0, 0]), // {zmm, zmm, zmm|m512|mem, i8|u8}
13643    InstSignature::new(4, Mode::Any as u8, 0, 0, [120, 55, 56, 10, 0, 0]), // #301 {xmm|k, xmm, xmm|m128|mem, i8|u8}
13644    InstSignature::new(4, Mode::Any as u8, 0, 0, [121, 57, 58, 10, 0, 0]), // {ymm|k, ymm, ymm|m256|mem, i8|u8}
13645    InstSignature::new(4, Mode::Any as u8, 0, 0, [92, 61, 62, 10, 0, 0]), // {k, zmm, zmm|m512|mem, i8|u8}
13646    InstSignature::new(4, Mode::Any as u8, 0, 0, [92, 55, 56, 10, 0, 0]), // #304 {k, xmm, xmm|m128|mem, i8|u8}
13647    InstSignature::new(4, Mode::Any as u8, 0, 0, [92, 57, 58, 10, 0, 0]), // {k, ymm, ymm|m256|mem, i8|u8}
13648    InstSignature::new(4, Mode::Any as u8, 0, 0, [92, 61, 62, 10, 0, 0]), // {k, zmm, zmm|m512|mem, i8|u8}
13649    InstSignature::new(2, Mode::Any as u8, 0, 0, [56, 55, 0, 0, 0, 0]), // #307 {xmm|m128|mem, xmm}
13650    InstSignature::new(2, Mode::Any as u8, 0, 0, [58, 57, 0, 0, 0, 0]), // {ymm|m256|mem, ymm}
13651    InstSignature::new(2, Mode::Any as u8, 0, 0, [62, 61, 0, 0, 0, 0]), // {zmm|m512|mem, zmm}
13652    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 70, 0, 0, 0, 0]), // #310 {xmm, xmm|m64|mem}
13653    InstSignature::new(2, Mode::Any as u8, 0, 0, [57, 56, 0, 0, 0, 0]), // {ymm, xmm|m128|mem}
13654    InstSignature::new(2, Mode::Any as u8, 0, 0, [61, 58, 0, 0, 0, 0]), // {zmm, ymm|m256|mem}
13655    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 122, 0, 0, 0, 0]), // #313 {xmm, xmm|m32|mem}
13656    InstSignature::new(2, Mode::Any as u8, 0, 0, [57, 70, 0, 0, 0, 0]), // {ymm, xmm|m64|mem}
13657    InstSignature::new(2, Mode::Any as u8, 0, 0, [61, 56, 0, 0, 0, 0]), // {zmm, xmm|m128|mem}
13658    InstSignature::new(3, Mode::Any as u8, 0, 0, [70, 55, 10, 0, 0, 0]), // #316 {xmm|m64|mem, xmm, i8|u8}
13659    InstSignature::new(3, Mode::Any as u8, 0, 0, [56, 57, 10, 0, 0, 0]), // #317 {xmm|m128|mem, ymm, i8|u8}
13660    InstSignature::new(3, Mode::Any as u8, 0, 0, [58, 61, 10, 0, 0, 0]), // #318 {ymm|m256|mem, zmm, i8|u8}
13661    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 123, 55, 0, 0, 0]), // #319 {xmm, vm64x|vm64y, xmm}
13662    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 123, 0, 0, 0, 0]),  // {xmm, vm64x|vm64y}
13663    InstSignature::new(2, Mode::Any as u8, 0, 0, [57, 82, 0, 0, 0, 0]),   // {ymm, vm64z}
13664    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 56, 10, 0, 0, 0]), // #322 {xmm, xmm|m128|mem, i8|u8}
13665    InstSignature::new(3, Mode::Any as u8, 0, 0, [57, 58, 10, 0, 0, 0]), // {ymm, ymm|m256|mem, i8|u8}
13666    InstSignature::new(3, Mode::Any as u8, 0, 0, [61, 62, 10, 0, 0, 0]), // {zmm, zmm|m512|mem, i8|u8}
13667    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 70, 0, 0, 0, 0]),  // #325 {xmm, xmm|m64|mem}
13668    InstSignature::new(2, Mode::Any as u8, 0, 0, [57, 58, 0, 0, 0, 0]),  // {ymm, ymm|m256|mem}
13669    InstSignature::new(2, Mode::Any as u8, 0, 0, [61, 62, 0, 0, 0, 0]),  // {zmm, zmm|m512|mem}
13670    InstSignature::new(4, Mode::Any as u8, 0, 0, [92, 92, 55, 56, 0, 0]), // #328 {k, k, xmm, xmm|m128|mem}
13671    InstSignature::new(4, Mode::Any as u8, 0, 0, [92, 92, 57, 58, 0, 0]), // {k, k, ymm, ymm|m256|mem}
13672    InstSignature::new(4, Mode::Any as u8, 0, 0, [92, 92, 61, 62, 0, 0]), // {k, k, zmm, zmm|m512|mem}
13673    InstSignature::new(3, Mode::Any as u8, 0, 0, [120, 55, 56, 0, 0, 0]), // #331 {xmm|k, xmm, xmm|m128|mem}
13674    InstSignature::new(3, Mode::Any as u8, 0, 0, [121, 57, 58, 0, 0, 0]), // {ymm|k, ymm, ymm|m256|mem}
13675    InstSignature::new(3, Mode::Any as u8, 0, 0, [92, 61, 62, 0, 0, 0]),  // {k, zmm, zmm|m512|mem}
13676    InstSignature::new(2, Mode::Any as u8, 0, 0, [122, 55, 0, 0, 0, 0]),  // #334 {xmm|m32|mem, xmm}
13677    InstSignature::new(2, Mode::Any as u8, 0, 0, [70, 57, 0, 0, 0, 0]),   // {xmm|m64|mem, ymm}
13678    InstSignature::new(2, Mode::Any as u8, 0, 0, [56, 61, 0, 0, 0, 0]),   // {xmm|m128|mem, zmm}
13679    InstSignature::new(2, Mode::Any as u8, 0, 0, [70, 55, 0, 0, 0, 0]),   // #337 {xmm|m64|mem, xmm}
13680    InstSignature::new(2, Mode::Any as u8, 0, 0, [56, 57, 0, 0, 0, 0]),   // {xmm|m128|mem, ymm}
13681    InstSignature::new(2, Mode::Any as u8, 0, 0, [58, 61, 0, 0, 0, 0]),   // {ymm|m256|mem, zmm}
13682    InstSignature::new(2, Mode::Any as u8, 0, 0, [124, 55, 0, 0, 0, 0]),  // #340 {xmm|m16|mem, xmm}
13683    InstSignature::new(2, Mode::Any as u8, 0, 0, [122, 57, 0, 0, 0, 0]),  // {xmm|m32|mem, ymm}
13684    InstSignature::new(2, Mode::Any as u8, 0, 0, [70, 61, 0, 0, 0, 0]),   // {xmm|m64|mem, zmm}
13685    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 124, 0, 0, 0, 0]),  // #343 {xmm, xmm|m16|mem}
13686    InstSignature::new(2, Mode::Any as u8, 0, 0, [57, 122, 0, 0, 0, 0]),  // {ymm, xmm|m32|mem}
13687    InstSignature::new(2, Mode::Any as u8, 0, 0, [61, 70, 0, 0, 0, 0]),   // {zmm, xmm|m64|mem}
13688    InstSignature::new(2, Mode::Any as u8, 0, 0, [77, 55, 0, 0, 0, 0]),   // #346 {vm32x, xmm}
13689    InstSignature::new(2, Mode::Any as u8, 0, 0, [78, 57, 0, 0, 0, 0]),   // {vm32y, ymm}
13690    InstSignature::new(2, Mode::Any as u8, 0, 0, [79, 61, 0, 0, 0, 0]),   // {vm32z, zmm}
13691    InstSignature::new(2, Mode::Any as u8, 0, 0, [80, 55, 0, 0, 0, 0]),   // #349 {vm64x, xmm}
13692    InstSignature::new(2, Mode::Any as u8, 0, 0, [81, 57, 0, 0, 0, 0]),   // {vm64y, ymm}
13693    InstSignature::new(2, Mode::Any as u8, 0, 0, [82, 61, 0, 0, 0, 0]),   // {vm64z, zmm}
13694    InstSignature::new(3, Mode::Any as u8, 0, 0, [92, 55, 56, 0, 0, 0]), // #352 {k, xmm, xmm|m128|mem}
13695    InstSignature::new(3, Mode::Any as u8, 0, 0, [92, 57, 58, 0, 0, 0]), // {k, ymm, ymm|m256|mem}
13696    InstSignature::new(3, Mode::Any as u8, 0, 0, [92, 61, 62, 0, 0, 0]), // {k, zmm, zmm|m512|mem}
13697    InstSignature::new(3, Mode::Any as u8, 0, 0, [6, 6, 25, 0, 0, 0]), // #355 {r32, r32, r32|m32|mem}
13698    InstSignature::new(3, Mode::X64 as u8, 0, 0, [8, 8, 26, 0, 0, 0]), // {r64, r64, r64|m64|mem}
13699    InstSignature::new(3, Mode::Any as u8, 0, 0, [6, 25, 6, 0, 0, 0]), // #357 {r32, r32|m32|mem, r32}
13700    InstSignature::new(3, Mode::X64 as u8, 0, 0, [8, 26, 8, 0, 0, 0]), // {r64, r64|m64|mem, r64}
13701    InstSignature::new(2, Mode::X86 as u8, 0, 0, [125, 25, 0, 0, 0, 0]), // #359 {bnd, r32|m32|mem}
13702    InstSignature::new(2, Mode::X64 as u8, 0, 0, [125, 26, 0, 0, 0, 0]), // {bnd, r64|m64|mem}
13703    InstSignature::new(2, Mode::Any as u8, 0, 0, [125, 126, 0, 0, 0, 0]), // #361 {bnd, bnd|mem}
13704    InstSignature::new(2, Mode::Any as u8, 0, 0, [127, 125, 0, 0, 0, 0]), // {mem, bnd}
13705    InstSignature::new(2, Mode::X86 as u8, 0, 0, [4, 30, 0, 0, 0, 0]), // #363 {r16, m32|mem}
13706    InstSignature::new(2, Mode::X86 as u8, 0, 0, [6, 31, 0, 0, 0, 0]), // {r32, m64|mem}
13707    InstSignature::new(1, Mode::Any as u8, 0, 0, [106, 0, 0, 0, 0, 0]), // #365 {r16|r32}
13708    InstSignature::new(1, Mode::X64 as u8, 0, 0, [8, 0, 0, 0, 0, 0]),  // #366 {r64}
13709    InstSignature::new(3, Mode::Any as u8, 0, 0, [30, 6, 6, 0, 0, 0]), // #367 {m32|mem, r32, r32}
13710    InstSignature::new(3, Mode::X64 as u8, 0, 0, [31, 8, 8, 0, 0, 0]), // {m64|mem, r64, r64}
13711    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 107, 0, 0, 0, 0]), // #369 {r32, r8lo|r8hi|m8|r16|m16|r32|m32}
13712    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 128, 0, 0, 0, 0]), // {r64, r8lo|r8hi|m8|r64|m64}
13713    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 70, 0, 0, 0, 0]),  // #371 {r32, xmm|m64|mem}
13714    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 70, 0, 0, 0, 0]),  // {r64, xmm|m64|mem}
13715    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 25, 0, 0, 0, 0]), // #373 {xmm, r32|m32|mem}
13716    InstSignature::new(2, Mode::X64 as u8, 0, 0, [55, 26, 0, 0, 0, 0]), // {xmm, r64|m64|mem}
13717    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 122, 0, 0, 0, 0]), // #375 {r32, xmm|m32|mem}
13718    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 122, 0, 0, 0, 0]), // {r64, xmm|m32|mem}
13719    InstSignature::new(2, Mode::X86 as u8, 0, 0, [129, 63, 0, 0, 0, 0]), // #377 {es:[mem|m512|memBase], m512|mem}
13720    InstSignature::new(2, Mode::X64 as u8, 0, 0, [129, 63, 0, 0, 0, 0]), // {es:[mem|m512|memBase], m512|mem}
13721    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 10, 10, 0, 0, 0]), // #379 {xmm, i8|u8, i8|u8}
13722    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 55, 0, 0, 0, 0]),  // #380 {xmm, xmm}
13723    InstSignature::new(0, Mode::Any as u8, 0, 0, [0, 0, 0, 0, 0, 0]),    // #381 {}
13724    InstSignature::new(1, Mode::Any as u8, 0, 0, [110, 0, 0, 0, 0, 0]),  // #382 {st}
13725    InstSignature::new(0, Mode::Any as u8, 0, 0, [0, 0, 0, 0, 0, 0]),    // #383 {}
13726    InstSignature::new(1, Mode::Any as u8, 0, 0, [130, 0, 0, 0, 0, 0]),  // #384 {m32|m64|st}
13727    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 55, 0, 0, 0, 0]),  // #385 {xmm, xmm}
13728    InstSignature::new(4, Mode::Any as u8, 0, 0, [55, 55, 10, 10, 0, 0]), // {xmm, xmm, i8|u8, i8|u8}
13729    InstSignature::new(2, Mode::X86 as u8, 0, 0, [6, 59, 0, 0, 0, 0]),    // #387 {r32, m128|mem}
13730    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 59, 0, 0, 0, 0]),    // {r64, m128|mem}
13731    InstSignature::new(2, Mode::X86 as u8, 2, 0, [45, 131, 0, 0, 0, 0]),  // #389 {<eax>, <ecx>}
13732    InstSignature::new(2, Mode::X64 as u8, 2, 0, [132, 131, 0, 0, 0, 0]), // {<eax|rax>, <ecx>}
13733    InstSignature::new(3, Mode::X86 as u8, 3, 0, [45, 44, 131, 0, 0, 0]), // #391 {<eax>, <edx>, <ecx>}
13734    InstSignature::new(3, Mode::X64 as u8, 3, 0, [132, 44, 131, 0, 0, 0]), // {<eax|rax>, <edx>, <ecx>}
13735    InstSignature::new(1, Mode::Any as u8, 0, 0, [111, 0, 0, 0, 0, 0]),    // #393 {rel8|rel32}
13736    InstSignature::new(1, Mode::X86 as u8, 0, 0, [105, 0, 0, 0, 0, 0]),    // {rel16}
13737    InstSignature::new(2, Mode::X86 as u8, 1, 0, [133, 134, 0, 0, 0, 0]),  // #395 {<cx|ecx>, rel8}
13738    InstSignature::new(2, Mode::X64 as u8, 1, 0, [135, 134, 0, 0, 0, 0]),  // {<ecx|rcx>, rel8}
13739    InstSignature::new(2, Mode::Any as u8, 0, 0, [92, 136, 0, 0, 0, 0]),   // #397 {k, k|m8|mem|r32}
13740    InstSignature::new(2, Mode::Any as u8, 0, 0, [137, 92, 0, 0, 0, 0]),   // {m8|mem|r32, k}
13741    InstSignature::new(2, Mode::Any as u8, 0, 0, [92, 138, 0, 0, 0, 0]), // #399 {k, k|m32|mem|r32}
13742    InstSignature::new(2, Mode::Any as u8, 0, 0, [25, 92, 0, 0, 0, 0]),  // {m32|mem|r32, k}
13743    InstSignature::new(2, Mode::Any as u8, 0, 0, [92, 139, 0, 0, 0, 0]), // #401 {k, k|m16|mem|r32}
13744    InstSignature::new(2, Mode::Any as u8, 0, 0, [117, 92, 0, 0, 0, 0]), // {m16|mem|r32, k}
13745    InstSignature::new(2, Mode::X86 as u8, 0, 0, [4, 30, 0, 0, 0, 0]),   // #403 {r16, m32|mem}
13746    InstSignature::new(2, Mode::X86 as u8, 0, 0, [6, 116, 0, 0, 0, 0]),  // {r32, m48|mem}
13747    InstSignature::new(2, Mode::Any as u8, 0, 0, [106, 140, 0, 0, 0, 0]), // #405 {r16|r32, mem|m8|m16|m32|m48|m64|m80|m128|m256|m512|m1024}
13748    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 140, 0, 0, 0, 0]), // {r64, mem|m8|m16|m32|m48|m64|m80|m128|m256|m512|m1024}
13749    InstSignature::new(1, Mode::Any as u8, 0, 0, [6, 0, 0, 0, 0, 0]),   // #407 {r32}
13750    InstSignature::new(1, Mode::X64 as u8, 0, 0, [8, 0, 0, 0, 0, 0]),   // {r64}
13751    InstSignature::new(3, Mode::Any as u8, 0, 0, [6, 25, 14, 0, 0, 0]), // #409 {r32, r32|m32|mem, i32|u32}
13752    InstSignature::new(3, Mode::X64 as u8, 0, 0, [8, 25, 14, 0, 0, 0]), // {r64, r32|m32|mem, i32|u32}
13753    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 56, 0, 0, 0, 0]), // #411 {xmm, xmm|m128|mem}
13754    InstSignature::new(2, Mode::Any as u8, 0, 0, [59, 55, 0, 0, 0, 0]), // {m128|mem, xmm}
13755    InstSignature::new(2, Mode::Any as u8, 0, 0, [69, 25, 0, 0, 0, 0]), // #413 {mm|xmm, r32|m32|mem}
13756    InstSignature::new(2, Mode::Any as u8, 0, 0, [25, 69, 0, 0, 0, 0]), // {r32|m32|mem, mm|xmm}
13757    InstSignature::new(2, Mode::Any as u8, 0, 0, [129, 63, 0, 0, 0, 0]), // #415 {es:[mem|m512|memBase], m512|mem}
13758    InstSignature::new(2, Mode::Any as u8, 0, 0, [129, 63, 0, 0, 0, 0]), // {es:[mem|m512|memBase], m512|mem}
13759    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 70, 0, 0, 0, 0]),  // #417 {xmm, xmm|m64|mem}
13760    InstSignature::new(2, Mode::Any as u8, 0, 0, [31, 55, 0, 0, 0, 0]),  // {m64|mem, xmm}
13761    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 122, 0, 0, 0, 0]), // #419 {xmm, xmm|m32|mem}
13762    InstSignature::new(2, Mode::Any as u8, 0, 0, [30, 55, 0, 0, 0, 0]),  // {m32|mem, xmm}
13763    InstSignature::new(2, Mode::X64 as u8, 0, 0, [4, 24, 0, 0, 0, 0]),   // #421 {r16, r16|m16|mem}
13764    InstSignature::new(2, Mode::X64 as u8, 0, 0, [141, 25, 0, 0, 0, 0]), // {r32|r64, r32|m32|mem}
13765    InstSignature::new(4, Mode::Any as u8, 1, 0, [6, 6, 25, 44, 0, 0]), // #423 {r32, r32, r32|m32|mem, <edx>}
13766    InstSignature::new(4, Mode::X64 as u8, 1, 0, [8, 8, 26, 46, 0, 0]), // {r64, r64, r64|m64|mem, <rdx>}
13767    InstSignature::new(2, Mode::Any as u8, 0, 0, [67, 68, 0, 0, 0, 0]), // #425 {mm, mm|m64|mem}
13768    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 56, 0, 0, 0, 0]), // {xmm, xmm|m128|mem}
13769    InstSignature::new(3, Mode::Any as u8, 0, 0, [67, 68, 10, 0, 0, 0]), // #427 {mm, mm|m64|mem, i8|u8}
13770    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 56, 10, 0, 0, 0]), // {xmm, xmm|m128|mem, i8|u8}
13771    InstSignature::new(3, Mode::Any as u8, 0, 0, [6, 69, 10, 0, 0, 0]), // #429 {r32, mm|xmm, i8|u8}
13772    InstSignature::new(3, Mode::Any as u8, 0, 0, [21, 55, 10, 0, 0, 0]), // {m16|mem, xmm, i8|u8}
13773    InstSignature::new(2, Mode::Any as u8, 0, 0, [67, 142, 0, 0, 0, 0]), // #431 {mm, mm|m64|mem|i8|u8}
13774    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 64, 0, 0, 0, 0]), // {xmm, xmm|m128|mem|i8|u8}
13775    InstSignature::new(1, Mode::Any as u8, 0, 0, [25, 0, 0, 0, 0, 0]),  // #433 {r32|m32|mem}
13776    InstSignature::new(1, Mode::X64 as u8, 0, 0, [26, 0, 0, 0, 0, 0]),  // {r64|m64|mem}
13777    InstSignature::new(2, Mode::Any as u8, 0, 0, [67, 143, 0, 0, 0, 0]), // #435 {mm, mm|m32|mem}
13778    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 56, 0, 0, 0, 0]), // {xmm, xmm|m128|mem}
13779    InstSignature::new(2, Mode::Any as u8, 0, 0, [107, 119, 0, 0, 0, 0]), // #437 {r8lo|r8hi|m8|r16|m16|r32|m32, cl|i8|u8}
13780    InstSignature::new(2, Mode::X64 as u8, 0, 0, [15, 119, 0, 0, 0, 0]),  // {r64|m64, cl|i8|u8}
13781    InstSignature::new(3, Mode::Any as u8, 3, 0, [44, 45, 131, 0, 0, 0]), // #439 {<edx>, <eax>, <ecx>}
13782    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 14, 0, 0, 0, 0]),    // {r64, i32|u32}
13783    InstSignature::new(1, Mode::X86 as u8, 0, 0, [6, 0, 0, 0, 0, 0]),     // #441 {r32}
13784    InstSignature::new(1, Mode::X64 as u8, 0, 0, [8, 0, 0, 0, 0, 0]),     // {r64}
13785    InstSignature::new(0, Mode::Any as u8, 0, 0, [0, 0, 0, 0, 0, 0]),     // #443 {}
13786    InstSignature::new(1, Mode::Any as u8, 0, 0, [144, 0, 0, 0, 0, 0]),   // {u16}
13787    InstSignature::new(3, Mode::Any as u8, 0, 0, [6, 25, 10, 0, 0, 0]), // #445 {r32, r32|m32|mem, i8|u8}
13788    InstSignature::new(3, Mode::X64 as u8, 0, 0, [8, 26, 10, 0, 0, 0]), // {r64, r64|m64|mem, i8|u8}
13789    InstSignature::new(1, Mode::Any as u8, 0, 0, [145, 0, 0, 0, 0, 0]), // #447 {r16|m16|mem|r32}
13790    InstSignature::new(1, Mode::X64 as u8, 0, 0, [146, 0, 0, 0, 0, 0]), // {r64|m16|mem}
13791    InstSignature::new(1, Mode::X86 as u8, 0, 0, [147, 0, 0, 0, 0, 0]), // #449 {ds:[mem|memBase]}
13792    InstSignature::new(1, Mode::X64 as u8, 0, 0, [147, 0, 0, 0, 0, 0]), // {ds:[mem|memBase]}
13793    InstSignature::new(4, Mode::Any as u8, 0, 0, [55, 55, 56, 55, 0, 0]), // #451 {xmm, xmm, xmm|m128|mem, xmm}
13794    InstSignature::new(4, Mode::Any as u8, 0, 0, [57, 57, 58, 57, 0, 0]), // {ymm, ymm, ymm|m256|mem, ymm}
13795    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 148, 0, 0, 0, 0]), // #453 {xmm, xmm|m128|ymm|m256}
13796    InstSignature::new(2, Mode::Any as u8, 0, 0, [57, 62, 0, 0, 0, 0]),  // {ymm, zmm|m512|mem}
13797    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 124, 0, 0, 0, 0]),  // #455 {r32, xmm|m16|mem}
13798    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 124, 0, 0, 0, 0]),  // {r64, xmm|m16|mem}
13799    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 25, 0, 0, 0]), // #457 {xmm, xmm, r32|m32|mem}
13800    InstSignature::new(3, Mode::X64 as u8, 0, 0, [55, 55, 26, 0, 0, 0]), // {xmm, xmm, r64|m64|mem}
13801    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 13, 0, 0, 0]), // #459 {xmm, xmm, r32|m32}
13802    InstSignature::new(3, Mode::X64 as u8, 0, 0, [55, 55, 15, 0, 0, 0]), // {xmm, xmm, r64|m64}
13803    InstSignature::new(4, Mode::Any as u8, 0, 0, [55, 55, 55, 70, 0, 0]), // #461 {xmm, xmm, xmm, xmm|m64|mem}
13804    InstSignature::new(4, Mode::Any as u8, 0, 0, [55, 55, 31, 55, 0, 0]), // {xmm, xmm, m64|mem, xmm}
13805    InstSignature::new(4, Mode::Any as u8, 0, 0, [55, 55, 55, 122, 0, 0]), // #463 {xmm, xmm, xmm, xmm|m32|mem}
13806    InstSignature::new(4, Mode::Any as u8, 0, 0, [55, 55, 30, 55, 0, 0]), // {xmm, xmm, m32|mem, xmm}
13807    InstSignature::new(4, Mode::Any as u8, 0, 0, [57, 57, 56, 10, 0, 0]), // #465 {ymm, ymm, xmm|m128|mem, i8|u8}
13808    InstSignature::new(4, Mode::Any as u8, 0, 0, [61, 61, 56, 10, 0, 0]), // {zmm, zmm, xmm|m128|mem, i8|u8}
13809    InstSignature::new(1, Mode::X86 as u8, 1, 0, [45, 0, 0, 0, 0, 0]),    // #467 {<eax>}
13810    InstSignature::new(1, Mode::X64 as u8, 1, 0, [47, 0, 0, 0, 0, 0]),    // #468 {<rax>}
13811    InstSignature::new(2, Mode::Any as u8, 0, 0, [25, 55, 0, 0, 0, 0]),   // #469 {r32|m32|mem, xmm}
13812    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 25, 0, 0, 0, 0]),   // {xmm, r32|m32|mem}
13813    InstSignature::new(2, Mode::Any as u8, 0, 0, [117, 55, 0, 0, 0, 0]),  // #471 {r32|m16|mem, xmm}
13814    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 117, 0, 0, 0, 0]),  // {xmm, r32|m16|mem}
13815    InstSignature::new(2, Mode::X86 as u8, 0, 0, [25, 6, 0, 0, 0, 0]),    // #473 {r32|m32|mem, r32}
13816    InstSignature::new(2, Mode::X64 as u8, 0, 0, [26, 8, 0, 0, 0, 0]),    // {r64|m64|mem, r64}
13817    InstSignature::new(2, Mode::X86 as u8, 0, 0, [6, 25, 0, 0, 0, 0]),    // #475 {r32, r32|m32|mem}
13818    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 26, 0, 0, 0, 0]),    // {r64, r64|m64|mem}
13819    InstSignature::new(2, Mode::Any as u8, 0, 0, [149, 70, 0, 0, 0, 0]), // #477 {xmm|ymm|zmm, xmm|m64|mem}
13820    InstSignature::new(2, Mode::X64 as u8, 0, 0, [149, 8, 0, 0, 0, 0]),  // {xmm|ymm|zmm, r64}
13821    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 64, 0, 0, 0]), // #479 {xmm, xmm, xmm|m128|mem|i8|u8}
13822    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 59, 150, 0, 0, 0]), // {xmm, m128|mem, i8|u8|xmm}
13823    InstSignature::new(2, Mode::Any as u8, 0, 0, [77, 102, 0, 0, 0, 0]),  // #481 {vm32x, xmm|ymm}
13824    InstSignature::new(2, Mode::Any as u8, 0, 0, [78, 61, 0, 0, 0, 0]),   // {vm32y, zmm}
13825    InstSignature::new(2, Mode::Any as u8, 0, 0, [123, 55, 0, 0, 0, 0]),  // #483 {vm64x|vm64y, xmm}
13826    InstSignature::new(2, Mode::Any as u8, 0, 0, [82, 57, 0, 0, 0, 0]),   // {vm64z, ymm}
13827    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 56, 0, 0, 0]), // #485 {xmm, xmm, xmm|m128|mem}
13828    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 59, 55, 0, 0, 0]), // {xmm, m128|mem, xmm}
13829    InstSignature::new(1, Mode::X86 as u8, 1, 0, [42, 0, 0, 0, 0, 0]),   // #487 {<ax>}
13830    InstSignature::new(2, Mode::X86 as u8, 1, 0, [42, 10, 0, 0, 0, 0]),  // #488 {<ax>, i8|u8}
13831    InstSignature::new(2, Mode::X86 as u8, 0, 0, [24, 4, 0, 0, 0, 0]),   // #489 {r16|m16|mem, r16}
13832    InstSignature::new(3, Mode::Any as u8, 1, 0, [55, 56, 151, 0, 0, 0]), // #490 {xmm, xmm|m128|mem, <xmm0>}
13833    InstSignature::new(2, Mode::Any as u8, 0, 0, [125, 152, 0, 0, 0, 0]), // #491 {bnd, mib}
13834    InstSignature::new(2, Mode::Any as u8, 0, 0, [125, 127, 0, 0, 0, 0]), // #492 {bnd, mem}
13835    InstSignature::new(2, Mode::Any as u8, 0, 0, [152, 125, 0, 0, 0, 0]), // #493 {mib, bnd}
13836    InstSignature::new(1, Mode::Any as u8, 1, 0, [42, 0, 0, 0, 0, 0]),    // #494 {<ax>}
13837    InstSignature::new(2, Mode::Any as u8, 2, 0, [44, 45, 0, 0, 0, 0]),   // #495 {<edx>, <eax>}
13838    InstSignature::new(1, Mode::Any as u8, 0, 0, [127, 0, 0, 0, 0, 0]),   // #496 {mem}
13839    InstSignature::new(1, Mode::Any as u8, 0, 0, [31, 0, 0, 0, 0, 0]),    // #497 {m64|mem}
13840    InstSignature::new(0, Mode::X64 as u8, 0, 0, [0, 0, 0, 0, 0, 0]),     // #498 {}
13841    InstSignature::new(1, Mode::Any as u8, 1, 0, [153, 0, 0, 0, 0, 0]), // #499 {<ds:[mem|m512|memBase|zax]>}
13842    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 70, 10, 0, 0, 0]), // #500 {xmm, xmm|m64|mem, i8|u8}
13843    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 122, 10, 0, 0, 0]), // #501 {xmm, xmm|m32|mem, i8|u8}
13844    InstSignature::new(5, Mode::X64 as u8, 4, 0, [59, 46, 47, 154, 155, 0]), // #502 {m128|mem, <rdx>, <rax>, <rcx>, <rbx>}
13845    InstSignature::new(5, Mode::Any as u8, 4, 0, [31, 44, 45, 131, 156, 0]), // #503 {m64|mem, <edx>, <eax>, <ecx>, <ebx>}
13846    InstSignature::new(4, Mode::Any as u8, 4, 0, [45, 156, 131, 44, 0, 0]), // #504 {<eax>, <ebx>, <ecx>, <edx>}
13847    InstSignature::new(2, Mode::X64 as u8, 2, 0, [46, 47, 0, 0, 0, 0]),     // #505 {<rdx>, <rax>}
13848    InstSignature::new(2, Mode::Any as u8, 0, 0, [67, 56, 0, 0, 0, 0]), // #506 {mm, xmm|m128|mem}
13849    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 68, 0, 0, 0, 0]), // #507 {xmm, mm|m64|mem}
13850    InstSignature::new(2, Mode::Any as u8, 0, 0, [67, 70, 0, 0, 0, 0]), // #508 {mm, xmm|m64|mem}
13851    InstSignature::new(2, Mode::Any as u8, 2, 0, [43, 42, 0, 0, 0, 0]), // #509 {<dx>, <ax>}
13852    InstSignature::new(1, Mode::Any as u8, 1, 0, [45, 0, 0, 0, 0, 0]),  // #510 {<eax>}
13853    InstSignature::new(2, Mode::Any as u8, 0, 0, [12, 10, 0, 0, 0, 0]), // #511 {i16|u16, i8|u8}
13854    InstSignature::new(3, Mode::Any as u8, 0, 0, [25, 55, 10, 0, 0, 0]), // #512 {r32|m32|mem, xmm, i8|u8}
13855    InstSignature::new(1, Mode::Any as u8, 0, 0, [115, 0, 0, 0, 0, 0]),  // #513 {m80|mem}
13856    InstSignature::new(1, Mode::Any as u8, 0, 0, [39, 0, 0, 0, 0, 0]),   // #514 {m16|m32}
13857    InstSignature::new(1, Mode::Any as u8, 0, 0, [157, 0, 0, 0, 0, 0]),  // #515 {m16|m32|m64}
13858    InstSignature::new(1, Mode::Any as u8, 0, 0, [158, 0, 0, 0, 0, 0]),  // #516 {m32|m64|m80|st}
13859    InstSignature::new(1, Mode::Any as u8, 0, 0, [21, 0, 0, 0, 0, 0]),   // #517 {m16|mem}
13860    InstSignature::new(1, Mode::Any as u8, 0, 0, [159, 0, 0, 0, 0, 0]),  // #518 {ax|m16|mem}
13861    InstSignature::new(1, Mode::X64 as u8, 0, 0, [127, 0, 0, 0, 0, 0]),  // #519 {mem}
13862    InstSignature::new(2, Mode::Any as u8, 2, 0, [45, 156, 0, 0, 0, 0]), // #520 {<eax>, <ebx>}
13863    InstSignature::new(2, Mode::Any as u8, 1, 0, [10, 45, 0, 0, 0, 0]),  // #521 {i8|u8, <eax>}
13864    InstSignature::new(2, Mode::Any as u8, 0, 0, [160, 161, 0, 0, 0, 0]), // #522 {al|ax|eax, i8|u8|dx}
13865    InstSignature::new(2, Mode::Any as u8, 0, 0, [162, 163, 0, 0, 0, 0]), // #523 {es:[memBase|zdi|m8|m16|m32], dx}
13866    InstSignature::new(1, Mode::Any as u8, 0, 0, [10, 0, 0, 0, 0, 0]),    // #524 {i8|u8}
13867    InstSignature::new(0, Mode::X86 as u8, 0, 0, [0, 0, 0, 0, 0, 0]),     // #525 {}
13868    InstSignature::new(3, Mode::Any as u8, 0, 0, [92, 92, 92, 0, 0, 0]),  // #526 {k, k, k}
13869    InstSignature::new(2, Mode::Any as u8, 0, 0, [92, 92, 0, 0, 0, 0]),   // #527 {k, k}
13870    InstSignature::new(3, Mode::Any as u8, 0, 0, [92, 92, 10, 0, 0, 0]),  // #528 {k, k, i8|u8}
13871    InstSignature::new(1, Mode::Any as u8, 1, 0, [164, 0, 0, 0, 0, 0]),   // #529 {<ah>}
13872    InstSignature::new(1, Mode::Any as u8, 0, 0, [30, 0, 0, 0, 0, 0]),    // #530 {m32|mem}
13873    InstSignature::new(1, Mode::X64 as u8, 0, 0, [63, 0, 0, 0, 0, 0]),    // #531 {m512|mem}
13874    InstSignature::new(1, Mode::Any as u8, 0, 0, [24, 0, 0, 0, 0, 0]),    // #532 {r16|m16|mem}
13875    InstSignature::new(3, Mode::Any as u8, 1, 0, [55, 55, 165, 0, 0, 0]), // #533 {xmm, xmm, <ds:[mem|m128|memBase|zdi]>}
13876    InstSignature::new(3, Mode::Any as u8, 1, 0, [67, 67, 166, 0, 0, 0]), // #534 {mm, mm, <ds:[mem|m64|memBase|zdi]>}
13877    InstSignature::new(3, Mode::Any as u8, 3, 0, [167, 131, 44, 0, 0, 0]), // #535 {<ds:[mem|memBase|zax]>, <ecx>, <edx>}
13878    InstSignature::new(2, Mode::Any as u8, 0, 0, [67, 55, 0, 0, 0, 0]),    // #536 {mm, xmm}
13879    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 55, 0, 0, 0, 0]),     // #537 {r32, xmm}
13880    InstSignature::new(2, Mode::Any as u8, 0, 0, [31, 67, 0, 0, 0, 0]),    // #538 {m64|mem, mm}
13881    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 67, 0, 0, 0, 0]),    // #539 {xmm, mm}
13882    InstSignature::new(2, Mode::Any as u8, 2, 0, [45, 131, 0, 0, 0, 0]),   // #540 {<eax>, <ecx>}
13883    InstSignature::new(3, Mode::Any as u8, 3, 0, [45, 131, 156, 0, 0, 0]), // #541 {<eax>, <ecx>, <ebx>}
13884    InstSignature::new(2, Mode::Any as u8, 0, 0, [161, 160, 0, 0, 0, 0]), // #542 {i8|u8|dx, al|ax|eax}
13885    InstSignature::new(2, Mode::Any as u8, 0, 0, [163, 168, 0, 0, 0, 0]), // #543 {dx, ds:[memBase|zsi|m8|m16|m32]}
13886    InstSignature::new(6, Mode::Any as u8, 3, 0, [55, 56, 10, 131, 45, 44]), // #544 {xmm, xmm|m128|mem, i8|u8, <ecx>, <eax>, <edx>}
13887    InstSignature::new(6, Mode::Any as u8, 3, 0, [55, 56, 10, 151, 45, 44]), // #545 {xmm, xmm|m128|mem, i8|u8, <xmm0>, <eax>, <edx>}
13888    InstSignature::new(4, Mode::Any as u8, 1, 0, [55, 56, 10, 131, 0, 0]), // #546 {xmm, xmm|m128|mem, i8|u8, <ecx>}
13889    InstSignature::new(4, Mode::Any as u8, 1, 0, [55, 56, 10, 151, 0, 0]), // #547 {xmm, xmm|m128|mem, i8|u8, <xmm0>}
13890    InstSignature::new(3, Mode::Any as u8, 0, 0, [137, 55, 10, 0, 0, 0]), // #548 {r32|m8|mem, xmm, i8|u8}
13891    InstSignature::new(3, Mode::X64 as u8, 0, 0, [26, 55, 10, 0, 0, 0]), // #549 {r64|m64|mem, xmm, i8|u8}
13892    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 137, 10, 0, 0, 0]), // #550 {xmm, r32|m8|mem, i8|u8}
13893    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 25, 10, 0, 0, 0]), // #551 {xmm, r32|m32|mem, i8|u8}
13894    InstSignature::new(3, Mode::X64 as u8, 0, 0, [55, 26, 10, 0, 0, 0]), // #552 {xmm, r64|m64|mem, i8|u8}
13895    InstSignature::new(3, Mode::Any as u8, 0, 0, [69, 117, 10, 0, 0, 0]), // #553 {mm|xmm, r32|m16|mem, i8|u8}
13896    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 69, 0, 0, 0, 0]),    // #554 {r32, mm|xmm}
13897    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 10, 0, 0, 0, 0]),   // #555 {xmm, i8|u8}
13898    InstSignature::new(1, Mode::Any as u8, 0, 0, [12, 0, 0, 0, 0, 0]),    // #556 {i16|u16}
13899    InstSignature::new(1, Mode::X64 as u8, 0, 0, [141, 0, 0, 0, 0, 0]),   // #557 {r32|r64}
13900    InstSignature::new(1, Mode::Any as u8, 0, 0, [1, 0, 0, 0, 0, 0]),     // #558 {r8lo|r8hi|m8|mem}
13901    InstSignature::new(3, Mode::X64 as u8, 0, 0, [169, 169, 169, 0, 0, 0]), // #559 {tmm, tmm, tmm}
13902    InstSignature::new(2, Mode::X64 as u8, 0, 0, [169, 170, 0, 0, 0, 0]), // #560 {tmm, tmem}
13903    InstSignature::new(2, Mode::X64 as u8, 0, 0, [170, 169, 0, 0, 0, 0]), // #561 {tmem, tmm}
13904    InstSignature::new(1, Mode::X64 as u8, 0, 0, [169, 0, 0, 0, 0, 0]),   // #562 {tmm}
13905    InstSignature::new(3, Mode::Any as u8, 2, 0, [6, 44, 45, 0, 0, 0]), // #563 {r32, <edx>, <eax>}
13906    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 70, 0, 0, 0]), // #564 {xmm, xmm, xmm|m64|mem}
13907    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 124, 0, 0, 0]), // #565 {xmm, xmm, xmm|m16|mem}
13908    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 122, 0, 0, 0]), // #566 {xmm, xmm, xmm|m32|mem}
13909    InstSignature::new(2, Mode::Any as u8, 0, 0, [102, 21, 0, 0, 0, 0]),  // #567 {xmm|ymm, m16|mem}
13910    InstSignature::new(2, Mode::Any as u8, 0, 0, [57, 59, 0, 0, 0, 0]),   // #568 {ymm, m128|mem}
13911    InstSignature::new(2, Mode::Any as u8, 0, 0, [171, 70, 0, 0, 0, 0]), // #569 {ymm|zmm, xmm|m64|mem}
13912    InstSignature::new(2, Mode::Any as u8, 0, 0, [171, 59, 0, 0, 0, 0]), // #570 {ymm|zmm, m128|mem}
13913    InstSignature::new(2, Mode::Any as u8, 0, 0, [61, 60, 0, 0, 0, 0]),  // #571 {zmm, m256|mem}
13914    InstSignature::new(2, Mode::Any as u8, 0, 0, [149, 122, 0, 0, 0, 0]), // #572 {xmm|ymm|zmm, m32|mem|xmm}
13915    InstSignature::new(4, Mode::Any as u8, 0, 0, [120, 55, 70, 10, 0, 0]), // #573 {xmm|k, xmm, xmm|m64|mem, i8|u8}
13916    InstSignature::new(4, Mode::Any as u8, 0, 0, [92, 55, 124, 10, 0, 0]), // #574 {k, xmm, xmm|m16|mem, i8|u8}
13917    InstSignature::new(4, Mode::Any as u8, 0, 0, [120, 55, 122, 10, 0, 0]), // #575 {xmm|k, xmm, xmm|m32|mem, i8|u8}
13918    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 172, 0, 0, 0, 0]), // #576 {xmm, xmm|m128|ymm|m256|zmm|m512}
13919    InstSignature::new(3, Mode::Any as u8, 0, 0, [56, 171, 10, 0, 0, 0]), // #577 {xmm|m128|mem, ymm|zmm, i8|u8}
13920    InstSignature::new(4, Mode::Any as u8, 0, 0, [55, 55, 70, 10, 0, 0]), // #578 {xmm, xmm, xmm|m64|mem, i8|u8}
13921    InstSignature::new(4, Mode::Any as u8, 0, 0, [55, 55, 122, 10, 0, 0]), // #579 {xmm, xmm, xmm|m32|mem, i8|u8}
13922    InstSignature::new(3, Mode::Any as u8, 0, 0, [92, 172, 10, 0, 0, 0]), // #580 {k, xmm|m128|ymm|m256|zmm|m512, i8|u8}
13923    InstSignature::new(3, Mode::Any as u8, 0, 0, [92, 70, 10, 0, 0, 0]), // #581 {k, xmm|m64|mem, i8|u8}
13924    InstSignature::new(3, Mode::Any as u8, 0, 0, [92, 124, 10, 0, 0, 0]), // #582 {k, xmm|m16|mem, i8|u8}
13925    InstSignature::new(3, Mode::Any as u8, 0, 0, [92, 122, 10, 0, 0, 0]), // #583 {k, xmm|m32|mem, i8|u8}
13926    InstSignature::new(4, Mode::Any as u8, 0, 0, [55, 55, 124, 10, 0, 0]), // #584 {xmm, xmm, xmm|m16|mem, i8|u8}
13927    InstSignature::new(4, Mode::Any as u8, 0, 0, [61, 61, 58, 10, 0, 0]), // #585 {zmm, zmm, ymm|m256|mem, i8|u8}
13928    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 102, 0, 0, 0, 0]),   // #586 {r32, xmm|ymm}
13929    InstSignature::new(2, Mode::Any as u8, 0, 0, [149, 173, 0, 0, 0, 0]), // #587 {xmm|ymm|zmm, xmm|m8|mem|r32}
13930    InstSignature::new(2, Mode::Any as u8, 0, 0, [149, 174, 0, 0, 0, 0]), // #588 {xmm|ymm|zmm, xmm|m32|mem|r32}
13931    InstSignature::new(2, Mode::Any as u8, 0, 0, [149, 92, 0, 0, 0, 0]),  // #589 {xmm|ymm|zmm, k}
13932    InstSignature::new(2, Mode::Any as u8, 0, 0, [149, 175, 0, 0, 0, 0]), // #590 {xmm|ymm|zmm, xmm|m16|mem|r32}
13933    InstSignature::new(3, Mode::Any as u8, 0, 0, [117, 55, 10, 0, 0, 0]), // #591 {r32|m16|mem, xmm, i8|u8}
13934    InstSignature::new(4, Mode::Any as u8, 0, 0, [55, 55, 137, 10, 0, 0]), // #592 {xmm, xmm, r32|m8|mem, i8|u8}
13935    InstSignature::new(4, Mode::Any as u8, 0, 0, [55, 55, 25, 10, 0, 0]), // #593 {xmm, xmm, r32|m32|mem, i8|u8}
13936    InstSignature::new(4, Mode::X64 as u8, 0, 0, [55, 55, 26, 10, 0, 0]), // #594 {xmm, xmm, r64|m64|mem, i8|u8}
13937    InstSignature::new(4, Mode::Any as u8, 0, 0, [55, 55, 117, 10, 0, 0]), // #595 {xmm, xmm, r32|m16|mem, i8|u8}
13938    InstSignature::new(2, Mode::Any as u8, 0, 0, [92, 149, 0, 0, 0, 0]),   // #596 {k, xmm|ymm|zmm}
13939    InstSignature::new(2, Mode::Any as u8, 0, 0, [57, 55, 0, 0, 0, 0]),    // #597 {ymm, xmm}
13940    InstSignature::new(2, Mode::Any as u8, 0, 0, [57, 57, 0, 0, 0, 0]),    // #598 {ymm, ymm}
13941    InstSignature::new(3, Mode::Any as u8, 0, 0, [57, 57, 55, 0, 0, 0]),   // #599 {ymm, ymm, xmm}
13942    InstSignature::new(3, Mode::Any as u8, 2, 0, [127, 44, 45, 0, 0, 0]), // #600 {mem, <edx>, <eax>}
13943    InstSignature::new(3, Mode::X64 as u8, 2, 0, [127, 44, 45, 0, 0, 0]), // #601 {mem, <edx>, <eax>}
13944];
13945
13946/// Operand signatures, indexed by [`InstSignature::op_signature_indexes`].
13947pub static OP_SIGNATURE_TABLE: &[OpSignature] = &[
13948    OpSignature::new(0, 0xFF),
13949    OpSignature::new(
13950        OpFlags::REG_GPB_LO.bits()
13951            | OpFlags::REG_GPB_HI.bits()
13952            | OpFlags::MEM_UNSPECIFIED.bits()
13953            | OpFlags::MEM8.bits(),
13954        0x00,
13955    ),
13956    OpSignature::new(
13957        OpFlags::REG_GPB_LO.bits() | OpFlags::REG_GPB_HI.bits(),
13958        0x00,
13959    ),
13960    OpSignature::new(
13961        OpFlags::REG_GPW.bits()
13962            | OpFlags::REG_S_REG.bits()
13963            | OpFlags::MEM_UNSPECIFIED.bits()
13964            | OpFlags::MEM16.bits(),
13965        0x00,
13966    ),
13967    OpSignature::new(OpFlags::REG_GPW.bits(), 0x00),
13968    OpSignature::new(
13969        OpFlags::REG_GPD.bits()
13970            | OpFlags::REG_S_REG.bits()
13971            | OpFlags::MEM_UNSPECIFIED.bits()
13972            | OpFlags::MEM32.bits(),
13973        0x00,
13974    ),
13975    OpSignature::new(OpFlags::REG_GPD.bits(), 0x00),
13976    OpSignature::new(
13977        OpFlags::REG_GPQ.bits()
13978            | OpFlags::REG_S_REG.bits()
13979            | OpFlags::REG_C_REG.bits()
13980            | OpFlags::REG_D_REG.bits()
13981            | OpFlags::MEM_UNSPECIFIED.bits()
13982            | OpFlags::MEM64.bits(),
13983        0x00,
13984    ),
13985    OpSignature::new(OpFlags::REG_GPQ.bits(), 0x00),
13986    OpSignature::new(
13987        OpFlags::REG_GPB_LO.bits() | OpFlags::REG_GPB_HI.bits() | OpFlags::MEM8.bits(),
13988        0x00,
13989    ),
13990    OpSignature::new(OpFlags::IMM_I8.bits() | OpFlags::IMM_U8.bits(), 0x00),
13991    OpSignature::new(OpFlags::REG_GPW.bits() | OpFlags::MEM16.bits(), 0x00),
13992    OpSignature::new(OpFlags::IMM_I16.bits() | OpFlags::IMM_U16.bits(), 0x00),
13993    OpSignature::new(OpFlags::REG_GPD.bits() | OpFlags::MEM32.bits(), 0x00),
13994    OpSignature::new(OpFlags::IMM_I32.bits() | OpFlags::IMM_U32.bits(), 0x00),
13995    OpSignature::new(OpFlags::REG_GPQ.bits() | OpFlags::MEM64.bits(), 0x00),
13996    OpSignature::new(OpFlags::IMM_I32.bits(), 0x00),
13997    OpSignature::new(OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM8.bits(), 0x00),
13998    OpSignature::new(
13999        OpFlags::REG_S_REG.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM16.bits(),
14000        0x00,
14001    ),
14002    OpSignature::new(
14003        OpFlags::REG_S_REG.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM32.bits(),
14004        0x00,
14005    ),
14006    OpSignature::new(
14007        OpFlags::REG_S_REG.bits()
14008            | OpFlags::REG_C_REG.bits()
14009            | OpFlags::REG_D_REG.bits()
14010            | OpFlags::MEM_UNSPECIFIED.bits()
14011            | OpFlags::MEM64.bits()
14012            | OpFlags::IMM_I64.bits()
14013            | OpFlags::IMM_U64.bits(),
14014        0x00,
14015    ),
14016    OpSignature::new(
14017        OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM16.bits(),
14018        0x00,
14019    ),
14020    OpSignature::new(OpFlags::REG_S_REG.bits(), 0x00),
14021    OpSignature::new(OpFlags::REG_C_REG.bits() | OpFlags::REG_D_REG.bits(), 0x00),
14022    OpSignature::new(
14023        OpFlags::REG_GPW.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM16.bits(),
14024        0x00,
14025    ),
14026    OpSignature::new(
14027        OpFlags::REG_GPD.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM32.bits(),
14028        0x00,
14029    ),
14030    OpSignature::new(
14031        OpFlags::REG_GPQ.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM64.bits(),
14032        0x00,
14033    ),
14034    OpSignature::new(
14035        OpFlags::REG_GPW.bits()
14036            | OpFlags::REG_GPD.bits()
14037            | OpFlags::MEM16.bits()
14038            | OpFlags::MEM32.bits(),
14039        0x00,
14040    ),
14041    OpSignature::new(OpFlags::IMM_I8.bits(), 0x00),
14042    OpSignature::new(OpFlags::IMM_I8.bits() | OpFlags::IMM_I32.bits(), 0x00),
14043    OpSignature::new(
14044        OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM32.bits(),
14045        0x00,
14046    ),
14047    OpSignature::new(
14048        OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM64.bits(),
14049        0x00,
14050    ),
14051    OpSignature::new(
14052        OpFlags::REG_GPQ.bits()
14053            | OpFlags::MEM_UNSPECIFIED.bits()
14054            | OpFlags::MEM64.bits()
14055            | OpFlags::IMM_I8.bits()
14056            | OpFlags::IMM_I32.bits()
14057            | OpFlags::IMM_U32.bits(),
14058        0x00,
14059    ),
14060    OpSignature::new(OpFlags::MEM64.bits(), 0x00),
14061    OpSignature::new(
14062        OpFlags::MEM_UNSPECIFIED.bits()
14063            | OpFlags::MEM8.bits()
14064            | OpFlags::IMM_I8.bits()
14065            | OpFlags::IMM_U8.bits(),
14066        0x00,
14067    ),
14068    OpSignature::new(
14069        OpFlags::MEM_UNSPECIFIED.bits()
14070            | OpFlags::MEM16.bits()
14071            | OpFlags::IMM_I8.bits()
14072            | OpFlags::IMM_I16.bits()
14073            | OpFlags::IMM_U16.bits(),
14074        0x00,
14075    ),
14076    OpSignature::new(
14077        OpFlags::MEM_UNSPECIFIED.bits()
14078            | OpFlags::MEM32.bits()
14079            | OpFlags::IMM_I8.bits()
14080            | OpFlags::IMM_I32.bits()
14081            | OpFlags::IMM_U32.bits(),
14082        0x00,
14083    ),
14084    OpSignature::new(
14085        OpFlags::MEM_UNSPECIFIED.bits()
14086            | OpFlags::MEM64.bits()
14087            | OpFlags::IMM_I8.bits()
14088            | OpFlags::IMM_I32.bits(),
14089        0x00,
14090    ),
14091    OpSignature::new(OpFlags::MEM8.bits(), 0x00),
14092    OpSignature::new(OpFlags::MEM16.bits() | OpFlags::MEM32.bits(), 0x00),
14093    OpSignature::new(OpFlags::MEM16.bits(), 0x00),
14094    OpSignature::new(OpFlags::MEM32.bits(), 0x00),
14095    OpSignature::new(
14096        OpFlags::REG_GPW.bits() | OpFlags::FLAG_IMPLICIT.bits(),
14097        0x01,
14098    ),
14099    OpSignature::new(
14100        OpFlags::REG_GPW.bits() | OpFlags::FLAG_IMPLICIT.bits(),
14101        0x04,
14102    ),
14103    OpSignature::new(
14104        OpFlags::REG_GPD.bits() | OpFlags::FLAG_IMPLICIT.bits(),
14105        0x04,
14106    ),
14107    OpSignature::new(
14108        OpFlags::REG_GPD.bits() | OpFlags::FLAG_IMPLICIT.bits(),
14109        0x01,
14110    ),
14111    OpSignature::new(
14112        OpFlags::REG_GPQ.bits() | OpFlags::FLAG_IMPLICIT.bits(),
14113        0x04,
14114    ),
14115    OpSignature::new(
14116        OpFlags::REG_GPQ.bits() | OpFlags::FLAG_IMPLICIT.bits(),
14117        0x01,
14118    ),
14119    OpSignature::new(
14120        OpFlags::IMM_I8.bits() | OpFlags::IMM_I16.bits() | OpFlags::IMM_U16.bits(),
14121        0x00,
14122    ),
14123    OpSignature::new(
14124        OpFlags::IMM_I8.bits() | OpFlags::IMM_I32.bits() | OpFlags::IMM_U32.bits(),
14125        0x00,
14126    ),
14127    OpSignature::new(OpFlags::IMM_I64.bits() | OpFlags::IMM_U64.bits(), 0x00),
14128    OpSignature::new(OpFlags::REG_GPB_LO.bits(), 0x01),
14129    OpSignature::new(OpFlags::REG_GPW.bits(), 0x01),
14130    OpSignature::new(OpFlags::REG_GPD.bits(), 0x01),
14131    OpSignature::new(OpFlags::REG_GPQ.bits(), 0x01),
14132    OpSignature::new(OpFlags::REG_XMM.bits(), 0x00),
14133    OpSignature::new(
14134        OpFlags::REG_XMM.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM128.bits(),
14135        0x00,
14136    ),
14137    OpSignature::new(OpFlags::REG_YMM.bits(), 0x00),
14138    OpSignature::new(
14139        OpFlags::REG_YMM.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM256.bits(),
14140        0x00,
14141    ),
14142    OpSignature::new(
14143        OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM128.bits(),
14144        0x00,
14145    ),
14146    OpSignature::new(
14147        OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM256.bits(),
14148        0x00,
14149    ),
14150    OpSignature::new(OpFlags::REG_ZMM.bits(), 0x00),
14151    OpSignature::new(
14152        OpFlags::REG_ZMM.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM512.bits(),
14153        0x00,
14154    ),
14155    OpSignature::new(
14156        OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM512.bits(),
14157        0x00,
14158    ),
14159    OpSignature::new(
14160        OpFlags::REG_XMM.bits()
14161            | OpFlags::MEM_UNSPECIFIED.bits()
14162            | OpFlags::MEM128.bits()
14163            | OpFlags::IMM_I8.bits()
14164            | OpFlags::IMM_U8.bits(),
14165        0x00,
14166    ),
14167    OpSignature::new(
14168        OpFlags::REG_YMM.bits()
14169            | OpFlags::MEM_UNSPECIFIED.bits()
14170            | OpFlags::MEM256.bits()
14171            | OpFlags::IMM_I8.bits()
14172            | OpFlags::IMM_U8.bits(),
14173        0x00,
14174    ),
14175    OpSignature::new(
14176        OpFlags::REG_ZMM.bits()
14177            | OpFlags::MEM_UNSPECIFIED.bits()
14178            | OpFlags::MEM512.bits()
14179            | OpFlags::IMM_I8.bits()
14180            | OpFlags::IMM_U8.bits(),
14181        0x00,
14182    ),
14183    OpSignature::new(OpFlags::REG_MM.bits(), 0x00),
14184    OpSignature::new(
14185        OpFlags::REG_MM.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM64.bits(),
14186        0x00,
14187    ),
14188    OpSignature::new(OpFlags::REG_XMM.bits() | OpFlags::REG_MM.bits(), 0x00),
14189    OpSignature::new(
14190        OpFlags::REG_XMM.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM64.bits(),
14191        0x00,
14192    ),
14193    OpSignature::new(OpFlags::REG_S_REG.bits(), 0x1A),
14194    OpSignature::new(OpFlags::REG_S_REG.bits(), 0x60),
14195    OpSignature::new(
14196        OpFlags::REG_GPW.bits()
14197            | OpFlags::MEM16.bits()
14198            | OpFlags::IMM_I8.bits()
14199            | OpFlags::IMM_U8.bits()
14200            | OpFlags::IMM_I16.bits()
14201            | OpFlags::IMM_U16.bits(),
14202        0x00,
14203    ),
14204    OpSignature::new(
14205        OpFlags::REG_GPD.bits()
14206            | OpFlags::MEM32.bits()
14207            | OpFlags::IMM_I32.bits()
14208            | OpFlags::IMM_U32.bits(),
14209        0x00,
14210    ),
14211    OpSignature::new(
14212        OpFlags::REG_GPQ.bits() | OpFlags::MEM64.bits() | OpFlags::IMM_I32.bits(),
14213        0x00,
14214    ),
14215    OpSignature::new(OpFlags::REG_S_REG.bits(), 0x1E),
14216    OpSignature::new(OpFlags::VM32X.bits(), 0x00),
14217    OpSignature::new(OpFlags::VM32Y.bits(), 0x00),
14218    OpSignature::new(OpFlags::VM32Z.bits(), 0x00),
14219    OpSignature::new(OpFlags::VM64X.bits(), 0x00),
14220    OpSignature::new(OpFlags::VM64Y.bits(), 0x00),
14221    OpSignature::new(OpFlags::VM64Z.bits(), 0x00),
14222    OpSignature::new(
14223        OpFlags::MEM8.bits() | OpFlags::FLAG_MEM_BASE.bits() | OpFlags::FLAG_MEM_DS.bits(),
14224        0x40,
14225    ),
14226    OpSignature::new(
14227        OpFlags::MEM8.bits() | OpFlags::FLAG_MEM_BASE.bits() | OpFlags::FLAG_MEM_ES.bits(),
14228        0x80,
14229    ),
14230    OpSignature::new(
14231        OpFlags::MEM16.bits() | OpFlags::FLAG_MEM_BASE.bits() | OpFlags::FLAG_MEM_DS.bits(),
14232        0x40,
14233    ),
14234    OpSignature::new(
14235        OpFlags::MEM16.bits() | OpFlags::FLAG_MEM_BASE.bits() | OpFlags::FLAG_MEM_ES.bits(),
14236        0x80,
14237    ),
14238    OpSignature::new(
14239        OpFlags::MEM32.bits() | OpFlags::FLAG_MEM_BASE.bits() | OpFlags::FLAG_MEM_DS.bits(),
14240        0x40,
14241    ),
14242    OpSignature::new(
14243        OpFlags::MEM32.bits() | OpFlags::FLAG_MEM_BASE.bits() | OpFlags::FLAG_MEM_ES.bits(),
14244        0x80,
14245    ),
14246    OpSignature::new(
14247        OpFlags::MEM64.bits() | OpFlags::FLAG_MEM_BASE.bits() | OpFlags::FLAG_MEM_DS.bits(),
14248        0x40,
14249    ),
14250    OpSignature::new(
14251        OpFlags::MEM64.bits() | OpFlags::FLAG_MEM_BASE.bits() | OpFlags::FLAG_MEM_ES.bits(),
14252        0x80,
14253    ),
14254    OpSignature::new(
14255        OpFlags::REG_GPB_LO.bits() | OpFlags::FLAG_IMPLICIT.bits(),
14256        0x01,
14257    ),
14258    OpSignature::new(OpFlags::REG_K_REG.bits(), 0x00),
14259    OpSignature::new(
14260        OpFlags::REG_K_REG.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM64.bits(),
14261        0x00,
14262    ),
14263    OpSignature::new(
14264        OpFlags::MEM_UNSPECIFIED.bits()
14265            | OpFlags::MEM8.bits()
14266            | OpFlags::FLAG_MEM_BASE.bits()
14267            | OpFlags::FLAG_MEM_DS.bits(),
14268        0x40,
14269    ),
14270    OpSignature::new(
14271        OpFlags::MEM_UNSPECIFIED.bits()
14272            | OpFlags::MEM16.bits()
14273            | OpFlags::FLAG_MEM_BASE.bits()
14274            | OpFlags::FLAG_MEM_DS.bits(),
14275        0x40,
14276    ),
14277    OpSignature::new(
14278        OpFlags::MEM_UNSPECIFIED.bits()
14279            | OpFlags::MEM32.bits()
14280            | OpFlags::FLAG_MEM_BASE.bits()
14281            | OpFlags::FLAG_MEM_DS.bits(),
14282        0x40,
14283    ),
14284    OpSignature::new(
14285        OpFlags::MEM_UNSPECIFIED.bits()
14286            | OpFlags::MEM64.bits()
14287            | OpFlags::FLAG_MEM_BASE.bits()
14288            | OpFlags::FLAG_MEM_DS.bits(),
14289        0x40,
14290    ),
14291    OpSignature::new(
14292        OpFlags::MEM_UNSPECIFIED.bits()
14293            | OpFlags::MEM8.bits()
14294            | OpFlags::FLAG_MEM_BASE.bits()
14295            | OpFlags::FLAG_MEM_ES.bits(),
14296        0x80,
14297    ),
14298    OpSignature::new(
14299        OpFlags::MEM_UNSPECIFIED.bits()
14300            | OpFlags::MEM16.bits()
14301            | OpFlags::FLAG_MEM_BASE.bits()
14302            | OpFlags::FLAG_MEM_ES.bits(),
14303        0x80,
14304    ),
14305    OpSignature::new(
14306        OpFlags::MEM_UNSPECIFIED.bits()
14307            | OpFlags::MEM32.bits()
14308            | OpFlags::FLAG_MEM_BASE.bits()
14309            | OpFlags::FLAG_MEM_ES.bits(),
14310        0x80,
14311    ),
14312    OpSignature::new(
14313        OpFlags::MEM_UNSPECIFIED.bits()
14314            | OpFlags::MEM64.bits()
14315            | OpFlags::FLAG_MEM_BASE.bits()
14316            | OpFlags::FLAG_MEM_ES.bits(),
14317        0x80,
14318    ),
14319    OpSignature::new(OpFlags::REG_XMM.bits() | OpFlags::REG_YMM.bits(), 0x00),
14320    OpSignature::new(OpFlags::IMM_I4.bits() | OpFlags::IMM_U4.bits(), 0x00),
14321    OpSignature::new(
14322        OpFlags::REG_GPW.bits()
14323            | OpFlags::REG_GPD.bits()
14324            | OpFlags::MEM_UNSPECIFIED.bits()
14325            | OpFlags::MEM16.bits()
14326            | OpFlags::MEM32.bits()
14327            | OpFlags::IMM_I32.bits()
14328            | OpFlags::IMM_I64.bits()
14329            | OpFlags::REL32.bits(),
14330        0x00,
14331    ),
14332    OpSignature::new(
14333        OpFlags::IMM_I32.bits() | OpFlags::IMM_I64.bits() | OpFlags::REL32.bits(),
14334        0x00,
14335    ),
14336    OpSignature::new(OpFlags::REG_GPW.bits() | OpFlags::REG_GPD.bits(), 0x00),
14337    OpSignature::new(
14338        OpFlags::REG_GPB_LO.bits()
14339            | OpFlags::REG_GPB_HI.bits()
14340            | OpFlags::REG_GPW.bits()
14341            | OpFlags::REG_GPD.bits()
14342            | OpFlags::MEM8.bits()
14343            | OpFlags::MEM16.bits()
14344            | OpFlags::MEM32.bits(),
14345        0x00,
14346    ),
14347    OpSignature::new(OpFlags::MEM32.bits() | OpFlags::MEM64.bits(), 0x00),
14348    OpSignature::new(OpFlags::REG_ST.bits(), 0x01),
14349    OpSignature::new(OpFlags::REG_ST.bits(), 0x00),
14350    OpSignature::new(
14351        OpFlags::IMM_I32.bits()
14352            | OpFlags::IMM_I64.bits()
14353            | OpFlags::REL8.bits()
14354            | OpFlags::REL32.bits(),
14355        0x00,
14356    ),
14357    OpSignature::new(
14358        OpFlags::REG_GPD.bits()
14359            | OpFlags::MEM32.bits()
14360            | OpFlags::IMM_I32.bits()
14361            | OpFlags::IMM_I64.bits()
14362            | OpFlags::REL32.bits(),
14363        0x00,
14364    ),
14365    OpSignature::new(
14366        OpFlags::IMM_I16.bits()
14367            | OpFlags::IMM_U16.bits()
14368            | OpFlags::IMM_I32.bits()
14369            | OpFlags::IMM_U32.bits(),
14370        0x00,
14371    ),
14372    OpSignature::new(
14373        OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM32.bits() | OpFlags::MEM48.bits(),
14374        0x00,
14375    ),
14376    OpSignature::new(
14377        OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM80.bits(),
14378        0x00,
14379    ),
14380    OpSignature::new(
14381        OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM48.bits(),
14382        0x00,
14383    ),
14384    OpSignature::new(
14385        OpFlags::REG_GPD.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM16.bits(),
14386        0x00,
14387    ),
14388    OpSignature::new(
14389        OpFlags::REG_GPB_LO.bits()
14390            | OpFlags::REG_GPB_HI.bits()
14391            | OpFlags::REG_GPW.bits()
14392            | OpFlags::MEM8.bits()
14393            | OpFlags::MEM16.bits(),
14394        0x00,
14395    ),
14396    OpSignature::new(
14397        OpFlags::REG_GPB_LO.bits() | OpFlags::IMM_I8.bits() | OpFlags::IMM_U8.bits(),
14398        0x02,
14399    ),
14400    OpSignature::new(OpFlags::REG_XMM.bits() | OpFlags::REG_K_REG.bits(), 0x00),
14401    OpSignature::new(OpFlags::REG_YMM.bits() | OpFlags::REG_K_REG.bits(), 0x00),
14402    OpSignature::new(
14403        OpFlags::REG_XMM.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM32.bits(),
14404        0x00,
14405    ),
14406    OpSignature::new(OpFlags::VM64X.bits() | OpFlags::VM64Y.bits(), 0x00),
14407    OpSignature::new(
14408        OpFlags::REG_XMM.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM16.bits(),
14409        0x00,
14410    ),
14411    OpSignature::new(OpFlags::REG_BND.bits(), 0x00),
14412    OpSignature::new(
14413        OpFlags::REG_BND.bits() | OpFlags::MEM_UNSPECIFIED.bits(),
14414        0x00,
14415    ),
14416    OpSignature::new(OpFlags::MEM_UNSPECIFIED.bits(), 0x00),
14417    OpSignature::new(
14418        OpFlags::REG_GPB_LO.bits()
14419            | OpFlags::REG_GPB_HI.bits()
14420            | OpFlags::REG_GPQ.bits()
14421            | OpFlags::MEM8.bits()
14422            | OpFlags::MEM64.bits(),
14423        0x00,
14424    ),
14425    OpSignature::new(
14426        OpFlags::MEM_UNSPECIFIED.bits()
14427            | OpFlags::MEM512.bits()
14428            | OpFlags::FLAG_MEM_BASE.bits()
14429            | OpFlags::FLAG_MEM_ES.bits(),
14430        0x00,
14431    ),
14432    OpSignature::new(
14433        OpFlags::REG_ST.bits() | OpFlags::MEM32.bits() | OpFlags::MEM64.bits(),
14434        0x00,
14435    ),
14436    OpSignature::new(
14437        OpFlags::REG_GPD.bits() | OpFlags::FLAG_IMPLICIT.bits(),
14438        0x02,
14439    ),
14440    OpSignature::new(
14441        OpFlags::REG_GPD.bits() | OpFlags::REG_GPQ.bits() | OpFlags::FLAG_IMPLICIT.bits(),
14442        0x01,
14443    ),
14444    OpSignature::new(
14445        OpFlags::REG_GPW.bits() | OpFlags::REG_GPD.bits() | OpFlags::FLAG_IMPLICIT.bits(),
14446        0x02,
14447    ),
14448    OpSignature::new(
14449        OpFlags::IMM_I32.bits() | OpFlags::IMM_I64.bits() | OpFlags::REL8.bits(),
14450        0x00,
14451    ),
14452    OpSignature::new(
14453        OpFlags::REG_GPD.bits() | OpFlags::REG_GPQ.bits() | OpFlags::FLAG_IMPLICIT.bits(),
14454        0x02,
14455    ),
14456    OpSignature::new(
14457        OpFlags::REG_GPD.bits()
14458            | OpFlags::REG_K_REG.bits()
14459            | OpFlags::MEM_UNSPECIFIED.bits()
14460            | OpFlags::MEM8.bits(),
14461        0x00,
14462    ),
14463    OpSignature::new(
14464        OpFlags::REG_GPD.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM8.bits(),
14465        0x00,
14466    ),
14467    OpSignature::new(
14468        OpFlags::REG_GPD.bits()
14469            | OpFlags::REG_K_REG.bits()
14470            | OpFlags::MEM_UNSPECIFIED.bits()
14471            | OpFlags::MEM32.bits(),
14472        0x00,
14473    ),
14474    OpSignature::new(
14475        OpFlags::REG_GPD.bits()
14476            | OpFlags::REG_K_REG.bits()
14477            | OpFlags::MEM_UNSPECIFIED.bits()
14478            | OpFlags::MEM16.bits(),
14479        0x00,
14480    ),
14481    OpSignature::new(
14482        OpFlags::MEM_UNSPECIFIED.bits()
14483            | OpFlags::MEM8.bits()
14484            | OpFlags::MEM16.bits()
14485            | OpFlags::MEM32.bits()
14486            | OpFlags::MEM48.bits()
14487            | OpFlags::MEM64.bits()
14488            | OpFlags::MEM80.bits()
14489            | OpFlags::MEM128.bits()
14490            | OpFlags::MEM256.bits()
14491            | OpFlags::MEM512.bits()
14492            | OpFlags::MEM1024.bits(),
14493        0x00,
14494    ),
14495    OpSignature::new(OpFlags::REG_GPD.bits() | OpFlags::REG_GPQ.bits(), 0x00),
14496    OpSignature::new(
14497        OpFlags::REG_MM.bits()
14498            | OpFlags::MEM_UNSPECIFIED.bits()
14499            | OpFlags::MEM64.bits()
14500            | OpFlags::IMM_I8.bits()
14501            | OpFlags::IMM_U8.bits(),
14502        0x00,
14503    ),
14504    OpSignature::new(
14505        OpFlags::REG_MM.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM32.bits(),
14506        0x00,
14507    ),
14508    OpSignature::new(OpFlags::IMM_U16.bits(), 0x00),
14509    OpSignature::new(
14510        OpFlags::REG_GPW.bits()
14511            | OpFlags::REG_GPD.bits()
14512            | OpFlags::MEM_UNSPECIFIED.bits()
14513            | OpFlags::MEM16.bits(),
14514        0x00,
14515    ),
14516    OpSignature::new(
14517        OpFlags::REG_GPQ.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM16.bits(),
14518        0x00,
14519    ),
14520    OpSignature::new(
14521        OpFlags::MEM_UNSPECIFIED.bits()
14522            | OpFlags::FLAG_MEM_BASE.bits()
14523            | OpFlags::FLAG_MEM_DS.bits(),
14524        0x00,
14525    ),
14526    OpSignature::new(
14527        OpFlags::REG_XMM.bits()
14528            | OpFlags::REG_YMM.bits()
14529            | OpFlags::MEM128.bits()
14530            | OpFlags::MEM256.bits(),
14531        0x00,
14532    ),
14533    OpSignature::new(
14534        OpFlags::REG_XMM.bits() | OpFlags::REG_YMM.bits() | OpFlags::REG_ZMM.bits(),
14535        0x00,
14536    ),
14537    OpSignature::new(
14538        OpFlags::REG_XMM.bits() | OpFlags::IMM_I8.bits() | OpFlags::IMM_U8.bits(),
14539        0x00,
14540    ),
14541    OpSignature::new(
14542        OpFlags::REG_XMM.bits() | OpFlags::FLAG_IMPLICIT.bits(),
14543        0x01,
14544    ),
14545    OpSignature::new(
14546        OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::FLAG_MIB.bits(),
14547        0x00,
14548    ),
14549    OpSignature::new(
14550        OpFlags::MEM_UNSPECIFIED.bits()
14551            | OpFlags::MEM512.bits()
14552            | OpFlags::FLAG_MEM_BASE.bits()
14553            | OpFlags::FLAG_MEM_DS.bits()
14554            | OpFlags::FLAG_IMPLICIT.bits(),
14555        0x01,
14556    ),
14557    OpSignature::new(
14558        OpFlags::REG_GPQ.bits() | OpFlags::FLAG_IMPLICIT.bits(),
14559        0x02,
14560    ),
14561    OpSignature::new(
14562        OpFlags::REG_GPQ.bits() | OpFlags::FLAG_IMPLICIT.bits(),
14563        0x08,
14564    ),
14565    OpSignature::new(
14566        OpFlags::REG_GPD.bits() | OpFlags::FLAG_IMPLICIT.bits(),
14567        0x08,
14568    ),
14569    OpSignature::new(
14570        OpFlags::MEM16.bits() | OpFlags::MEM32.bits() | OpFlags::MEM64.bits(),
14571        0x00,
14572    ),
14573    OpSignature::new(
14574        OpFlags::REG_ST.bits()
14575            | OpFlags::MEM32.bits()
14576            | OpFlags::MEM64.bits()
14577            | OpFlags::MEM80.bits(),
14578        0x00,
14579    ),
14580    OpSignature::new(
14581        OpFlags::REG_GPW.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM16.bits(),
14582        0x01,
14583    ),
14584    OpSignature::new(
14585        OpFlags::REG_GPB_LO.bits() | OpFlags::REG_GPW.bits() | OpFlags::REG_GPD.bits(),
14586        0x01,
14587    ),
14588    OpSignature::new(
14589        OpFlags::REG_GPW.bits() | OpFlags::IMM_I8.bits() | OpFlags::IMM_U8.bits(),
14590        0x04,
14591    ),
14592    OpSignature::new(
14593        OpFlags::MEM8.bits()
14594            | OpFlags::MEM16.bits()
14595            | OpFlags::MEM32.bits()
14596            | OpFlags::FLAG_MEM_BASE.bits()
14597            | OpFlags::FLAG_MEM_ES.bits(),
14598        0x80,
14599    ),
14600    OpSignature::new(OpFlags::REG_GPW.bits(), 0x04),
14601    OpSignature::new(
14602        OpFlags::REG_GPB_HI.bits() | OpFlags::FLAG_IMPLICIT.bits(),
14603        0x01,
14604    ),
14605    OpSignature::new(
14606        OpFlags::MEM_UNSPECIFIED.bits()
14607            | OpFlags::MEM128.bits()
14608            | OpFlags::FLAG_MEM_BASE.bits()
14609            | OpFlags::FLAG_MEM_DS.bits()
14610            | OpFlags::FLAG_IMPLICIT.bits(),
14611        0x80,
14612    ),
14613    OpSignature::new(
14614        OpFlags::MEM_UNSPECIFIED.bits()
14615            | OpFlags::MEM64.bits()
14616            | OpFlags::FLAG_MEM_BASE.bits()
14617            | OpFlags::FLAG_MEM_DS.bits()
14618            | OpFlags::FLAG_IMPLICIT.bits(),
14619        0x80,
14620    ),
14621    OpSignature::new(
14622        OpFlags::MEM_UNSPECIFIED.bits()
14623            | OpFlags::FLAG_MEM_BASE.bits()
14624            | OpFlags::FLAG_MEM_DS.bits()
14625            | OpFlags::FLAG_IMPLICIT.bits(),
14626        0x01,
14627    ),
14628    OpSignature::new(
14629        OpFlags::MEM8.bits()
14630            | OpFlags::MEM16.bits()
14631            | OpFlags::MEM32.bits()
14632            | OpFlags::FLAG_MEM_BASE.bits()
14633            | OpFlags::FLAG_MEM_DS.bits(),
14634        0x40,
14635    ),
14636    OpSignature::new(OpFlags::REG_TMM.bits(), 0x00),
14637    OpSignature::new(
14638        OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::FLAG_T_MEM.bits(),
14639        0x00,
14640    ),
14641    OpSignature::new(OpFlags::REG_YMM.bits() | OpFlags::REG_ZMM.bits(), 0x00),
14642    OpSignature::new(
14643        OpFlags::REG_XMM.bits()
14644            | OpFlags::REG_YMM.bits()
14645            | OpFlags::REG_ZMM.bits()
14646            | OpFlags::MEM128.bits()
14647            | OpFlags::MEM256.bits()
14648            | OpFlags::MEM512.bits(),
14649        0x00,
14650    ),
14651    OpSignature::new(
14652        OpFlags::REG_GPD.bits()
14653            | OpFlags::REG_XMM.bits()
14654            | OpFlags::MEM_UNSPECIFIED.bits()
14655            | OpFlags::MEM8.bits(),
14656        0x00,
14657    ),
14658    OpSignature::new(
14659        OpFlags::REG_GPD.bits()
14660            | OpFlags::REG_XMM.bits()
14661            | OpFlags::MEM_UNSPECIFIED.bits()
14662            | OpFlags::MEM32.bits(),
14663        0x00,
14664    ),
14665    OpSignature::new(
14666        OpFlags::REG_GPD.bits()
14667            | OpFlags::REG_XMM.bits()
14668            | OpFlags::MEM_UNSPECIFIED.bits()
14669            | OpFlags::MEM16.bits(),
14670        0x00,
14671    ),
14672];
14673
14674pub static RW_INFO_INDEX_A_TABLE: &[u8] = &[
14675    0, 0, 1, 2, 1, 2, 0, 3, 4, 3, 5, 5, 6, 7, 5, 5, 4, 5, 5, 5, 5, 8, 0, 3, 0, 5, 5, 5, 5, 2, 9, 2,
14676    0, 10, 10, 10, 10, 10, 0, 0, 0, 0, 10, 10, 10, 10, 10, 11, 11, 11, 12, 12, 13, 14, 15, 10, 10,
14677    0, 16, 17, 17, 17, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4,
14678    4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0,
14679    0, 0, 0, 0, 21, 22, 0, 23, 24, 25, 8, 26, 26, 26, 25, 27, 8, 25, 28, 29, 30, 31, 32, 33, 34,
14680    26, 26, 8, 28, 29, 34, 35, 0, 0, 0, 0, 36, 5, 5, 6, 7, 0, 0, 0, 0, 0, 37, 37, 0, 0, 38, 0, 0,
14681    39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 39, 0, 0, 0, 0, 0, 0, 0,
14682    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
14683    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
14684    0, 0, 0, 40, 0, 0, 5, 5, 5, 0, 41, 5, 5, 36, 42, 43, 0, 0, 0, 44, 0, 38, 0, 0, 0, 0, 45, 0, 46,
14685    0, 45, 45, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
14686    0, 0, 0, 0, 0, 48, 49, 50, 51, 52, 53, 54, 55, 0, 0, 0, 56, 57, 58, 59, 0, 0, 0, 0, 0, 0, 0, 0,
14687    0, 56, 57, 58, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 61, 0, 2, 0, 62, 0, 2, 0, 2, 0,
14688    2, 0, 0, 0, 0, 0, 63, 64, 64, 64, 60, 2, 0, 0, 0, 10, 0, 0, 5, 5, 6, 7, 0, 0, 5, 5, 6, 7, 0, 0,
14689    65, 66, 67, 67, 68, 49, 25, 37, 68, 54, 67, 67, 69, 70, 70, 71, 72, 72, 73, 73, 61, 61, 68, 61,
14690    61, 72, 72, 74, 50, 54, 75, 76, 8, 8, 77, 78, 10, 67, 67, 78, 0, 36, 5, 5, 6, 7, 0, 79, 0, 0,
14691    80, 0, 3, 5, 5, 81, 82, 10, 10, 10, 4, 4, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 4, 4, 0, 4, 83, 4,
14692    0, 0, 0, 4, 4, 5, 4, 0, 0, 4, 4, 5, 4, 0, 0, 0, 0, 0, 0, 0, 0, 84, 28, 28, 83, 83, 83, 83, 83,
14693    83, 83, 83, 83, 83, 28, 83, 83, 83, 28, 28, 83, 83, 83, 4, 4, 4, 85, 4, 4, 4, 28, 28, 0, 0, 0,
14694    0, 4, 4, 5, 5, 4, 4, 5, 5, 5, 5, 4, 4, 5, 5, 86, 87, 88, 25, 25, 25, 87, 87, 88, 25, 25, 25,
14695    87, 5, 4, 83, 4, 4, 5, 4, 4, 0, 0, 0, 10, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 0,
14696    0, 4, 4, 4, 4, 89, 4, 4, 0, 4, 4, 4, 89, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 28, 90, 0, 4, 4, 5, 4,
14697    91, 91, 5, 91, 0, 0, 0, 0, 0, 0, 0, 0, 4, 92, 8, 93, 92, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 95,
14698    0, 0, 0, 0, 0, 92, 92, 0, 0, 0, 0, 0, 0, 8, 93, 0, 0, 92, 0, 0, 3, 96, 0, 0, 0, 0, 0, 0, 0, 0,
14699    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 0, 5, 5, 0, 92, 0, 0, 92, 0, 0, 0, 0,
14700    0, 0, 0, 0, 0, 8, 8, 27, 93, 0, 0, 0, 0, 0, 0, 97, 0, 0, 0, 3, 5, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0,
14701    10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 98, 98, 0, 99, 0, 0, 0, 10, 10, 21, 22, 100, 100, 0, 0,
14702    0, 0, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 101, 101, 0, 0,
14703    0, 0, 0, 0, 102, 29, 103, 104, 103, 104, 102, 29, 103, 104, 103, 104, 105, 106, 0, 0, 0, 0, 0,
14704    0, 21, 107, 22, 108, 108, 109, 110, 10, 0, 68, 68, 68, 68, 110, 110, 111, 110, 10, 110, 10,
14705    109, 112, 109, 109, 112, 109, 112, 10, 10, 10, 109, 0, 110, 109, 10, 109, 10, 113, 110, 0, 29,
14706    0, 29, 0, 114, 0, 114, 0, 0, 0, 0, 0, 34, 34, 110, 10, 110, 10, 109, 112, 109, 112, 10, 10, 10,
14707    109, 10, 109, 29, 29, 114, 114, 34, 34, 109, 110, 10, 10, 111, 110, 0, 0, 0, 10, 10, 0, 0, 0,
14708    0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
14709    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
14710    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
14711    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
14712    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 28, 115, 2, 2, 2,
14713    116, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
14714    0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 117, 49, 118,
14715    117, 117, 117, 117, 117, 117, 117, 117, 0, 119, 119, 0, 72, 72, 120, 121, 68, 68, 68, 68, 122,
14716    72, 123, 10, 10, 74, 117, 117, 51, 0, 0, 0, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 0, 0, 0, 0, 0,
14717    0, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
14718    0, 0, 0, 125, 34, 126, 126, 29, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
14719    0, 0, 0, 0, 0, 108, 108, 108, 108, 0, 0, 0, 0, 0, 0, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
14720    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10,
14721    10, 10, 0, 0, 0, 0, 2, 2, 116, 2, 8, 8, 8, 0, 8, 0, 8, 8, 8, 8, 8, 8, 0, 8, 8, 85, 8, 0, 8, 0,
14722    0, 8, 0, 0, 0, 0, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
14723    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 127, 128, 129, 126, 126, 126, 126, 86, 127, 130, 129,
14724    128, 128, 129, 130, 129, 128, 129, 112, 131, 109, 109, 109, 112, 128, 129, 130, 129, 128, 129,
14725    127, 129, 112, 131, 109, 109, 109, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10, 10, 0, 0, 0, 0,
14726    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 68, 132, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
14727    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
14728    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
14729    0, 0, 0, 0, 0, 0, 10, 10, 0, 0, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
14730    10, 10, 0, 0, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 68, 68, 68, 132, 133, 134, 0, 0, 0, 0, 0, 0, 0,
14731    0, 0, 0, 0, 0, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 124, 21, 107, 22, 0, 0, 0, 0, 0,
14732    0, 0, 0, 0, 0, 0, 0, 0, 74, 72, 74, 72, 0, 135, 0, 136, 0, 0, 0, 3, 5, 5, 0, 0, 0, 0, 0, 0, 0,
14733    0, 0, 0, 0, 0, 0, 0, 0, 0,
14734];
14735
14736pub static RW_INFO_INDEX_B_TABLE: &[u8] = &[
14737    0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0,
14738    4, 0, 0, 0, 0, 0, 5, 5, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 4, 8,
14739    1, 0, 9, 0, 0, 0, 10, 10, 10, 0, 0, 11, 0, 0, 10, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
14740    0, 0, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 5, 5, 13, 0, 14, 15, 13, 16,
14741    17, 18, 13, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
14742    0, 20, 1, 1, 21, 22, 0, 0, 0, 0, 5, 5, 0, 0, 0, 0, 0, 0, 23, 24, 0, 0, 25, 26, 27, 28, 0, 0,
14743    26, 26, 26, 26, 26, 26, 26, 26, 29, 30, 30, 29, 0, 0, 0, 25, 26, 25, 26, 0, 26, 25, 25, 25, 25,
14744    25, 25, 25, 0, 0, 31, 31, 31, 25, 25, 29, 0, 32, 10, 0, 0, 0, 0, 0, 0, 25, 26, 0, 0, 0, 33, 34,
14745    33, 35, 0, 0, 0, 0, 0, 10, 33, 0, 0, 0, 0, 36, 34, 33, 36, 35, 25, 26, 25, 26, 0, 30, 30, 30,
14746    30, 0, 0, 0, 26, 10, 10, 33, 33, 0, 0, 0, 0, 5, 5, 0, 0, 0, 0, 0, 0, 0, 22, 37, 0, 21, 38, 38,
14747    0, 39, 40, 0, 0, 0, 0, 0, 10, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0,
14748    0, 0, 0, 0, 42, 43, 44, 45, 42, 43, 42, 43, 44, 45, 44, 45, 0, 0, 0, 0, 0, 0, 0, 0, 42, 43, 44,
14749    0, 0, 0, 0, 45, 46, 47, 48, 49, 46, 47, 48, 49, 0, 0, 0, 0, 50, 51, 52, 42, 43, 44, 45, 42, 43,
14750    44, 45, 53, 0, 25, 0, 54, 0, 55, 0, 0, 0, 0, 0, 10, 0, 10, 25, 56, 57, 56, 0, 0, 0, 0, 0, 0,
14751    56, 58, 58, 0, 59, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
14752    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 62, 0, 0, 0, 0, 0, 5, 63,
14753    0, 0, 0, 0, 64, 0, 65, 21, 66, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
14754    67, 0, 0, 0, 0, 0, 0, 6, 5, 5, 0, 0, 0, 0, 68, 69, 0, 0, 0, 0, 70, 71, 0, 3, 3, 72, 23, 73, 74,
14755    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
14756    39, 76, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
14757    0, 0, 0, 0, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 2, 2,
14758    2, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0,
14759    0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 80, 81, 80, 81, 81, 81, 80, 80, 82, 83,
14760    0, 84, 0, 0, 0, 0, 0, 0, 85, 2, 2, 86, 87, 0, 0, 0, 11, 88, 0, 4, 0, 0, 0, 0, 0, 0, 89, 0, 90,
14761    90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 0, 90, 0, 33, 0, 0, 0, 5, 0, 0, 6, 0,
14762    91, 4, 0, 91, 4, 5, 5, 33, 20, 92, 80, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 0, 92, 94, 0, 0, 0,
14763    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 95, 0, 95, 95, 95, 95, 95, 95, 0, 0, 0, 0, 0, 0, 96, 0,
14764    97, 0, 0, 0, 0, 0, 0, 0, 0, 10, 97, 0, 0, 0, 0, 3, 3, 3, 98, 99, 100, 3, 3, 3, 3, 3, 3, 0, 2,
14765    3, 3, 3, 3, 3, 3, 0, 0, 3, 3, 3, 3, 101, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 102,
14766    3, 103, 104, 105, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
14767    0, 0, 0, 0, 0, 106, 0, 0, 0, 0, 0, 0, 0, 98, 0, 107, 0, 99, 0, 108, 0, 109, 110, 111, 112, 113,
14768    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 110,
14769    111, 0, 0, 3, 3, 3, 3, 98, 99, 100, 3, 114, 3, 56, 56, 0, 0, 115, 116, 117, 116, 117, 115, 116,
14770    117, 116, 117, 23, 118, 119, 118, 119, 120, 120, 121, 122, 120, 120, 120, 123, 124, 125, 120,
14771    120, 120, 123, 124, 125, 120, 120, 120, 123, 124, 125, 118, 119, 126, 126, 127, 128, 120, 120,
14772    120, 120, 120, 120, 120, 120, 120, 126, 126, 120, 120, 120, 123, 129, 125, 120, 120, 120, 123,
14773    129, 125, 120, 120, 120, 123, 129, 125, 120, 120, 120, 120, 120, 120, 120, 120, 120, 126, 126,
14774    126, 126, 127, 128, 118, 130, 120, 120, 120, 123, 124, 125, 120, 120, 120, 123, 124, 125, 120,
14775    120, 120, 123, 124, 125, 126, 126, 127, 128, 120, 120, 120, 123, 129, 125, 120, 120, 120, 123,
14776    129, 125, 120, 120, 120, 131, 129, 132, 126, 126, 127, 128, 133, 133, 133, 79, 134, 135, 0, 0,
14777    0, 0, 136, 137, 137, 138, 0, 0, 0, 139, 140, 141, 85, 85, 85, 139, 140, 141, 3, 3, 3, 3, 3, 3,
14778    3, 142, 143, 144, 143, 144, 142, 143, 144, 143, 144, 100, 0, 54, 59, 145, 145, 3, 3, 3, 98, 99,
14779    100, 0, 11, 0, 0, 3, 3, 3, 98, 99, 100, 0, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 147,
14780    148, 148, 149, 150, 150, 0, 0, 0, 0, 0, 0, 0, 151, 152, 0, 0, 153, 0, 0, 0, 3, 11, 154, 0, 0,
14781    155, 146, 3, 3, 3, 98, 99, 100, 0, 0, 11, 3, 3, 156, 156, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3,
14782    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 101, 3, 0, 0, 0, 0, 0, 0, 3, 126, 102,
14783    102, 3, 3, 3, 3, 68, 69, 3, 3, 3, 3, 70, 71, 102, 102, 102, 102, 102, 102, 114, 114, 0, 0, 0,
14784    0, 114, 114, 114, 114, 114, 114, 0, 0, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
14785    120, 120, 120, 120, 120, 157, 157, 3, 3, 120, 120, 3, 3, 120, 120, 126, 126, 158, 158, 158, 3,
14786    158, 120, 120, 120, 120, 120, 120, 3, 0, 0, 0, 0, 72, 23, 73, 159, 137, 136, 138, 137, 0, 0, 0,
14787    3, 0, 3, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 3, 0, 3, 3, 0, 160, 100, 98, 99, 0, 0, 161, 161, 161,
14788    161, 161, 161, 161, 161, 161, 161, 161, 161, 120, 120, 3, 3, 145, 145, 3, 3, 3, 3, 3, 3, 3, 3,
14789    3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
14790    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 3, 3, 3,
14791    162, 85, 85, 3, 3, 85, 85, 3, 3, 163, 163, 163, 163, 3, 0, 0, 0, 0, 163, 163, 163, 163, 163,
14792    163, 3, 3, 120, 120, 120, 3, 163, 163, 3, 3, 120, 120, 120, 3, 3, 102, 85, 85, 85, 3, 3, 3,
14793    164, 165, 164, 3, 3, 3, 166, 164, 167, 3, 3, 3, 166, 164, 165, 164, 3, 3, 3, 166, 3, 3, 3, 3,
14794    3, 3, 3, 3, 168, 168, 0, 102, 102, 102, 102, 102, 102, 102, 102, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
14795    3, 3, 3, 139, 141, 0, 0, 139, 141, 0, 0, 140, 141, 85, 85, 85, 139, 140, 141, 85, 85, 85, 139,
14796    140, 141, 85, 85, 139, 141, 0, 0, 139, 141, 0, 0, 140, 141, 3, 3, 3, 98, 99, 100, 0, 0, 0, 0,
14797    0, 0, 169, 3, 3, 3, 3, 3, 3, 170, 170, 170, 3, 3, 0, 0, 0, 139, 140, 141, 93, 3, 3, 3, 98, 99,
14798    100, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 57, 57, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81,
14799    0, 0, 0, 0, 0, 172, 172, 172, 172, 173, 173, 173, 173, 173, 173, 173, 173, 171, 0, 0,
14800];
14801
14802pub static RW_INFO_A_TABLE: &[RwInfo] = &[
14803    RwInfo::new(RwInfoCategory::Generic, 0, [0, 0, 0, 0, 0, 0]), // #0 [ref=999x]
14804    RwInfo::new(RwInfoCategory::Generic, 0, [1, 0, 0, 0, 0, 0]), // #1 [ref=2x]
14805    RwInfo::new(RwInfoCategory::Generic, 0, [2, 3, 0, 0, 0, 0]), // #2 [ref=15x]
14806    RwInfo::new(RwInfoCategory::Generic, 1, [2, 3, 0, 0, 0, 0]), // #3 [ref=7x]
14807    RwInfo::new(RwInfoCategory::Generic, 2, [2, 3, 0, 0, 0, 0]), // #4 [ref=82x]
14808    RwInfo::new(RwInfoCategory::Generic, 3, [4, 5, 0, 0, 0, 0]), // #5 [ref=55x]
14809    RwInfo::new(RwInfoCategory::Generic, 4, [6, 7, 0, 0, 0, 0]), // #6 [ref=6x]
14810    RwInfo::new(RwInfoCategory::Generic, 5, [8, 9, 0, 0, 0, 0]), // #7 [ref=6x]
14811    RwInfo::new(RwInfoCategory::Generic, 3, [10, 5, 0, 0, 0, 0]), // #8 [ref=26x]
14812    RwInfo::new(RwInfoCategory::Generic, 7, [12, 13, 0, 0, 0, 0]), // #9 [ref=1x]
14813    RwInfo::new(RwInfoCategory::Generic, 2, [11, 3, 0, 0, 0, 0]), // #10 [ref=75x]
14814    RwInfo::new(RwInfoCategory::Generic, 2, [5, 3, 0, 0, 0, 0]), // #11 [ref=3x]
14815    RwInfo::new(RwInfoCategory::Generic, 8, [10, 3, 0, 0, 0, 0]), // #12 [ref=2x]
14816    RwInfo::new(RwInfoCategory::Generic, 9, [10, 5, 0, 0, 0, 0]), // #13 [ref=1x]
14817    RwInfo::new(RwInfoCategory::Generic, 8, [15, 5, 0, 0, 0, 0]), // #14 [ref=1x]
14818    RwInfo::new(RwInfoCategory::Generic, 0, [3, 3, 0, 0, 0, 0]), // #15 [ref=1x]
14819    RwInfo::new(RwInfoCategory::Generic, 10, [3, 3, 0, 0, 0, 0]), // #16 [ref=2x]
14820    RwInfo::new(RwInfoCategory::Generic, 10, [2, 3, 0, 0, 0, 0]), // #17 [ref=3x]
14821    RwInfo::new(RwInfoCategory::Generic, 0, [16, 17, 0, 0, 0, 0]), // #18 [ref=1x]
14822    RwInfo::new(RwInfoCategory::Generic, 1, [3, 3, 0, 0, 0, 0]), // #19 [ref=1x]
14823    RwInfo::new(RwInfoCategory::Generic, 14, [20, 21, 0, 0, 0, 0]), // #20 [ref=1x]
14824    RwInfo::new(RwInfoCategory::Generic, 4, [7, 7, 0, 0, 0, 0]), // #21 [ref=4x]
14825    RwInfo::new(RwInfoCategory::Generic, 5, [9, 9, 0, 0, 0, 0]), // #22 [ref=4x]
14826    RwInfo::new(RwInfoCategory::Generic, 0, [33, 34, 0, 0, 0, 0]), // #23 [ref=1x]
14827    RwInfo::new(RwInfoCategory::Generic, 16, [2, 3, 0, 0, 0, 0]), // #24 [ref=1x]
14828    RwInfo::new(RwInfoCategory::Generic, 4, [10, 7, 0, 0, 0, 0]), // #25 [ref=10x]
14829    RwInfo::new(RwInfoCategory::Generic, 3, [35, 5, 0, 0, 0, 0]), // #26 [ref=5x]
14830    RwInfo::new(RwInfoCategory::Generic, 4, [36, 7, 0, 0, 0, 0]), // #27 [ref=2x]
14831    RwInfo::new(RwInfoCategory::Generic, 4, [35, 7, 0, 0, 0, 0]), // #28 [ref=11x]
14832    RwInfo::new(RwInfoCategory::Generic, 4, [11, 7, 0, 0, 0, 0]), // #29 [ref=9x]
14833    RwInfo::new(RwInfoCategory::Generic, 4, [37, 7, 0, 0, 0, 0]), // #30 [ref=1x]
14834    RwInfo::new(RwInfoCategory::Generic, 16, [36, 3, 0, 0, 0, 0]), // #31 [ref=1x]
14835    RwInfo::new(RwInfoCategory::Generic, 16, [37, 3, 0, 0, 0, 0]), // #32 [ref=1x]
14836    RwInfo::new(RwInfoCategory::Generic, 5, [36, 9, 0, 0, 0, 0]), // #33 [ref=1x]
14837    RwInfo::new(RwInfoCategory::Generic, 5, [11, 9, 0, 0, 0, 0]), // #34 [ref=7x]
14838    RwInfo::new(RwInfoCategory::Generic, 0, [38, 39, 0, 0, 0, 0]), // #35 [ref=1x]
14839    RwInfo::new(RwInfoCategory::Generic, 17, [1, 40, 0, 0, 0, 0]), // #36 [ref=3x]
14840    RwInfo::new(RwInfoCategory::Generic, 13, [43, 44, 0, 0, 0, 0]), // #37 [ref=3x]
14841    RwInfo::new(RwInfoCategory::Generic, 0, [4, 5, 0, 0, 0, 0]), // #38 [ref=2x]
14842    RwInfo::new(RwInfoCategory::Generic, 0, [46, 47, 0, 0, 0, 0]), // #39 [ref=6x]
14843    RwInfo::new(RwInfoCategory::Generic, 0, [51, 30, 0, 0, 0, 0]), // #40 [ref=1x]
14844    RwInfo::new(RwInfoCategory::Generic, 0, [0, 51, 0, 0, 0, 0]), // #41 [ref=1x]
14845    RwInfo::new(RwInfoCategory::Imul, 2, [0, 0, 0, 0, 0, 0]),    // #42 [ref=1x]
14846    RwInfo::new(RwInfoCategory::Generic, 0, [52, 53, 0, 0, 0, 0]), // #43 [ref=1x]
14847    RwInfo::new(RwInfoCategory::Generic, 14, [54, 53, 0, 0, 0, 0]), // #44 [ref=1x]
14848    RwInfo::new(RwInfoCategory::Generic, 15, [3, 5, 0, 0, 0, 0]), // #45 [ref=3x]
14849    RwInfo::new(RwInfoCategory::Generic, 0, [22, 29, 0, 0, 0, 0]), // #46 [ref=1x]
14850    RwInfo::new(RwInfoCategory::Generic, 0, [56, 0, 0, 0, 0, 0]), // #47 [ref=1x]
14851    RwInfo::new(RwInfoCategory::Generic, 23, [57, 40, 0, 0, 0, 0]), // #48 [ref=1x]
14852    RwInfo::new(RwInfoCategory::Generic, 24, [45, 9, 0, 0, 0, 0]), // #49 [ref=3x]
14853    RwInfo::new(RwInfoCategory::Generic, 25, [35, 7, 0, 0, 0, 0]), // #50 [ref=2x]
14854    RwInfo::new(RwInfoCategory::Generic, 26, [49, 13, 0, 0, 0, 0]), // #51 [ref=2x]
14855    RwInfo::new(RwInfoCategory::Generic, 0, [57, 40, 0, 0, 0, 0]), // #52 [ref=1x]
14856    RwInfo::new(RwInfoCategory::Generic, 0, [45, 9, 0, 0, 0, 0]), // #53 [ref=1x]
14857    RwInfo::new(RwInfoCategory::Generic, 0, [35, 7, 0, 0, 0, 0]), // #54 [ref=3x]
14858    RwInfo::new(RwInfoCategory::Generic, 0, [49, 13, 0, 0, 0, 0]), // #55 [ref=1x]
14859    RwInfo::new(RwInfoCategory::Generic, 0, [40, 40, 0, 0, 0, 0]), // #56 [ref=2x]
14860    RwInfo::new(RwInfoCategory::Generic, 0, [9, 9, 0, 0, 0, 0]), // #57 [ref=2x]
14861    RwInfo::new(RwInfoCategory::Generic, 0, [7, 7, 0, 0, 0, 0]), // #58 [ref=2x]
14862    RwInfo::new(RwInfoCategory::Generic, 0, [13, 13, 0, 0, 0, 0]), // #59 [ref=2x]
14863    RwInfo::new(RwInfoCategory::Generic, 27, [11, 3, 0, 0, 0, 0]), // #60 [ref=2x]
14864    RwInfo::new(RwInfoCategory::Generic, 15, [10, 5, 0, 0, 0, 0]), // #61 [ref=5x]
14865    RwInfo::new(RwInfoCategory::Generic, 8, [11, 3, 0, 0, 0, 0]), // #62 [ref=1x]
14866    RwInfo::new(RwInfoCategory::Generic, 0, [52, 20, 0, 0, 0, 0]), // #63 [ref=1x]
14867    RwInfo::new(RwInfoCategory::Generic, 0, [59, 0, 0, 0, 0, 0]), // #64 [ref=3x]
14868    RwInfo::new(RwInfoCategory::Mov, 29, [0, 0, 0, 0, 0, 0]),    // #65 [ref=1x]
14869    RwInfo::new(RwInfoCategory::Movabs, 0, [0, 0, 0, 0, 0, 0]),  // #66 [ref=1x]
14870    RwInfo::new(RwInfoCategory::Generic, 30, [10, 5, 0, 0, 0, 0]), // #67 [ref=6x]
14871    RwInfo::new(RwInfoCategory::Generic, 0, [11, 3, 0, 0, 0, 0]), // #68 [ref=18x]
14872    RwInfo::new(RwInfoCategory::Generic, 0, [36, 63, 0, 0, 0, 0]), // #69 [ref=1x]
14873    RwInfo::new(RwInfoCategory::Movh64, 12, [0, 0, 0, 0, 0, 0]), // #70 [ref=2x]
14874    RwInfo::new(RwInfoCategory::Generic, 0, [64, 7, 0, 0, 0, 0]), // #71 [ref=1x]
14875    RwInfo::new(RwInfoCategory::Generic, 12, [35, 7, 0, 0, 0, 0]), // #72 [ref=9x]
14876    RwInfo::new(RwInfoCategory::Generic, 0, [57, 5, 0, 0, 0, 0]), // #73 [ref=2x]
14877    RwInfo::new(RwInfoCategory::Generic, 28, [45, 9, 0, 0, 0, 0]), // #74 [ref=4x]
14878    RwInfo::new(RwInfoCategory::Generic, 14, [65, 20, 0, 0, 0, 0]), // #75 [ref=1x]
14879    RwInfo::new(RwInfoCategory::Generic, 31, [35, 7, 0, 0, 0, 0]), // #76 [ref=1x]
14880    RwInfo::new(RwInfoCategory::Generic, 33, [45, 9, 0, 0, 0, 0]), // #77 [ref=1x]
14881    RwInfo::new(RwInfoCategory::Generic, 16, [11, 3, 0, 0, 0, 0]), // #78 [ref=2x]
14882    RwInfo::new(RwInfoCategory::Generic, 0, [17, 29, 0, 0, 0, 0]), // #79 [ref=1x]
14883    RwInfo::new(RwInfoCategory::Generic, 11, [3, 3, 0, 0, 0, 0]), // #80 [ref=1x]
14884    RwInfo::new(RwInfoCategory::Generic, 0, [53, 22, 0, 0, 0, 0]), // #81 [ref=1x]
14885    RwInfo::new(RwInfoCategory::Generic, 14, [53, 68, 0, 0, 0, 0]), // #82 [ref=1x]
14886    RwInfo::new(RwInfoCategory::Generic, 4, [26, 7, 0, 0, 0, 0]), // #83 [ref=18x]
14887    RwInfo::new(RwInfoCategory::Generic, 36, [0, 0, 0, 0, 0, 0]), // #84 [ref=1x]
14888    RwInfo::new(RwInfoCategory::Generic, 3, [71, 5, 0, 0, 0, 0]), // #85 [ref=2x]
14889    RwInfo::new(RwInfoCategory::Vmov1_8, 0, [0, 0, 0, 0, 0, 0]), // #86 [ref=2x]
14890    RwInfo::new(RwInfoCategory::Generic, 5, [10, 9, 0, 0, 0, 0]), // #87 [ref=4x]
14891    RwInfo::new(RwInfoCategory::Generic, 27, [10, 13, 0, 0, 0, 0]), // #88 [ref=2x]
14892    RwInfo::new(RwInfoCategory::Generic, 0, [4, 0, 0, 0, 0, 0]), // #89 [ref=2x]
14893    RwInfo::new(RwInfoCategory::Generic, 3, [5, 5, 0, 0, 0, 0]), // #90 [ref=1x]
14894    RwInfo::new(RwInfoCategory::Punpcklxx, 38, [0, 0, 0, 0, 0, 0]), // #91 [ref=3x]
14895    RwInfo::new(RwInfoCategory::Generic, 10, [2, 72, 0, 0, 0, 0]), // #92 [ref=7x]
14896    RwInfo::new(RwInfoCategory::Generic, 5, [37, 9, 0, 0, 0, 0]), // #93 [ref=3x]
14897    RwInfo::new(RwInfoCategory::Generic, 0, [35, 0, 0, 0, 0, 0]), // #94 [ref=1x]
14898    RwInfo::new(RwInfoCategory::Generic, 0, [16, 51, 0, 0, 0, 0]), // #95 [ref=1x]
14899    RwInfo::new(RwInfoCategory::Generic, 0, [22, 21, 0, 0, 0, 0]), // #96 [ref=1x]
14900    RwInfo::new(RwInfoCategory::Generic, 0, [65, 22, 0, 0, 0, 0]), // #97 [ref=1x]
14901    RwInfo::new(RwInfoCategory::Generic, 8, [43, 3, 0, 0, 0, 0]), // #98 [ref=2x]
14902    RwInfo::new(RwInfoCategory::Generic, 8, [11, 44, 0, 0, 0, 0]), // #99 [ref=1x]
14903    RwInfo::new(RwInfoCategory::Generic, 5, [76, 9, 0, 0, 0, 0]), // #100 [ref=2x]
14904    RwInfo::new(RwInfoCategory::Generic, 21, [11, 13, 0, 0, 0, 0]), // #101 [ref=2x]
14905    RwInfo::new(RwInfoCategory::Generic, 15, [77, 5, 0, 0, 0, 0]), // #102 [ref=2x]
14906    RwInfo::new(RwInfoCategory::Generic, 15, [11, 5, 0, 0, 0, 0]), // #103 [ref=4x]
14907    RwInfo::new(RwInfoCategory::Generic, 43, [43, 78, 0, 0, 0, 0]), // #104 [ref=4x]
14908    RwInfo::new(RwInfoCategory::Generic, 44, [11, 7, 0, 0, 0, 0]), // #105 [ref=1x]
14909    RwInfo::new(RwInfoCategory::Generic, 45, [11, 9, 0, 0, 0, 0]), // #106 [ref=1x]
14910    RwInfo::new(RwInfoCategory::Generic, 27, [13, 13, 0, 0, 0, 0]), // #107 [ref=2x]
14911    RwInfo::new(RwInfoCategory::Generic, 11, [11, 3, 0, 0, 0, 0]), // #108 [ref=7x]
14912    RwInfo::new(RwInfoCategory::Vmov2_1, 46, [0, 0, 0, 0, 0, 0]), // #109 [ref=19x]
14913    RwInfo::new(RwInfoCategory::Vmov1_2, 16, [0, 0, 0, 0, 0, 0]), // #110 [ref=11x]
14914    RwInfo::new(RwInfoCategory::Vmov1_4, 16, [0, 0, 0, 0, 0, 0]), // #111 [ref=2x]
14915    RwInfo::new(RwInfoCategory::Vmov4_1, 47, [0, 0, 0, 0, 0, 0]), // #112 [ref=9x]
14916    RwInfo::new(RwInfoCategory::Generic, 16, [10, 3, 0, 0, 0, 0]), // #113 [ref=1x]
14917    RwInfo::new(RwInfoCategory::Generic, 27, [11, 13, 0, 0, 0, 0]), // #114 [ref=5x]
14918    RwInfo::new(RwInfoCategory::Generic, 5, [45, 9, 0, 0, 0, 0]), // #115 [ref=1x]
14919    RwInfo::new(RwInfoCategory::Generic, 14, [2, 3, 0, 0, 0, 0]), // #116 [ref=2x]
14920    RwInfo::new(RwInfoCategory::Generic, 57, [11, 3, 0, 0, 0, 0]), // #117 [ref=12x]
14921    RwInfo::new(RwInfoCategory::Vmovddup, 38, [0, 0, 0, 0, 0, 0]), // #118 [ref=1x]
14922    RwInfo::new(RwInfoCategory::Generic, 12, [35, 63, 0, 0, 0, 0]), // #119 [ref=2x]
14923    RwInfo::new(RwInfoCategory::Vmovmskpd, 0, [0, 0, 0, 0, 0, 0]), // #120 [ref=1x]
14924    RwInfo::new(RwInfoCategory::Vmovmskps, 0, [0, 0, 0, 0, 0, 0]), // #121 [ref=1x]
14925    RwInfo::new(RwInfoCategory::Generic, 58, [35, 7, 0, 0, 0, 0]), // #122 [ref=1x]
14926    RwInfo::new(RwInfoCategory::Generic, 21, [49, 13, 0, 0, 0, 0]), // #123 [ref=1x]
14927    RwInfo::new(RwInfoCategory::Generic, 2, [3, 3, 0, 0, 0, 0]), // #124 [ref=4x]
14928    RwInfo::new(RwInfoCategory::Generic, 17, [11, 40, 0, 0, 0, 0]), // #125 [ref=1x]
14929    RwInfo::new(RwInfoCategory::Generic, 0, [11, 7, 0, 0, 0, 0]), // #126 [ref=6x]
14930    RwInfo::new(RwInfoCategory::Generic, 0, [35, 3, 0, 0, 0, 0]), // #127 [ref=4x]
14931    RwInfo::new(RwInfoCategory::Vmov1_4, 61, [0, 0, 0, 0, 0, 0]), // #128 [ref=6x]
14932    RwInfo::new(RwInfoCategory::Vmov1_2, 48, [0, 0, 0, 0, 0, 0]), // #129 [ref=9x]
14933    RwInfo::new(RwInfoCategory::Vmov1_8, 62, [0, 0, 0, 0, 0, 0]), // #130 [ref=3x]
14934    RwInfo::new(RwInfoCategory::Vmov8_1, 63, [0, 0, 0, 0, 0, 0]), // #131 [ref=2x]
14935    RwInfo::new(RwInfoCategory::Generic, 14, [11, 3, 0, 0, 0, 0]), // #132 [ref=2x]
14936    RwInfo::new(RwInfoCategory::Generic, 0, [87, 5, 0, 0, 0, 0]), // #133 [ref=1x]
14937    RwInfo::new(RwInfoCategory::Generic, 0, [87, 78, 0, 0, 0, 0]), // #134 [ref=1x]
14938    RwInfo::new(RwInfoCategory::Generic, 11, [2, 2, 0, 0, 0, 0]), // #135 [ref=1x]
14939    RwInfo::new(RwInfoCategory::Generic, 57, [2, 2, 0, 0, 0, 0]), // #136 [ref=1x]
14940];
14941
14942pub static RW_INFO_B_TABLE: &[RwInfo] = &[
14943    RwInfo::new(RwInfoCategory::Generic, 0, [0, 0, 0, 0, 0, 0]), // #0 [ref=758x]
14944    RwInfo::new(RwInfoCategory::Generic, 0, [1, 0, 0, 0, 0, 0]), // #1 [ref=5x]
14945    RwInfo::new(RwInfoCategory::Generic, 3, [10, 5, 0, 0, 0, 0]), // #2 [ref=7x]
14946    RwInfo::new(RwInfoCategory::Generic, 6, [11, 3, 3, 0, 0, 0]), // #3 [ref=193x]
14947    RwInfo::new(RwInfoCategory::Generic, 2, [11, 3, 3, 0, 0, 0]), // #4 [ref=5x]
14948    RwInfo::new(RwInfoCategory::Generic, 3, [4, 5, 0, 0, 0, 0]), // #5 [ref=14x]
14949    RwInfo::new(RwInfoCategory::Generic, 3, [4, 5, 14, 0, 0, 0]), // #6 [ref=4x]
14950    RwInfo::new(RwInfoCategory::Generic, 0, [2, 0, 0, 0, 0, 0]), // #7 [ref=1x]
14951    RwInfo::new(RwInfoCategory::Generic, 11, [3, 0, 0, 0, 0, 0]), // #8 [ref=2x]
14952    RwInfo::new(RwInfoCategory::Generic, 0, [18, 0, 0, 0, 0, 0]), // #9 [ref=1x]
14953    RwInfo::new(RwInfoCategory::Generic, 8, [3, 0, 0, 0, 0, 0]), // #10 [ref=21x]
14954    RwInfo::new(RwInfoCategory::Generic, 12, [7, 0, 0, 0, 0, 0]), // #11 [ref=5x]
14955    RwInfo::new(RwInfoCategory::Generic, 13, [19, 0, 0, 0, 0, 0]), // #12 [ref=1x]
14956    RwInfo::new(RwInfoCategory::Generic, 0, [2, 2, 3, 0, 0, 0]), // #13 [ref=16x]
14957    RwInfo::new(RwInfoCategory::Generic, 4, [6, 7, 0, 0, 0, 0]), // #14 [ref=1x]
14958    RwInfo::new(RwInfoCategory::Generic, 5, [8, 9, 0, 0, 0, 0]), // #15 [ref=1x]
14959    RwInfo::new(RwInfoCategory::Generic, 11, [2, 3, 22, 0, 0, 0]), // #16 [ref=1x]
14960    RwInfo::new(RwInfoCategory::Generic, 15, [4, 23, 18, 24, 25, 0]), // #17 [ref=1x]
14961    RwInfo::new(RwInfoCategory::Generic, 12, [26, 27, 28, 29, 30, 0]), // #18 [ref=1x]
14962    RwInfo::new(RwInfoCategory::Generic, 0, [28, 31, 32, 16, 0, 0]), // #19 [ref=1x]
14963    RwInfo::new(RwInfoCategory::Generic, 0, [28, 0, 0, 0, 0, 0]), // #20 [ref=2x]
14964    RwInfo::new(RwInfoCategory::Generic, 10, [2, 0, 0, 0, 0, 0]), // #21 [ref=4x]
14965    RwInfo::new(RwInfoCategory::Generic, 6, [41, 42, 3, 0, 0, 0]), // #22 [ref=2x]
14966    RwInfo::new(RwInfoCategory::Generic, 18, [45, 5, 0, 0, 0, 0]), // #23 [ref=4x]
14967    RwInfo::new(RwInfoCategory::Generic, 0, [4, 0, 0, 0, 0, 0]), // #24 [ref=1x]
14968    RwInfo::new(RwInfoCategory::Generic, 14, [3, 0, 0, 0, 0, 0]), // #25 [ref=17x]
14969    RwInfo::new(RwInfoCategory::Generic, 0, [46, 0, 0, 0, 0, 0]), // #26 [ref=16x]
14970    RwInfo::new(RwInfoCategory::Generic, 19, [47, 0, 0, 0, 0, 0]), // #27 [ref=1x]
14971    RwInfo::new(RwInfoCategory::Generic, 19, [48, 0, 0, 0, 0, 0]), // #28 [ref=1x]
14972    RwInfo::new(RwInfoCategory::Generic, 20, [3, 0, 0, 0, 0, 0]), // #29 [ref=3x]
14973    RwInfo::new(RwInfoCategory::Generic, 0, [47, 0, 0, 0, 0, 0]), // #30 [ref=6x]
14974    RwInfo::new(RwInfoCategory::Generic, 14, [11, 0, 0, 0, 0, 0]), // #31 [ref=3x]
14975    RwInfo::new(RwInfoCategory::Generic, 21, [13, 0, 0, 0, 0, 0]), // #32 [ref=1x]
14976    RwInfo::new(RwInfoCategory::Generic, 8, [11, 0, 0, 0, 0, 0]), // #33 [ref=8x]
14977    RwInfo::new(RwInfoCategory::Generic, 21, [49, 0, 0, 0, 0, 0]), // #34 [ref=2x]
14978    RwInfo::new(RwInfoCategory::Generic, 7, [50, 0, 0, 0, 0, 0]), // #35 [ref=2x]
14979    RwInfo::new(RwInfoCategory::Generic, 20, [11, 0, 0, 0, 0, 0]), // #36 [ref=2x]
14980    RwInfo::new(RwInfoCategory::Imul, 22, [0, 0, 0, 0, 0, 0]),   // #37 [ref=1x]
14981    RwInfo::new(RwInfoCategory::Generic, 0, [40, 0, 0, 0, 0, 0]), // #38 [ref=2x]
14982    RwInfo::new(RwInfoCategory::Generic, 5, [4, 9, 0, 0, 0, 0]), // #39 [ref=2x]
14983    RwInfo::new(RwInfoCategory::Generic, 0, [4, 5, 0, 0, 0, 0]), // #40 [ref=1x]
14984    RwInfo::new(RwInfoCategory::Generic, 0, [22, 55, 56, 0, 0, 0]), // #41 [ref=1x]
14985    RwInfo::new(RwInfoCategory::Generic, 0, [57, 40, 40, 0, 0, 0]), // #42 [ref=6x]
14986    RwInfo::new(RwInfoCategory::Generic, 0, [45, 9, 9, 0, 0, 0]), // #43 [ref=6x]
14987    RwInfo::new(RwInfoCategory::Generic, 0, [35, 7, 7, 0, 0, 0]), // #44 [ref=6x]
14988    RwInfo::new(RwInfoCategory::Generic, 0, [49, 13, 13, 0, 0, 0]), // #45 [ref=6x]
14989    RwInfo::new(RwInfoCategory::Generic, 0, [57, 40, 0, 0, 0, 0]), // #46 [ref=2x]
14990    RwInfo::new(RwInfoCategory::Generic, 0, [45, 9, 0, 0, 0, 0]), // #47 [ref=2x]
14991    RwInfo::new(RwInfoCategory::Generic, 0, [35, 7, 0, 0, 0, 0]), // #48 [ref=2x]
14992    RwInfo::new(RwInfoCategory::Generic, 0, [49, 13, 0, 0, 0, 0]), // #49 [ref=2x]
14993    RwInfo::new(RwInfoCategory::Generic, 0, [49, 40, 40, 0, 0, 0]), // #50 [ref=1x]
14994    RwInfo::new(RwInfoCategory::Generic, 0, [35, 9, 9, 0, 0, 0]), // #51 [ref=1x]
14995    RwInfo::new(RwInfoCategory::Generic, 0, [45, 13, 13, 0, 0, 0]), // #52 [ref=1x]
14996    RwInfo::new(RwInfoCategory::Generic, 0, [58, 0, 0, 0, 0, 0]), // #53 [ref=1x]
14997    RwInfo::new(RwInfoCategory::Generic, 28, [9, 0, 0, 0, 0, 0]), // #54 [ref=2x]
14998    RwInfo::new(RwInfoCategory::Generic, 13, [44, 0, 0, 0, 0, 0]), // #55 [ref=1x]
14999    RwInfo::new(RwInfoCategory::Generic, 7, [13, 0, 0, 0, 0, 0]), // #56 [ref=5x]
15000    RwInfo::new(RwInfoCategory::Generic, 0, [3, 0, 0, 0, 0, 0]), // #57 [ref=3x]
15001    RwInfo::new(RwInfoCategory::Generic, 5, [3, 9, 0, 0, 0, 0]), // #58 [ref=2x]
15002    RwInfo::new(RwInfoCategory::Generic, 15, [5, 5, 60, 0, 0, 0]), // #59 [ref=2x]
15003    RwInfo::new(RwInfoCategory::Generic, 12, [7, 7, 61, 0, 0, 0]), // #60 [ref=1x]
15004    RwInfo::new(RwInfoCategory::Generic, 8, [62, 29, 55, 0, 0, 0]), // #61 [ref=2x]
15005    RwInfo::new(RwInfoCategory::Generic, 32, [0, 0, 0, 0, 0, 0]), // #62 [ref=2x]
15006    RwInfo::new(RwInfoCategory::Generic, 6, [66, 42, 3, 0, 0, 0]), // #63 [ref=1x]
15007    RwInfo::new(RwInfoCategory::Generic, 6, [11, 11, 3, 67, 0, 0]), // #64 [ref=1x]
15008    RwInfo::new(RwInfoCategory::Generic, 0, [17, 29, 30, 0, 0, 0]), // #65 [ref=1x]
15009    RwInfo::new(RwInfoCategory::Generic, 10, [3, 0, 0, 0, 0, 0]), // #66 [ref=3x]
15010    RwInfo::new(RwInfoCategory::Generic, 2, [2, 3, 0, 0, 0, 0]), // #67 [ref=1x]
15011    RwInfo::new(RwInfoCategory::Generic, 3, [5, 5, 0, 69, 17, 55]), // #68 [ref=2x]
15012    RwInfo::new(RwInfoCategory::Generic, 3, [5, 5, 0, 70, 17, 55]), // #69 [ref=2x]
15013    RwInfo::new(RwInfoCategory::Generic, 3, [5, 5, 0, 69, 0, 0]), // #70 [ref=2x]
15014    RwInfo::new(RwInfoCategory::Generic, 3, [5, 5, 0, 70, 0, 0]), // #71 [ref=2x]
15015    RwInfo::new(RwInfoCategory::Generic, 34, [57, 5, 0, 0, 0, 0]), // #72 [ref=2x]
15016    RwInfo::new(RwInfoCategory::Generic, 35, [35, 5, 0, 0, 0, 0]), // #73 [ref=2x]
15017    RwInfo::new(RwInfoCategory::Generic, 37, [49, 3, 0, 0, 0, 0]), // #74 [ref=1x]
15018    RwInfo::new(RwInfoCategory::Generic, 17, [4, 40, 0, 0, 0, 0]), // #75 [ref=1x]
15019    RwInfo::new(RwInfoCategory::Generic, 4, [4, 7, 0, 0, 0, 0]), // #76 [ref=1x]
15020    RwInfo::new(RwInfoCategory::Generic, 27, [2, 13, 0, 0, 0, 0]), // #77 [ref=1x]
15021    RwInfo::new(RwInfoCategory::Generic, 10, [11, 0, 0, 0, 0, 0]), // #78 [ref=1x]
15022    RwInfo::new(RwInfoCategory::Generic, 4, [35, 7, 0, 0, 0, 0]), // #79 [ref=2x]
15023    RwInfo::new(RwInfoCategory::Generic, 0, [11, 0, 0, 0, 0, 0]), // #80 [ref=6x]
15024    RwInfo::new(RwInfoCategory::Generic, 0, [16, 51, 29, 0, 0, 0]), // #81 [ref=5x]
15025    RwInfo::new(RwInfoCategory::Generic, 0, [45, 0, 0, 0, 0, 0]), // #82 [ref=1x]
15026    RwInfo::new(RwInfoCategory::Generic, 0, [35, 0, 0, 0, 0, 0]), // #83 [ref=1x]
15027    RwInfo::new(RwInfoCategory::Generic, 0, [16, 51, 69, 0, 0, 0]), // #84 [ref=1x]
15028    RwInfo::new(RwInfoCategory::Generic, 2, [11, 3, 0, 0, 0, 0]), // #85 [ref=19x]
15029    RwInfo::new(RwInfoCategory::Generic, 4, [36, 7, 0, 0, 0, 0]), // #86 [ref=1x]
15030    RwInfo::new(RwInfoCategory::Generic, 5, [37, 9, 0, 0, 0, 0]), // #87 [ref=1x]
15031    RwInfo::new(RwInfoCategory::Generic, 0, [73, 0, 0, 0, 0, 0]), // #88 [ref=1x]
15032    RwInfo::new(RwInfoCategory::Generic, 0, [7, 0, 0, 0, 0, 0]), // #89 [ref=1x]
15033    RwInfo::new(RwInfoCategory::Generic, 34, [74, 0, 0, 0, 0, 0]), // #90 [ref=16x]
15034    RwInfo::new(RwInfoCategory::Generic, 11, [2, 3, 72, 0, 0, 0]), // #91 [ref=2x]
15035    RwInfo::new(RwInfoCategory::Generic, 39, [11, 0, 0, 0, 0, 0]), // #92 [ref=3x]
15036    RwInfo::new(RwInfoCategory::Generic, 28, [45, 0, 0, 0, 0, 0]), // #93 [ref=2x]
15037    RwInfo::new(RwInfoCategory::Generic, 13, [43, 0, 0, 0, 0, 0]), // #94 [ref=1x]
15038    RwInfo::new(RwInfoCategory::Generic, 0, [75, 44, 44, 0, 0, 0]), // #95 [ref=8x]
15039    RwInfo::new(RwInfoCategory::Generic, 0, [43, 0, 0, 0, 0, 0]), // #96 [ref=1x]
15040    RwInfo::new(RwInfoCategory::Generic, 0, [9, 55, 17, 0, 0, 0]), // #97 [ref=2x]
15041    RwInfo::new(RwInfoCategory::Generic, 40, [10, 5, 7, 0, 0, 0]), // #98 [ref=9x]
15042    RwInfo::new(RwInfoCategory::Generic, 41, [10, 5, 13, 0, 0, 0]), // #99 [ref=9x]
15043    RwInfo::new(RwInfoCategory::Generic, 42, [10, 5, 9, 0, 0, 0]), // #100 [ref=9x]
15044    RwInfo::new(RwInfoCategory::Generic, 6, [11, 3, 3, 3, 0, 0]), // #101 [ref=3x]
15045    RwInfo::new(RwInfoCategory::Generic, 6, [35, 3, 3, 0, 0, 0]), // #102 [ref=18x]
15046    RwInfo::new(RwInfoCategory::Generic, 40, [11, 5, 7, 0, 0, 0]), // #103 [ref=1x]
15047    RwInfo::new(RwInfoCategory::Generic, 41, [35, 13, 13, 0, 0, 0]), // #104 [ref=1x]
15048    RwInfo::new(RwInfoCategory::Generic, 42, [11, 5, 9, 0, 0, 0]), // #105 [ref=1x]
15049    RwInfo::new(RwInfoCategory::Vmov1_2, 48, [0, 0, 0, 0, 0, 0]), // #106 [ref=1x]
15050    RwInfo::new(RwInfoCategory::Generic, 40, [10, 79, 7, 0, 0, 0]), // #107 [ref=1x]
15051    RwInfo::new(RwInfoCategory::Generic, 41, [10, 5, 5, 0, 0, 0]), // #108 [ref=1x]
15052    RwInfo::new(RwInfoCategory::Generic, 49, [10, 63, 3, 0, 0, 0]), // #109 [ref=2x]
15053    RwInfo::new(RwInfoCategory::Generic, 49, [10, 3, 3, 0, 0, 0]), // #110 [ref=2x]
15054    RwInfo::new(RwInfoCategory::Generic, 49, [10, 79, 3, 0, 0, 0]), // #111 [ref=2x]
15055    RwInfo::new(RwInfoCategory::Generic, 42, [10, 63, 9, 0, 0, 0]), // #112 [ref=1x]
15056    RwInfo::new(RwInfoCategory::Generic, 42, [10, 5, 5, 0, 0, 0]), // #113 [ref=1x]
15057    RwInfo::new(RwInfoCategory::Generic, 50, [10, 5, 5, 0, 0, 0]), // #114 [ref=9x]
15058    RwInfo::new(RwInfoCategory::Generic, 51, [10, 78, 0, 0, 0, 0]), // #115 [ref=2x]
15059    RwInfo::new(RwInfoCategory::Generic, 51, [10, 3, 0, 0, 0, 0]), // #116 [ref=4x]
15060    RwInfo::new(RwInfoCategory::Generic, 52, [77, 44, 0, 0, 0, 0]), // #117 [ref=4x]
15061    RwInfo::new(RwInfoCategory::Generic, 6, [80, 3, 3, 0, 0, 0]), // #118 [ref=4x]
15062    RwInfo::new(RwInfoCategory::Generic, 42, [81, 5, 5, 0, 0, 0]), // #119 [ref=3x]
15063    RwInfo::new(RwInfoCategory::Generic, 6, [2, 3, 3, 0, 0, 0]), // #120 [ref=90x]
15064    RwInfo::new(RwInfoCategory::Generic, 40, [4, 63, 7, 0, 0, 0]), // #121 [ref=1x]
15065    RwInfo::new(RwInfoCategory::Generic, 42, [4, 79, 9, 0, 0, 0]), // #122 [ref=1x]
15066    RwInfo::new(RwInfoCategory::Generic, 40, [6, 7, 7, 0, 0, 0]), // #123 [ref=11x]
15067    RwInfo::new(RwInfoCategory::Generic, 41, [82, 5, 5, 0, 0, 0]), // #124 [ref=6x]
15068    RwInfo::new(RwInfoCategory::Generic, 42, [8, 9, 9, 0, 0, 0]), // #125 [ref=11x]
15069    RwInfo::new(RwInfoCategory::Generic, 53, [11, 3, 3, 3, 0, 0]), // #126 [ref=15x]
15070    RwInfo::new(RwInfoCategory::Generic, 54, [35, 7, 7, 7, 0, 0]), // #127 [ref=4x]
15071    RwInfo::new(RwInfoCategory::Generic, 55, [45, 9, 9, 9, 0, 0]), // #128 [ref=4x]
15072    RwInfo::new(RwInfoCategory::Generic, 41, [82, 5, 13, 0, 0, 0]), // #129 [ref=6x]
15073    RwInfo::new(RwInfoCategory::Generic, 42, [83, 5, 5, 0, 0, 0]), // #130 [ref=1x]
15074    RwInfo::new(RwInfoCategory::Generic, 40, [26, 7, 7, 0, 0, 0]), // #131 [ref=1x]
15075    RwInfo::new(RwInfoCategory::Generic, 42, [76, 9, 9, 0, 0, 0]), // #132 [ref=1x]
15076    RwInfo::new(RwInfoCategory::Generic, 16, [35, 3, 0, 0, 0, 0]), // #133 [ref=3x]
15077    RwInfo::new(RwInfoCategory::Generic, 27, [35, 13, 0, 0, 0, 0]), // #134 [ref=1x]
15078    RwInfo::new(RwInfoCategory::Generic, 5, [35, 9, 0, 0, 0, 0]), // #135 [ref=1x]
15079    RwInfo::new(RwInfoCategory::Generic, 8, [2, 3, 2, 0, 0, 0]), // #136 [ref=2x]
15080    RwInfo::new(RwInfoCategory::Generic, 0, [2, 3, 2, 0, 0, 0]), // #137 [ref=4x]
15081    RwInfo::new(RwInfoCategory::Generic, 14, [4, 3, 4, 0, 0, 0]), // #138 [ref=2x]
15082    RwInfo::new(RwInfoCategory::Generic, 40, [10, 63, 7, 0, 0, 0]), // #139 [ref=9x]
15083    RwInfo::new(RwInfoCategory::Generic, 41, [10, 84, 13, 0, 0, 0]), // #140 [ref=7x]
15084    RwInfo::new(RwInfoCategory::Generic, 42, [10, 79, 9, 0, 0, 0]), // #141 [ref=11x]
15085    RwInfo::new(RwInfoCategory::Generic, 50, [77, 78, 5, 0, 0, 0]), // #142 [ref=2x]
15086    RwInfo::new(RwInfoCategory::Generic, 50, [11, 3, 5, 0, 0, 0]), // #143 [ref=4x]
15087    RwInfo::new(RwInfoCategory::Generic, 56, [43, 44, 78, 0, 0, 0]), // #144 [ref=4x]
15088    RwInfo::new(RwInfoCategory::Vmaskmov, 0, [0, 0, 0, 0, 0, 0]), // #145 [ref=4x]
15089    RwInfo::new(RwInfoCategory::Generic, 0, [22, 0, 0, 0, 0, 0]), // #146 [ref=2x]
15090    RwInfo::new(RwInfoCategory::Generic, 0, [10, 63, 63, 0, 0, 0]), // #147 [ref=1x]
15091    RwInfo::new(RwInfoCategory::Generic, 12, [10, 7, 7, 0, 0, 0]), // #148 [ref=2x]
15092    RwInfo::new(RwInfoCategory::Generic, 0, [10, 7, 7, 0, 0, 0]), // #149 [ref=1x]
15093    RwInfo::new(RwInfoCategory::Generic, 12, [10, 63, 7, 0, 0, 0]), // #150 [ref=2x]
15094    RwInfo::new(RwInfoCategory::Generic, 0, [10, 63, 7, 0, 0, 0]), // #151 [ref=1x]
15095    RwInfo::new(RwInfoCategory::Generic, 0, [10, 84, 13, 0, 0, 0]), // #152 [ref=1x]
15096    RwInfo::new(RwInfoCategory::Generic, 0, [10, 79, 9, 0, 0, 0]), // #153 [ref=1x]
15097    RwInfo::new(RwInfoCategory::Generic, 12, [35, 0, 0, 0, 0, 0]), // #154 [ref=1x]
15098    RwInfo::new(RwInfoCategory::Generic, 0, [85, 0, 0, 0, 0, 0]), // #155 [ref=1x]
15099    RwInfo::new(RwInfoCategory::Generic, 59, [35, 86, 3, 3, 0, 0]), // #156 [ref=2x]
15100    RwInfo::new(RwInfoCategory::Generic, 56, [77, 78, 78, 0, 0, 0]), // #157 [ref=2x]
15101    RwInfo::new(RwInfoCategory::Generic, 22, [11, 3, 3, 0, 0, 0]), // #158 [ref=4x]
15102    RwInfo::new(RwInfoCategory::Generic, 7, [49, 5, 0, 0, 0, 0]), // #159 [ref=1x]
15103    RwInfo::new(RwInfoCategory::Generic, 60, [10, 5, 40, 0, 0, 0]), // #160 [ref=1x]
15104    RwInfo::new(RwInfoCategory::Generic, 50, [10, 5, 5, 5, 0, 0]), // #161 [ref=12x]
15105    RwInfo::new(RwInfoCategory::Generic, 64, [10, 5, 5, 5, 0, 0]), // #162 [ref=1x]
15106    RwInfo::new(RwInfoCategory::Generic, 65, [10, 5, 5, 0, 0, 0]), // #163 [ref=12x]
15107    RwInfo::new(RwInfoCategory::Generic, 66, [11, 3, 5, 0, 0, 0]), // #164 [ref=5x]
15108    RwInfo::new(RwInfoCategory::Generic, 67, [11, 3, 0, 0, 0, 0]), // #165 [ref=2x]
15109    RwInfo::new(RwInfoCategory::Generic, 68, [11, 3, 5, 0, 0, 0]), // #166 [ref=3x]
15110    RwInfo::new(RwInfoCategory::Generic, 22, [11, 3, 5, 0, 0, 0]), // #167 [ref=1x]
15111    RwInfo::new(RwInfoCategory::GenericEx, 6, [2, 3, 3, 0, 0, 0]), // #168 [ref=2x]
15112    RwInfo::new(RwInfoCategory::Generic, 0, [87, 78, 5, 0, 0, 0]), // #169 [ref=1x]
15113    RwInfo::new(RwInfoCategory::Generic, 50, [4, 5, 5, 0, 0, 0]), // #170 [ref=3x]
15114    RwInfo::new(RwInfoCategory::Generic, 0, [55, 17, 29, 0, 0, 0]), // #171 [ref=2x]
15115    RwInfo::new(RwInfoCategory::Generic, 8, [3, 55, 17, 0, 0, 0]), // #172 [ref=4x]
15116    RwInfo::new(RwInfoCategory::Generic, 8, [11, 55, 17, 0, 0, 0]), // #173 [ref=8x]
15117];
15118
15119pub static RW_INFO_OP_TABLE: &[RwInfoOp] = &[
15120    RwInfoOp::new(
15121        0x0000000000000000,
15122        0x0000000000000000,
15123        0xFF,
15124        0,
15125        OpRwFlags::NONE.bits(),
15126    ), // #0 [ref=16348x]
15127    RwInfoOp::new(
15128        0x0000000000000003,
15129        0x0000000000000003,
15130        0x00,
15131        0,
15132        OpRwFlags::RW.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15133    ), // #1 [ref=10x]
15134    RwInfoOp::new(
15135        0x0000000000000000,
15136        0x0000000000000000,
15137        0xFF,
15138        0,
15139        OpRwFlags::RW.bits() | OpRwFlags::ZEXT.bits(),
15140    ), // #2 [ref=267x]
15141    RwInfoOp::new(
15142        0x0000000000000000,
15143        0x0000000000000000,
15144        0xFF,
15145        0,
15146        OpRwFlags::READ.bits(),
15147    ), // #3 [ref=1091x]
15148    RwInfoOp::new(
15149        0x000000000000FFFF,
15150        0x000000000000FFFF,
15151        0xFF,
15152        0,
15153        OpRwFlags::RW.bits() | OpRwFlags::ZEXT.bits(),
15154    ), // #4 [ref=93x]
15155    RwInfoOp::new(
15156        0x000000000000FFFF,
15157        0x0000000000000000,
15158        0xFF,
15159        0,
15160        OpRwFlags::READ.bits(),
15161    ), // #5 [ref=338x]
15162    RwInfoOp::new(
15163        0x00000000000000FF,
15164        0x00000000000000FF,
15165        0xFF,
15166        0,
15167        OpRwFlags::RW.bits(),
15168    ), // #6 [ref=18x]
15169    RwInfoOp::new(
15170        0x00000000000000FF,
15171        0x0000000000000000,
15172        0xFF,
15173        0,
15174        OpRwFlags::READ.bits(),
15175    ), // #7 [ref=186x]
15176    RwInfoOp::new(
15177        0x000000000000000F,
15178        0x000000000000000F,
15179        0xFF,
15180        0,
15181        OpRwFlags::RW.bits(),
15182    ), // #8 [ref=18x]
15183    RwInfoOp::new(
15184        0x000000000000000F,
15185        0x0000000000000000,
15186        0xFF,
15187        0,
15188        OpRwFlags::READ.bits(),
15189    ), // #9 [ref=133x]
15190    RwInfoOp::new(
15191        0x0000000000000000,
15192        0x000000000000FFFF,
15193        0xFF,
15194        0,
15195        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits(),
15196    ), // #10 [ref=178x]
15197    RwInfoOp::new(
15198        0x0000000000000000,
15199        0x0000000000000000,
15200        0xFF,
15201        0,
15202        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits(),
15203    ), // #11 [ref=445x]
15204    RwInfoOp::new(
15205        0x0000000000000003,
15206        0x0000000000000003,
15207        0xFF,
15208        0,
15209        OpRwFlags::RW.bits(),
15210    ), // #12 [ref=1x]
15211    RwInfoOp::new(
15212        0x0000000000000003,
15213        0x0000000000000000,
15214        0xFF,
15215        0,
15216        OpRwFlags::READ.bits(),
15217    ), // #13 [ref=71x]
15218    RwInfoOp::new(
15219        0x000000000000FFFF,
15220        0x0000000000000000,
15221        0x00,
15222        0,
15223        OpRwFlags::READ.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15224    ), // #14 [ref=4x]
15225    RwInfoOp::new(
15226        0x0000000000000000,
15227        0x0000000000000000,
15228        0xFF,
15229        0,
15230        OpRwFlags::WRITE.bits()
15231            | OpRwFlags::ZEXT.bits()
15232            | OpRwFlags::MEM_BASE_WRITE.bits()
15233            | OpRwFlags::MEM_INDEX_WRITE.bits(),
15234    ), // #15 [ref=1x]
15235    RwInfoOp::new(
15236        0x0000000000000000,
15237        0x000000000000000F,
15238        0x02,
15239        0,
15240        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15241    ), // #16 [ref=9x]
15242    RwInfoOp::new(
15243        0x000000000000000F,
15244        0x0000000000000000,
15245        0x00,
15246        0,
15247        OpRwFlags::READ.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15248    ), // #17 [ref=23x]
15249    RwInfoOp::new(
15250        0x00000000000000FF,
15251        0x00000000000000FF,
15252        0x00,
15253        0,
15254        OpRwFlags::RW.bits() | OpRwFlags::ZEXT.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15255    ), // #18 [ref=2x]
15256    RwInfoOp::new(
15257        0xFFFFFFFFFFFFFFFF,
15258        0x0000000000000000,
15259        0x00,
15260        0,
15261        OpRwFlags::READ.bits() | OpRwFlags::MEM_PHYS_ID.bits(),
15262    ), // #19 [ref=1x]
15263    RwInfoOp::new(
15264        0x0000000000000000,
15265        0x0000000000000000,
15266        0x06,
15267        0,
15268        OpRwFlags::READ.bits()
15269            | OpRwFlags::MEM_BASE_RW.bits()
15270            | OpRwFlags::MEM_BASE_POST_MODIFY.bits()
15271            | OpRwFlags::MEM_PHYS_ID.bits(),
15272    ), // #20 [ref=3x]
15273    RwInfoOp::new(
15274        0x0000000000000000,
15275        0x0000000000000000,
15276        0x07,
15277        0,
15278        OpRwFlags::READ.bits()
15279            | OpRwFlags::MEM_BASE_RW.bits()
15280            | OpRwFlags::MEM_BASE_POST_MODIFY.bits()
15281            | OpRwFlags::MEM_PHYS_ID.bits(),
15282    ), // #21 [ref=2x]
15283    RwInfoOp::new(
15284        0x0000000000000000,
15285        0x0000000000000000,
15286        0x00,
15287        0,
15288        OpRwFlags::READ.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15289    ), // #22 [ref=8x]
15290    RwInfoOp::new(
15291        0x00000000000000FF,
15292        0x00000000000000FF,
15293        0x02,
15294        0,
15295        OpRwFlags::RW.bits() | OpRwFlags::ZEXT.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15296    ), // #23 [ref=1x]
15297    RwInfoOp::new(
15298        0x00000000000000FF,
15299        0x0000000000000000,
15300        0x01,
15301        0,
15302        OpRwFlags::READ.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15303    ), // #24 [ref=1x]
15304    RwInfoOp::new(
15305        0x00000000000000FF,
15306        0x0000000000000000,
15307        0x03,
15308        0,
15309        OpRwFlags::READ.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15310    ), // #25 [ref=1x]
15311    RwInfoOp::new(
15312        0x00000000000000FF,
15313        0x00000000000000FF,
15314        0xFF,
15315        0,
15316        OpRwFlags::RW.bits() | OpRwFlags::ZEXT.bits(),
15317    ), // #26 [ref=20x]
15318    RwInfoOp::new(
15319        0x000000000000000F,
15320        0x000000000000000F,
15321        0x02,
15322        0,
15323        OpRwFlags::RW.bits() | OpRwFlags::ZEXT.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15324    ), // #27 [ref=1x]
15325    RwInfoOp::new(
15326        0x000000000000000F,
15327        0x000000000000000F,
15328        0x00,
15329        0,
15330        OpRwFlags::RW.bits() | OpRwFlags::ZEXT.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15331    ), // #28 [ref=4x]
15332    RwInfoOp::new(
15333        0x000000000000000F,
15334        0x0000000000000000,
15335        0x01,
15336        0,
15337        OpRwFlags::READ.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15338    ), // #29 [ref=13x]
15339    RwInfoOp::new(
15340        0x000000000000000F,
15341        0x0000000000000000,
15342        0x03,
15343        0,
15344        OpRwFlags::READ.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15345    ), // #30 [ref=3x]
15346    RwInfoOp::new(
15347        0x0000000000000000,
15348        0x000000000000000F,
15349        0x03,
15350        0,
15351        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15352    ), // #31 [ref=1x]
15353    RwInfoOp::new(
15354        0x000000000000000F,
15355        0x000000000000000F,
15356        0x01,
15357        0,
15358        OpRwFlags::RW.bits() | OpRwFlags::ZEXT.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15359    ), // #32 [ref=1x]
15360    RwInfoOp::new(
15361        0x0000000000000000,
15362        0x00000000000000FF,
15363        0x02,
15364        0,
15365        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15366    ), // #33 [ref=1x]
15367    RwInfoOp::new(
15368        0x00000000000000FF,
15369        0x0000000000000000,
15370        0x00,
15371        0,
15372        OpRwFlags::READ.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15373    ), // #34 [ref=1x]
15374    RwInfoOp::new(
15375        0x0000000000000000,
15376        0x00000000000000FF,
15377        0xFF,
15378        0,
15379        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits(),
15380    ), // #35 [ref=84x]
15381    RwInfoOp::new(
15382        0x0000000000000000,
15383        0x00000000000000FF,
15384        0xFF,
15385        0,
15386        OpRwFlags::WRITE.bits(),
15387    ), // #36 [ref=6x]
15388    RwInfoOp::new(
15389        0x0000000000000000,
15390        0x000000000000000F,
15391        0xFF,
15392        0,
15393        OpRwFlags::WRITE.bits(),
15394    ), // #37 [ref=6x]
15395    RwInfoOp::new(
15396        0x0000000000000000,
15397        0x0000000000000003,
15398        0x02,
15399        0,
15400        OpRwFlags::WRITE.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15401    ), // #38 [ref=1x]
15402    RwInfoOp::new(
15403        0x0000000000000003,
15404        0x0000000000000000,
15405        0x00,
15406        0,
15407        OpRwFlags::READ.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15408    ), // #39 [ref=1x]
15409    RwInfoOp::new(
15410        0x0000000000000001,
15411        0x0000000000000000,
15412        0xFF,
15413        0,
15414        OpRwFlags::READ.bits(),
15415    ), // #40 [ref=30x]
15416    RwInfoOp::new(
15417        0x0000000000000000,
15418        0x0000000000000000,
15419        0x02,
15420        0,
15421        OpRwFlags::RW.bits() | OpRwFlags::REG_PHYS_ID.bits() | OpRwFlags::ZEXT.bits(),
15422    ), // #41 [ref=2x]
15423    RwInfoOp::new(
15424        0x0000000000000000,
15425        0x0000000000000000,
15426        0x00,
15427        0,
15428        OpRwFlags::RW.bits() | OpRwFlags::REG_PHYS_ID.bits() | OpRwFlags::ZEXT.bits(),
15429    ), // #42 [ref=3x]
15430    RwInfoOp::new(
15431        0x0000000000000000,
15432        0xFFFFFFFFFFFFFFFF,
15433        0xFF,
15434        0,
15435        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits(),
15436    ), // #43 [ref=15x]
15437    RwInfoOp::new(
15438        0xFFFFFFFFFFFFFFFF,
15439        0x0000000000000000,
15440        0xFF,
15441        0,
15442        OpRwFlags::READ.bits(),
15443    ), // #44 [ref=29x]
15444    RwInfoOp::new(
15445        0x0000000000000000,
15446        0x000000000000000F,
15447        0xFF,
15448        0,
15449        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits(),
15450    ), // #45 [ref=30x]
15451    RwInfoOp::new(
15452        0x00000000000003FF,
15453        0x00000000000003FF,
15454        0xFF,
15455        0,
15456        OpRwFlags::RW.bits() | OpRwFlags::ZEXT.bits(),
15457    ), // #46 [ref=22x]
15458    RwInfoOp::new(
15459        0x00000000000003FF,
15460        0x0000000000000000,
15461        0xFF,
15462        0,
15463        OpRwFlags::READ.bits(),
15464    ), // #47 [ref=13x]
15465    RwInfoOp::new(
15466        0x0000000000000000,
15467        0x00000000000003FF,
15468        0xFF,
15469        0,
15470        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits(),
15471    ), // #48 [ref=1x]
15472    RwInfoOp::new(
15473        0x0000000000000000,
15474        0x0000000000000003,
15475        0xFF,
15476        0,
15477        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits(),
15478    ), // #49 [ref=17x]
15479    RwInfoOp::new(
15480        0x0000000000000000,
15481        0x0000000000000003,
15482        0x00,
15483        0,
15484        OpRwFlags::WRITE.bits() | OpRwFlags::REG_PHYS_ID.bits() | OpRwFlags::ZEXT.bits(),
15485    ), // #50 [ref=2x]
15486    RwInfoOp::new(
15487        0x0000000000000000,
15488        0x000000000000000F,
15489        0x00,
15490        0,
15491        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15492    ), // #51 [ref=9x]
15493    RwInfoOp::new(
15494        0x0000000000000000,
15495        0x0000000000000000,
15496        0x00,
15497        0,
15498        OpRwFlags::WRITE.bits() | OpRwFlags::REG_PHYS_ID.bits() | OpRwFlags::ZEXT.bits(),
15499    ), // #52 [ref=2x]
15500    RwInfoOp::new(
15501        0x0000000000000003,
15502        0x0000000000000000,
15503        0x02,
15504        0,
15505        OpRwFlags::READ.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15506    ), // #53 [ref=4x]
15507    RwInfoOp::new(
15508        0x0000000000000000,
15509        0x0000000000000000,
15510        0x07,
15511        0,
15512        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits() | OpRwFlags::MEM_PHYS_ID.bits(),
15513    ), // #54 [ref=1x]
15514    RwInfoOp::new(
15515        0x000000000000000F,
15516        0x0000000000000000,
15517        0x02,
15518        0,
15519        OpRwFlags::READ.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15520    ), // #55 [ref=23x]
15521    RwInfoOp::new(
15522        0x0000000000000000,
15523        0x0000000000000000,
15524        0x01,
15525        0,
15526        OpRwFlags::READ.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15527    ), // #56 [ref=2x]
15528    RwInfoOp::new(
15529        0x0000000000000000,
15530        0x0000000000000001,
15531        0xFF,
15532        0,
15533        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits(),
15534    ), // #57 [ref=14x]
15535    RwInfoOp::new(
15536        0x0000000000000000,
15537        0x0000000000000001,
15538        0x00,
15539        0,
15540        OpRwFlags::WRITE.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15541    ), // #58 [ref=1x]
15542    RwInfoOp::new(
15543        0x0000000000000000,
15544        0x0000000000000000,
15545        0x01,
15546        0,
15547        OpRwFlags::RW.bits() | OpRwFlags::REG_PHYS_ID.bits() | OpRwFlags::ZEXT.bits(),
15548    ), // #59 [ref=3x]
15549    RwInfoOp::new(
15550        0x000000000000FFFF,
15551        0x000000000000FFFF,
15552        0x07,
15553        0,
15554        OpRwFlags::RW.bits() | OpRwFlags::ZEXT.bits() | OpRwFlags::MEM_PHYS_ID.bits(),
15555    ), // #60 [ref=2x]
15556    RwInfoOp::new(
15557        0x00000000000000FF,
15558        0x00000000000000FF,
15559        0x07,
15560        0,
15561        OpRwFlags::RW.bits() | OpRwFlags::ZEXT.bits() | OpRwFlags::MEM_PHYS_ID.bits(),
15562    ), // #61 [ref=1x]
15563    RwInfoOp::new(
15564        0x0000000000000000,
15565        0x0000000000000000,
15566        0x00,
15567        0,
15568        OpRwFlags::READ.bits() | OpRwFlags::MEM_PHYS_ID.bits(),
15569    ), // #62 [ref=2x]
15570    RwInfoOp::new(
15571        0x000000000000FF00,
15572        0x0000000000000000,
15573        0xFF,
15574        0,
15575        OpRwFlags::READ.bits(),
15576    ), // #63 [ref=21x]
15577    RwInfoOp::new(
15578        0x0000000000000000,
15579        0x000000000000FF00,
15580        0xFF,
15581        0,
15582        OpRwFlags::WRITE.bits(),
15583    ), // #64 [ref=1x]
15584    RwInfoOp::new(
15585        0x0000000000000000,
15586        0x0000000000000000,
15587        0x07,
15588        0,
15589        OpRwFlags::WRITE.bits()
15590            | OpRwFlags::ZEXT.bits()
15591            | OpRwFlags::MEM_BASE_RW.bits()
15592            | OpRwFlags::MEM_BASE_POST_MODIFY.bits()
15593            | OpRwFlags::MEM_PHYS_ID.bits(),
15594    ), // #65 [ref=2x]
15595    RwInfoOp::new(
15596        0x0000000000000000,
15597        0x0000000000000000,
15598        0x02,
15599        0,
15600        OpRwFlags::WRITE.bits() | OpRwFlags::REG_PHYS_ID.bits() | OpRwFlags::ZEXT.bits(),
15601    ), // #66 [ref=1x]
15602    RwInfoOp::new(
15603        0x0000000000000000,
15604        0x0000000000000000,
15605        0x02,
15606        0,
15607        OpRwFlags::READ.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15608    ), // #67 [ref=1x]
15609    RwInfoOp::new(
15610        0x0000000000000000,
15611        0x0000000000000000,
15612        0x06,
15613        0,
15614        OpRwFlags::READ.bits() | OpRwFlags::MEM_PHYS_ID.bits(),
15615    ), // #68 [ref=1x]
15616    RwInfoOp::new(
15617        0x0000000000000000,
15618        0x000000000000000F,
15619        0x01,
15620        0,
15621        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15622    ), // #69 [ref=5x]
15623    RwInfoOp::new(
15624        0x0000000000000000,
15625        0x000000000000FFFF,
15626        0x00,
15627        0,
15628        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15629    ), // #70 [ref=4x]
15630    RwInfoOp::new(
15631        0x0000000000000000,
15632        0x0000000000000007,
15633        0xFF,
15634        0,
15635        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits(),
15636    ), // #71 [ref=2x]
15637    RwInfoOp::new(
15638        0x0000000000000001,
15639        0x0000000000000000,
15640        0x01,
15641        0,
15642        OpRwFlags::READ.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15643    ), // #72 [ref=9x]
15644    RwInfoOp::new(
15645        0x0000000000000001,
15646        0x0000000000000000,
15647        0x00,
15648        0,
15649        OpRwFlags::READ.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15650    ), // #73 [ref=1x]
15651    RwInfoOp::new(
15652        0x0000000000000000,
15653        0x0000000000000001,
15654        0xFF,
15655        0,
15656        OpRwFlags::WRITE.bits(),
15657    ), // #74 [ref=16x]
15658    RwInfoOp::new(
15659        0xFFFFFFFFFFFFFFFF,
15660        0xFFFFFFFFFFFFFFFF,
15661        0xFF,
15662        0,
15663        OpRwFlags::RW.bits() | OpRwFlags::ZEXT.bits(),
15664    ), // #75 [ref=8x]
15665    RwInfoOp::new(
15666        0x000000000000000F,
15667        0x000000000000000F,
15668        0xFF,
15669        0,
15670        OpRwFlags::RW.bits() | OpRwFlags::ZEXT.bits(),
15671    ), // #76 [ref=3x]
15672    RwInfoOp::new(
15673        0x0000000000000000,
15674        0x00000000FFFFFFFF,
15675        0xFF,
15676        0,
15677        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits(),
15678    ), // #77 [ref=10x]
15679    RwInfoOp::new(
15680        0x00000000FFFFFFFF,
15681        0x0000000000000000,
15682        0xFF,
15683        0,
15684        OpRwFlags::READ.bits(),
15685    ), // #78 [ref=18x]
15686    RwInfoOp::new(
15687        0x000000000000FFF0,
15688        0x0000000000000000,
15689        0xFF,
15690        0,
15691        OpRwFlags::READ.bits(),
15692    ), // #79 [ref=16x]
15693    RwInfoOp::new(
15694        0x0000000000000000,
15695        0x0000000000000000,
15696        0xFF,
15697        0,
15698        OpRwFlags::RW.bits() | OpRwFlags::UNIQUE.bits() | OpRwFlags::ZEXT.bits(),
15699    ), // #80 [ref=4x]
15700    RwInfoOp::new(
15701        0x000000000000FFFF,
15702        0x000000000000FFFF,
15703        0xFF,
15704        0,
15705        OpRwFlags::RW.bits() | OpRwFlags::UNIQUE.bits(),
15706    ), // #81 [ref=3x]
15707    RwInfoOp::new(
15708        0x000000000000FFFF,
15709        0x000000000000FFFF,
15710        0xFF,
15711        0,
15712        OpRwFlags::RW.bits(),
15713    ), // #82 [ref=12x]
15714    RwInfoOp::new(
15715        0x000000000000FFFF,
15716        0x000000000000FFFF,
15717        0xFF,
15718        0,
15719        OpRwFlags::RW.bits() | OpRwFlags::UNIQUE.bits() | OpRwFlags::ZEXT.bits(),
15720    ), // #83 [ref=1x]
15721    RwInfoOp::new(
15722        0x000000000000FFFC,
15723        0x0000000000000000,
15724        0xFF,
15725        0,
15726        OpRwFlags::READ.bits(),
15727    ), // #84 [ref=8x]
15728    RwInfoOp::new(
15729        0x0000000000000000,
15730        0x0000000000000000,
15731        0x00,
15732        0,
15733        OpRwFlags::RW.bits() | OpRwFlags::ZEXT.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15734    ), // #85 [ref=1x]
15735    RwInfoOp::new(
15736        0x0000000000000000,
15737        0x0000000000000000,
15738        0xFF,
15739        0,
15740        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits() | OpRwFlags::CONSECUTIVE.bits(),
15741    ), // #86 [ref=2x]
15742    RwInfoOp::new(
15743        0x00000000FFFFFFFF,
15744        0x00000000FFFFFFFF,
15745        0xFF,
15746        0,
15747        OpRwFlags::RW.bits() | OpRwFlags::ZEXT.bits(),
15748    ), // #87 [ref=3x]
15749];
15750
15751pub static RW_INFO_RM_TABLE: &[RwInfoRm] = &[
15752    RwInfoRm::new(RwInfoRmCategory::None, 0x00, 0, 0, 0), // #0 [ref=1996x]
15753    RwInfoRm::new(
15754        RwInfoRmCategory::Consistent,
15755        0x03,
15756        0,
15757        RwInfoRmFlags::AMBIGUOUS.bits(),
15758        0,
15759    ), // #1 [ref=8x]
15760    RwInfoRm::new(RwInfoRmCategory::Consistent, 0x02, 0, 0, 0), // #2 [ref=190x]
15761    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x02, 16, 0, 0), // #3 [ref=122x]
15762    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x02, 8, 0, 0), // #4 [ref=66x]
15763    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x02, 4, 0, 0), // #5 [ref=35x]
15764    RwInfoRm::new(RwInfoRmCategory::Consistent, 0x04, 0, 0, 0), // #6 [ref=314x]
15765    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x01, 2, 0, 0), // #7 [ref=9x]
15766    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x00, 0, 0, 0), // #8 [ref=52x]
15767    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x03, 0, 0, 0), // #9 [ref=1x]
15768    RwInfoRm::new(
15769        RwInfoRmCategory::Consistent,
15770        0x01,
15771        0,
15772        RwInfoRmFlags::AMBIGUOUS.bits(),
15773        0,
15774    ), // #10 [ref=20x]
15775    RwInfoRm::new(RwInfoRmCategory::Consistent, 0x01, 0, 0, 0), // #11 [ref=14x]
15776    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x00, 8, 0, 0), // #12 [ref=25x]
15777    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x00, 64, 0, 0), // #13 [ref=6x]
15778    RwInfoRm::new(
15779        RwInfoRmCategory::None,
15780        0x00,
15781        0,
15782        RwInfoRmFlags::AMBIGUOUS.bits(),
15783        0,
15784    ), // #14 [ref=30x]
15785    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x00, 16, 0, 0), // #15 [ref=17x]
15786    RwInfoRm::new(
15787        RwInfoRmCategory::Consistent,
15788        0x02,
15789        0,
15790        RwInfoRmFlags::AMBIGUOUS.bits(),
15791        0,
15792    ), // #16 [ref=22x]
15793    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x02, 1, 0, 0), // #17 [ref=5x]
15794    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x01, 4, 0, 0), // #18 [ref=4x]
15795    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x00, 10, 0, 0), // #19 [ref=2x]
15796    RwInfoRm::new(
15797        RwInfoRmCategory::None,
15798        0x01,
15799        0,
15800        RwInfoRmFlags::AMBIGUOUS.bits(),
15801        0,
15802    ), // #20 [ref=5x]
15803    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x00, 2, 0, 0), // #21 [ref=6x]
15804    RwInfoRm::new(RwInfoRmCategory::Consistent, 0x06, 0, 0, 0), // #22 [ref=6x]
15805    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x03, 1, 0, 0), // #23 [ref=1x]
15806    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x03, 4, 0, 0), // #24 [ref=3x]
15807    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x03, 8, 0, 0), // #25 [ref=2x]
15808    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x03, 2, 0, 0), // #26 [ref=2x]
15809    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x02, 2, 0, 0), // #27 [ref=13x]
15810    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x00, 4, 0, 0), // #28 [ref=8x]
15811    RwInfoRm::new(
15812        RwInfoRmCategory::None,
15813        0x03,
15814        0,
15815        RwInfoRmFlags::AMBIGUOUS.bits(),
15816        0,
15817    ), // #29 [ref=1x]
15818    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x03, 16, 0, 0), // #30 [ref=6x]
15819    RwInfoRm::new(
15820        RwInfoRmCategory::Fixed,
15821        0x03,
15822        8,
15823        RwInfoRmFlags::MOVSS_MOVSD.bits(),
15824        0,
15825    ), // #31 [ref=1x]
15826    RwInfoRm::new(
15827        RwInfoRmCategory::None,
15828        0x00,
15829        0,
15830        RwInfoRmFlags::MOVSS_MOVSD.bits(),
15831        0,
15832    ), // #32 [ref=2x]
15833    RwInfoRm::new(
15834        RwInfoRmCategory::Fixed,
15835        0x03,
15836        4,
15837        RwInfoRmFlags::MOVSS_MOVSD.bits(),
15838        0,
15839    ), // #33 [ref=1x]
15840    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x01, 1, 0, 0), // #34 [ref=18x]
15841    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x01, 8, 0, 0), // #35 [ref=2x]
15842    RwInfoRm::new(
15843        RwInfoRmCategory::None,
15844        0x00,
15845        0,
15846        RwInfoRmFlags::PEXTRW.bits(),
15847        0,
15848    ), // #36 [ref=1x]
15849    RwInfoRm::new(
15850        RwInfoRmCategory::Fixed,
15851        0x01,
15852        2,
15853        RwInfoRmFlags::PEXTRW.bits(),
15854        CpuFeature::SSE4_1 as u8,
15855    ), // #37 [ref=1x]
15856    RwInfoRm::new(RwInfoRmCategory::None, 0x02, 0, 0, 0), // #38 [ref=4x]
15857    RwInfoRm::new(
15858        RwInfoRmCategory::Fixed,
15859        0x01,
15860        2,
15861        RwInfoRmFlags::AMBIGUOUS.bits(),
15862        0,
15863    ), // #39 [ref=3x]
15864    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x04, 8, 0, 0), // #40 [ref=33x]
15865    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x04, 2, 0, 0), // #41 [ref=30x]
15866    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x04, 4, 0, 0), // #42 [ref=40x]
15867    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x00, 32, 0, 0), // #43 [ref=4x]
15868    RwInfoRm::new(
15869        RwInfoRmCategory::Fixed,
15870        0x02,
15871        8,
15872        RwInfoRmFlags::AMBIGUOUS.bits(),
15873        0,
15874    ), // #44 [ref=1x]
15875    RwInfoRm::new(
15876        RwInfoRmCategory::Fixed,
15877        0x02,
15878        4,
15879        RwInfoRmFlags::AMBIGUOUS.bits(),
15880        0,
15881    ), // #45 [ref=1x]
15882    RwInfoRm::new(RwInfoRmCategory::Half, 0x02, 0, 0, 0), // #46 [ref=19x]
15883    RwInfoRm::new(RwInfoRmCategory::Quarter, 0x02, 0, 0, 0), // #47 [ref=9x]
15884    RwInfoRm::new(RwInfoRmCategory::Half, 0x01, 0, 0, 0), // #48 [ref=10x]
15885    RwInfoRm::new(
15886        RwInfoRmCategory::Consistent,
15887        0x04,
15888        0,
15889        RwInfoRmFlags::AMBIGUOUS.bits(),
15890        0,
15891    ), // #49 [ref=6x]
15892    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x04, 16, 0, 0), // #50 [ref=30x]
15893    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x01, 16, 0, 0), // #51 [ref=6x]
15894    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x01, 32, 0, 0), // #52 [ref=4x]
15895    RwInfoRm::new(RwInfoRmCategory::Consistent, 0x0C, 0, 0, 0), // #53 [ref=15x]
15896    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x0C, 8, 0, 0), // #54 [ref=4x]
15897    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x0C, 4, 0, 0), // #55 [ref=4x]
15898    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x04, 32, 0, 0), // #56 [ref=6x]
15899    RwInfoRm::new(RwInfoRmCategory::Consistent, 0x03, 0, 0, 0), // #57 [ref=13x]
15900    RwInfoRm::new(
15901        RwInfoRmCategory::Fixed,
15902        0x03,
15903        8,
15904        RwInfoRmFlags::AMBIGUOUS.bits(),
15905        0,
15906    ), // #58 [ref=1x]
15907    RwInfoRm::new(RwInfoRmCategory::Consistent, 0x08, 0, 0, 0), // #59 [ref=2x]
15908    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x04, 1, 0, 0), // #60 [ref=1x]
15909    RwInfoRm::new(RwInfoRmCategory::Quarter, 0x01, 0, 0, 0), // #61 [ref=6x]
15910    RwInfoRm::new(RwInfoRmCategory::Eighth, 0x01, 0, 0, 0), // #62 [ref=3x]
15911    RwInfoRm::new(RwInfoRmCategory::Eighth, 0x02, 0, 0, 0), // #63 [ref=2x]
15912    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x0C, 16, 0, 0), // #64 [ref=1x]
15913    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x06, 16, 0, 0), // #65 [ref=12x]
15914    RwInfoRm::new(
15915        RwInfoRmCategory::Consistent,
15916        0x06,
15917        0,
15918        RwInfoRmFlags::FEATURE_IF_RMI.bits(),
15919        CpuFeature::AVX512_F as u8,
15920    ), // #66 [ref=5x]
15921    RwInfoRm::new(
15922        RwInfoRmCategory::Consistent,
15923        0x02,
15924        0,
15925        RwInfoRmFlags::FEATURE_IF_RMI.bits(),
15926        CpuFeature::AVX512_BW as u8,
15927    ), // #67 [ref=2x]
15928    RwInfoRm::new(
15929        RwInfoRmCategory::Consistent,
15930        0x06,
15931        0,
15932        RwInfoRmFlags::FEATURE_IF_RMI.bits(),
15933        CpuFeature::AVX512_BW as u8,
15934    ), // #68 [ref=3x]
15935];