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 (port of AsmJit's `CpuFeatures::X86`).
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 (port of AsmJit's `InstDB::OpSignature`).
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 (port of AsmJit's `InstDB::InstSignature`).
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/// (port of AsmJit's `InstDB::CommonInfo`).
4591#[derive(Debug, Clone, Copy, Default)]
4592pub struct CommonInfo {
4593    pub flags: u32,
4594    pub avx512_flags: u32,
4595    pub signature_index: u32,
4596    pub signature_count: u32,
4597    pub control_flow: InstControlFlow,
4598    pub same_reg_hint: InstSameRegHint,
4599}
4600
4601impl CommonInfo {
4602    pub const fn new(
4603        flags: u32,
4604        avx512_flags: u32,
4605        signature_index: u32,
4606        signature_count: u32,
4607        control_flow: InstControlFlow,
4608        same_reg_hint: InstSameRegHint,
4609    ) -> Self {
4610        Self {
4611            flags,
4612            avx512_flags,
4613            signature_index,
4614            signature_count,
4615            control_flow,
4616            same_reg_hint,
4617        }
4618    }
4619
4620    pub const fn has_flag(&self, flag: InstFlags) -> bool {
4621        self.flags & flag.bits() != 0
4622    }
4623
4624    pub const fn has_avx512_flag(&self, flag: Avx512Flags) -> bool {
4625        self.avx512_flags & flag.bits() != 0
4626    }
4627}
4628
4629/// Instruction information (port of AsmJit's `InstDB::InstInfo`).
4630#[derive(Debug, Clone, Copy, Default)]
4631pub struct InstInfo {
4632    pub reserved: u32,
4633    pub common_info_index: u32,
4634    pub additional_info_index: u32,
4635    pub encoding: u8,
4636    pub main_opcode_value: u8,
4637    pub main_opcode_index: u8,
4638    pub alt_opcode_index: u8,
4639}
4640
4641impl InstInfo {
4642    pub const fn new(
4643        common_info_index: u32,
4644        additional_info_index: u32,
4645        encoding: u8,
4646        main_opcode_value: u8,
4647        main_opcode_index: u8,
4648        alt_opcode_index: u8,
4649    ) -> Self {
4650        Self {
4651            reserved: 0,
4652            common_info_index,
4653            additional_info_index,
4654            encoding,
4655            main_opcode_value,
4656            main_opcode_index,
4657            alt_opcode_index,
4658        }
4659    }
4660}
4661
4662/// Additional information table entry: CPU extensions required to execute an
4663/// instruction plus RW flags (port of AsmJit's `InstDB::AdditionalInfo`).
4664#[derive(Debug, Clone, Copy, Default)]
4665pub struct AdditionalInfo {
4666    pub inst_flags_index: u8,
4667    pub rw_flags_index: u8,
4668    pub features: [u8; 6],
4669}
4670
4671impl AdditionalInfo {
4672    pub const fn new(inst_flags_index: u8, rw_flags_index: u8, features: [u8; 6]) -> Self {
4673        Self {
4674            inst_flags_index,
4675            rw_flags_index,
4676            features,
4677        }
4678    }
4679}
4680
4681/// Read/write information of an instruction (port of AsmJit's `InstDB::RWInfo`).
4682#[derive(Debug, Clone, Copy, Default)]
4683pub struct RwInfo {
4684    pub category: RwInfoCategory,
4685    pub rm_info: u8,
4686    pub op_info_index: [u8; 6],
4687}
4688
4689impl RwInfo {
4690    pub const fn new(category: RwInfoCategory, rm_info: u8, op_info_index: [u8; 6]) -> Self {
4691        Self {
4692            category,
4693            rm_info,
4694            op_info_index,
4695        }
4696    }
4697}
4698
4699/// Read/write information of a single operand (port of AsmJit's `InstDB::RWInfoOp`).
4700#[derive(Debug, Clone, Copy, Default)]
4701pub struct RwInfoOp {
4702    pub r_byte_mask: u64,
4703    pub w_byte_mask: u64,
4704    pub phys_id: u8,
4705    pub consecutive_lead_count: u8,
4706    pub flags: OpRwFlags,
4707}
4708
4709impl RwInfoOp {
4710    pub const fn new(
4711        r_byte_mask: u64,
4712        w_byte_mask: u64,
4713        phys_id: u8,
4714        consecutive_lead_count: u8,
4715        flags: u32,
4716    ) -> Self {
4717        Self {
4718            r_byte_mask,
4719            w_byte_mask,
4720            phys_id,
4721            consecutive_lead_count,
4722            flags: OpRwFlags::from_bits_retain(flags),
4723        }
4724    }
4725}
4726
4727/// R/M information, used to replace a register operand by a memory operand
4728/// reliably (port of AsmJit's `InstDB::RWInfoRm`).
4729#[derive(Debug, Clone, Copy, Default)]
4730pub struct RwInfoRm {
4731    pub category: RwInfoRmCategory,
4732    pub rm_ops_mask: u8,
4733    pub fixed_size: u8,
4734    pub flags: u8,
4735    pub rm_feature: u8,
4736}
4737
4738impl RwInfoRm {
4739    pub const fn new(
4740        category: RwInfoRmCategory,
4741        rm_ops_mask: u8,
4742        fixed_size: u8,
4743        flags: u8,
4744        rm_feature: u8,
4745    ) -> Self {
4746        Self {
4747            category,
4748            rm_ops_mask,
4749            fixed_size,
4750            flags,
4751            rm_feature,
4752        }
4753    }
4754}
4755
4756/// CPU/FPU flags read/written information (port of AsmJit's `InstDB::RWFlagsInfoTable`).
4757#[derive(Debug, Clone, Copy, Default)]
4758pub struct RwFlagsInfo {
4759    pub read_flags: u32,
4760    pub write_flags: u32,
4761}
4762
4763impl RwFlagsInfo {
4764    pub const fn new(read_flags: u32, write_flags: u32) -> Self {
4765        Self {
4766            read_flags,
4767            write_flags,
4768        }
4769    }
4770}
4771
4772/// Category of [`RwInfo`] (port of AsmJit's `InstDB::RWInfo::Category`).
4773#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
4774#[allow(non_camel_case_types)]
4775#[repr(u8)]
4776pub enum RwInfoCategory {
4777    #[default]
4778    Generic = 0,
4779    GenericEx,
4780    Mov,
4781    Movabs,
4782    Imul,
4783    Movh64,
4784    Punpcklxx,
4785    Vmaskmov,
4786    Vmovddup,
4787    Vmovmskpd,
4788    Vmovmskps,
4789    Vmov1_2,
4790    Vmov1_4,
4791    Vmov1_8,
4792    Vmov2_1,
4793    Vmov4_1,
4794    Vmov8_1,
4795}
4796
4797/// Category of [`RwInfoRm`] (port of AsmJit's `InstDB::RWInfoRm::Category`).
4798#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
4799#[repr(u8)]
4800pub enum RwInfoRmCategory {
4801    #[default]
4802    None = 0,
4803    Fixed,
4804    Consistent,
4805    Half,
4806    Quarter,
4807    Eighth,
4808}
4809
4810// Flags of [`RwInfoRm`] (port of AsmJit's `InstDB::RWInfoRm::Flags`).
4811bitflags! {
4812    #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Default)]
4813    pub struct RwInfoRmFlags: u8 {
4814        const AMBIGUOUS = 0x01;
4815        /// Special semantics for PEXTRW - memory operand can only be used with SSE4.1 instruction and it's forbidden in MMX.
4816        const PEXTRW = 0x02;
4817        /// Special semantics for MOVSS and MOVSD - doesn't zero extend the destination if the operation is a reg to reg move.
4818        const MOVSS_MOVSD = 0x04;
4819        /// Special semantics for AVX shift instructions that do not provide reg/mem in AVX/AVX2 mode (AVX-512 is required).
4820        const FEATURE_IF_RMI = 0x08;
4821        /// No flags.
4822        const NONE = 0;
4823    }
4824}
4825
4826/// Instruction information table, indexed by [`InstId`].
4827pub static INST_INFO_TABLE: &[InstInfo] = &[
4828    InstInfo::new(0, 0, Encoding::None as u8, 0x00, 0, 0), // #0
4829    InstInfo::new(1, 1, Encoding::X86Op_xAX as u8, 0x37, 0, 0), // #1
4830    InstInfo::new(2, 1, Encoding::X86I_xAX as u8, 0xD5, 0, 0), // #2
4831    InstInfo::new(3, 2, Encoding::X86Mr as u8, 0xFC, 1, 0), // #3
4832    InstInfo::new(2, 1, Encoding::X86I_xAX as u8, 0xD4, 0, 0), // #4
4833    InstInfo::new(3, 2, Encoding::X86Mr as u8, 0xFC, 2, 0), // #5
4834    InstInfo::new(1, 1, Encoding::X86Op_xAX as u8, 0x3F, 0, 0), // #6
4835    InstInfo::new(4, 3, Encoding::X86Arith as u8, 0x10, 3, 0), // #7
4836    InstInfo::new(5, 4, Encoding::X86Rm as u8, 0xF6, 2, 0), // #8
4837    InstInfo::new(4, 1, Encoding::X86Arith as u8, 0x00, 0, 0), // #9
4838    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0x58, 4, 0), // #10
4839    InstInfo::new(6, 6, Encoding::ExtRm as u8, 0x58, 5, 0), // #11
4840    InstInfo::new(7, 5, Encoding::ExtRm as u8, 0x58, 6, 0), // #12
4841    InstInfo::new(8, 6, Encoding::ExtRm as u8, 0x58, 7, 0), // #13
4842    InstInfo::new(6, 7, Encoding::ExtRm as u8, 0xD0, 4, 0), // #14
4843    InstInfo::new(6, 7, Encoding::ExtRm as u8, 0xD0, 6, 0), // #15
4844    InstInfo::new(5, 8, Encoding::X86Rm as u8, 0xF6, 8, 0), // #16
4845    InstInfo::new(6, 9, Encoding::ExtRm as u8, 0xDE, 2, 0), // #17
4846    InstInfo::new(6, 9, Encoding::ExtRm as u8, 0xDF, 2, 0), // #18
4847    InstInfo::new(6, 9, Encoding::ExtRm as u8, 0xDC, 2, 0), // #19
4848    InstInfo::new(6, 9, Encoding::ExtRm as u8, 0xDD, 2, 0), // #20
4849    InstInfo::new(6, 9, Encoding::ExtRm as u8, 0xDB, 2, 0), // #21
4850    InstInfo::new(9, 9, Encoding::ExtRmi as u8, 0xDF, 9, 0), // #22
4851    InstInfo::new(10, 1, Encoding::X86Arith as u8, 0x20, 10, 0), // #23
4852    InstInfo::new(11, 10, Encoding::VexRvm_Wx as u8, 0xF2, 11, 0), // #24
4853    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0x55, 4, 0), // #25
4854    InstInfo::new(6, 6, Encoding::ExtRm as u8, 0x55, 5, 0), // #26
4855    InstInfo::new(12, 5, Encoding::ExtRm as u8, 0x54, 4, 0), // #27
4856    InstInfo::new(12, 6, Encoding::ExtRm as u8, 0x54, 5, 0), // #28
4857    InstInfo::new(3, 2, Encoding::X86Mr as u8, 0xFC, 12, 0), // #29
4858    InstInfo::new(13, 11, Encoding::X86Mr_NoSize as u8, 0x63, 0, 0), // #30
4859    InstInfo::new(3, 2, Encoding::X86Mr as u8, 0xFC, 8, 0), // #31
4860    InstInfo::new(14, 10, Encoding::VexRmv_Wx as u8, 0xF7, 11, 0), // #32
4861    InstInfo::new(15, 12, Encoding::VexVm_Wx as u8, 0x01, 13, 0), // #33
4862    InstInfo::new(15, 12, Encoding::VexVm_Wx as u8, 0x02, 14, 0), // #34
4863    InstInfo::new(15, 12, Encoding::VexVm_Wx as u8, 0x01, 15, 0), // #35
4864    InstInfo::new(15, 12, Encoding::VexVm_Wx as u8, 0x02, 13, 0), // #36
4865    InstInfo::new(15, 12, Encoding::VexVm_Wx as u8, 0x01, 16, 0), // #37
4866    InstInfo::new(9, 13, Encoding::ExtRmi as u8, 0x0D, 9, 0), // #38
4867    InstInfo::new(9, 13, Encoding::ExtRmi as u8, 0x0C, 9, 0), // #39
4868    InstInfo::new(16, 13, Encoding::ExtRm_XMM0 as u8, 0x15, 2, 0), // #40
4869    InstInfo::new(16, 13, Encoding::ExtRm_XMM0 as u8, 0x14, 2, 0), // #41
4870    InstInfo::new(15, 12, Encoding::VexVm_Wx as u8, 0x01, 17, 0), // #42
4871    InstInfo::new(15, 10, Encoding::VexVm_Wx as u8, 0xF3, 18, 0), // #43
4872    InstInfo::new(15, 12, Encoding::VexVm_Wx as u8, 0x01, 14, 0), // #44
4873    InstInfo::new(15, 10, Encoding::VexVm_Wx as u8, 0xF3, 19, 0), // #45
4874    InstInfo::new(15, 10, Encoding::VexVm_Wx as u8, 0xF3, 20, 0), // #46
4875    InstInfo::new(17, 14, Encoding::X86Rm as u8, 0x1A, 7, 0), // #47
4876    InstInfo::new(17, 14, Encoding::X86Rm as u8, 0x1B, 6, 0), // #48
4877    InstInfo::new(17, 14, Encoding::X86Rm as u8, 0x1A, 6, 0), // #49
4878    InstInfo::new(18, 14, Encoding::X86Rm as u8, 0x1A, 5, 0), // #50
4879    InstInfo::new(19, 14, Encoding::X86Rm as u8, 0x1B, 7, 0), // #51
4880    InstInfo::new(20, 14, Encoding::X86Bndmov as u8, 0x1A, 4, 1), // #52
4881    InstInfo::new(21, 14, Encoding::X86Mr as u8, 0x1B, 5, 0), // #53
4882    InstInfo::new(22, 0, Encoding::X86Rm as u8, 0x62, 0, 0), // #54
4883    InstInfo::new(23, 1, Encoding::X86Rm as u8, 0xBC, 5, 0), // #55
4884    InstInfo::new(23, 1, Encoding::X86Rm as u8, 0xBD, 5, 0), // #56
4885    InstInfo::new(24, 0, Encoding::X86Bswap as u8, 0xC8, 5, 0), // #57
4886    InstInfo::new(25, 15, Encoding::X86Bt as u8, 0xA3, 5, 2), // #58
4887    InstInfo::new(26, 15, Encoding::X86Bt as u8, 0xBB, 5, 3), // #59
4888    InstInfo::new(26, 15, Encoding::X86Bt as u8, 0xB3, 5, 4), // #60
4889    InstInfo::new(26, 15, Encoding::X86Bt as u8, 0xAB, 5, 5), // #61
4890    InstInfo::new(14, 16, Encoding::VexRmv_Wx as u8, 0xF5, 11, 0), // #62
4891    InstInfo::new(27, 1, Encoding::X86Call as u8, 0xFF, 3, 0), // #63
4892    InstInfo::new(28, 0, Encoding::X86Op_xAX as u8, 0x98, 21, 0), // #64
4893    InstInfo::new(29, 0, Encoding::X86Op_xDX_xAX as u8, 0x99, 0, 0), // #65
4894    InstInfo::new(30, 0, Encoding::X86Op_xAX as u8, 0x98, 22, 0), // #66
4895    InstInfo::new(31, 17, Encoding::X86Op as u8, 0xCA, 23, 0), // #67
4896    InstInfo::new(31, 18, Encoding::X86Op as u8, 0xF8, 0, 0), // #68
4897    InstInfo::new(31, 19, Encoding::X86Op as u8, 0xFC, 0, 0), // #69
4898    InstInfo::new(32, 20, Encoding::X86M_Only as u8, 0x1C, 5, 0), // #70
4899    InstInfo::new(32, 21, Encoding::X86M_Only as u8, 0xAE, 24, 0), // #71
4900    InstInfo::new(32, 22, Encoding::X86M_Only as u8, 0xAE, 25, 0), // #72
4901    InstInfo::new(31, 23, Encoding::X86Op as u8, 0xDD, 23, 0), // #73
4902    InstInfo::new(31, 24, Encoding::X86Op as u8, 0xFA, 0, 0), // #74
4903    InstInfo::new(33, 25, Encoding::X86M_Only as u8, 0xAE, 26, 0), // #75
4904    InstInfo::new(31, 0, Encoding::X86Op as u8, 0x06, 5, 0), // #76
4905    InstInfo::new(34, 26, Encoding::X86Op as u8, 0xEE, 27, 0), // #77
4906    InstInfo::new(32, 27, Encoding::X86M_Only as u8, 0xAE, 28, 0), // #78
4907    InstInfo::new(35, 28, Encoding::X86Op_MemZAX as u8, 0xFC, 23, 0), // #79
4908    InstInfo::new(31, 29, Encoding::X86Op as u8, 0xF5, 0, 0), // #80
4909    InstInfo::new(23, 30, Encoding::X86Rm as u8, 0x42, 5, 0), // #81
4910    InstInfo::new(23, 31, Encoding::X86Rm as u8, 0x46, 5, 0), // #82
4911    InstInfo::new(23, 32, Encoding::X86Rm as u8, 0x4C, 5, 0), // #83
4912    InstInfo::new(23, 33, Encoding::X86Rm as u8, 0x4E, 5, 0), // #84
4913    InstInfo::new(23, 30, Encoding::X86Rm as u8, 0x43, 5, 0), // #85
4914    InstInfo::new(23, 31, Encoding::X86Rm as u8, 0x47, 5, 0), // #86
4915    InstInfo::new(23, 32, Encoding::X86Rm as u8, 0x4D, 5, 0), // #87
4916    InstInfo::new(23, 33, Encoding::X86Rm as u8, 0x4F, 5, 0), // #88
4917    InstInfo::new(23, 34, Encoding::X86Rm as u8, 0x41, 5, 0), // #89
4918    InstInfo::new(23, 35, Encoding::X86Rm as u8, 0x4B, 5, 0), // #90
4919    InstInfo::new(23, 36, Encoding::X86Rm as u8, 0x49, 5, 0), // #91
4920    InstInfo::new(23, 37, Encoding::X86Rm as u8, 0x45, 5, 0), // #92
4921    InstInfo::new(23, 34, Encoding::X86Rm as u8, 0x40, 5, 0), // #93
4922    InstInfo::new(23, 35, Encoding::X86Rm as u8, 0x4A, 5, 0), // #94
4923    InstInfo::new(23, 36, Encoding::X86Rm as u8, 0x48, 5, 0), // #95
4924    InstInfo::new(23, 37, Encoding::X86Rm as u8, 0x44, 5, 0), // #96
4925    InstInfo::new(36, 1, Encoding::X86Arith as u8, 0x38, 29, 0), // #97
4926    InstInfo::new(37, 38, Encoding::VexMvr_Wx as u8, 0xE6, 30, 0), // #98
4927    InstInfo::new(37, 38, Encoding::VexMvr_Wx as u8, 0xE2, 30, 0), // #99
4928    InstInfo::new(37, 38, Encoding::VexMvr_Wx as u8, 0xEE, 30, 0), // #100
4929    InstInfo::new(37, 38, Encoding::VexMvr_Wx as u8, 0xEC, 30, 0), // #101
4930    InstInfo::new(37, 38, Encoding::VexMvr_Wx as u8, 0xE7, 30, 0), // #102
4931    InstInfo::new(37, 38, Encoding::VexMvr_Wx as u8, 0xE3, 30, 0), // #103
4932    InstInfo::new(37, 38, Encoding::VexMvr_Wx as u8, 0xEF, 30, 0), // #104
4933    InstInfo::new(37, 38, Encoding::VexMvr_Wx as u8, 0xED, 30, 0), // #105
4934    InstInfo::new(37, 38, Encoding::VexMvr_Wx as u8, 0xE1, 30, 0), // #106
4935    InstInfo::new(37, 38, Encoding::VexMvr_Wx as u8, 0xEB, 30, 0), // #107
4936    InstInfo::new(37, 38, Encoding::VexMvr_Wx as u8, 0xE9, 30, 0), // #108
4937    InstInfo::new(37, 38, Encoding::VexMvr_Wx as u8, 0xE5, 30, 0), // #109
4938    InstInfo::new(37, 38, Encoding::VexMvr_Wx as u8, 0xE0, 30, 0), // #110
4939    InstInfo::new(9, 5, Encoding::ExtRmi as u8, 0xC2, 4, 0), // #111
4940    InstInfo::new(9, 6, Encoding::ExtRmi as u8, 0xC2, 5, 0), // #112
4941    InstInfo::new(37, 38, Encoding::VexMvr_Wx as u8, 0xEA, 30, 0), // #113
4942    InstInfo::new(38, 39, Encoding::X86StrMm as u8, 0xA6, 0, 0), // #114
4943    InstInfo::new(39, 5, Encoding::ExtRmi as u8, 0xC2, 6, 0), // #115
4944    InstInfo::new(40, 6, Encoding::ExtRmi as u8, 0xC2, 7, 0), // #116
4945    InstInfo::new(37, 38, Encoding::VexMvr_Wx as u8, 0xE8, 30, 0), // #117
4946    InstInfo::new(41, 40, Encoding::X86Cmpxchg as u8, 0xB0, 5, 0), // #118
4947    InstInfo::new(42, 41, Encoding::X86Cmpxchg8b_16b as u8, 0xC7, 31, 0), // #119
4948    InstInfo::new(43, 42, Encoding::X86Cmpxchg8b_16b as u8, 0xC7, 32, 0), // #120
4949    InstInfo::new(37, 38, Encoding::VexMvr_Wx as u8, 0xE4, 30, 0), // #121
4950    InstInfo::new(7, 43, Encoding::ExtRm as u8, 0x2F, 4, 0), // #122
4951    InstInfo::new(8, 44, Encoding::ExtRm as u8, 0x2F, 5, 0), // #123
4952    InstInfo::new(44, 45, Encoding::X86Op as u8, 0xA2, 5, 0), // #124
4953    InstInfo::new(45, 0, Encoding::X86Op_xDX_xAX as u8, 0x99, 22, 0), // #125
4954    InstInfo::new(46, 46, Encoding::X86Crc as u8, 0xF0, 12, 0), // #126
4955    InstInfo::new(7, 5, Encoding::ExtRm as u8, 0xE6, 7, 0), // #127
4956    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0x5B, 5, 0), // #128
4957    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0xE6, 6, 0), // #129
4958    InstInfo::new(47, 5, Encoding::ExtRm as u8, 0x2D, 4, 0), // #130
4959    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0x5A, 4, 0), // #131
4960    InstInfo::new(48, 5, Encoding::ExtRm as u8, 0x2A, 4, 0), // #132
4961    InstInfo::new(48, 6, Encoding::ExtRm as u8, 0x2A, 5, 0), // #133
4962    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0x5B, 4, 0), // #134
4963    InstInfo::new(7, 5, Encoding::ExtRm as u8, 0x5A, 5, 0), // #135
4964    InstInfo::new(49, 6, Encoding::ExtRm as u8, 0x2D, 5, 0), // #136
4965    InstInfo::new(50, 5, Encoding::ExtRm_Wx_GpqOnly as u8, 0x2D, 6, 0), // #137
4966    InstInfo::new(7, 5, Encoding::ExtRm as u8, 0x5A, 6, 0), // #138
4967    InstInfo::new(51, 5, Encoding::ExtRm_Wx as u8, 0x2A, 6, 0), // #139
4968    InstInfo::new(51, 6, Encoding::ExtRm_Wx as u8, 0x2A, 7, 0), // #140
4969    InstInfo::new(8, 5, Encoding::ExtRm as u8, 0x5A, 7, 0), // #141
4970    InstInfo::new(52, 6, Encoding::ExtRm_Wx_GpqOnly as u8, 0x2D, 7, 0), // #142
4971    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0xE6, 4, 0), // #143
4972    InstInfo::new(47, 5, Encoding::ExtRm as u8, 0x2C, 4, 0), // #144
4973    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0x5B, 7, 0), // #145
4974    InstInfo::new(49, 6, Encoding::ExtRm as u8, 0x2C, 5, 0), // #146
4975    InstInfo::new(50, 5, Encoding::ExtRm_Wx_GpqOnly as u8, 0x2C, 6, 0), // #147
4976    InstInfo::new(52, 6, Encoding::ExtRm_Wx_GpqOnly as u8, 0x2C, 7, 0), // #148
4977    InstInfo::new(53, 0, Encoding::X86Op_xDX_xAX as u8, 0x99, 21, 0), // #149
4978    InstInfo::new(54, 0, Encoding::X86Op_xAX as u8, 0x98, 0, 0), // #150
4979    InstInfo::new(1, 1, Encoding::X86Op as u8, 0x27, 0, 0), // #151
4980    InstInfo::new(1, 1, Encoding::X86Op as u8, 0x2F, 0, 0), // #152
4981    InstInfo::new(55, 47, Encoding::X86IncDec as u8, 0xFE, 33, 6), // #153
4982    InstInfo::new(56, 1, Encoding::X86M_GPB_MulDiv as u8, 0xF6, 34, 0), // #154
4983    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0x5E, 4, 0), // #155
4984    InstInfo::new(6, 6, Encoding::ExtRm as u8, 0x5E, 5, 0), // #156
4985    InstInfo::new(7, 5, Encoding::ExtRm as u8, 0x5E, 6, 0), // #157
4986    InstInfo::new(8, 6, Encoding::ExtRm as u8, 0x5E, 7, 0), // #158
4987    InstInfo::new(9, 13, Encoding::ExtRmi as u8, 0x41, 9, 0), // #159
4988    InstInfo::new(9, 13, Encoding::ExtRmi as u8, 0x40, 9, 0), // #160
4989    InstInfo::new(57, 48, Encoding::X86Op as u8, 0x77, 5, 0), // #161
4990    InstInfo::new(31, 49, Encoding::X86Op_Mod11RM as u8, 0x1E, 35, 0), // #162
4991    InstInfo::new(31, 49, Encoding::X86Op_Mod11RM as u8, 0x1E, 36, 0), // #163
4992    InstInfo::new(58, 50, Encoding::X86EnqcmdMovdir64b as u8, 0xF8, 12, 0), // #164
4993    InstInfo::new(58, 50, Encoding::X86EnqcmdMovdir64b as u8, 0xF8, 8, 0), // #165
4994    InstInfo::new(59, 0, Encoding::X86Enter as u8, 0xC8, 0, 0), // #166
4995    InstInfo::new(60, 13, Encoding::ExtExtract as u8, 0x17, 9, 0), // #167
4996    InstInfo::new(61, 51, Encoding::ExtExtrq as u8, 0x79, 4, 7), // #168
4997    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xF0, 37, 0), // #169
4998    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xE1, 37, 0), // #170
4999    InstInfo::new(62, 52, Encoding::FpuArith as u8, 0xC0, 38, 0), // #171
5000    InstInfo::new(63, 52, Encoding::FpuRDef as u8, 0xC0, 39, 0), // #172
5001    InstInfo::new(64, 52, Encoding::X86M_Only as u8, 0xDF, 40, 0), // #173
5002    InstInfo::new(64, 52, Encoding::X86M_Only as u8, 0xDF, 41, 0), // #174
5003    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xE0, 37, 0), // #175
5004    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xE2, 42, 0), // #176
5005    InstInfo::new(65, 53, Encoding::FpuR as u8, 0xC0, 43, 0), // #177
5006    InstInfo::new(65, 54, Encoding::FpuR as u8, 0xD0, 43, 0), // #178
5007    InstInfo::new(65, 55, Encoding::FpuR as u8, 0xC8, 43, 0), // #179
5008    InstInfo::new(65, 53, Encoding::FpuR as u8, 0xC0, 44, 0), // #180
5009    InstInfo::new(65, 54, Encoding::FpuR as u8, 0xD0, 44, 0), // #181
5010    InstInfo::new(65, 55, Encoding::FpuR as u8, 0xC8, 44, 0), // #182
5011    InstInfo::new(65, 56, Encoding::FpuR as u8, 0xD8, 44, 0), // #183
5012    InstInfo::new(65, 56, Encoding::FpuR as u8, 0xD8, 43, 0), // #184
5013    InstInfo::new(66, 52, Encoding::FpuCom as u8, 0xD0, 45, 0), // #185
5014    InstInfo::new(65, 57, Encoding::FpuR as u8, 0xF0, 44, 0), // #186
5015    InstInfo::new(65, 57, Encoding::FpuR as u8, 0xF0, 46, 0), // #187
5016    InstInfo::new(66, 52, Encoding::FpuCom as u8, 0xD8, 47, 0), // #188
5017    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xD9, 39, 0), // #189
5018    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xFF, 37, 0), // #190
5019    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xF6, 37, 0), // #191
5020    InstInfo::new(62, 52, Encoding::FpuArith as u8, 0xF8, 48, 0), // #192
5021    InstInfo::new(63, 52, Encoding::FpuRDef as u8, 0xF8, 39, 0), // #193
5022    InstInfo::new(62, 52, Encoding::FpuArith as u8, 0xF0, 49, 0), // #194
5023    InstInfo::new(63, 52, Encoding::FpuRDef as u8, 0xF0, 39, 0), // #195
5024    InstInfo::new(31, 58, Encoding::X86Op as u8, 0x0E, 5, 0), // #196
5025    InstInfo::new(65, 52, Encoding::FpuR as u8, 0xC0, 50, 0), // #197
5026    InstInfo::new(67, 52, Encoding::FpuM as u8, 0xDA, 51, 0), // #198
5027    InstInfo::new(67, 52, Encoding::FpuM as u8, 0xDA, 52, 0), // #199
5028    InstInfo::new(67, 52, Encoding::FpuM as u8, 0xDA, 53, 0), // #200
5029    InstInfo::new(67, 52, Encoding::FpuM as u8, 0xDA, 41, 0), // #201
5030    InstInfo::new(67, 52, Encoding::FpuM as u8, 0xDA, 54, 0), // #202
5031    InstInfo::new(68, 52, Encoding::FpuM as u8, 0xDB, 51, 8), // #203
5032    InstInfo::new(67, 52, Encoding::FpuM as u8, 0xDA, 55, 0), // #204
5033    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xF7, 37, 0), // #205
5034    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xE3, 42, 0), // #206
5035    InstInfo::new(67, 52, Encoding::FpuM as u8, 0xDB, 52, 0), // #207
5036    InstInfo::new(68, 52, Encoding::FpuM as u8, 0xDB, 53, 9), // #208
5037    InstInfo::new(68, 59, Encoding::FpuM as u8, 0xDB, 55, 10), // #209
5038    InstInfo::new(67, 52, Encoding::FpuM as u8, 0xDA, 40, 0), // #210
5039    InstInfo::new(67, 52, Encoding::FpuM as u8, 0xDA, 56, 0), // #211
5040    InstInfo::new(69, 52, Encoding::FpuFldFst as u8, 0xD9, 51, 11), // #212
5041    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xE8, 37, 0), // #213
5042    InstInfo::new(70, 52, Encoding::X86M_Only as u8, 0xD9, 56, 0), // #214
5043    InstInfo::new(32, 52, Encoding::X86M_Only as u8, 0xD9, 40, 0), // #215
5044    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xEA, 37, 0), // #216
5045    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xE9, 37, 0), // #217
5046    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xEC, 37, 0), // #218
5047    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xED, 37, 0), // #219
5048    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xEB, 37, 0), // #220
5049    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xEE, 37, 0), // #221
5050    InstInfo::new(62, 52, Encoding::FpuArith as u8, 0xC8, 57, 0), // #222
5051    InstInfo::new(63, 52, Encoding::FpuRDef as u8, 0xC8, 39, 0), // #223
5052    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xE2, 44, 0), // #224
5053    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xE3, 44, 0), // #225
5054    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xD0, 37, 0), // #226
5055    InstInfo::new(32, 52, Encoding::X86M_Only as u8, 0xDD, 41, 0), // #227
5056    InstInfo::new(70, 52, Encoding::X86M_Only as u8, 0xD9, 54, 0), // #228
5057    InstInfo::new(32, 52, Encoding::X86M_Only as u8, 0xD9, 41, 0), // #229
5058    InstInfo::new(71, 52, Encoding::FpuStsw as u8, 0xDD, 54, 12), // #230
5059    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xF3, 37, 0), // #231
5060    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xF8, 37, 0), // #232
5061    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xF5, 37, 0), // #233
5062    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xF2, 37, 0), // #234
5063    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xFC, 37, 0), // #235
5064    InstInfo::new(32, 52, Encoding::X86M_Only as u8, 0xDD, 40, 0), // #236
5065    InstInfo::new(32, 52, Encoding::X86M_Only as u8, 0xDD, 58, 0), // #237
5066    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xFD, 37, 0), // #238
5067    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xFE, 37, 0), // #239
5068    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xFB, 37, 0), // #240
5069    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xFA, 37, 0), // #241
5070    InstInfo::new(72, 52, Encoding::FpuFldFst as u8, 0xD9, 52, 0), // #242
5071    InstInfo::new(70, 52, Encoding::X86M_Only as u8, 0xD9, 59, 0), // #243
5072    InstInfo::new(32, 52, Encoding::X86M_Only as u8, 0xD9, 58, 0), // #244
5073    InstInfo::new(69, 52, Encoding::FpuFldFst as u8, 0xD9, 53, 13), // #245
5074    InstInfo::new(71, 52, Encoding::FpuStsw as u8, 0xDD, 59, 14), // #246
5075    InstInfo::new(62, 52, Encoding::FpuArith as u8, 0xE8, 60, 0), // #247
5076    InstInfo::new(63, 52, Encoding::FpuRDef as u8, 0xE8, 39, 0), // #248
5077    InstInfo::new(62, 52, Encoding::FpuArith as u8, 0xE0, 61, 0), // #249
5078    InstInfo::new(63, 52, Encoding::FpuRDef as u8, 0xE0, 39, 0), // #250
5079    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xE4, 37, 0), // #251
5080    InstInfo::new(63, 52, Encoding::FpuRDef as u8, 0xE0, 50, 0), // #252
5081    InstInfo::new(65, 57, Encoding::FpuR as u8, 0xE8, 44, 0), // #253
5082    InstInfo::new(65, 57, Encoding::FpuR as u8, 0xE8, 46, 0), // #254
5083    InstInfo::new(63, 52, Encoding::FpuRDef as u8, 0xE8, 50, 0), // #255
5084    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xE9, 43, 0), // #256
5085    InstInfo::new(31, 52, Encoding::X86Op as u8, 0x9B, 51, 0), // #257
5086    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xE5, 37, 0), // #258
5087    InstInfo::new(63, 52, Encoding::FpuR as u8, 0xC8, 37, 0), // #259
5088    InstInfo::new(32, 60, Encoding::X86M_Only as u8, 0xAE, 32, 0), // #260
5089    InstInfo::new(73, 60, Encoding::X86M_Only as u8, 0xAE, 31, 0), // #261
5090    InstInfo::new(32, 61, Encoding::X86M_Only as u8, 0xAE, 5, 0), // #262
5091    InstInfo::new(73, 61, Encoding::X86M_Only as u8, 0xAE, 62, 0), // #263
5092    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xF4, 37, 0), // #264
5093    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xF1, 37, 0), // #265
5094    InstInfo::new(31, 52, Encoding::FpuOp as u8, 0xF9, 37, 0), // #266
5095    InstInfo::new(74, 62, Encoding::X86Op as u8, 0x37, 5, 0), // #267
5096    InstInfo::new(9, 63, Encoding::ExtRmi as u8, 0xCF, 9, 0), // #268
5097    InstInfo::new(9, 63, Encoding::ExtRmi as u8, 0xCE, 9, 0), // #269
5098    InstInfo::new(6, 63, Encoding::ExtRm as u8, 0xCF, 2, 0), // #270
5099    InstInfo::new(6, 7, Encoding::ExtRm as u8, 0x7C, 4, 0), // #271
5100    InstInfo::new(6, 7, Encoding::ExtRm as u8, 0x7C, 6, 0), // #272
5101    InstInfo::new(31, 0, Encoding::X86Op as u8, 0xF4, 0, 0), // #273
5102    InstInfo::new(75, 64, Encoding::X86Op_Mod11RM_I8 as u8, 0xF0, 63, 0), // #274
5103    InstInfo::new(6, 7, Encoding::ExtRm as u8, 0x7D, 4, 0), // #275
5104    InstInfo::new(6, 7, Encoding::ExtRm as u8, 0x7D, 6, 0), // #276
5105    InstInfo::new(56, 1, Encoding::X86M_GPB_MulDiv as u8, 0xF6, 29, 0), // #277
5106    InstInfo::new(76, 1, Encoding::X86Imul as u8, 0xF6, 64, 0), // #278
5107    InstInfo::new(77, 0, Encoding::X86In as u8, 0xEC, 0, 15), // #279
5108    InstInfo::new(78, 47, Encoding::X86IncDec as u8, 0xFE, 0, 16), // #280
5109    InstInfo::new(79, 65, Encoding::X86M as u8, 0xAE, 65, 0), // #281
5110    InstInfo::new(80, 65, Encoding::X86M as u8, 0xAE, 66, 0), // #282
5111    InstInfo::new(81, 0, Encoding::X86Ins as u8, 0x6C, 0, 0), // #283
5112    InstInfo::new(40, 13, Encoding::ExtRmi as u8, 0x21, 9, 0), // #284
5113    InstInfo::new(82, 51, Encoding::ExtInsertq as u8, 0x79, 6, 17), // #285
5114    InstInfo::new(83, 0, Encoding::X86Int as u8, 0xCD, 0, 0), // #286
5115    InstInfo::new(31, 0, Encoding::X86Op as u8, 0xCC, 0, 0), // #287
5116    InstInfo::new(84, 66, Encoding::X86Op as u8, 0xCE, 0, 0), // #288
5117    InstInfo::new(31, 45, Encoding::X86Op as u8, 0x08, 5, 0), // #289
5118    InstInfo::new(85, 67, Encoding::X86Rm_NoSize as u8, 0x80, 2, 0), // #290
5119    InstInfo::new(32, 45, Encoding::X86M_Only as u8, 0x01, 24, 0), // #291
5120    InstInfo::new(86, 23, Encoding::X86Op_xAddr as u8, 0xDF, 23, 0), // #292
5121    InstInfo::new(87, 68, Encoding::X86Op as u8, 0xFE, 23, 0), // #293
5122    InstInfo::new(85, 45, Encoding::X86Rm_NoSize as u8, 0x82, 2, 0), // #294
5123    InstInfo::new(85, 67, Encoding::X86Rm_NoSize as u8, 0x81, 2, 0), // #295
5124    InstInfo::new(88, 1, Encoding::X86Op as u8, 0xCF, 21, 0), // #296
5125    InstInfo::new(88, 1, Encoding::X86Op as u8, 0xCF, 0, 0), // #297
5126    InstInfo::new(89, 1, Encoding::X86Op as u8, 0xCF, 22, 0), // #298
5127    InstInfo::new(90, 69, Encoding::X86Jcc as u8, 0x82, 5, 18), // #299
5128    InstInfo::new(90, 70, Encoding::X86Jcc as u8, 0x86, 5, 19), // #300
5129    InstInfo::new(91, 0, Encoding::X86JecxzLoop as u8, 0x00, 0, 20), // #301
5130    InstInfo::new(90, 71, Encoding::X86Jcc as u8, 0x8C, 5, 21), // #302
5131    InstInfo::new(90, 72, Encoding::X86Jcc as u8, 0x8E, 5, 22), // #303
5132    InstInfo::new(92, 0, Encoding::X86Jmp as u8, 0xFF, 10, 23), // #304
5133    InstInfo::new(90, 69, Encoding::X86Jcc as u8, 0x83, 5, 24), // #305
5134    InstInfo::new(90, 70, Encoding::X86Jcc as u8, 0x87, 5, 25), // #306
5135    InstInfo::new(90, 71, Encoding::X86Jcc as u8, 0x8D, 5, 26), // #307
5136    InstInfo::new(90, 72, Encoding::X86Jcc as u8, 0x8F, 5, 27), // #308
5137    InstInfo::new(90, 66, Encoding::X86Jcc as u8, 0x81, 5, 28), // #309
5138    InstInfo::new(90, 73, Encoding::X86Jcc as u8, 0x8B, 5, 29), // #310
5139    InstInfo::new(90, 74, Encoding::X86Jcc as u8, 0x89, 5, 30), // #311
5140    InstInfo::new(90, 75, Encoding::X86Jcc as u8, 0x85, 5, 31), // #312
5141    InstInfo::new(90, 66, Encoding::X86Jcc as u8, 0x80, 5, 32), // #313
5142    InstInfo::new(90, 73, Encoding::X86Jcc as u8, 0x8A, 5, 33), // #314
5143    InstInfo::new(90, 74, Encoding::X86Jcc as u8, 0x88, 5, 34), // #315
5144    InstInfo::new(90, 75, Encoding::X86Jcc as u8, 0x84, 5, 35), // #316
5145    InstInfo::new(93, 76, Encoding::VexRvm as u8, 0x4A, 67, 0), // #317
5146    InstInfo::new(93, 77, Encoding::VexRvm as u8, 0x4A, 68, 0), // #318
5147    InstInfo::new(93, 77, Encoding::VexRvm as u8, 0x4A, 69, 0), // #319
5148    InstInfo::new(93, 76, Encoding::VexRvm as u8, 0x4A, 70, 0), // #320
5149    InstInfo::new(93, 76, Encoding::VexRvm as u8, 0x41, 67, 0), // #321
5150    InstInfo::new(93, 77, Encoding::VexRvm as u8, 0x41, 68, 0), // #322
5151    InstInfo::new(93, 76, Encoding::VexRvm as u8, 0x42, 67, 0), // #323
5152    InstInfo::new(93, 77, Encoding::VexRvm as u8, 0x42, 68, 0), // #324
5153    InstInfo::new(93, 77, Encoding::VexRvm as u8, 0x42, 69, 0), // #325
5154    InstInfo::new(93, 78, Encoding::VexRvm as u8, 0x42, 70, 0), // #326
5155    InstInfo::new(93, 77, Encoding::VexRvm as u8, 0x41, 69, 0), // #327
5156    InstInfo::new(93, 78, Encoding::VexRvm as u8, 0x41, 70, 0), // #328
5157    InstInfo::new(94, 79, Encoding::VexKmov as u8, 0x90, 71, 36), // #329
5158    InstInfo::new(95, 80, Encoding::VexKmov as u8, 0x90, 72, 37), // #330
5159    InstInfo::new(96, 80, Encoding::VexKmov as u8, 0x90, 73, 38), // #331
5160    InstInfo::new(97, 81, Encoding::VexKmov as u8, 0x90, 74, 39), // #332
5161    InstInfo::new(98, 76, Encoding::VexRm as u8, 0x44, 71, 0), // #333
5162    InstInfo::new(98, 77, Encoding::VexRm as u8, 0x44, 72, 0), // #334
5163    InstInfo::new(98, 77, Encoding::VexRm as u8, 0x44, 73, 0), // #335
5164    InstInfo::new(98, 78, Encoding::VexRm as u8, 0x44, 74, 0), // #336
5165    InstInfo::new(93, 76, Encoding::VexRvm as u8, 0x45, 67, 0), // #337
5166    InstInfo::new(93, 77, Encoding::VexRvm as u8, 0x45, 68, 0), // #338
5167    InstInfo::new(93, 77, Encoding::VexRvm as u8, 0x45, 69, 0), // #339
5168    InstInfo::new(98, 82, Encoding::VexRm as u8, 0x98, 71, 0), // #340
5169    InstInfo::new(98, 83, Encoding::VexRm as u8, 0x98, 72, 0), // #341
5170    InstInfo::new(98, 83, Encoding::VexRm as u8, 0x98, 73, 0), // #342
5171    InstInfo::new(98, 84, Encoding::VexRm as u8, 0x98, 74, 0), // #343
5172    InstInfo::new(93, 78, Encoding::VexRvm as u8, 0x45, 70, 0), // #344
5173    InstInfo::new(99, 76, Encoding::VexRmi as u8, 0x32, 75, 0), // #345
5174    InstInfo::new(99, 77, Encoding::VexRmi as u8, 0x33, 75, 0), // #346
5175    InstInfo::new(99, 77, Encoding::VexRmi as u8, 0x33, 76, 0), // #347
5176    InstInfo::new(99, 78, Encoding::VexRmi as u8, 0x32, 76, 0), // #348
5177    InstInfo::new(99, 76, Encoding::VexRmi as u8, 0x30, 75, 0), // #349
5178    InstInfo::new(99, 77, Encoding::VexRmi as u8, 0x31, 75, 0), // #350
5179    InstInfo::new(99, 77, Encoding::VexRmi as u8, 0x31, 76, 0), // #351
5180    InstInfo::new(99, 78, Encoding::VexRmi as u8, 0x30, 76, 0), // #352
5181    InstInfo::new(98, 82, Encoding::VexRm as u8, 0x99, 71, 0), // #353
5182    InstInfo::new(98, 83, Encoding::VexRm as u8, 0x99, 72, 0), // #354
5183    InstInfo::new(98, 83, Encoding::VexRm as u8, 0x99, 73, 0), // #355
5184    InstInfo::new(98, 82, Encoding::VexRm as u8, 0x99, 74, 0), // #356
5185    InstInfo::new(93, 78, Encoding::VexRvm as u8, 0x4B, 67, 0), // #357
5186    InstInfo::new(93, 77, Encoding::VexRvm as u8, 0x4B, 69, 0), // #358
5187    InstInfo::new(93, 77, Encoding::VexRvm as u8, 0x4B, 70, 0), // #359
5188    InstInfo::new(100, 76, Encoding::VexRvm as u8, 0x46, 67, 0), // #360
5189    InstInfo::new(100, 77, Encoding::VexRvm as u8, 0x46, 68, 0), // #361
5190    InstInfo::new(100, 77, Encoding::VexRvm as u8, 0x46, 69, 0), // #362
5191    InstInfo::new(100, 78, Encoding::VexRvm as u8, 0x46, 70, 0), // #363
5192    InstInfo::new(100, 76, Encoding::VexRvm as u8, 0x47, 67, 0), // #364
5193    InstInfo::new(100, 77, Encoding::VexRvm as u8, 0x47, 68, 0), // #365
5194    InstInfo::new(100, 77, Encoding::VexRvm as u8, 0x47, 69, 0), // #366
5195    InstInfo::new(100, 78, Encoding::VexRvm as u8, 0x47, 70, 0), // #367
5196    InstInfo::new(101, 85, Encoding::X86Op as u8, 0x9F, 0, 0), // #368
5197    InstInfo::new(102, 11, Encoding::X86Rm as u8, 0x02, 5, 0), // #369
5198    InstInfo::new(103, 1, Encoding::X86LcallLjmp as u8, 0xFF, 77, 40), // #370
5199    InstInfo::new(104, 7, Encoding::ExtRm as u8, 0xF0, 6, 0), // #371
5200    InstInfo::new(105, 6, Encoding::X86M_Only as u8, 0xAE, 78, 0), // #372
5201    InstInfo::new(106, 0, Encoding::X86Rm as u8, 0xC5, 0, 0), // #373
5202    InstInfo::new(107, 86, Encoding::AmxCfg as u8, 0x49, 11, 0), // #374
5203    InstInfo::new(108, 0, Encoding::X86Lea as u8, 0x8D, 0, 0), // #375
5204    InstInfo::new(31, 0, Encoding::X86Op as u8, 0xC9, 0, 0), // #376
5205    InstInfo::new(106, 0, Encoding::X86Rm as u8, 0xC4, 0, 0), // #377
5206    InstInfo::new(31, 5, Encoding::X86Fence as u8, 0xAE, 79, 0), // #378
5207    InstInfo::new(109, 0, Encoding::X86Rm as u8, 0xB4, 5, 0), // #379
5208    InstInfo::new(32, 0, Encoding::X86M_Only as u8, 0x01, 78, 0), // #380
5209    InstInfo::new(109, 0, Encoding::X86Rm as u8, 0xB5, 5, 0), // #381
5210    InstInfo::new(32, 0, Encoding::X86M_Only as u8, 0x01, 80, 0), // #382
5211    InstInfo::new(110, 0, Encoding::X86LcallLjmp as u8, 0xFF, 64, 41), // #383
5212    InstInfo::new(111, 0, Encoding::X86M_NoSize as u8, 0x00, 78, 0), // #384
5213    InstInfo::new(112, 87, Encoding::VexR_Wx as u8, 0x12, 81, 0), // #385
5214    InstInfo::new(111, 0, Encoding::X86M_NoSize as u8, 0x01, 82, 0), // #386
5215    InstInfo::new(113, 88, Encoding::X86StrRm as u8, 0xAC, 0, 0), // #387
5216    InstInfo::new(114, 0, Encoding::X86JecxzLoop as u8, 0x00, 0, 42), // #388
5217    InstInfo::new(114, 75, Encoding::X86JecxzLoop as u8, 0x00, 0, 43), // #389
5218    InstInfo::new(114, 75, Encoding::X86JecxzLoop as u8, 0x00, 0, 44), // #390
5219    InstInfo::new(115, 11, Encoding::X86Rm as u8, 0x03, 5, 0), // #391
5220    InstInfo::new(109, 0, Encoding::X86Rm as u8, 0xB2, 5, 0), // #392
5221    InstInfo::new(111, 0, Encoding::X86M_NoSize as u8, 0x00, 80, 0), // #393
5222    InstInfo::new(116, 87, Encoding::VexVmi4_Wx as u8, 0x12, 83, 0), // #394
5223    InstInfo::new(116, 87, Encoding::VexVmi4_Wx as u8, 0x12, 84, 0), // #395
5224    InstInfo::new(23, 89, Encoding::X86Rm_Raw66H as u8, 0xBD, 7, 0), // #396
5225    InstInfo::new(117, 5, Encoding::ExtRm_ZDI as u8, 0xF7, 4, 0), // #397
5226    InstInfo::new(118, 90, Encoding::ExtRm_ZDI as u8, 0xF7, 5, 0), // #398
5227    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0x5F, 4, 0), // #399
5228    InstInfo::new(6, 6, Encoding::ExtRm as u8, 0x5F, 5, 0), // #400
5229    InstInfo::new(7, 5, Encoding::ExtRm as u8, 0x5F, 6, 0), // #401
5230    InstInfo::new(8, 6, Encoding::ExtRm as u8, 0x5F, 7, 0), // #402
5231    InstInfo::new(31, 91, Encoding::X86Op as u8, 0xFA, 27, 0), // #403
5232    InstInfo::new(31, 5, Encoding::X86Fence as u8, 0xAE, 82, 0), // #404
5233    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0x5D, 4, 0), // #405
5234    InstInfo::new(6, 6, Encoding::ExtRm as u8, 0x5D, 5, 0), // #406
5235    InstInfo::new(7, 5, Encoding::ExtRm as u8, 0x5D, 6, 0), // #407
5236    InstInfo::new(8, 6, Encoding::ExtRm as u8, 0x5D, 7, 0), // #408
5237    InstInfo::new(119, 92, Encoding::X86Op as u8, 0xC8, 23, 0), // #409
5238    InstInfo::new(119, 93, Encoding::X86Op as u8, 0xFA, 23, 0), // #410
5239    InstInfo::new(120, 94, Encoding::X86Mov as u8, 0x00, 0, 0), // #411
5240    InstInfo::new(121, 0, Encoding::X86Movabs as u8, 0x00, 0, 0), // #412
5241    InstInfo::new(122, 95, Encoding::ExtMov as u8, 0x28, 4, 45), // #413
5242    InstInfo::new(122, 96, Encoding::ExtMov as u8, 0x28, 5, 46), // #414
5243    InstInfo::new(123, 97, Encoding::ExtMovbe as u8, 0xF0, 1, 47), // #415
5244    InstInfo::new(124, 98, Encoding::ExtMovd as u8, 0x6E, 5, 48), // #416
5245    InstInfo::new(7, 7, Encoding::ExtMov as u8, 0x12, 6, 0), // #417
5246    InstInfo::new(125, 99, Encoding::X86EnqcmdMovdir64b as u8, 0xF8, 2, 0), // #418
5247    InstInfo::new(3, 100, Encoding::X86MovntiMovdiri as u8, 0xF9, 1, 0), // #419
5248    InstInfo::new(126, 5, Encoding::ExtMov as u8, 0xD6, 6, 0), // #420
5249    InstInfo::new(122, 95, Encoding::ExtMov as u8, 0x6F, 4, 49), // #421
5250    InstInfo::new(122, 95, Encoding::ExtMov as u8, 0x6F, 7, 50), // #422
5251    InstInfo::new(127, 6, Encoding::ExtMov as u8, 0x12, 5, 0), // #423
5252    InstInfo::new(128, 5, Encoding::ExtMov as u8, 0x16, 4, 51), // #424
5253    InstInfo::new(128, 6, Encoding::ExtMov as u8, 0x16, 5, 52), // #425
5254    InstInfo::new(127, 6, Encoding::ExtMov as u8, 0x16, 5, 0), // #426
5255    InstInfo::new(128, 5, Encoding::ExtMov as u8, 0x12, 4, 53), // #427
5256    InstInfo::new(128, 6, Encoding::ExtMov as u8, 0x12, 5, 54), // #428
5257    InstInfo::new(129, 5, Encoding::ExtMov as u8, 0x50, 4, 0), // #429
5258    InstInfo::new(129, 6, Encoding::ExtMov as u8, 0x50, 5, 0), // #430
5259    InstInfo::new(130, 5, Encoding::ExtMov as u8, 0x00, 0, 55), // #431
5260    InstInfo::new(104, 13, Encoding::ExtMov as u8, 0x2A, 2, 0), // #432
5261    InstInfo::new(3, 5, Encoding::X86MovntiMovdiri as u8, 0xC3, 5, 0), // #433
5262    InstInfo::new(130, 5, Encoding::ExtMov as u8, 0x00, 0, 56), // #434
5263    InstInfo::new(130, 6, Encoding::ExtMov as u8, 0x00, 0, 57), // #435
5264    InstInfo::new(131, 90, Encoding::ExtMov as u8, 0x00, 0, 58), // #436
5265    InstInfo::new(132, 51, Encoding::ExtMov as u8, 0x00, 0, 59), // #437
5266    InstInfo::new(133, 51, Encoding::ExtMov as u8, 0x00, 0, 60), // #438
5267    InstInfo::new(134, 101, Encoding::ExtMovq as u8, 0x6E, 5, 48), // #439
5268    InstInfo::new(135, 5, Encoding::ExtRm as u8, 0xD6, 7, 0), // #440
5269    InstInfo::new(136, 88, Encoding::X86StrMm as u8, 0xA4, 0, 0), // #441
5270    InstInfo::new(137, 95, Encoding::ExtMov as u8, 0x10, 6, 61), // #442
5271    InstInfo::new(6, 7, Encoding::ExtRm as u8, 0x16, 7, 0), // #443
5272    InstInfo::new(6, 7, Encoding::ExtRm as u8, 0x12, 7, 0), // #444
5273    InstInfo::new(138, 96, Encoding::ExtMov as u8, 0x10, 7, 62), // #445
5274    InstInfo::new(139, 0, Encoding::X86MovsxMovzx as u8, 0xBE, 5, 0), // #446
5275    InstInfo::new(140, 0, Encoding::X86Rm as u8, 0x63, 0, 0), // #447
5276    InstInfo::new(122, 95, Encoding::ExtMov as u8, 0x10, 4, 63), // #448
5277    InstInfo::new(122, 96, Encoding::ExtMov as u8, 0x10, 5, 64), // #449
5278    InstInfo::new(139, 0, Encoding::X86MovsxMovzx as u8, 0xB6, 5, 0), // #450
5279    InstInfo::new(9, 13, Encoding::ExtRmi as u8, 0x42, 9, 0), // #451
5280    InstInfo::new(56, 1, Encoding::X86M_GPB_MulDiv as u8, 0xF6, 10, 0), // #452
5281    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0x59, 4, 0), // #453
5282    InstInfo::new(6, 6, Encoding::ExtRm as u8, 0x59, 5, 0), // #454
5283    InstInfo::new(7, 5, Encoding::ExtRm as u8, 0x59, 6, 0), // #455
5284    InstInfo::new(8, 6, Encoding::ExtRm as u8, 0x59, 7, 0), // #456
5285    InstInfo::new(141, 102, Encoding::VexRvm_ZDX_Wx as u8, 0xF6, 85, 0), // #457
5286    InstInfo::new(142, 92, Encoding::X86Op as u8, 0xC9, 23, 0), // #458
5287    InstInfo::new(143, 93, Encoding::X86Op as u8, 0xFB, 23, 0), // #459
5288    InstInfo::new(144, 1, Encoding::X86M_GPB as u8, 0xF6, 77, 0), // #460
5289    InstInfo::new(145, 0, Encoding::X86M_Nop as u8, 0x90, 0, 0), // #461
5290    InstInfo::new(144, 0, Encoding::X86M_GPB as u8, 0xF6, 3, 0), // #462
5291    InstInfo::new(146, 1, Encoding::X86Arith as u8, 0x08, 33, 0), // #463
5292    InstInfo::new(12, 5, Encoding::ExtRm as u8, 0x56, 4, 0), // #464
5293    InstInfo::new(12, 6, Encoding::ExtRm as u8, 0x56, 5, 0), // #465
5294    InstInfo::new(147, 0, Encoding::X86Out as u8, 0xEE, 0, 65), // #466
5295    InstInfo::new(148, 0, Encoding::X86Outs as u8, 0x6E, 0, 0), // #467
5296    InstInfo::new(149, 103, Encoding::ExtRm_P as u8, 0x1C, 1, 0), // #468
5297    InstInfo::new(149, 103, Encoding::ExtRm_P as u8, 0x1E, 1, 0), // #469
5298    InstInfo::new(149, 103, Encoding::ExtRm_P as u8, 0x1D, 1, 0), // #470
5299    InstInfo::new(149, 98, Encoding::ExtRm_P as u8, 0x6B, 5, 0), // #471
5300    InstInfo::new(149, 98, Encoding::ExtRm_P as u8, 0x63, 5, 0), // #472
5301    InstInfo::new(6, 13, Encoding::ExtRm as u8, 0x2B, 2, 0), // #473
5302    InstInfo::new(149, 98, Encoding::ExtRm_P as u8, 0x67, 5, 0), // #474
5303    InstInfo::new(149, 98, Encoding::ExtRm_P as u8, 0xFC, 5, 0), // #475
5304    InstInfo::new(149, 98, Encoding::ExtRm_P as u8, 0xFE, 5, 0), // #476
5305    InstInfo::new(149, 5, Encoding::ExtRm_P as u8, 0xD4, 5, 0), // #477
5306    InstInfo::new(149, 98, Encoding::ExtRm_P as u8, 0xEC, 5, 0), // #478
5307    InstInfo::new(149, 98, Encoding::ExtRm_P as u8, 0xED, 5, 0), // #479
5308    InstInfo::new(149, 98, Encoding::ExtRm_P as u8, 0xDC, 5, 0), // #480
5309    InstInfo::new(149, 98, Encoding::ExtRm_P as u8, 0xDD, 5, 0), // #481
5310    InstInfo::new(149, 98, Encoding::ExtRm_P as u8, 0xFD, 5, 0), // #482
5311    InstInfo::new(150, 103, Encoding::ExtRmi_P as u8, 0x0F, 86, 0), // #483
5312    InstInfo::new(151, 98, Encoding::ExtRm_P as u8, 0xDB, 5, 0), // #484
5313    InstInfo::new(152, 98, Encoding::ExtRm_P as u8, 0xDF, 5, 0), // #485
5314    InstInfo::new(31, 0, Encoding::X86Op as u8, 0x90, 87, 0), // #486
5315    InstInfo::new(149, 104, Encoding::ExtRm_P as u8, 0xE0, 5, 0), // #487
5316    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0xBF, 88, 0), // #488
5317    InstInfo::new(149, 104, Encoding::ExtRm_P as u8, 0xE3, 5, 0), // #489
5318    InstInfo::new(16, 13, Encoding::ExtRm_XMM0 as u8, 0x10, 2, 0), // #490
5319    InstInfo::new(9, 13, Encoding::ExtRmi as u8, 0x0E, 9, 0), // #491
5320    InstInfo::new(9, 105, Encoding::ExtRmi as u8, 0x44, 9, 0), // #492
5321    InstInfo::new(152, 98, Encoding::ExtRm_P as u8, 0x74, 5, 0), // #493
5322    InstInfo::new(152, 98, Encoding::ExtRm_P as u8, 0x76, 5, 0), // #494
5323    InstInfo::new(154, 13, Encoding::ExtRm as u8, 0x29, 2, 0), // #495
5324    InstInfo::new(152, 98, Encoding::ExtRm_P as u8, 0x75, 5, 0), // #496
5325    InstInfo::new(155, 106, Encoding::ExtRmi as u8, 0x61, 9, 0), // #497
5326    InstInfo::new(156, 106, Encoding::ExtRmi as u8, 0x60, 9, 0), // #498
5327    InstInfo::new(152, 98, Encoding::ExtRm_P as u8, 0x64, 5, 0), // #499
5328    InstInfo::new(152, 98, Encoding::ExtRm_P as u8, 0x66, 5, 0), // #500
5329    InstInfo::new(154, 46, Encoding::ExtRm as u8, 0x37, 2, 0), // #501
5330    InstInfo::new(152, 98, Encoding::ExtRm_P as u8, 0x65, 5, 0), // #502
5331    InstInfo::new(157, 106, Encoding::ExtRmi as u8, 0x63, 9, 0), // #503
5332    InstInfo::new(158, 106, Encoding::ExtRmi as u8, 0x62, 9, 0), // #504
5333    InstInfo::new(31, 107, Encoding::X86Op as u8, 0xC5, 23, 0), // #505
5334    InstInfo::new(11, 102, Encoding::VexRvm_Wx as u8, 0xF5, 85, 0), // #506
5335    InstInfo::new(11, 102, Encoding::VexRvm_Wx as u8, 0xF5, 89, 0), // #507
5336    InstInfo::new(159, 13, Encoding::ExtExtract as u8, 0x14, 86, 0), // #508
5337    InstInfo::new(60, 13, Encoding::ExtExtract as u8, 0x16, 86, 0), // #509
5338    InstInfo::new(160, 13, Encoding::ExtExtract as u8, 0x16, 90, 0), // #510
5339    InstInfo::new(161, 108, Encoding::ExtPextrw as u8, 0xC5, 5, 66), // #511
5340    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0x1D, 88, 0), // #512
5341    InstInfo::new(153, 109, Encoding::Ext3dNow as u8, 0x1C, 88, 0), // #513
5342    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0xAE, 88, 0), // #514
5343    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0x9E, 88, 0), // #515
5344    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0xB0, 88, 0), // #516
5345    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0x90, 88, 0), // #517
5346    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0xA0, 88, 0), // #518
5347    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0xA4, 88, 0), // #519
5348    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0x94, 88, 0), // #520
5349    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0xB4, 88, 0), // #521
5350    InstInfo::new(153, 109, Encoding::Ext3dNow as u8, 0x8A, 88, 0), // #522
5351    InstInfo::new(153, 109, Encoding::Ext3dNow as u8, 0x8E, 88, 0), // #523
5352    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0x96, 88, 0), // #524
5353    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0xA6, 88, 0), // #525
5354    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0xB6, 88, 0), // #526
5355    InstInfo::new(153, 110, Encoding::Ext3dNow as u8, 0x86, 88, 0), // #527
5356    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0xA7, 88, 0), // #528
5357    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0x97, 88, 0), // #529
5358    InstInfo::new(153, 110, Encoding::Ext3dNow as u8, 0x87, 88, 0), // #530
5359    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0x9A, 88, 0), // #531
5360    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0xAA, 88, 0), // #532
5361    InstInfo::new(149, 103, Encoding::ExtRm_P as u8, 0x02, 1, 0), // #533
5362    InstInfo::new(149, 103, Encoding::ExtRm_P as u8, 0x03, 1, 0), // #534
5363    InstInfo::new(149, 103, Encoding::ExtRm_P as u8, 0x01, 1, 0), // #535
5364    InstInfo::new(6, 13, Encoding::ExtRm as u8, 0x41, 2, 0), // #536
5365    InstInfo::new(149, 103, Encoding::ExtRm_P as u8, 0x06, 1, 0), // #537
5366    InstInfo::new(149, 103, Encoding::ExtRm_P as u8, 0x07, 1, 0), // #538
5367    InstInfo::new(149, 103, Encoding::ExtRm_P as u8, 0x05, 1, 0), // #539
5368    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0x0D, 88, 0), // #540
5369    InstInfo::new(153, 109, Encoding::Ext3dNow as u8, 0x0C, 88, 0), // #541
5370    InstInfo::new(162, 13, Encoding::ExtRmi as u8, 0x20, 9, 0), // #542
5371    InstInfo::new(163, 13, Encoding::ExtRmi as u8, 0x22, 9, 0), // #543
5372    InstInfo::new(164, 13, Encoding::ExtRmi as u8, 0x22, 91, 0), // #544
5373    InstInfo::new(165, 104, Encoding::ExtRmi_P as u8, 0xC4, 5, 0), // #545
5374    InstInfo::new(149, 103, Encoding::ExtRm_P as u8, 0x04, 1, 0), // #546
5375    InstInfo::new(149, 98, Encoding::ExtRm_P as u8, 0xF5, 5, 0), // #547
5376    InstInfo::new(12, 13, Encoding::ExtRm as u8, 0x3C, 2, 0), // #548
5377    InstInfo::new(12, 13, Encoding::ExtRm as u8, 0x3D, 2, 0), // #549
5378    InstInfo::new(151, 104, Encoding::ExtRm_P as u8, 0xEE, 5, 0), // #550
5379    InstInfo::new(151, 104, Encoding::ExtRm_P as u8, 0xDE, 5, 0), // #551
5380    InstInfo::new(12, 13, Encoding::ExtRm as u8, 0x3F, 2, 0), // #552
5381    InstInfo::new(12, 13, Encoding::ExtRm as u8, 0x3E, 2, 0), // #553
5382    InstInfo::new(12, 13, Encoding::ExtRm as u8, 0x38, 2, 0), // #554
5383    InstInfo::new(12, 13, Encoding::ExtRm as u8, 0x39, 2, 0), // #555
5384    InstInfo::new(151, 104, Encoding::ExtRm_P as u8, 0xEA, 5, 0), // #556
5385    InstInfo::new(151, 104, Encoding::ExtRm_P as u8, 0xDA, 5, 0), // #557
5386    InstInfo::new(12, 13, Encoding::ExtRm as u8, 0x3B, 2, 0), // #558
5387    InstInfo::new(12, 13, Encoding::ExtRm as u8, 0x3A, 2, 0), // #559
5388    InstInfo::new(166, 104, Encoding::ExtRm_P as u8, 0xD7, 5, 0), // #560
5389    InstInfo::new(8, 13, Encoding::ExtRm as u8, 0x21, 2, 0), // #561
5390    InstInfo::new(167, 13, Encoding::ExtRm as u8, 0x22, 2, 0), // #562
5391    InstInfo::new(7, 13, Encoding::ExtRm as u8, 0x20, 2, 0), // #563
5392    InstInfo::new(7, 13, Encoding::ExtRm as u8, 0x25, 2, 0), // #564
5393    InstInfo::new(7, 13, Encoding::ExtRm as u8, 0x23, 2, 0), // #565
5394    InstInfo::new(8, 13, Encoding::ExtRm as u8, 0x24, 2, 0), // #566
5395    InstInfo::new(8, 13, Encoding::ExtRm as u8, 0x31, 2, 0), // #567
5396    InstInfo::new(167, 13, Encoding::ExtRm as u8, 0x32, 2, 0), // #568
5397    InstInfo::new(7, 13, Encoding::ExtRm as u8, 0x30, 2, 0), // #569
5398    InstInfo::new(7, 13, Encoding::ExtRm as u8, 0x35, 2, 0), // #570
5399    InstInfo::new(7, 13, Encoding::ExtRm as u8, 0x33, 2, 0), // #571
5400    InstInfo::new(8, 13, Encoding::ExtRm as u8, 0x34, 2, 0), // #572
5401    InstInfo::new(6, 13, Encoding::ExtRm as u8, 0x28, 2, 0), // #573
5402    InstInfo::new(149, 103, Encoding::ExtRm_P as u8, 0x0B, 1, 0), // #574
5403    InstInfo::new(153, 58, Encoding::Ext3dNow as u8, 0xB7, 88, 0), // #575
5404    InstInfo::new(149, 104, Encoding::ExtRm_P as u8, 0xE4, 5, 0), // #576
5405    InstInfo::new(149, 98, Encoding::ExtRm_P as u8, 0xE5, 5, 0), // #577
5406    InstInfo::new(6, 13, Encoding::ExtRm as u8, 0x40, 2, 0), // #578
5407    InstInfo::new(149, 98, Encoding::ExtRm_P as u8, 0xD5, 5, 0), // #579
5408    InstInfo::new(149, 5, Encoding::ExtRm_P as u8, 0xF4, 5, 0), // #580
5409    InstInfo::new(168, 0, Encoding::X86Pop as u8, 0x8F, 0, 67), // #581
5410    InstInfo::new(84, 0, Encoding::X86Op as u8, 0x61, 21, 0), // #582
5411    InstInfo::new(84, 0, Encoding::X86Op as u8, 0x61, 0, 0), // #583
5412    InstInfo::new(23, 111, Encoding::X86Rm_Raw66H as u8, 0xB8, 7, 0), // #584
5413    InstInfo::new(31, 112, Encoding::X86Op as u8, 0x9D, 21, 0), // #585
5414    InstInfo::new(84, 112, Encoding::X86Op as u8, 0x9D, 0, 0), // #586
5415    InstInfo::new(34, 112, Encoding::X86Op as u8, 0x9D, 0, 0), // #587
5416    InstInfo::new(151, 98, Encoding::ExtRm_P as u8, 0xEB, 5, 0), // #588
5417    InstInfo::new(32, 58, Encoding::X86M_Only as u8, 0x0D, 5, 0), // #589
5418    InstInfo::new(73, 113, Encoding::X86M_Only as u8, 0x18, 24, 0), // #590
5419    InstInfo::new(73, 113, Encoding::X86M_Only as u8, 0x18, 82, 0), // #591
5420    InstInfo::new(32, 6, Encoding::X86M_Only as u8, 0x18, 5, 0), // #592
5421    InstInfo::new(32, 6, Encoding::X86M_Only as u8, 0x18, 32, 0), // #593
5422    InstInfo::new(32, 6, Encoding::X86M_Only as u8, 0x18, 78, 0), // #594
5423    InstInfo::new(32, 6, Encoding::X86M_Only as u8, 0x18, 80, 0), // #595
5424    InstInfo::new(32, 114, Encoding::X86M_Only as u8, 0x0D, 32, 0), // #596
5425    InstInfo::new(32, 115, Encoding::X86M_Only as u8, 0x0D, 78, 0), // #597
5426    InstInfo::new(149, 104, Encoding::ExtRm_P as u8, 0xF6, 5, 0), // #598
5427    InstInfo::new(149, 103, Encoding::ExtRm_P as u8, 0x00, 1, 0), // #599
5428    InstInfo::new(9, 5, Encoding::ExtRmi as u8, 0x70, 4, 0), // #600
5429    InstInfo::new(9, 5, Encoding::ExtRmi as u8, 0x70, 7, 0), // #601
5430    InstInfo::new(9, 5, Encoding::ExtRmi as u8, 0x70, 6, 0), // #602
5431    InstInfo::new(169, 90, Encoding::ExtRmi_P as u8, 0x70, 5, 0), // #603
5432    InstInfo::new(149, 103, Encoding::ExtRm_P as u8, 0x08, 1, 0), // #604
5433    InstInfo::new(149, 103, Encoding::ExtRm_P as u8, 0x0A, 1, 0), // #605
5434    InstInfo::new(149, 103, Encoding::ExtRm_P as u8, 0x09, 1, 0), // #606
5435    InstInfo::new(170, 98, Encoding::ExtRmRi_P as u8, 0xF2, 5, 68), // #607
5436    InstInfo::new(171, 5, Encoding::ExtRmRi as u8, 0x00, 0, 69), // #608
5437    InstInfo::new(170, 98, Encoding::ExtRmRi_P as u8, 0xF3, 5, 70), // #609
5438    InstInfo::new(170, 98, Encoding::ExtRmRi_P as u8, 0xF1, 5, 71), // #610
5439    InstInfo::new(34, 116, Encoding::X86Op as u8, 0xFF, 27, 0), // #611
5440    InstInfo::new(170, 98, Encoding::ExtRmRi_P as u8, 0xE2, 5, 72), // #612
5441    InstInfo::new(170, 98, Encoding::ExtRmRi_P as u8, 0xE1, 5, 73), // #613
5442    InstInfo::new(170, 98, Encoding::ExtRmRi_P as u8, 0xD2, 5, 74), // #614
5443    InstInfo::new(171, 5, Encoding::ExtRmRi as u8, 0x00, 0, 75), // #615
5444    InstInfo::new(170, 98, Encoding::ExtRmRi_P as u8, 0xD3, 5, 76), // #616
5445    InstInfo::new(170, 98, Encoding::ExtRmRi_P as u8, 0xD1, 5, 77), // #617
5446    InstInfo::new(152, 98, Encoding::ExtRm_P as u8, 0xF8, 5, 0), // #618
5447    InstInfo::new(152, 98, Encoding::ExtRm_P as u8, 0xFA, 5, 0), // #619
5448    InstInfo::new(152, 5, Encoding::ExtRm_P as u8, 0xFB, 5, 0), // #620
5449    InstInfo::new(152, 98, Encoding::ExtRm_P as u8, 0xE8, 5, 0), // #621
5450    InstInfo::new(152, 98, Encoding::ExtRm_P as u8, 0xE9, 5, 0), // #622
5451    InstInfo::new(152, 98, Encoding::ExtRm_P as u8, 0xD8, 5, 0), // #623
5452    InstInfo::new(152, 98, Encoding::ExtRm_P as u8, 0xD9, 5, 0), // #624
5453    InstInfo::new(152, 98, Encoding::ExtRm_P as u8, 0xF9, 5, 0), // #625
5454    InstInfo::new(153, 109, Encoding::Ext3dNow as u8, 0xBB, 88, 0), // #626
5455    InstInfo::new(6, 117, Encoding::ExtRm as u8, 0x17, 2, 0), // #627
5456    InstInfo::new(172, 118, Encoding::X86M as u8, 0xAE, 92, 0), // #628
5457    InstInfo::new(149, 98, Encoding::ExtRm_P as u8, 0x68, 5, 0), // #629
5458    InstInfo::new(149, 98, Encoding::ExtRm_P as u8, 0x6A, 5, 0), // #630
5459    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0x6D, 4, 0), // #631
5460    InstInfo::new(149, 98, Encoding::ExtRm_P as u8, 0x69, 5, 0), // #632
5461    InstInfo::new(173, 98, Encoding::ExtRm_P as u8, 0x60, 5, 0), // #633
5462    InstInfo::new(173, 98, Encoding::ExtRm_P as u8, 0x62, 5, 0), // #634
5463    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0x6C, 4, 0), // #635
5464    InstInfo::new(173, 98, Encoding::ExtRm_P as u8, 0x61, 5, 0), // #636
5465    InstInfo::new(174, 0, Encoding::X86Push as u8, 0xFF, 34, 78), // #637
5466    InstInfo::new(84, 0, Encoding::X86Op as u8, 0x60, 21, 0), // #638
5467    InstInfo::new(84, 0, Encoding::X86Op as u8, 0x60, 0, 0), // #639
5468    InstInfo::new(31, 119, Encoding::X86Op as u8, 0x9C, 21, 0), // #640
5469    InstInfo::new(84, 119, Encoding::X86Op as u8, 0x9C, 0, 0), // #641
5470    InstInfo::new(34, 119, Encoding::X86Op as u8, 0x9C, 0, 0), // #642
5471    InstInfo::new(175, 0, Encoding::X86Pushw as u8, 0xFF, 34, 78), // #643
5472    InstInfo::new(31, 120, Encoding::X86Op as u8, 0xFF, 93, 0), // #644
5473    InstInfo::new(152, 98, Encoding::ExtRm_P as u8, 0xEF, 5, 0), // #645
5474    InstInfo::new(176, 121, Encoding::X86Rot as u8, 0xD0, 3, 0), // #646
5475    InstInfo::new(6, 6, Encoding::ExtRm as u8, 0x53, 5, 0), // #647
5476    InstInfo::new(8, 6, Encoding::ExtRm as u8, 0x53, 7, 0), // #648
5477    InstInfo::new(176, 121, Encoding::X86Rot as u8, 0xD0, 77, 0), // #649
5478    InstInfo::new(177, 122, Encoding::X86M as u8, 0xAE, 7, 0), // #650
5479    InstInfo::new(177, 122, Encoding::X86M as u8, 0xAE, 94, 0), // #651
5480    InstInfo::new(178, 123, Encoding::X86Op as u8, 0x32, 5, 0), // #652
5481    InstInfo::new(179, 124, Encoding::X86R_Native as u8, 0xC7, 95, 0), // #653
5482    InstInfo::new(180, 125, Encoding::X86Op as u8, 0xEE, 23, 0), // #654
5483    InstInfo::new(180, 0, Encoding::X86Op as u8, 0x33, 5, 0), // #655
5484    InstInfo::new(180, 126, Encoding::X86Op as u8, 0xFD, 23, 0), // #656
5485    InstInfo::new(24, 127, Encoding::X86M as u8, 0xC7, 82, 0), // #657
5486    InstInfo::new(24, 128, Encoding::X86M as u8, 0xC7, 24, 0), // #658
5487    InstInfo::new(79, 65, Encoding::X86M as u8, 0x1E, 94, 0), // #659
5488    InstInfo::new(80, 65, Encoding::X86M as u8, 0x1E, 94, 0), // #660
5489    InstInfo::new(29, 129, Encoding::X86Op as u8, 0x31, 5, 0), // #661
5490    InstInfo::new(180, 130, Encoding::X86Op as u8, 0xF9, 23, 0), // #662
5491    InstInfo::new(181, 0, Encoding::X86Ret as u8, 0xC2, 0, 0), // #663
5492    InstInfo::new(182, 0, Encoding::X86Ret as u8, 0xCA, 0, 0), // #664
5493    InstInfo::new(34, 116, Encoding::X86Op as u8, 0xFE, 27, 0), // #665
5494    InstInfo::new(34, 116, Encoding::X86Op as u8, 0xFE, 93, 0), // #666
5495    InstInfo::new(176, 131, Encoding::X86Rot as u8, 0xD0, 0, 0), // #667
5496    InstInfo::new(176, 131, Encoding::X86Rot as u8, 0xD0, 33, 0), // #668
5497    InstInfo::new(183, 102, Encoding::VexRmi_Wx as u8, 0xF0, 96, 0), // #669
5498    InstInfo::new(9, 13, Encoding::ExtRmi as u8, 0x09, 9, 0), // #670
5499    InstInfo::new(9, 13, Encoding::ExtRmi as u8, 0x08, 9, 0), // #671
5500    InstInfo::new(39, 13, Encoding::ExtRmi as u8, 0x0B, 9, 0), // #672
5501    InstInfo::new(40, 13, Encoding::ExtRmi as u8, 0x0A, 9, 0), // #673
5502    InstInfo::new(84, 1, Encoding::X86Op as u8, 0xAA, 5, 0), // #674
5503    InstInfo::new(6, 6, Encoding::ExtRm as u8, 0x52, 5, 0), // #675
5504    InstInfo::new(8, 6, Encoding::ExtRm as u8, 0x52, 7, 0), // #676
5505    InstInfo::new(33, 25, Encoding::X86M_Only as u8, 0x01, 65, 0), // #677
5506    InstInfo::new(101, 132, Encoding::X86Op as u8, 0x9E, 0, 0), // #678
5507    InstInfo::new(176, 1, Encoding::X86Rot as u8, 0xD0, 29, 0), // #679
5508    InstInfo::new(14, 102, Encoding::VexRmv_Wx as u8, 0xF7, 89, 0), // #680
5509    InstInfo::new(31, 25, Encoding::X86Op as u8, 0xEA, 27, 0), // #681
5510    InstInfo::new(184, 3, Encoding::X86Arith as u8, 0x18, 77, 0), // #682
5511    InstInfo::new(185, 39, Encoding::X86StrRm as u8, 0xAE, 0, 0), // #683
5512    InstInfo::new(31, 133, Encoding::X86Op as u8, 0xCF, 97, 0), // #684
5513    InstInfo::new(31, 133, Encoding::X86Op as u8, 0xCE, 97, 0), // #685
5514    InstInfo::new(31, 133, Encoding::X86Op as u8, 0xCD, 97, 0), // #686
5515    InstInfo::new(80, 26, Encoding::X86M_NoSize as u8, 0xC7, 26, 0), // #687
5516    InstInfo::new(31, 134, Encoding::X86Op as u8, 0xE8, 23, 0), // #688
5517    InstInfo::new(186, 69, Encoding::X86Set as u8, 0x92, 5, 0), // #689
5518    InstInfo::new(186, 70, Encoding::X86Set as u8, 0x96, 5, 0), // #690
5519    InstInfo::new(186, 71, Encoding::X86Set as u8, 0x9C, 5, 0), // #691
5520    InstInfo::new(186, 72, Encoding::X86Set as u8, 0x9E, 5, 0), // #692
5521    InstInfo::new(186, 69, Encoding::X86Set as u8, 0x93, 5, 0), // #693
5522    InstInfo::new(186, 70, Encoding::X86Set as u8, 0x97, 5, 0), // #694
5523    InstInfo::new(186, 71, Encoding::X86Set as u8, 0x9D, 5, 0), // #695
5524    InstInfo::new(186, 72, Encoding::X86Set as u8, 0x9F, 5, 0), // #696
5525    InstInfo::new(186, 66, Encoding::X86Set as u8, 0x91, 5, 0), // #697
5526    InstInfo::new(186, 73, Encoding::X86Set as u8, 0x9B, 5, 0), // #698
5527    InstInfo::new(186, 74, Encoding::X86Set as u8, 0x99, 5, 0), // #699
5528    InstInfo::new(186, 75, Encoding::X86Set as u8, 0x95, 5, 0), // #700
5529    InstInfo::new(186, 66, Encoding::X86Set as u8, 0x90, 5, 0), // #701
5530    InstInfo::new(186, 73, Encoding::X86Set as u8, 0x9A, 5, 0), // #702
5531    InstInfo::new(186, 74, Encoding::X86Set as u8, 0x98, 5, 0), // #703
5532    InstInfo::new(31, 65, Encoding::X86Op as u8, 0xE8, 27, 0), // #704
5533    InstInfo::new(186, 75, Encoding::X86Set as u8, 0x94, 5, 0), // #705
5534    InstInfo::new(31, 6, Encoding::X86Fence as u8, 0xAE, 24, 0), // #706
5535    InstInfo::new(32, 0, Encoding::X86M_Only as u8, 0x01, 5, 0), // #707
5536    InstInfo::new(6, 135, Encoding::ExtRm as u8, 0xC9, 1, 0), // #708
5537    InstInfo::new(6, 135, Encoding::ExtRm as u8, 0xCA, 1, 0), // #709
5538    InstInfo::new(6, 135, Encoding::ExtRm as u8, 0xC8, 1, 0), // #710
5539    InstInfo::new(9, 135, Encoding::ExtRmi as u8, 0xCC, 86, 0), // #711
5540    InstInfo::new(6, 135, Encoding::ExtRm as u8, 0xCC, 1, 0), // #712
5541    InstInfo::new(6, 135, Encoding::ExtRm as u8, 0xCD, 1, 0), // #713
5542    InstInfo::new(16, 135, Encoding::ExtRm_XMM0 as u8, 0xCB, 1, 0), // #714
5543    InstInfo::new(176, 1, Encoding::X86Rot as u8, 0xD0, 10, 0), // #715
5544    InstInfo::new(187, 1, Encoding::X86ShldShrd as u8, 0xA4, 5, 0), // #716
5545    InstInfo::new(14, 102, Encoding::VexRmv_Wx as u8, 0xF7, 30, 0), // #717
5546    InstInfo::new(176, 1, Encoding::X86Rot as u8, 0xD0, 64, 0), // #718
5547    InstInfo::new(187, 1, Encoding::X86ShldShrd as u8, 0xAC, 5, 0), // #719
5548    InstInfo::new(14, 102, Encoding::VexRmv_Wx as u8, 0xF7, 85, 0), // #720
5549    InstInfo::new(9, 5, Encoding::ExtRmi as u8, 0xC6, 4, 0), // #721
5550    InstInfo::new(9, 6, Encoding::ExtRmi as u8, 0xC6, 5, 0), // #722
5551    InstInfo::new(32, 0, Encoding::X86M_Only as u8, 0x01, 32, 0), // #723
5552    InstInfo::new(54, 136, Encoding::X86Op_xAX as u8, 0xDE, 23, 0), // #724
5553    InstInfo::new(188, 0, Encoding::X86M_NoMemSize as u8, 0x00, 5, 0), // #725
5554    InstInfo::new(112, 87, Encoding::VexR_Wx as u8, 0x12, 13, 0), // #726
5555    InstInfo::new(188, 0, Encoding::X86M_NoMemSize as u8, 0x01, 98, 0), // #727
5556    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0x51, 4, 0), // #728
5557    InstInfo::new(6, 6, Encoding::ExtRm as u8, 0x51, 5, 0), // #729
5558    InstInfo::new(7, 5, Encoding::ExtRm as u8, 0x51, 6, 0), // #730
5559    InstInfo::new(8, 6, Encoding::ExtRm as u8, 0x51, 7, 0), // #731
5560    InstInfo::new(31, 17, Encoding::X86Op as u8, 0xCB, 23, 0), // #732
5561    InstInfo::new(31, 18, Encoding::X86Op as u8, 0xF9, 0, 0), // #733
5562    InstInfo::new(31, 19, Encoding::X86Op as u8, 0xFD, 0, 0), // #734
5563    InstInfo::new(31, 136, Encoding::X86Op as u8, 0xDC, 23, 0), // #735
5564    InstInfo::new(31, 24, Encoding::X86Op as u8, 0xFB, 0, 0), // #736
5565    InstInfo::new(105, 6, Encoding::X86M_Only as u8, 0xAE, 80, 0), // #737
5566    InstInfo::new(189, 88, Encoding::X86StrMr as u8, 0xAA, 0, 0), // #738
5567    InstInfo::new(188, 0, Encoding::X86M_NoMemSize as u8, 0x00, 32, 0), // #739
5568    InstInfo::new(107, 86, Encoding::AmxCfg as u8, 0x49, 30, 0), // #740
5569    InstInfo::new(34, 26, Encoding::X86Op as u8, 0xEF, 27, 0), // #741
5570    InstInfo::new(184, 1, Encoding::X86Arith as u8, 0x28, 64, 0), // #742
5571    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0x5C, 4, 0), // #743
5572    InstInfo::new(6, 6, Encoding::ExtRm as u8, 0x5C, 5, 0), // #744
5573    InstInfo::new(7, 5, Encoding::ExtRm as u8, 0x5C, 6, 0), // #745
5574    InstInfo::new(8, 6, Encoding::ExtRm as u8, 0x5C, 7, 0), // #746
5575    InstInfo::new(34, 0, Encoding::X86Op as u8, 0xF8, 23, 0), // #747
5576    InstInfo::new(34, 0, Encoding::X86Op as u8, 0x05, 5, 0), // #748
5577    InstInfo::new(31, 0, Encoding::X86Op as u8, 0x34, 5, 0), // #749
5578    InstInfo::new(31, 0, Encoding::X86Op as u8, 0x35, 5, 0), // #750
5579    InstInfo::new(34, 0, Encoding::X86Op as u8, 0x35, 62, 0), // #751
5580    InstInfo::new(34, 0, Encoding::X86Op as u8, 0x07, 5, 0), // #752
5581    InstInfo::new(34, 0, Encoding::X86Op as u8, 0x07, 62, 0), // #753
5582    InstInfo::new(15, 12, Encoding::VexVm_Wx as u8, 0x01, 99, 0), // #754
5583    InstInfo::new(190, 137, Encoding::AmxRmv as u8, 0x6C, 30, 0), // #755
5584    InstInfo::new(190, 137, Encoding::AmxRmv as u8, 0x6C, 11, 0), // #756
5585    InstInfo::new(31, 133, Encoding::X86Op as u8, 0xCC, 97, 0), // #757
5586    InstInfo::new(190, 138, Encoding::AmxRmv as u8, 0x5C, 89, 0), // #758
5587    InstInfo::new(190, 139, Encoding::AmxRmv as u8, 0x5E, 85, 0), // #759
5588    InstInfo::new(190, 139, Encoding::AmxRmv as u8, 0x5E, 89, 0), // #760
5589    InstInfo::new(190, 139, Encoding::AmxRmv as u8, 0x5E, 30, 0), // #761
5590    InstInfo::new(190, 139, Encoding::AmxRmv as u8, 0x5E, 11, 0), // #762
5591    InstInfo::new(190, 140, Encoding::AmxRmv as u8, 0x5C, 85, 0), // #763
5592    InstInfo::new(191, 1, Encoding::X86Test as u8, 0x84, 0, 79), // #764
5593    InstInfo::new(34, 141, Encoding::X86Op as u8, 0xED, 27, 0), // #765
5594    InstInfo::new(192, 86, Encoding::AmxRm as u8, 0x4B, 85, 0), // #766
5595    InstInfo::new(192, 86, Encoding::AmxRm as u8, 0x4B, 30, 0), // #767
5596    InstInfo::new(193, 86, Encoding::VexOpMod as u8, 0x49, 11, 0), // #768
5597    InstInfo::new(194, 86, Encoding::AmxMr as u8, 0x4B, 89, 0), // #769
5598    InstInfo::new(195, 86, Encoding::AmxR as u8, 0x49, 85, 0), // #770
5599    InstInfo::new(31, 68, Encoding::X86Op as u8, 0xFF, 23, 0), // #771
5600    InstInfo::new(196, 142, Encoding::X86R32_EDX_EAX as u8, 0xAE, 28, 0), // #772
5601    InstInfo::new(23, 10, Encoding::X86Rm_Raw66H as u8, 0xBC, 7, 0), // #773
5602    InstInfo::new(15, 12, Encoding::VexVm_Wx as u8, 0x01, 100, 0), // #774
5603    InstInfo::new(7, 43, Encoding::ExtRm as u8, 0x2E, 4, 0), // #775
5604    InstInfo::new(8, 44, Encoding::ExtRm as u8, 0x2E, 5, 0), // #776
5605    InstInfo::new(197, 0, Encoding::X86Rm as u8, 0xFF, 5, 0), // #777
5606    InstInfo::new(197, 0, Encoding::X86Rm as u8, 0xB9, 5, 0), // #778
5607    InstInfo::new(31, 0, Encoding::X86Op as u8, 0x0B, 5, 0), // #779
5608    InstInfo::new(34, 26, Encoding::X86Op as u8, 0xEC, 27, 0), // #780
5609    InstInfo::new(198, 143, Encoding::X86R_FromM as u8, 0xAE, 26, 0), // #781
5610    InstInfo::new(196, 142, Encoding::X86R32_EDX_EAX as u8, 0xAE, 101, 0), // #782
5611    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0x15, 4, 0), // #783
5612    InstInfo::new(6, 6, Encoding::ExtRm as u8, 0x15, 5, 0), // #784
5613    InstInfo::new(6, 5, Encoding::ExtRm as u8, 0x14, 4, 0), // #785
5614    InstInfo::new(6, 6, Encoding::ExtRm as u8, 0x14, 5, 0), // #786
5615    InstInfo::new(199, 144, Encoding::VexRvm_Lx as u8, 0x58, 102, 0), // #787
5616    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0x58, 103, 0), // #788
5617    InstInfo::new(201, 144, Encoding::VexRvm_Lx as u8, 0x58, 104, 0), // #789
5618    InstInfo::new(202, 144, Encoding::VexRvm as u8, 0x58, 105, 0), // #790
5619    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0x58, 106, 0), // #791
5620    InstInfo::new(204, 144, Encoding::VexRvm as u8, 0x58, 107, 0), // #792
5621    InstInfo::new(205, 146, Encoding::VexRvm_Lx as u8, 0xD0, 71, 0), // #793
5622    InstInfo::new(205, 146, Encoding::VexRvm_Lx as u8, 0xD0, 108, 0), // #794
5623    InstInfo::new(206, 147, Encoding::VexRvm_Lx as u8, 0xDE, 109, 0), // #795
5624    InstInfo::new(206, 147, Encoding::VexRvm_Lx as u8, 0xDF, 109, 0), // #796
5625    InstInfo::new(206, 147, Encoding::VexRvm_Lx as u8, 0xDC, 109, 0), // #797
5626    InstInfo::new(206, 147, Encoding::VexRvm_Lx as u8, 0xDD, 109, 0), // #798
5627    InstInfo::new(207, 148, Encoding::VexRm as u8, 0xDB, 30, 0), // #799
5628    InstInfo::new(208, 148, Encoding::VexRmi as u8, 0xDF, 75, 0), // #800
5629    InstInfo::new(209, 149, Encoding::VexRvmi_Lx as u8, 0x03, 110, 0), // #801
5630    InstInfo::new(210, 149, Encoding::VexRvmi_Lx as u8, 0x03, 111, 0), // #802
5631    InstInfo::new(211, 150, Encoding::VexRvm_Lx as u8, 0x55, 102, 0), // #803
5632    InstInfo::new(212, 150, Encoding::VexRvm_Lx as u8, 0x55, 104, 0), // #804
5633    InstInfo::new(213, 150, Encoding::VexRvm_Lx as u8, 0x54, 102, 0), // #805
5634    InstInfo::new(214, 150, Encoding::VexRvm_Lx as u8, 0x54, 104, 0), // #806
5635    InstInfo::new(215, 151, Encoding::VexRm_Lx as u8, 0xB1, 89, 0), // #807
5636    InstInfo::new(215, 151, Encoding::VexRm_Lx as u8, 0xB1, 30, 0), // #808
5637    InstInfo::new(216, 149, Encoding::VexRvm_Lx as u8, 0x65, 112, 0), // #809
5638    InstInfo::new(217, 149, Encoding::VexRvm_Lx as u8, 0x65, 113, 0), // #810
5639    InstInfo::new(218, 146, Encoding::VexRvmi_Lx as u8, 0x0D, 75, 0), // #811
5640    InstInfo::new(218, 146, Encoding::VexRvmi_Lx as u8, 0x0C, 75, 0), // #812
5641    InstInfo::new(219, 146, Encoding::VexRvmr_Lx as u8, 0x4B, 75, 0), // #813
5642    InstInfo::new(219, 146, Encoding::VexRvmr_Lx as u8, 0x4A, 75, 0), // #814
5643    InstInfo::new(220, 146, Encoding::VexRm as u8, 0x1A, 114, 0), // #815
5644    InstInfo::new(221, 152, Encoding::VexRm_Lx as u8, 0x19, 115, 0), // #816
5645    InstInfo::new(222, 149, Encoding::VexRm_Lx as u8, 0x1A, 116, 0), // #817
5646    InstInfo::new(223, 152, Encoding::VexRm as u8, 0x1B, 117, 0), // #818
5647    InstInfo::new(222, 152, Encoding::VexRm_Lx as u8, 0x1A, 118, 0), // #819
5648    InstInfo::new(223, 149, Encoding::VexRm as u8, 0x1B, 119, 0), // #820
5649    InstInfo::new(220, 153, Encoding::VexRm as u8, 0x5A, 114, 0), // #821
5650    InstInfo::new(224, 152, Encoding::VexRm_Lx as u8, 0x59, 115, 0), // #822
5651    InstInfo::new(222, 149, Encoding::VexRm_Lx as u8, 0x5A, 116, 0), // #823
5652    InstInfo::new(223, 152, Encoding::VexRm as u8, 0x5B, 117, 0), // #824
5653    InstInfo::new(222, 152, Encoding::VexRm_Lx as u8, 0x5A, 118, 0), // #825
5654    InstInfo::new(223, 149, Encoding::VexRm as u8, 0x5B, 119, 0), // #826
5655    InstInfo::new(225, 154, Encoding::VexRm_Lx as u8, 0x19, 120, 0), // #827
5656    InstInfo::new(226, 154, Encoding::VexRm_Lx as u8, 0x18, 121, 0), // #828
5657    InstInfo::new(227, 144, Encoding::VexRvmi_Lx_KEvex as u8, 0xC2, 102, 0), // #829
5658    InstInfo::new(228, 145, Encoding::VexRvmi_Lx_KEvex as u8, 0xC2, 122, 0), // #830
5659    InstInfo::new(229, 144, Encoding::VexRvmi_Lx_KEvex as u8, 0xC2, 104, 0), // #831
5660    InstInfo::new(230, 144, Encoding::VexRvmi_KEvex as u8, 0xC2, 105, 0), // #832
5661    InstInfo::new(231, 145, Encoding::VexRvmi_KEvex as u8, 0xC2, 123, 0), // #833
5662    InstInfo::new(232, 144, Encoding::VexRvmi_KEvex as u8, 0xC2, 107, 0), // #834
5663    InstInfo::new(233, 155, Encoding::VexRm as u8, 0x2F, 124, 0), // #835
5664    InstInfo::new(234, 156, Encoding::VexRm as u8, 0x2F, 125, 0), // #836
5665    InstInfo::new(235, 155, Encoding::VexRm as u8, 0x2F, 126, 0), // #837
5666    InstInfo::new(236, 149, Encoding::VexMr_Lx as u8, 0x8A, 127, 0), // #838
5667    InstInfo::new(236, 149, Encoding::VexMr_Lx as u8, 0x8A, 128, 0), // #839
5668    InstInfo::new(237, 144, Encoding::VexRm_Lx as u8, 0xE6, 129, 0), // #840
5669    InstInfo::new(238, 145, Encoding::VexRm_Lx_Narrow as u8, 0x5B, 103, 0), // #841
5670    InstInfo::new(239, 144, Encoding::VexRm_Lx as u8, 0x5B, 104, 0), // #842
5671    InstInfo::new(217, 157, Encoding::VexRvm_Lx as u8, 0x72, 130, 0), // #843
5672    InstInfo::new(240, 151, Encoding::VexRm_Lx as u8, 0xB0, 89, 0), // #844
5673    InstInfo::new(240, 151, Encoding::VexRm_Lx as u8, 0xB0, 30, 0), // #845
5674    InstInfo::new(240, 151, Encoding::VexRm_Lx as u8, 0xB0, 85, 0), // #846
5675    InstInfo::new(240, 151, Encoding::VexRm_Lx as u8, 0xB0, 11, 0), // #847
5676    InstInfo::new(241, 158, Encoding::VexRm_Lx_Narrow as u8, 0x72, 131, 0), // #848
5677    InstInfo::new(242, 144, Encoding::VexRm_Lx_Narrow as u8, 0xE6, 132, 0), // #849
5678    InstInfo::new(243, 145, Encoding::VexRm_Lx as u8, 0x5A, 133, 0), // #850
5679    InstInfo::new(242, 144, Encoding::VexRm_Lx_Narrow as u8, 0x5A, 102, 0), // #851
5680    InstInfo::new(244, 152, Encoding::VexRm_Lx as u8, 0x7B, 134, 0), // #852
5681    InstInfo::new(245, 149, Encoding::VexRm_Lx_Narrow as u8, 0x79, 135, 0), // #853
5682    InstInfo::new(244, 152, Encoding::VexRm_Lx as u8, 0x79, 134, 0), // #854
5683    InstInfo::new(246, 145, Encoding::VexRm_Lx as u8, 0x5B, 136, 0), // #855
5684    InstInfo::new(247, 145, Encoding::VexRm_Lx as u8, 0x5A, 137, 0), // #856
5685    InstInfo::new(248, 159, Encoding::VexRm_Lx as u8, 0x13, 138, 0), // #857
5686    InstInfo::new(249, 145, Encoding::VexRm_Lx as u8, 0x13, 139, 0), // #858
5687    InstInfo::new(250, 145, Encoding::VexRm_Lx as u8, 0x7B, 140, 0), // #859
5688    InstInfo::new(246, 145, Encoding::VexRm_Lx as u8, 0x79, 141, 0), // #860
5689    InstInfo::new(250, 145, Encoding::VexRm_Lx as u8, 0x79, 140, 0), // #861
5690    InstInfo::new(251, 145, Encoding::VexRm_Lx as u8, 0x7D, 103, 0), // #862
5691    InstInfo::new(251, 145, Encoding::VexRm_Lx as u8, 0x7D, 142, 0), // #863
5692    InstInfo::new(239, 144, Encoding::VexRm_Lx as u8, 0x5B, 143, 0), // #864
5693    InstInfo::new(252, 144, Encoding::VexRm_Lx as u8, 0x5A, 144, 0), // #865
5694    InstInfo::new(253, 159, Encoding::VexMri_Lx as u8, 0x1D, 145, 0), // #866
5695    InstInfo::new(238, 145, Encoding::VexRm_Lx_Narrow as u8, 0x1D, 142, 0), // #867
5696    InstInfo::new(254, 152, Encoding::VexRm_Lx as u8, 0x7B, 146, 0), // #868
5697    InstInfo::new(255, 149, Encoding::VexRm_Lx as u8, 0x79, 147, 0), // #869
5698    InstInfo::new(254, 152, Encoding::VexRm_Lx as u8, 0x79, 146, 0), // #870
5699    InstInfo::new(244, 152, Encoding::VexRm_Lx as u8, 0xE6, 148, 0), // #871
5700    InstInfo::new(243, 145, Encoding::VexRm_Lx as u8, 0x5B, 149, 0), // #872
5701    InstInfo::new(245, 152, Encoding::VexRm_Lx_Narrow as u8, 0x5B, 135, 0), // #873
5702    InstInfo::new(256, 145, Encoding::VexRvm as u8, 0x5A, 150, 0), // #874
5703    InstInfo::new(257, 144, Encoding::VexRm_Wx as u8, 0x2D, 151, 0), // #875
5704    InstInfo::new(202, 144, Encoding::VexRvm as u8, 0x5A, 105, 0), // #876
5705    InstInfo::new(258, 149, Encoding::VexRm_Wx as u8, 0x79, 152, 0), // #877
5706    InstInfo::new(259, 145, Encoding::VexRvm as u8, 0x5A, 106, 0), // #878
5707    InstInfo::new(260, 145, Encoding::VexRm_Wx as u8, 0x2D, 106, 0), // #879
5708    InstInfo::new(259, 145, Encoding::VexRvm as u8, 0x13, 153, 0), // #880
5709    InstInfo::new(260, 145, Encoding::VexRm_Wx as u8, 0x79, 106, 0), // #881
5710    InstInfo::new(261, 144, Encoding::VexRvm_Wx as u8, 0x2A, 154, 0), // #882
5711    InstInfo::new(262, 145, Encoding::VexRvm_Wx as u8, 0x2A, 155, 0), // #883
5712    InstInfo::new(261, 144, Encoding::VexRvm_Wx as u8, 0x2A, 156, 0), // #884
5713    InstInfo::new(263, 144, Encoding::VexRvm as u8, 0x5A, 107, 0), // #885
5714    InstInfo::new(264, 145, Encoding::VexRvm as u8, 0x1D, 157, 0), // #886
5715    InstInfo::new(265, 144, Encoding::VexRm_Wx as u8, 0x2D, 107, 0), // #887
5716    InstInfo::new(266, 149, Encoding::VexRm_Wx as u8, 0x79, 158, 0), // #888
5717    InstInfo::new(267, 144, Encoding::VexRm_Lx_Narrow as u8, 0xE6, 102, 0), // #889
5718    InstInfo::new(268, 149, Encoding::VexRm_Lx as u8, 0x7A, 134, 0), // #890
5719    InstInfo::new(269, 149, Encoding::VexRm_Lx_Narrow as u8, 0x78, 135, 0), // #891
5720    InstInfo::new(268, 152, Encoding::VexRm_Lx as u8, 0x78, 134, 0), // #892
5721    InstInfo::new(249, 145, Encoding::VexRm_Lx as u8, 0x5B, 159, 0), // #893
5722    InstInfo::new(247, 145, Encoding::VexRm_Lx as u8, 0x7A, 140, 0), // #894
5723    InstInfo::new(249, 145, Encoding::VexRm_Lx as u8, 0x78, 141, 0), // #895
5724    InstInfo::new(247, 145, Encoding::VexRm_Lx as u8, 0x78, 140, 0), // #896
5725    InstInfo::new(270, 145, Encoding::VexRm_Lx as u8, 0x7C, 103, 0), // #897
5726    InstInfo::new(270, 145, Encoding::VexRm_Lx as u8, 0x7C, 142, 0), // #898
5727    InstInfo::new(271, 144, Encoding::VexRm_Lx as u8, 0x5B, 160, 0), // #899
5728    InstInfo::new(272, 152, Encoding::VexRm_Lx as u8, 0x7A, 146, 0), // #900
5729    InstInfo::new(273, 149, Encoding::VexRm_Lx as u8, 0x78, 147, 0), // #901
5730    InstInfo::new(272, 152, Encoding::VexRm_Lx as u8, 0x78, 146, 0), // #902
5731    InstInfo::new(274, 144, Encoding::VexRm_Wx as u8, 0x2C, 151, 0), // #903
5732    InstInfo::new(275, 149, Encoding::VexRm_Wx as u8, 0x78, 152, 0), // #904
5733    InstInfo::new(276, 145, Encoding::VexRm_Wx as u8, 0x2C, 106, 0), // #905
5734    InstInfo::new(276, 145, Encoding::VexRm_Wx as u8, 0x78, 106, 0), // #906
5735    InstInfo::new(277, 144, Encoding::VexRm_Wx as u8, 0x2C, 107, 0), // #907
5736    InstInfo::new(278, 149, Encoding::VexRm_Wx as u8, 0x78, 158, 0), // #908
5737    InstInfo::new(254, 149, Encoding::VexRm_Lx as u8, 0x7A, 161, 0), // #909
5738    InstInfo::new(238, 145, Encoding::VexRm_Lx_Narrow as u8, 0x7A, 162, 0), // #910
5739    InstInfo::new(255, 149, Encoding::VexRm_Lx as u8, 0x7A, 163, 0), // #911
5740    InstInfo::new(244, 152, Encoding::VexRm_Lx as u8, 0x7A, 148, 0), // #912
5741    InstInfo::new(243, 145, Encoding::VexRm_Lx as u8, 0x7A, 164, 0), // #913
5742    InstInfo::new(245, 152, Encoding::VexRm_Lx_Narrow as u8, 0x7A, 165, 0), // #914
5743    InstInfo::new(279, 149, Encoding::VexRvm_Wx as u8, 0x7B, 166, 0), // #915
5744    InstInfo::new(262, 145, Encoding::VexRvm_Wx as u8, 0x7B, 155, 0), // #916
5745    InstInfo::new(279, 149, Encoding::VexRvm_Wx as u8, 0x7B, 167, 0), // #917
5746    InstInfo::new(251, 145, Encoding::VexRm_Lx as u8, 0x7D, 162, 0), // #918
5747    InstInfo::new(251, 145, Encoding::VexRm_Lx as u8, 0x7D, 168, 0), // #919
5748    InstInfo::new(280, 160, Encoding::VexRvmi_Lx as u8, 0x42, 110, 0), // #920
5749    InstInfo::new(199, 144, Encoding::VexRvm_Lx as u8, 0x5E, 102, 0), // #921
5750    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0x5E, 103, 0), // #922
5751    InstInfo::new(201, 144, Encoding::VexRvm_Lx as u8, 0x5E, 104, 0), // #923
5752    InstInfo::new(202, 144, Encoding::VexRvm as u8, 0x5E, 105, 0), // #924
5753    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0x5E, 106, 0), // #925
5754    InstInfo::new(204, 144, Encoding::VexRvm as u8, 0x5E, 107, 0), // #926
5755    InstInfo::new(217, 157, Encoding::VexRvm_Lx as u8, 0x52, 169, 0), // #927
5756    InstInfo::new(281, 146, Encoding::VexRvmi_Lx as u8, 0x41, 75, 0), // #928
5757    InstInfo::new(218, 146, Encoding::VexRvmi_Lx as u8, 0x40, 75, 0), // #929
5758    InstInfo::new(111, 11, Encoding::X86M_NoSize as u8, 0x00, 98, 0), // #930
5759    InstInfo::new(111, 11, Encoding::X86M_NoSize as u8, 0x00, 79, 0), // #931
5760    InstInfo::new(282, 149, Encoding::VexRm_Lx as u8, 0x88, 127, 0), // #932
5761    InstInfo::new(282, 149, Encoding::VexRm_Lx as u8, 0x88, 128, 0), // #933
5762    InstInfo::new(283, 146, Encoding::VexMri as u8, 0x19, 170, 0), // #934
5763    InstInfo::new(284, 149, Encoding::VexMri_Lx as u8, 0x19, 171, 0), // #935
5764    InstInfo::new(285, 152, Encoding::VexMri as u8, 0x1B, 172, 0), // #936
5765    InstInfo::new(284, 152, Encoding::VexMri_Lx as u8, 0x19, 173, 0), // #937
5766    InstInfo::new(285, 149, Encoding::VexMri as u8, 0x1B, 174, 0), // #938
5767    InstInfo::new(283, 153, Encoding::VexMri as u8, 0x39, 170, 0), // #939
5768    InstInfo::new(284, 149, Encoding::VexMri_Lx as u8, 0x39, 171, 0), // #940
5769    InstInfo::new(285, 152, Encoding::VexMri as u8, 0x3B, 172, 0), // #941
5770    InstInfo::new(284, 152, Encoding::VexMri_Lx as u8, 0x39, 173, 0), // #942
5771    InstInfo::new(285, 149, Encoding::VexMri as u8, 0x3B, 174, 0), // #943
5772    InstInfo::new(286, 144, Encoding::VexMri as u8, 0x17, 175, 0), // #944
5773    InstInfo::new(287, 145, Encoding::VexRvm_Lx as u8, 0x56, 176, 0), // #945
5774    InstInfo::new(264, 145, Encoding::VexRvm as u8, 0x57, 177, 0), // #946
5775    InstInfo::new(287, 145, Encoding::VexRvm_Lx as u8, 0xD6, 176, 0), // #947
5776    InstInfo::new(264, 145, Encoding::VexRvm as u8, 0xD7, 177, 0), // #948
5777    InstInfo::new(288, 149, Encoding::VexRvmi_Lx as u8, 0x54, 111, 0), // #949
5778    InstInfo::new(289, 149, Encoding::VexRvmi_Lx as u8, 0x54, 110, 0), // #950
5779    InstInfo::new(290, 149, Encoding::VexRvmi as u8, 0x55, 178, 0), // #951
5780    InstInfo::new(291, 149, Encoding::VexRvmi as u8, 0x55, 179, 0), // #952
5781    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0x98, 180, 0), // #953
5782    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0x98, 181, 0), // #954
5783    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0x98, 109, 0), // #955
5784    InstInfo::new(202, 161, Encoding::VexRvm as u8, 0x99, 182, 0), // #956
5785    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0x99, 183, 0), // #957
5786    InstInfo::new(204, 161, Encoding::VexRvm as u8, 0x99, 121, 0), // #958
5787    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0xA8, 180, 0), // #959
5788    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0xA8, 181, 0), // #960
5789    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0xA8, 109, 0), // #961
5790    InstInfo::new(202, 161, Encoding::VexRvm as u8, 0xA9, 182, 0), // #962
5791    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0xA9, 183, 0), // #963
5792    InstInfo::new(204, 161, Encoding::VexRvm as u8, 0xA9, 121, 0), // #964
5793    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0xB8, 180, 0), // #965
5794    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0xB8, 181, 0), // #966
5795    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0xB8, 109, 0), // #967
5796    InstInfo::new(202, 161, Encoding::VexRvm as u8, 0xB9, 182, 0), // #968
5797    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0xB9, 183, 0), // #969
5798    InstInfo::new(204, 161, Encoding::VexRvm as u8, 0xB9, 121, 0), // #970
5799    InstInfo::new(287, 145, Encoding::VexRvm_Lx as u8, 0x56, 184, 0), // #971
5800    InstInfo::new(264, 145, Encoding::VexRvm as u8, 0x57, 185, 0), // #972
5801    InstInfo::new(292, 162, Encoding::Fma4_Lx as u8, 0x69, 75, 0), // #973
5802    InstInfo::new(292, 162, Encoding::Fma4_Lx as u8, 0x68, 75, 0), // #974
5803    InstInfo::new(293, 162, Encoding::Fma4 as u8, 0x6B, 75, 0), // #975
5804    InstInfo::new(294, 162, Encoding::Fma4 as u8, 0x6A, 75, 0), // #976
5805    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0x96, 180, 0), // #977
5806    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0x96, 181, 0), // #978
5807    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0x96, 109, 0), // #979
5808    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0xA6, 180, 0), // #980
5809    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0xA6, 181, 0), // #981
5810    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0xA6, 109, 0), // #982
5811    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0xB6, 180, 0), // #983
5812    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0xB6, 181, 0), // #984
5813    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0xB6, 109, 0), // #985
5814    InstInfo::new(292, 162, Encoding::Fma4_Lx as u8, 0x5D, 75, 0), // #986
5815    InstInfo::new(292, 162, Encoding::Fma4_Lx as u8, 0x5C, 75, 0), // #987
5816    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0x9A, 180, 0), // #988
5817    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0x9A, 181, 0), // #989
5818    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0x9A, 109, 0), // #990
5819    InstInfo::new(202, 161, Encoding::VexRvm as u8, 0x9B, 182, 0), // #991
5820    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0x9B, 183, 0), // #992
5821    InstInfo::new(204, 161, Encoding::VexRvm as u8, 0x9B, 121, 0), // #993
5822    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0xAA, 180, 0), // #994
5823    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0xAA, 181, 0), // #995
5824    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0xAA, 109, 0), // #996
5825    InstInfo::new(202, 161, Encoding::VexRvm as u8, 0xAB, 182, 0), // #997
5826    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0xAB, 183, 0), // #998
5827    InstInfo::new(204, 161, Encoding::VexRvm as u8, 0xAB, 121, 0), // #999
5828    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0xBA, 180, 0), // #1000
5829    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0xBA, 181, 0), // #1001
5830    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0xBA, 109, 0), // #1002
5831    InstInfo::new(202, 161, Encoding::VexRvm as u8, 0xBB, 182, 0), // #1003
5832    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0xBB, 183, 0), // #1004
5833    InstInfo::new(204, 161, Encoding::VexRvm as u8, 0xBB, 121, 0), // #1005
5834    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0x97, 180, 0), // #1006
5835    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0x97, 181, 0), // #1007
5836    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0x97, 109, 0), // #1008
5837    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0xA7, 180, 0), // #1009
5838    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0xA7, 181, 0), // #1010
5839    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0xA7, 109, 0), // #1011
5840    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0xB7, 180, 0), // #1012
5841    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0xB7, 181, 0), // #1013
5842    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0xB7, 109, 0), // #1014
5843    InstInfo::new(292, 162, Encoding::Fma4_Lx as u8, 0x5F, 75, 0), // #1015
5844    InstInfo::new(292, 162, Encoding::Fma4_Lx as u8, 0x5E, 75, 0), // #1016
5845    InstInfo::new(292, 162, Encoding::Fma4_Lx as u8, 0x6D, 75, 0), // #1017
5846    InstInfo::new(292, 162, Encoding::Fma4_Lx as u8, 0x6C, 75, 0), // #1018
5847    InstInfo::new(293, 162, Encoding::Fma4 as u8, 0x6F, 75, 0), // #1019
5848    InstInfo::new(294, 162, Encoding::Fma4 as u8, 0x6E, 75, 0), // #1020
5849    InstInfo::new(287, 145, Encoding::VexRvm_Lx as u8, 0xD6, 184, 0), // #1021
5850    InstInfo::new(264, 145, Encoding::VexRvm as u8, 0xD7, 185, 0), // #1022
5851    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0x9C, 180, 0), // #1023
5852    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0x9C, 181, 0), // #1024
5853    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0x9C, 109, 0), // #1025
5854    InstInfo::new(202, 161, Encoding::VexRvm as u8, 0x9D, 182, 0), // #1026
5855    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0x9D, 183, 0), // #1027
5856    InstInfo::new(204, 161, Encoding::VexRvm as u8, 0x9D, 121, 0), // #1028
5857    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0xAC, 180, 0), // #1029
5858    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0xAC, 181, 0), // #1030
5859    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0xAC, 109, 0), // #1031
5860    InstInfo::new(202, 161, Encoding::VexRvm as u8, 0xAD, 182, 0), // #1032
5861    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0xAD, 183, 0), // #1033
5862    InstInfo::new(204, 161, Encoding::VexRvm as u8, 0xAD, 121, 0), // #1034
5863    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0xBC, 180, 0), // #1035
5864    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0xBC, 181, 0), // #1036
5865    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0xBC, 109, 0), // #1037
5866    InstInfo::new(202, 161, Encoding::VexRvm as u8, 0xBD, 182, 0), // #1038
5867    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0xBD, 183, 0), // #1039
5868    InstInfo::new(204, 161, Encoding::VexRvm as u8, 0xBD, 121, 0), // #1040
5869    InstInfo::new(292, 162, Encoding::Fma4_Lx as u8, 0x79, 75, 0), // #1041
5870    InstInfo::new(292, 162, Encoding::Fma4_Lx as u8, 0x78, 75, 0), // #1042
5871    InstInfo::new(293, 162, Encoding::Fma4 as u8, 0x7B, 75, 0), // #1043
5872    InstInfo::new(294, 162, Encoding::Fma4 as u8, 0x7A, 75, 0), // #1044
5873    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0x9E, 180, 0), // #1045
5874    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0x9E, 181, 0), // #1046
5875    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0x9E, 109, 0), // #1047
5876    InstInfo::new(202, 161, Encoding::VexRvm as u8, 0x9F, 182, 0), // #1048
5877    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0x9F, 183, 0), // #1049
5878    InstInfo::new(204, 161, Encoding::VexRvm as u8, 0x9F, 121, 0), // #1050
5879    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0xAE, 180, 0), // #1051
5880    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0xAE, 181, 0), // #1052
5881    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0xAE, 109, 0), // #1053
5882    InstInfo::new(202, 161, Encoding::VexRvm as u8, 0xAF, 182, 0), // #1054
5883    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0xAF, 183, 0), // #1055
5884    InstInfo::new(204, 161, Encoding::VexRvm as u8, 0xAF, 121, 0), // #1056
5885    InstInfo::new(199, 161, Encoding::VexRvm_Lx as u8, 0xBE, 180, 0), // #1057
5886    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0xBE, 181, 0), // #1058
5887    InstInfo::new(201, 161, Encoding::VexRvm_Lx as u8, 0xBE, 109, 0), // #1059
5888    InstInfo::new(202, 161, Encoding::VexRvm as u8, 0xBF, 182, 0), // #1060
5889    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0xBF, 183, 0), // #1061
5890    InstInfo::new(204, 161, Encoding::VexRvm as u8, 0xBF, 121, 0), // #1062
5891    InstInfo::new(292, 162, Encoding::Fma4_Lx as u8, 0x7D, 75, 0), // #1063
5892    InstInfo::new(292, 162, Encoding::Fma4_Lx as u8, 0x7C, 75, 0), // #1064
5893    InstInfo::new(293, 162, Encoding::Fma4 as u8, 0x7F, 75, 0), // #1065
5894    InstInfo::new(294, 162, Encoding::Fma4 as u8, 0x7E, 75, 0), // #1066
5895    InstInfo::new(295, 152, Encoding::VexRmi_Lx as u8, 0x66, 111, 0), // #1067
5896    InstInfo::new(296, 145, Encoding::VexRmi_Lx as u8, 0x66, 122, 0), // #1068
5897    InstInfo::new(297, 152, Encoding::VexRmi_Lx as u8, 0x66, 110, 0), // #1069
5898    InstInfo::new(298, 152, Encoding::VexRmi as u8, 0x67, 178, 0), // #1070
5899    InstInfo::new(299, 145, Encoding::VexRmi as u8, 0x67, 186, 0), // #1071
5900    InstInfo::new(300, 152, Encoding::VexRmi as u8, 0x67, 179, 0), // #1072
5901    InstInfo::new(301, 163, Encoding::VexRm_Lx as u8, 0x81, 81, 0), // #1073
5902    InstInfo::new(301, 163, Encoding::VexRm_Lx as u8, 0x80, 81, 0), // #1074
5903    InstInfo::new(302, 163, Encoding::VexRm as u8, 0x83, 81, 0), // #1075
5904    InstInfo::new(303, 163, Encoding::VexRm as u8, 0x82, 81, 0), // #1076
5905    InstInfo::new(304, 164, Encoding::VexRmvRm_VM as u8, 0x92, 187, 80), // #1077
5906    InstInfo::new(305, 164, Encoding::VexRmvRm_VM as u8, 0x92, 30, 81), // #1078
5907    InstInfo::new(306, 164, Encoding::VexRmvRm_VM as u8, 0x93, 187, 82), // #1079
5908    InstInfo::new(307, 164, Encoding::VexRmvRm_VM as u8, 0x93, 30, 83), // #1080
5909    InstInfo::new(268, 149, Encoding::VexRm_Lx as u8, 0x42, 112, 0), // #1081
5910    InstInfo::new(270, 145, Encoding::VexRm_Lx as u8, 0x42, 181, 0), // #1082
5911    InstInfo::new(273, 149, Encoding::VexRm_Lx as u8, 0x42, 113, 0), // #1083
5912    InstInfo::new(308, 149, Encoding::VexRvm as u8, 0x43, 127, 0), // #1084
5913    InstInfo::new(259, 145, Encoding::VexRvm as u8, 0x43, 183, 0), // #1085
5914    InstInfo::new(309, 149, Encoding::VexRvm as u8, 0x43, 128, 0), // #1086
5915    InstInfo::new(310, 149, Encoding::VexRmi_Lx as u8, 0x26, 111, 0), // #1087
5916    InstInfo::new(311, 145, Encoding::VexRmi_Lx as u8, 0x26, 122, 0), // #1088
5917    InstInfo::new(312, 149, Encoding::VexRmi_Lx as u8, 0x26, 110, 0), // #1089
5918    InstInfo::new(290, 149, Encoding::VexRvmi as u8, 0x27, 178, 0), // #1090
5919    InstInfo::new(313, 145, Encoding::VexRvmi as u8, 0x27, 186, 0), // #1091
5920    InstInfo::new(291, 149, Encoding::VexRvmi as u8, 0x27, 179, 0), // #1092
5921    InstInfo::new(314, 165, Encoding::VexRvmi_Lx as u8, 0xCF, 188, 0), // #1093
5922    InstInfo::new(314, 165, Encoding::VexRvmi_Lx as u8, 0xCE, 188, 0), // #1094
5923    InstInfo::new(315, 165, Encoding::VexRvm_Lx as u8, 0xCF, 109, 0), // #1095
5924    InstInfo::new(205, 146, Encoding::VexRvm_Lx as u8, 0x7C, 71, 0), // #1096
5925    InstInfo::new(205, 146, Encoding::VexRvm_Lx as u8, 0x7C, 108, 0), // #1097
5926    InstInfo::new(205, 146, Encoding::VexRvm_Lx as u8, 0x7D, 71, 0), // #1098
5927    InstInfo::new(205, 146, Encoding::VexRvm_Lx as u8, 0x7D, 108, 0), // #1099
5928    InstInfo::new(316, 146, Encoding::VexRvmi as u8, 0x18, 170, 0), // #1100
5929    InstInfo::new(317, 149, Encoding::VexRvmi_Lx as u8, 0x18, 171, 0), // #1101
5930    InstInfo::new(318, 152, Encoding::VexRvmi as u8, 0x1A, 172, 0), // #1102
5931    InstInfo::new(317, 152, Encoding::VexRvmi_Lx as u8, 0x18, 173, 0), // #1103
5932    InstInfo::new(318, 149, Encoding::VexRvmi as u8, 0x1A, 174, 0), // #1104
5933    InstInfo::new(316, 153, Encoding::VexRvmi as u8, 0x38, 170, 0), // #1105
5934    InstInfo::new(317, 149, Encoding::VexRvmi_Lx as u8, 0x38, 171, 0), // #1106
5935    InstInfo::new(318, 152, Encoding::VexRvmi as u8, 0x3A, 172, 0), // #1107
5936    InstInfo::new(317, 152, Encoding::VexRvmi_Lx as u8, 0x38, 173, 0), // #1108
5937    InstInfo::new(318, 149, Encoding::VexRvmi as u8, 0x3A, 174, 0), // #1109
5938    InstInfo::new(319, 144, Encoding::VexRvmi as u8, 0x21, 175, 0), // #1110
5939    InstInfo::new(240, 146, Encoding::VexRm_Lx as u8, 0xF0, 108, 0), // #1111
5940    InstInfo::new(320, 146, Encoding::VexM as u8, 0xAE, 189, 0), // #1112
5941    InstInfo::new(321, 146, Encoding::VexRm_ZDI as u8, 0xF7, 71, 0), // #1113
5942    InstInfo::new(322, 146, Encoding::VexRvmMvr_Lx as u8, 0x2D, 30, 84), // #1114
5943    InstInfo::new(322, 146, Encoding::VexRvmMvr_Lx as u8, 0x2C, 30, 85), // #1115
5944    InstInfo::new(323, 144, Encoding::VexRvm_Lx as u8, 0x5F, 102, 0), // #1116
5945    InstInfo::new(324, 145, Encoding::VexRvm_Lx as u8, 0x5F, 103, 0), // #1117
5946    InstInfo::new(325, 144, Encoding::VexRvm_Lx as u8, 0x5F, 104, 0), // #1118
5947    InstInfo::new(326, 144, Encoding::VexRvm as u8, 0x5F, 105, 0), // #1119
5948    InstInfo::new(259, 145, Encoding::VexRvm as u8, 0x5F, 106, 0), // #1120
5949    InstInfo::new(263, 144, Encoding::VexRvm as u8, 0x5F, 107, 0), // #1121
5950    InstInfo::new(31, 67, Encoding::X86Op as u8, 0xC1, 23, 0), // #1122
5951    InstInfo::new(33, 67, Encoding::X86M_Only as u8, 0xC7, 28, 0), // #1123
5952    InstInfo::new(31, 67, Encoding::X86Op as u8, 0xD4, 23, 0), // #1124
5953    InstInfo::new(31, 166, Encoding::X86Op as u8, 0xD9, 93, 0), // #1125
5954    InstInfo::new(323, 144, Encoding::VexRvm_Lx as u8, 0x5D, 102, 0), // #1126
5955    InstInfo::new(324, 145, Encoding::VexRvm_Lx as u8, 0x5D, 103, 0), // #1127
5956    InstInfo::new(325, 144, Encoding::VexRvm_Lx as u8, 0x5D, 104, 0), // #1128
5957    InstInfo::new(326, 144, Encoding::VexRvm as u8, 0x5D, 105, 0), // #1129
5958    InstInfo::new(259, 145, Encoding::VexRvm as u8, 0x5D, 106, 0), // #1130
5959    InstInfo::new(263, 144, Encoding::VexRvm as u8, 0x5D, 107, 0), // #1131
5960    InstInfo::new(31, 67, Encoding::X86Op as u8, 0xC2, 23, 0), // #1132
5961    InstInfo::new(327, 23, Encoding::X86Op_xAX as u8, 0xDA, 23, 0), // #1133
5962    InstInfo::new(31, 23, Encoding::X86Op as u8, 0xD9, 23, 0), // #1134
5963    InstInfo::new(328, 167, Encoding::VexRmMr_Lx as u8, 0x28, 102, 86), // #1135
5964    InstInfo::new(328, 167, Encoding::VexRmMr_Lx as u8, 0x28, 104, 87), // #1136
5965    InstInfo::new(329, 144, Encoding::VexMovdMovq as u8, 0x6E, 190, 88), // #1137
5966    InstInfo::new(330, 144, Encoding::VexRm_Lx as u8, 0x12, 191, 0), // #1138
5967    InstInfo::new(331, 168, Encoding::VexRmMr_Lx as u8, 0x6F, 71, 89), // #1139
5968    InstInfo::new(332, 169, Encoding::VexRmMr_Lx as u8, 0x6F, 192, 90), // #1140
5969    InstInfo::new(332, 169, Encoding::VexRmMr_Lx as u8, 0x6F, 134, 91), // #1141
5970    InstInfo::new(331, 168, Encoding::VexRmMr_Lx as u8, 0x6F, 193, 92), // #1142
5971    InstInfo::new(332, 170, Encoding::VexRmMr_Lx as u8, 0x6F, 165, 93), // #1143
5972    InstInfo::new(332, 169, Encoding::VexRmMr_Lx as u8, 0x6F, 194, 94), // #1144
5973    InstInfo::new(332, 169, Encoding::VexRmMr_Lx as u8, 0x6F, 148, 95), // #1145
5974    InstInfo::new(332, 170, Encoding::VexRmMr_Lx as u8, 0x6F, 163, 96), // #1146
5975    InstInfo::new(333, 144, Encoding::VexRvm as u8, 0x12, 74, 0), // #1147
5976    InstInfo::new(334, 144, Encoding::VexRvmMr as u8, 0x16, 124, 97), // #1148
5977    InstInfo::new(334, 144, Encoding::VexRvmMr as u8, 0x16, 195, 98), // #1149
5978    InstInfo::new(333, 144, Encoding::VexRvm as u8, 0x16, 74, 0), // #1150
5979    InstInfo::new(334, 144, Encoding::VexRvmMr as u8, 0x12, 124, 99), // #1151
5980    InstInfo::new(334, 144, Encoding::VexRvmMr as u8, 0x12, 195, 100), // #1152
5981    InstInfo::new(335, 146, Encoding::VexRm_Lx as u8, 0x50, 71, 0), // #1153
5982    InstInfo::new(335, 146, Encoding::VexRm_Lx as u8, 0x50, 74, 0), // #1154
5983    InstInfo::new(336, 144, Encoding::VexMr_Lx as u8, 0xE7, 143, 0), // #1155
5984    InstInfo::new(337, 154, Encoding::VexRm_Lx as u8, 0x2A, 109, 0), // #1156
5985    InstInfo::new(336, 144, Encoding::VexMr_Lx as u8, 0x2B, 102, 0), // #1157
5986    InstInfo::new(336, 144, Encoding::VexMr_Lx as u8, 0x2B, 104, 0), // #1158
5987    InstInfo::new(338, 167, Encoding::VexMovdMovq as u8, 0x6E, 124, 101), // #1159
5988    InstInfo::new(339, 167, Encoding::VexMovssMovsd as u8, 0x10, 105, 102), // #1160
5989    InstInfo::new(340, 145, Encoding::VexMovssMovsd as u8, 0x10, 106, 103), // #1161
5990    InstInfo::new(341, 144, Encoding::VexRm_Lx as u8, 0x16, 160, 0), // #1162
5991    InstInfo::new(341, 144, Encoding::VexRm_Lx as u8, 0x12, 160, 0), // #1163
5992    InstInfo::new(342, 167, Encoding::VexMovssMovsd as u8, 0x10, 107, 104), // #1164
5993    InstInfo::new(328, 167, Encoding::VexRmMr_Lx as u8, 0x10, 102, 105), // #1165
5994    InstInfo::new(328, 167, Encoding::VexRmMr_Lx as u8, 0x10, 104, 106), // #1166
5995    InstInfo::new(343, 145, Encoding::VexMovdMovq as u8, 0x6E, 196, 107), // #1167
5996    InstInfo::new(218, 171, Encoding::VexRvmi_Lx as u8, 0x42, 75, 0), // #1168
5997    InstInfo::new(33, 67, Encoding::X86M_Only as u8, 0xC7, 82, 0), // #1169
5998    InstInfo::new(33, 67, Encoding::X86M_Only as u8, 0xC7, 24, 0), // #1170
5999    InstInfo::new(344, 67, Encoding::X86Mr_NoSize as u8, 0x78, 5, 0), // #1171
6000    InstInfo::new(31, 67, Encoding::X86Op as u8, 0xC3, 23, 0), // #1172
6001    InstInfo::new(327, 23, Encoding::X86Op_xAX as u8, 0xD8, 23, 0), // #1173
6002    InstInfo::new(327, 23, Encoding::X86Op_xAX as u8, 0xDB, 23, 0), // #1174
6003    InstInfo::new(199, 144, Encoding::VexRvm_Lx as u8, 0x59, 102, 0), // #1175
6004    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0x59, 103, 0), // #1176
6005    InstInfo::new(201, 144, Encoding::VexRvm_Lx as u8, 0x59, 104, 0), // #1177
6006    InstInfo::new(202, 144, Encoding::VexRvm as u8, 0x59, 105, 0), // #1178
6007    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0x59, 106, 0), // #1179
6008    InstInfo::new(204, 144, Encoding::VexRvm as u8, 0x59, 107, 0), // #1180
6009    InstInfo::new(345, 67, Encoding::X86Rm_NoSize as u8, 0x79, 5, 0), // #1181
6010    InstInfo::new(31, 67, Encoding::X86Op as u8, 0xC4, 23, 0), // #1182
6011    InstInfo::new(33, 67, Encoding::X86M_Only as u8, 0xC7, 26, 0), // #1183
6012    InstInfo::new(213, 150, Encoding::VexRvm_Lx as u8, 0x56, 102, 0), // #1184
6013    InstInfo::new(214, 150, Encoding::VexRvm_Lx as u8, 0x56, 104, 0), // #1185
6014    InstInfo::new(346, 172, Encoding::VexRvm_Lx_2xK as u8, 0x68, 130, 0), // #1186
6015    InstInfo::new(347, 172, Encoding::VexRvm_Lx_2xK as u8, 0x68, 197, 0), // #1187
6016    InstInfo::new(341, 173, Encoding::VexRm_Lx as u8, 0x1C, 109, 0), // #1188
6017    InstInfo::new(348, 154, Encoding::VexRm_Lx as u8, 0x1E, 109, 0), // #1189
6018    InstInfo::new(349, 149, Encoding::VexRm_Lx as u8, 0x1F, 112, 0), // #1190
6019    InstInfo::new(341, 173, Encoding::VexRm_Lx as u8, 0x1D, 109, 0), // #1191
6020    InstInfo::new(212, 173, Encoding::VexRvm_Lx as u8, 0x6B, 143, 0), // #1192
6021    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0x63, 143, 0), // #1193
6022    InstInfo::new(212, 173, Encoding::VexRvm_Lx as u8, 0x2B, 109, 0), // #1194
6023    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0x67, 143, 0), // #1195
6024    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0xFC, 143, 0), // #1196
6025    InstInfo::new(212, 154, Encoding::VexRvm_Lx as u8, 0xFE, 143, 0), // #1197
6026    InstInfo::new(211, 154, Encoding::VexRvm_Lx as u8, 0xD4, 102, 0), // #1198
6027    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0xEC, 143, 0), // #1199
6028    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0xED, 143, 0), // #1200
6029    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0xDC, 143, 0), // #1201
6030    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0xDD, 143, 0), // #1202
6031    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0xFD, 143, 0), // #1203
6032    InstInfo::new(314, 173, Encoding::VexRvmi_Lx as u8, 0x0F, 198, 0), // #1204
6033    InstInfo::new(350, 171, Encoding::VexRvm_Lx as u8, 0xDB, 71, 0), // #1205
6034    InstInfo::new(351, 149, Encoding::VexRvm_Lx as u8, 0xDB, 192, 0), // #1206
6035    InstInfo::new(352, 171, Encoding::VexRvm_Lx as u8, 0xDF, 71, 0), // #1207
6036    InstInfo::new(353, 149, Encoding::VexRvm_Lx as u8, 0xDF, 192, 0), // #1208
6037    InstInfo::new(354, 149, Encoding::VexRvm_Lx as u8, 0xDF, 134, 0), // #1209
6038    InstInfo::new(355, 149, Encoding::VexRvm_Lx as u8, 0xDB, 134, 0), // #1210
6039    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0xE0, 143, 0), // #1211
6040    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0xE3, 143, 0), // #1212
6041    InstInfo::new(218, 153, Encoding::VexRvmi_Lx as u8, 0x02, 75, 0), // #1213
6042    InstInfo::new(356, 160, Encoding::VexRvm_Lx as u8, 0x66, 113, 0), // #1214
6043    InstInfo::new(217, 149, Encoding::VexRvm_Lx as u8, 0x64, 113, 0), // #1215
6044    InstInfo::new(216, 149, Encoding::VexRvm_Lx as u8, 0x64, 112, 0), // #1216
6045    InstInfo::new(356, 160, Encoding::VexRvm_Lx as u8, 0x66, 112, 0), // #1217
6046    InstInfo::new(219, 171, Encoding::VexRvmr_Lx as u8, 0x4C, 75, 0), // #1218
6047    InstInfo::new(218, 171, Encoding::VexRvmi_Lx as u8, 0x0E, 75, 0), // #1219
6048    InstInfo::new(357, 174, Encoding::VexRm_Lx_Bcst as u8, 0x78, 30, 108), // #1220
6049    InstInfo::new(358, 164, Encoding::VexRm_Lx_Bcst as u8, 0x58, 121, 109), // #1221
6050    InstInfo::new(359, 175, Encoding::VexRm_Lx as u8, 0x2A, 199, 0), // #1222
6051    InstInfo::new(359, 175, Encoding::VexRm_Lx as u8, 0x3A, 200, 0), // #1223
6052    InstInfo::new(360, 164, Encoding::VexRm_Lx_Bcst as u8, 0x59, 120, 110), // #1224
6053    InstInfo::new(361, 174, Encoding::VexRm_Lx_Bcst as u8, 0x79, 201, 111), // #1225
6054    InstInfo::new(362, 176, Encoding::VexRvmi_Lx as u8, 0x44, 198, 0), // #1226
6055    InstInfo::new(363, 163, Encoding::VexRvrmRvmr_Lx as u8, 0xA2, 202, 0), // #1227
6056    InstInfo::new(364, 160, Encoding::VexRvmi_Lx as u8, 0x3F, 110, 0), // #1228
6057    InstInfo::new(365, 149, Encoding::VexRvmi_Lx as u8, 0x1F, 110, 0), // #1229
6058    InstInfo::new(366, 173, Encoding::VexRvm_Lx_KEvex as u8, 0x74, 143, 0), // #1230
6059    InstInfo::new(367, 154, Encoding::VexRvm_Lx_KEvex as u8, 0x76, 143, 0), // #1231
6060    InstInfo::new(368, 154, Encoding::VexRvm_Lx_KEvex as u8, 0x29, 203, 0), // #1232
6061    InstInfo::new(366, 173, Encoding::VexRvm_Lx_KEvex as u8, 0x75, 143, 0), // #1233
6062    InstInfo::new(369, 177, Encoding::VexRmi as u8, 0x61, 75, 0), // #1234
6063    InstInfo::new(370, 177, Encoding::VexRmi as u8, 0x60, 75, 0), // #1235
6064    InstInfo::new(366, 173, Encoding::VexRvm_Lx_KEvex as u8, 0x64, 143, 0), // #1236
6065    InstInfo::new(367, 154, Encoding::VexRvm_Lx_KEvex as u8, 0x66, 143, 0), // #1237
6066    InstInfo::new(368, 154, Encoding::VexRvm_Lx_KEvex as u8, 0x37, 203, 0), // #1238
6067    InstInfo::new(366, 173, Encoding::VexRvm_Lx_KEvex as u8, 0x65, 143, 0), // #1239
6068    InstInfo::new(371, 177, Encoding::VexRmi as u8, 0x63, 75, 0), // #1240
6069    InstInfo::new(372, 177, Encoding::VexRmi as u8, 0x62, 75, 0), // #1241
6070    InstInfo::new(373, 149, Encoding::VexRvmi_Lx as u8, 0x1F, 111, 0), // #1242
6071    InstInfo::new(364, 160, Encoding::VexRvmi_Lx as u8, 0x3E, 110, 0), // #1243
6072    InstInfo::new(365, 149, Encoding::VexRvmi_Lx as u8, 0x1E, 110, 0), // #1244
6073    InstInfo::new(373, 149, Encoding::VexRvmi_Lx as u8, 0x1E, 111, 0), // #1245
6074    InstInfo::new(364, 160, Encoding::VexRvmi_Lx as u8, 0x3E, 111, 0), // #1246
6075    InstInfo::new(364, 160, Encoding::VexRvmi_Lx as u8, 0x3F, 111, 0), // #1247
6076    InstInfo::new(281, 163, Encoding::VexRvmi as u8, 0xCC, 202, 0), // #1248
6077    InstInfo::new(281, 163, Encoding::VexRvmi as u8, 0xCE, 202, 0), // #1249
6078    InstInfo::new(236, 178, Encoding::VexMr_Lx as u8, 0x63, 204, 0), // #1250
6079    InstInfo::new(236, 149, Encoding::VexMr_Lx as u8, 0x8B, 128, 0), // #1251
6080    InstInfo::new(236, 149, Encoding::VexMr_Lx as u8, 0x8B, 127, 0), // #1252
6081    InstInfo::new(236, 178, Encoding::VexMr_Lx as u8, 0x63, 205, 0), // #1253
6082    InstInfo::new(281, 163, Encoding::VexRvmi as u8, 0xCF, 202, 0), // #1254
6083    InstInfo::new(281, 163, Encoding::VexRvmi as u8, 0xEC, 202, 0), // #1255
6084    InstInfo::new(281, 163, Encoding::VexRvmi as u8, 0xEE, 202, 0), // #1256
6085    InstInfo::new(281, 163, Encoding::VexRvmi as u8, 0xEF, 202, 0), // #1257
6086    InstInfo::new(281, 163, Encoding::VexRvmi as u8, 0xED, 202, 0), // #1258
6087    InstInfo::new(281, 163, Encoding::VexRvmi as u8, 0xCD, 202, 0), // #1259
6088    InstInfo::new(374, 175, Encoding::VexRm_Lx as u8, 0xC4, 113, 0), // #1260
6089    InstInfo::new(374, 175, Encoding::VexRm_Lx as u8, 0xC4, 112, 0), // #1261
6090    InstInfo::new(205, 179, Encoding::VexRvm_Lx as u8, 0x50, 85, 0), // #1262
6091    InstInfo::new(205, 179, Encoding::VexRvm_Lx as u8, 0x51, 85, 0), // #1263
6092    InstInfo::new(205, 179, Encoding::VexRvm_Lx as u8, 0x50, 89, 0), // #1264
6093    InstInfo::new(205, 179, Encoding::VexRvm_Lx as u8, 0x51, 89, 0), // #1265
6094    InstInfo::new(375, 180, Encoding::VexRvm_Lx as u8, 0x50, 109, 0), // #1266
6095    InstInfo::new(375, 180, Encoding::VexRvm_Lx as u8, 0x51, 109, 0), // #1267
6096    InstInfo::new(205, 179, Encoding::VexRvm_Lx as u8, 0x50, 11, 0), // #1268
6097    InstInfo::new(205, 179, Encoding::VexRvm_Lx as u8, 0x51, 11, 0), // #1269
6098    InstInfo::new(375, 180, Encoding::VexRvm_Lx as u8, 0x52, 109, 0), // #1270
6099    InstInfo::new(375, 180, Encoding::VexRvm_Lx as u8, 0x53, 109, 0), // #1271
6100    InstInfo::new(205, 181, Encoding::VexRvm_Lx as u8, 0xD2, 89, 0), // #1272
6101    InstInfo::new(205, 181, Encoding::VexRvm_Lx as u8, 0xD3, 89, 0), // #1273
6102    InstInfo::new(205, 181, Encoding::VexRvm_Lx as u8, 0xD2, 30, 0), // #1274
6103    InstInfo::new(205, 181, Encoding::VexRvm_Lx as u8, 0xD3, 30, 0), // #1275
6104    InstInfo::new(205, 181, Encoding::VexRvm_Lx as u8, 0xD2, 11, 0), // #1276
6105    InstInfo::new(205, 181, Encoding::VexRvm_Lx as u8, 0xD3, 11, 0), // #1277
6106    InstInfo::new(376, 146, Encoding::VexRvmi as u8, 0x06, 170, 0), // #1278
6107    InstInfo::new(376, 153, Encoding::VexRvmi as u8, 0x46, 170, 0), // #1279
6108    InstInfo::new(356, 182, Encoding::VexRvm_Lx as u8, 0x8D, 113, 0), // #1280
6109    InstInfo::new(377, 164, Encoding::VexRvm_Lx as u8, 0x36, 109, 0), // #1281
6110    InstInfo::new(356, 182, Encoding::VexRvm_Lx as u8, 0x75, 113, 0), // #1282
6111    InstInfo::new(217, 149, Encoding::VexRvm_Lx as u8, 0x76, 113, 0), // #1283
6112    InstInfo::new(216, 149, Encoding::VexRvm_Lx as u8, 0x77, 112, 0), // #1284
6113    InstInfo::new(217, 149, Encoding::VexRvm_Lx as u8, 0x77, 113, 0), // #1285
6114    InstInfo::new(216, 149, Encoding::VexRvm_Lx as u8, 0x76, 112, 0), // #1286
6115    InstInfo::new(356, 160, Encoding::VexRvm_Lx as u8, 0x75, 112, 0), // #1287
6116    InstInfo::new(378, 163, Encoding::VexRvrmiRvmri_Lx as u8, 0x49, 75, 0), // #1288
6117    InstInfo::new(378, 163, Encoding::VexRvrmiRvmri_Lx as u8, 0x48, 75, 0), // #1289
6118    InstInfo::new(379, 144, Encoding::VexRvmRmi_Lx as u8, 0x0D, 203, 112), // #1290
6119    InstInfo::new(380, 144, Encoding::VexRvmRmi_Lx as u8, 0x0C, 109, 113), // #1291
6120    InstInfo::new(381, 164, Encoding::VexRvmRmi_Lx as u8, 0x16, 206, 114), // #1292
6121    InstInfo::new(377, 164, Encoding::VexRvm_Lx as u8, 0x16, 109, 0), // #1293
6122    InstInfo::new(381, 164, Encoding::VexRvmRmi_Lx as u8, 0x36, 112, 115), // #1294
6123    InstInfo::new(356, 182, Encoding::VexRvm_Lx as u8, 0x7D, 113, 0), // #1295
6124    InstInfo::new(217, 149, Encoding::VexRvm_Lx as u8, 0x7E, 113, 0), // #1296
6125    InstInfo::new(216, 149, Encoding::VexRvm_Lx as u8, 0x7F, 112, 0), // #1297
6126    InstInfo::new(217, 149, Encoding::VexRvm_Lx as u8, 0x7F, 113, 0), // #1298
6127    InstInfo::new(216, 149, Encoding::VexRvm_Lx as u8, 0x7E, 112, 0), // #1299
6128    InstInfo::new(356, 160, Encoding::VexRvm_Lx as u8, 0x7D, 112, 0), // #1300
6129    InstInfo::new(356, 160, Encoding::VexRvm_Lx as u8, 0x8D, 112, 0), // #1301
6130    InstInfo::new(282, 178, Encoding::VexRm_Lx as u8, 0x62, 204, 0), // #1302
6131    InstInfo::new(282, 149, Encoding::VexRm_Lx as u8, 0x89, 128, 0), // #1303
6132    InstInfo::new(282, 149, Encoding::VexRm_Lx as u8, 0x89, 127, 0), // #1304
6133    InstInfo::new(282, 178, Encoding::VexRm_Lx as u8, 0x62, 205, 0), // #1305
6134    InstInfo::new(382, 183, Encoding::VexMri as u8, 0x14, 75, 0), // #1306
6135    InstInfo::new(286, 150, Encoding::VexMri as u8, 0x16, 175, 0), // #1307
6136    InstInfo::new(383, 150, Encoding::VexMri as u8, 0x16, 207, 0), // #1308
6137    InstInfo::new(384, 183, Encoding::VexMri_Vpextrw as u8, 0x15, 208, 0), // #1309
6138    InstInfo::new(305, 164, Encoding::VexRmvRm_VM as u8, 0x90, 30, 116), // #1310
6139    InstInfo::new(304, 164, Encoding::VexRmvRm_VM as u8, 0x90, 187, 117), // #1311
6140    InstInfo::new(307, 164, Encoding::VexRmvRm_VM as u8, 0x91, 30, 118), // #1312
6141    InstInfo::new(306, 164, Encoding::VexRmvRm_VM as u8, 0x91, 187, 119), // #1313
6142    InstInfo::new(207, 163, Encoding::VexRm as u8, 0xC2, 81, 0), // #1314
6143    InstInfo::new(207, 163, Encoding::VexRm as u8, 0xC3, 81, 0), // #1315
6144    InstInfo::new(207, 163, Encoding::VexRm as u8, 0xC1, 81, 0), // #1316
6145    InstInfo::new(205, 171, Encoding::VexRvm_Lx as u8, 0x02, 30, 0), // #1317
6146    InstInfo::new(207, 163, Encoding::VexRm as u8, 0xCB, 81, 0), // #1318
6147    InstInfo::new(205, 171, Encoding::VexRvm_Lx as u8, 0x03, 30, 0), // #1319
6148    InstInfo::new(207, 163, Encoding::VexRm as u8, 0xD2, 81, 0), // #1320
6149    InstInfo::new(207, 163, Encoding::VexRm as u8, 0xD3, 81, 0), // #1321
6150    InstInfo::new(207, 163, Encoding::VexRm as u8, 0xD1, 81, 0), // #1322
6151    InstInfo::new(207, 163, Encoding::VexRm as u8, 0xDB, 81, 0), // #1323
6152    InstInfo::new(207, 163, Encoding::VexRm as u8, 0xD6, 81, 0), // #1324
6153    InstInfo::new(207, 163, Encoding::VexRm as u8, 0xD7, 81, 0), // #1325
6154    InstInfo::new(205, 171, Encoding::VexRvm_Lx as u8, 0x01, 30, 0), // #1326
6155    InstInfo::new(207, 163, Encoding::VexRm as u8, 0xC6, 81, 0), // #1327
6156    InstInfo::new(207, 163, Encoding::VexRm as u8, 0xC7, 81, 0), // #1328
6157    InstInfo::new(207, 146, Encoding::VexRm as u8, 0x41, 30, 0), // #1329
6158    InstInfo::new(207, 163, Encoding::VexRm as u8, 0xE1, 81, 0), // #1330
6159    InstInfo::new(205, 171, Encoding::VexRvm_Lx as u8, 0x06, 30, 0), // #1331
6160    InstInfo::new(207, 163, Encoding::VexRm as u8, 0xE3, 81, 0), // #1332
6161    InstInfo::new(205, 171, Encoding::VexRvm_Lx as u8, 0x07, 30, 0), // #1333
6162    InstInfo::new(205, 171, Encoding::VexRvm_Lx as u8, 0x05, 30, 0), // #1334
6163    InstInfo::new(207, 163, Encoding::VexRm as u8, 0xE2, 81, 0), // #1335
6164    InstInfo::new(385, 183, Encoding::VexRvmi as u8, 0x20, 75, 0), // #1336
6165    InstInfo::new(386, 150, Encoding::VexRvmi as u8, 0x22, 175, 0), // #1337
6166    InstInfo::new(387, 150, Encoding::VexRvmi as u8, 0x22, 207, 0), // #1338
6167    InstInfo::new(388, 183, Encoding::VexRvmi as u8, 0xC4, 209, 0), // #1339
6168    InstInfo::new(374, 175, Encoding::VexRm_Lx as u8, 0x44, 113, 0), // #1340
6169    InstInfo::new(349, 175, Encoding::VexRm_Lx as u8, 0x44, 112, 0), // #1341
6170    InstInfo::new(389, 163, Encoding::VexRvmr as u8, 0x9E, 202, 0), // #1342
6171    InstInfo::new(389, 163, Encoding::VexRvmr as u8, 0x9F, 202, 0), // #1343
6172    InstInfo::new(389, 163, Encoding::VexRvmr as u8, 0x97, 202, 0), // #1344
6173    InstInfo::new(389, 163, Encoding::VexRvmr as u8, 0x8E, 202, 0), // #1345
6174    InstInfo::new(389, 163, Encoding::VexRvmr as u8, 0x8F, 202, 0), // #1346
6175    InstInfo::new(389, 163, Encoding::VexRvmr as u8, 0x87, 202, 0), // #1347
6176    InstInfo::new(389, 163, Encoding::VexRvmr as u8, 0x86, 202, 0), // #1348
6177    InstInfo::new(389, 163, Encoding::VexRvmr as u8, 0x85, 202, 0), // #1349
6178    InstInfo::new(389, 163, Encoding::VexRvmr as u8, 0x96, 202, 0), // #1350
6179    InstInfo::new(389, 163, Encoding::VexRvmr as u8, 0x95, 202, 0), // #1351
6180    InstInfo::new(389, 163, Encoding::VexRvmr as u8, 0xA6, 202, 0), // #1352
6181    InstInfo::new(389, 163, Encoding::VexRvmr as u8, 0xB6, 202, 0), // #1353
6182    InstInfo::new(390, 184, Encoding::VexRvm_Lx as u8, 0xB5, 180, 0), // #1354
6183    InstInfo::new(390, 184, Encoding::VexRvm_Lx as u8, 0xB4, 180, 0), // #1355
6184    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0x04, 109, 0), // #1356
6185    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0xF5, 143, 0), // #1357
6186    InstInfo::new(322, 153, Encoding::VexRvmMvr_Lx as u8, 0x8C, 30, 120), // #1358
6187    InstInfo::new(322, 153, Encoding::VexRvmMvr_Lx as u8, 0x8C, 187, 121), // #1359
6188    InstInfo::new(391, 173, Encoding::VexRvm_Lx as u8, 0x3C, 109, 0), // #1360
6189    InstInfo::new(214, 154, Encoding::VexRvm_Lx as u8, 0x3D, 109, 0), // #1361
6190    InstInfo::new(216, 149, Encoding::VexRvm_Lx as u8, 0x3D, 112, 0), // #1362
6191    InstInfo::new(391, 173, Encoding::VexRvm_Lx as u8, 0xEE, 143, 0), // #1363
6192    InstInfo::new(391, 173, Encoding::VexRvm_Lx as u8, 0xDE, 143, 0), // #1364
6193    InstInfo::new(214, 154, Encoding::VexRvm_Lx as u8, 0x3F, 109, 0), // #1365
6194    InstInfo::new(216, 149, Encoding::VexRvm_Lx as u8, 0x3F, 112, 0), // #1366
6195    InstInfo::new(391, 173, Encoding::VexRvm_Lx as u8, 0x3E, 109, 0), // #1367
6196    InstInfo::new(391, 173, Encoding::VexRvm_Lx as u8, 0x38, 109, 0), // #1368
6197    InstInfo::new(214, 154, Encoding::VexRvm_Lx as u8, 0x39, 109, 0), // #1369
6198    InstInfo::new(216, 149, Encoding::VexRvm_Lx as u8, 0x39, 112, 0), // #1370
6199    InstInfo::new(391, 173, Encoding::VexRvm_Lx as u8, 0xEA, 143, 0), // #1371
6200    InstInfo::new(391, 173, Encoding::VexRvm_Lx as u8, 0xDA, 143, 0), // #1372
6201    InstInfo::new(214, 154, Encoding::VexRvm_Lx as u8, 0x3B, 109, 0), // #1373
6202    InstInfo::new(216, 149, Encoding::VexRvm_Lx as u8, 0x3B, 112, 0), // #1374
6203    InstInfo::new(391, 173, Encoding::VexRvm_Lx as u8, 0x3A, 109, 0), // #1375
6204    InstInfo::new(392, 160, Encoding::VexRm_Lx as u8, 0x29, 200, 0), // #1376
6205    InstInfo::new(392, 152, Encoding::VexRm_Lx as u8, 0x39, 200, 0), // #1377
6206    InstInfo::new(393, 149, Encoding::VexMr_Lx as u8, 0x31, 210, 0), // #1378
6207    InstInfo::new(394, 149, Encoding::VexMr_Lx as u8, 0x33, 211, 0), // #1379
6208    InstInfo::new(359, 160, Encoding::VexRm_Lx as u8, 0x28, 200, 0), // #1380
6209    InstInfo::new(359, 152, Encoding::VexRm_Lx as u8, 0x38, 200, 0), // #1381
6210    InstInfo::new(359, 152, Encoding::VexRm_Lx as u8, 0x38, 199, 0), // #1382
6211    InstInfo::new(359, 160, Encoding::VexRm_Lx as u8, 0x28, 199, 0), // #1383
6212    InstInfo::new(335, 171, Encoding::VexRm_Lx as u8, 0xD7, 71, 0), // #1384
6213    InstInfo::new(392, 152, Encoding::VexRm_Lx as u8, 0x39, 199, 0), // #1385
6214    InstInfo::new(395, 149, Encoding::VexMr_Lx as u8, 0x32, 212, 0), // #1386
6215    InstInfo::new(394, 149, Encoding::VexMr_Lx as u8, 0x35, 211, 0), // #1387
6216    InstInfo::new(393, 149, Encoding::VexMr_Lx as u8, 0x34, 210, 0), // #1388
6217    InstInfo::new(393, 149, Encoding::VexMr_Lx as u8, 0x21, 210, 0), // #1389
6218    InstInfo::new(394, 149, Encoding::VexMr_Lx as u8, 0x23, 211, 0), // #1390
6219    InstInfo::new(395, 149, Encoding::VexMr_Lx as u8, 0x22, 212, 0), // #1391
6220    InstInfo::new(394, 149, Encoding::VexMr_Lx as u8, 0x25, 211, 0), // #1392
6221    InstInfo::new(393, 149, Encoding::VexMr_Lx as u8, 0x24, 210, 0), // #1393
6222    InstInfo::new(394, 160, Encoding::VexMr_Lx as u8, 0x20, 211, 0), // #1394
6223    InstInfo::new(396, 154, Encoding::VexRm_Lx as u8, 0x21, 213, 0), // #1395
6224    InstInfo::new(397, 154, Encoding::VexRm_Lx as u8, 0x22, 214, 0), // #1396
6225    InstInfo::new(398, 173, Encoding::VexRm_Lx as u8, 0x20, 138, 0), // #1397
6226    InstInfo::new(398, 154, Encoding::VexRm_Lx as u8, 0x25, 138, 0), // #1398
6227    InstInfo::new(398, 154, Encoding::VexRm_Lx as u8, 0x23, 138, 0), // #1399
6228    InstInfo::new(396, 154, Encoding::VexRm_Lx as u8, 0x24, 213, 0), // #1400
6229    InstInfo::new(393, 149, Encoding::VexMr_Lx as u8, 0x11, 210, 0), // #1401
6230    InstInfo::new(394, 149, Encoding::VexMr_Lx as u8, 0x13, 211, 0), // #1402
6231    InstInfo::new(395, 149, Encoding::VexMr_Lx as u8, 0x12, 212, 0), // #1403
6232    InstInfo::new(394, 149, Encoding::VexMr_Lx as u8, 0x15, 211, 0), // #1404
6233    InstInfo::new(393, 149, Encoding::VexMr_Lx as u8, 0x14, 210, 0), // #1405
6234    InstInfo::new(394, 160, Encoding::VexMr_Lx as u8, 0x10, 211, 0), // #1406
6235    InstInfo::new(392, 160, Encoding::VexRm_Lx as u8, 0x29, 199, 0), // #1407
6236    InstInfo::new(394, 160, Encoding::VexMr_Lx as u8, 0x30, 211, 0), // #1408
6237    InstInfo::new(396, 154, Encoding::VexRm_Lx as u8, 0x31, 213, 0), // #1409
6238    InstInfo::new(397, 154, Encoding::VexRm_Lx as u8, 0x32, 214, 0), // #1410
6239    InstInfo::new(398, 173, Encoding::VexRm_Lx as u8, 0x30, 138, 0), // #1411
6240    InstInfo::new(398, 154, Encoding::VexRm_Lx as u8, 0x35, 138, 0), // #1412
6241    InstInfo::new(398, 154, Encoding::VexRm_Lx as u8, 0x33, 138, 0), // #1413
6242    InstInfo::new(396, 154, Encoding::VexRm_Lx as u8, 0x34, 213, 0), // #1414
6243    InstInfo::new(211, 154, Encoding::VexRvm_Lx as u8, 0x28, 203, 0), // #1415
6244    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0x0B, 109, 0), // #1416
6245    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0xE4, 143, 0), // #1417
6246    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0xE5, 143, 0), // #1418
6247    InstInfo::new(212, 154, Encoding::VexRvm_Lx as u8, 0x40, 109, 0), // #1419
6248    InstInfo::new(216, 152, Encoding::VexRvm_Lx as u8, 0x40, 112, 0), // #1420
6249    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0xD5, 143, 0), // #1421
6250    InstInfo::new(216, 182, Encoding::VexRvm_Lx as u8, 0x83, 112, 0), // #1422
6251    InstInfo::new(211, 154, Encoding::VexRvm_Lx as u8, 0xF4, 102, 0), // #1423
6252    InstInfo::new(282, 185, Encoding::VexRm_Lx as u8, 0x54, 113, 0), // #1424
6253    InstInfo::new(374, 186, Encoding::VexRm_Lx as u8, 0x55, 113, 0), // #1425
6254    InstInfo::new(349, 186, Encoding::VexRm_Lx as u8, 0x55, 112, 0), // #1426
6255    InstInfo::new(282, 185, Encoding::VexRm_Lx as u8, 0x54, 112, 0), // #1427
6256    InstInfo::new(350, 171, Encoding::VexRvm_Lx as u8, 0xEB, 71, 0), // #1428
6257    InstInfo::new(351, 149, Encoding::VexRvm_Lx as u8, 0xEB, 192, 0), // #1429
6258    InstInfo::new(355, 149, Encoding::VexRvm_Lx as u8, 0xEB, 134, 0), // #1430
6259    InstInfo::new(399, 163, Encoding::VexRvrmRvmr as u8, 0xA3, 202, 0), // #1431
6260    InstInfo::new(400, 149, Encoding::VexVmi_Lx as u8, 0x72, 215, 0), // #1432
6261    InstInfo::new(401, 149, Encoding::VexVmi_Lx as u8, 0x72, 216, 0), // #1433
6262    InstInfo::new(217, 149, Encoding::VexRvm_Lx as u8, 0x15, 113, 0), // #1434
6263    InstInfo::new(216, 149, Encoding::VexRvm_Lx as u8, 0x15, 112, 0), // #1435
6264    InstInfo::new(400, 149, Encoding::VexVmi_Lx as u8, 0x72, 192, 0), // #1436
6265    InstInfo::new(401, 149, Encoding::VexVmi_Lx as u8, 0x72, 134, 0), // #1437
6266    InstInfo::new(217, 149, Encoding::VexRvm_Lx as u8, 0x14, 113, 0), // #1438
6267    InstInfo::new(216, 149, Encoding::VexRvm_Lx as u8, 0x14, 112, 0), // #1439
6268    InstInfo::new(402, 163, Encoding::VexRvmRmvRmi as u8, 0x90, 81, 122), // #1440
6269    InstInfo::new(402, 163, Encoding::VexRvmRmvRmi as u8, 0x92, 81, 123), // #1441
6270    InstInfo::new(402, 163, Encoding::VexRvmRmvRmi as u8, 0x93, 81, 124), // #1442
6271    InstInfo::new(402, 163, Encoding::VexRvmRmvRmi as u8, 0x91, 81, 125), // #1443
6272    InstInfo::new(206, 173, Encoding::VexRvm_Lx as u8, 0xF6, 143, 0), // #1444
6273    InstInfo::new(403, 149, Encoding::VexMr_VM as u8, 0xA0, 128, 0), // #1445
6274    InstInfo::new(404, 149, Encoding::VexMr_VM as u8, 0xA0, 127, 0), // #1446
6275    InstInfo::new(405, 149, Encoding::VexMr_VM as u8, 0xA1, 128, 0), // #1447
6276    InstInfo::new(406, 149, Encoding::VexMr_VM as u8, 0xA1, 127, 0), // #1448
6277    InstInfo::new(407, 163, Encoding::VexRvmRmv as u8, 0x98, 81, 0), // #1449
6278    InstInfo::new(407, 163, Encoding::VexRvmRmv as u8, 0x9A, 81, 0), // #1450
6279    InstInfo::new(407, 163, Encoding::VexRvmRmv as u8, 0x9B, 81, 0), // #1451
6280    InstInfo::new(407, 163, Encoding::VexRvmRmv as u8, 0x99, 81, 0), // #1452
6281    InstInfo::new(407, 163, Encoding::VexRvmRmv as u8, 0x94, 81, 0), // #1453
6282    InstInfo::new(407, 163, Encoding::VexRvmRmv as u8, 0x96, 81, 0), // #1454
6283    InstInfo::new(209, 178, Encoding::VexRvmi_Lx as u8, 0x71, 110, 0), // #1455
6284    InstInfo::new(210, 178, Encoding::VexRvmi_Lx as u8, 0x71, 111, 0), // #1456
6285    InstInfo::new(217, 178, Encoding::VexRvm_Lx as u8, 0x71, 113, 0), // #1457
6286    InstInfo::new(216, 178, Encoding::VexRvm_Lx as u8, 0x71, 112, 0), // #1458
6287    InstInfo::new(356, 178, Encoding::VexRvm_Lx as u8, 0x70, 112, 0), // #1459
6288    InstInfo::new(280, 178, Encoding::VexRvmi_Lx as u8, 0x70, 111, 0), // #1460
6289    InstInfo::new(407, 163, Encoding::VexRvmRmv as u8, 0x97, 81, 0), // #1461
6290    InstInfo::new(407, 163, Encoding::VexRvmRmv as u8, 0x95, 81, 0), // #1462
6291    InstInfo::new(209, 178, Encoding::VexRvmi_Lx as u8, 0x73, 110, 0), // #1463
6292    InstInfo::new(210, 178, Encoding::VexRvmi_Lx as u8, 0x73, 111, 0), // #1464
6293    InstInfo::new(217, 178, Encoding::VexRvm_Lx as u8, 0x73, 113, 0), // #1465
6294    InstInfo::new(216, 178, Encoding::VexRvm_Lx as u8, 0x73, 112, 0), // #1466
6295    InstInfo::new(356, 178, Encoding::VexRvm_Lx as u8, 0x72, 112, 0), // #1467
6296    InstInfo::new(280, 178, Encoding::VexRvmi_Lx as u8, 0x72, 111, 0), // #1468
6297    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0x00, 109, 0), // #1469
6298    InstInfo::new(408, 185, Encoding::VexRvm_Lx as u8, 0x8F, 113, 0), // #1470
6299    InstInfo::new(409, 154, Encoding::VexRmi_Lx as u8, 0x70, 143, 0), // #1471
6300    InstInfo::new(410, 173, Encoding::VexRmi_Lx as u8, 0x70, 160, 0), // #1472
6301    InstInfo::new(410, 173, Encoding::VexRmi_Lx as u8, 0x70, 217, 0), // #1473
6302    InstInfo::new(205, 171, Encoding::VexRvm_Lx as u8, 0x08, 30, 0), // #1474
6303    InstInfo::new(205, 171, Encoding::VexRvm_Lx as u8, 0x0A, 30, 0), // #1475
6304    InstInfo::new(205, 171, Encoding::VexRvm_Lx as u8, 0x09, 30, 0), // #1476
6305    InstInfo::new(411, 154, Encoding::VexRvmVmi_Lx_MEvex as u8, 0xF2, 218, 126), // #1477
6306    InstInfo::new(412, 173, Encoding::VexVmi_Lx_MEvex as u8, 0x73, 219, 0), // #1478
6307    InstInfo::new(413, 154, Encoding::VexRvmVmi_Lx_MEvex as u8, 0xF3, 220, 127), // #1479
6308    InstInfo::new(212, 164, Encoding::VexRvm_Lx as u8, 0x47, 109, 0), // #1480
6309    InstInfo::new(211, 164, Encoding::VexRvm_Lx as u8, 0x47, 180, 0), // #1481
6310    InstInfo::new(356, 160, Encoding::VexRvm_Lx as u8, 0x12, 112, 0), // #1482
6311    InstInfo::new(414, 173, Encoding::VexRvmVmi_Lx_MEvex as u8, 0xF1, 218, 128), // #1483
6312    InstInfo::new(411, 154, Encoding::VexRvmVmi_Lx_MEvex as u8, 0xE2, 218, 129), // #1484
6313    InstInfo::new(415, 149, Encoding::VexRvmVmi_Lx_MEvex as u8, 0xE2, 221, 130), // #1485
6314    InstInfo::new(212, 164, Encoding::VexRvm_Lx as u8, 0x46, 109, 0), // #1486
6315    InstInfo::new(216, 149, Encoding::VexRvm_Lx as u8, 0x46, 112, 0), // #1487
6316    InstInfo::new(356, 160, Encoding::VexRvm_Lx as u8, 0x11, 112, 0), // #1488
6317    InstInfo::new(414, 173, Encoding::VexRvmVmi_Lx_MEvex as u8, 0xE1, 218, 131), // #1489
6318    InstInfo::new(411, 154, Encoding::VexRvmVmi_Lx_MEvex as u8, 0xD2, 218, 132), // #1490
6319    InstInfo::new(412, 173, Encoding::VexVmi_Lx_MEvex as u8, 0x73, 222, 0), // #1491
6320    InstInfo::new(413, 154, Encoding::VexRvmVmi_Lx_MEvex as u8, 0xD3, 220, 133), // #1492
6321    InstInfo::new(212, 164, Encoding::VexRvm_Lx as u8, 0x45, 109, 0), // #1493
6322    InstInfo::new(211, 164, Encoding::VexRvm_Lx as u8, 0x45, 180, 0), // #1494
6323    InstInfo::new(356, 160, Encoding::VexRvm_Lx as u8, 0x10, 112, 0), // #1495
6324    InstInfo::new(414, 173, Encoding::VexRvmVmi_Lx_MEvex as u8, 0xD1, 218, 134), // #1496
6325    InstInfo::new(416, 173, Encoding::VexRvm_Lx as u8, 0xF8, 143, 0), // #1497
6326    InstInfo::new(417, 154, Encoding::VexRvm_Lx as u8, 0xFA, 143, 0), // #1498
6327    InstInfo::new(418, 154, Encoding::VexRvm_Lx as u8, 0xFB, 102, 0), // #1499
6328    InstInfo::new(416, 173, Encoding::VexRvm_Lx as u8, 0xE8, 143, 0), // #1500
6329    InstInfo::new(416, 173, Encoding::VexRvm_Lx as u8, 0xE9, 143, 0), // #1501
6330    InstInfo::new(416, 173, Encoding::VexRvm_Lx as u8, 0xD8, 143, 0), // #1502
6331    InstInfo::new(416, 173, Encoding::VexRvm_Lx as u8, 0xD9, 143, 0), // #1503
6332    InstInfo::new(416, 173, Encoding::VexRvm_Lx as u8, 0xF9, 143, 0), // #1504
6333    InstInfo::new(209, 149, Encoding::VexRvmi_Lx as u8, 0x25, 110, 0), // #1505
6334    InstInfo::new(210, 149, Encoding::VexRvmi_Lx as u8, 0x25, 111, 0), // #1506
6335    InstInfo::new(301, 177, Encoding::VexRm_Lx as u8, 0x17, 30, 0), // #1507
6336    InstInfo::new(408, 160, Encoding::VexRvm_Lx as u8, 0x26, 113, 0), // #1508
6337    InstInfo::new(419, 149, Encoding::VexRvm_Lx as u8, 0x27, 113, 0), // #1509
6338    InstInfo::new(420, 149, Encoding::VexRvm_Lx as u8, 0x27, 112, 0), // #1510
6339    InstInfo::new(408, 160, Encoding::VexRvm_Lx as u8, 0x26, 112, 0), // #1511
6340    InstInfo::new(408, 160, Encoding::VexRvm_Lx as u8, 0x26, 169, 0), // #1512
6341    InstInfo::new(419, 149, Encoding::VexRvm_Lx as u8, 0x27, 169, 0), // #1513
6342    InstInfo::new(420, 149, Encoding::VexRvm_Lx as u8, 0x27, 223, 0), // #1514
6343    InstInfo::new(408, 160, Encoding::VexRvm_Lx as u8, 0x26, 223, 0), // #1515
6344    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0x68, 143, 0), // #1516
6345    InstInfo::new(212, 154, Encoding::VexRvm_Lx as u8, 0x6A, 143, 0), // #1517
6346    InstInfo::new(211, 154, Encoding::VexRvm_Lx as u8, 0x6D, 102, 0), // #1518
6347    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0x69, 143, 0), // #1519
6348    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0x60, 143, 0), // #1520
6349    InstInfo::new(212, 154, Encoding::VexRvm_Lx as u8, 0x62, 143, 0), // #1521
6350    InstInfo::new(211, 154, Encoding::VexRvm_Lx as u8, 0x6C, 102, 0), // #1522
6351    InstInfo::new(315, 173, Encoding::VexRvm_Lx as u8, 0x61, 143, 0), // #1523
6352    InstInfo::new(352, 171, Encoding::VexRvm_Lx as u8, 0xEF, 71, 0), // #1524
6353    InstInfo::new(353, 149, Encoding::VexRvm_Lx as u8, 0xEF, 192, 0), // #1525
6354    InstInfo::new(354, 149, Encoding::VexRvm_Lx as u8, 0xEF, 134, 0), // #1526
6355    InstInfo::new(288, 152, Encoding::VexRvmi_Lx as u8, 0x50, 111, 0), // #1527
6356    InstInfo::new(289, 152, Encoding::VexRvmi_Lx as u8, 0x50, 110, 0), // #1528
6357    InstInfo::new(290, 152, Encoding::VexRvmi as u8, 0x51, 178, 0), // #1529
6358    InstInfo::new(291, 152, Encoding::VexRvmi as u8, 0x51, 179, 0), // #1530
6359    InstInfo::new(349, 149, Encoding::VexRm_Lx as u8, 0x4C, 112, 0), // #1531
6360    InstInfo::new(374, 149, Encoding::VexRm_Lx as u8, 0x4C, 113, 0), // #1532
6361    InstInfo::new(421, 149, Encoding::VexRvm as u8, 0x4D, 127, 0), // #1533
6362    InstInfo::new(422, 149, Encoding::VexRvm as u8, 0x4D, 128, 0), // #1534
6363    InstInfo::new(423, 145, Encoding::VexRm_Lx as u8, 0x4C, 181, 0), // #1535
6364    InstInfo::new(301, 146, Encoding::VexRm_Lx as u8, 0x53, 74, 0), // #1536
6365    InstInfo::new(424, 145, Encoding::VexRvm as u8, 0x4D, 183, 0), // #1537
6366    InstInfo::new(425, 146, Encoding::VexRvm as u8, 0x53, 193, 0), // #1538
6367    InstInfo::new(401, 152, Encoding::VexRmi_Lx as u8, 0x56, 111, 0), // #1539
6368    InstInfo::new(311, 145, Encoding::VexRmi_Lx as u8, 0x56, 122, 0), // #1540
6369    InstInfo::new(400, 152, Encoding::VexRmi_Lx as u8, 0x56, 110, 0), // #1541
6370    InstInfo::new(426, 152, Encoding::VexRvmi as u8, 0x57, 178, 0), // #1542
6371    InstInfo::new(313, 145, Encoding::VexRvmi as u8, 0x57, 186, 0), // #1543
6372    InstInfo::new(427, 152, Encoding::VexRvmi as u8, 0x57, 179, 0), // #1544
6373    InstInfo::new(310, 149, Encoding::VexRmi_Lx as u8, 0x09, 111, 0), // #1545
6374    InstInfo::new(311, 145, Encoding::VexRmi_Lx as u8, 0x08, 122, 0), // #1546
6375    InstInfo::new(312, 149, Encoding::VexRmi_Lx as u8, 0x08, 110, 0), // #1547
6376    InstInfo::new(290, 149, Encoding::VexRvmi as u8, 0x0B, 178, 0), // #1548
6377    InstInfo::new(313, 145, Encoding::VexRvmi as u8, 0x0A, 186, 0), // #1549
6378    InstInfo::new(291, 149, Encoding::VexRvmi as u8, 0x0A, 179, 0), // #1550
6379    InstInfo::new(428, 146, Encoding::VexRmi_Lx as u8, 0x09, 75, 0), // #1551
6380    InstInfo::new(428, 146, Encoding::VexRmi_Lx as u8, 0x08, 75, 0), // #1552
6381    InstInfo::new(429, 146, Encoding::VexRvmi as u8, 0x0B, 75, 0), // #1553
6382    InstInfo::new(430, 146, Encoding::VexRvmi as u8, 0x0A, 75, 0), // #1554
6383    InstInfo::new(349, 149, Encoding::VexRm_Lx as u8, 0x4E, 112, 0), // #1555
6384    InstInfo::new(374, 149, Encoding::VexRm_Lx as u8, 0x4E, 113, 0), // #1556
6385    InstInfo::new(421, 149, Encoding::VexRvm as u8, 0x4F, 127, 0), // #1557
6386    InstInfo::new(422, 149, Encoding::VexRvm as u8, 0x4F, 128, 0), // #1558
6387    InstInfo::new(423, 145, Encoding::VexRm_Lx as u8, 0x4E, 181, 0), // #1559
6388    InstInfo::new(301, 146, Encoding::VexRm_Lx as u8, 0x52, 74, 0), // #1560
6389    InstInfo::new(424, 145, Encoding::VexRvm as u8, 0x4F, 183, 0), // #1561
6390    InstInfo::new(425, 146, Encoding::VexRvm as u8, 0x52, 193, 0), // #1562
6391    InstInfo::new(431, 149, Encoding::VexRvm_Lx as u8, 0x2C, 112, 0), // #1563
6392    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0x2C, 181, 0), // #1564
6393    InstInfo::new(287, 149, Encoding::VexRvm_Lx as u8, 0x2C, 113, 0), // #1565
6394    InstInfo::new(256, 149, Encoding::VexRvm as u8, 0x2D, 127, 0), // #1566
6395    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0x2D, 183, 0), // #1567
6396    InstInfo::new(264, 149, Encoding::VexRvm as u8, 0x2D, 128, 0), // #1568
6397    InstInfo::new(404, 149, Encoding::VexMr_VM as u8, 0xA2, 127, 0), // #1569
6398    InstInfo::new(403, 149, Encoding::VexMr_VM as u8, 0xA2, 128, 0), // #1570
6399    InstInfo::new(406, 149, Encoding::VexMr_VM as u8, 0xA3, 127, 0), // #1571
6400    InstInfo::new(405, 149, Encoding::VexMr_VM as u8, 0xA3, 128, 0), // #1572
6401    InstInfo::new(432, 187, Encoding::VexRm as u8, 0xCC, 224, 0), // #1573
6402    InstInfo::new(433, 187, Encoding::VexRm as u8, 0xCD, 224, 0), // #1574
6403    InstInfo::new(434, 187, Encoding::VexRvm as u8, 0xCB, 224, 0), // #1575
6404    InstInfo::new(435, 149, Encoding::VexRvmi_Lx as u8, 0x23, 110, 0), // #1576
6405    InstInfo::new(436, 149, Encoding::VexRvmi_Lx as u8, 0x23, 111, 0), // #1577
6406    InstInfo::new(435, 149, Encoding::VexRvmi_Lx as u8, 0x43, 110, 0), // #1578
6407    InstInfo::new(436, 149, Encoding::VexRvmi_Lx as u8, 0x43, 111, 0), // #1579
6408    InstInfo::new(437, 144, Encoding::VexRvmi_Lx as u8, 0xC6, 102, 0), // #1580
6409    InstInfo::new(438, 144, Encoding::VexRvmi_Lx as u8, 0xC6, 104, 0), // #1581
6410    InstInfo::new(439, 188, Encoding::VexRvm as u8, 0xDA, 11, 0), // #1582
6411    InstInfo::new(439, 188, Encoding::VexRvm as u8, 0xDA, 30, 0), // #1583
6412    InstInfo::new(281, 188, Encoding::VexRvmi as u8, 0xDE, 75, 0), // #1584
6413    InstInfo::new(205, 189, Encoding::VexRvm_Lx as u8, 0xDA, 89, 0), // #1585
6414    InstInfo::new(205, 189, Encoding::VexRvm_Lx as u8, 0xDA, 85, 0), // #1586
6415    InstInfo::new(440, 144, Encoding::VexRm_Lx as u8, 0x51, 102, 0), // #1587
6416    InstInfo::new(251, 145, Encoding::VexRm_Lx as u8, 0x51, 103, 0), // #1588
6417    InstInfo::new(239, 144, Encoding::VexRm_Lx as u8, 0x51, 104, 0), // #1589
6418    InstInfo::new(202, 144, Encoding::VexRvm as u8, 0x51, 105, 0), // #1590
6419    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0x51, 106, 0), // #1591
6420    InstInfo::new(204, 144, Encoding::VexRvm as u8, 0x51, 107, 0), // #1592
6421    InstInfo::new(320, 146, Encoding::VexM as u8, 0xAE, 225, 0), // #1593
6422    InstInfo::new(199, 144, Encoding::VexRvm_Lx as u8, 0x5C, 102, 0), // #1594
6423    InstInfo::new(200, 145, Encoding::VexRvm_Lx as u8, 0x5C, 103, 0), // #1595
6424    InstInfo::new(201, 144, Encoding::VexRvm_Lx as u8, 0x5C, 104, 0), // #1596
6425    InstInfo::new(202, 144, Encoding::VexRvm as u8, 0x5C, 105, 0), // #1597
6426    InstInfo::new(203, 145, Encoding::VexRvm as u8, 0x5C, 106, 0), // #1598
6427    InstInfo::new(204, 144, Encoding::VexRvm as u8, 0x5C, 107, 0), // #1599
6428    InstInfo::new(301, 177, Encoding::VexRm_Lx as u8, 0x0F, 30, 0), // #1600
6429    InstInfo::new(301, 177, Encoding::VexRm_Lx as u8, 0x0E, 30, 0), // #1601
6430    InstInfo::new(233, 155, Encoding::VexRm as u8, 0x2E, 124, 0), // #1602
6431    InstInfo::new(234, 156, Encoding::VexRm as u8, 0x2E, 125, 0), // #1603
6432    InstInfo::new(235, 155, Encoding::VexRm as u8, 0x2E, 126, 0), // #1604
6433    InstInfo::new(211, 144, Encoding::VexRvm_Lx as u8, 0x15, 102, 0), // #1605
6434    InstInfo::new(212, 144, Encoding::VexRvm_Lx as u8, 0x15, 104, 0), // #1606
6435    InstInfo::new(211, 144, Encoding::VexRvm_Lx as u8, 0x14, 102, 0), // #1607
6436    InstInfo::new(212, 144, Encoding::VexRvm_Lx as u8, 0x14, 104, 0), // #1608
6437    InstInfo::new(418, 150, Encoding::VexRvm_Lx as u8, 0x57, 102, 0), // #1609
6438    InstInfo::new(417, 150, Encoding::VexRvm_Lx as u8, 0x57, 104, 0), // #1610
6439    InstInfo::new(441, 146, Encoding::VexOp as u8, 0x77, 70, 0), // #1611
6440    InstInfo::new(441, 146, Encoding::VexOp as u8, 0x77, 74, 0), // #1612
6441    InstInfo::new(31, 45, Encoding::X86Op as u8, 0x09, 5, 0), // #1613
6442    InstInfo::new(31, 190, Encoding::X86Op as u8, 0x09, 7, 0), // #1614
6443    InstInfo::new(177, 122, Encoding::X86M as u8, 0xAE, 226, 0), // #1615
6444    InstInfo::new(177, 122, Encoding::X86M as u8, 0xAE, 227, 0), // #1616
6445    InstInfo::new(180, 191, Encoding::X86Op as u8, 0x30, 5, 0), // #1617
6446    InstInfo::new(442, 65, Encoding::X86Mr as u8, 0xF6, 1, 0), // #1618
6447    InstInfo::new(443, 65, Encoding::X86Mr as u8, 0xF6, 228, 0), // #1619
6448    InstInfo::new(442, 65, Encoding::X86Mr as u8, 0xF5, 2, 0), // #1620
6449    InstInfo::new(443, 65, Encoding::X86Mr as u8, 0xF5, 229, 0), // #1621
6450    InstInfo::new(83, 192, Encoding::X86Op_Mod11RM_I8 as u8, 0xC6, 29, 0), // #1622
6451    InstInfo::new(444, 40, Encoding::X86Xadd as u8, 0xC0, 5, 0), // #1623
6452    InstInfo::new(445, 192, Encoding::X86JmpRel as u8, 0xC7, 29, 0), // #1624
6453    InstInfo::new(446, 0, Encoding::X86Xchg as u8, 0x86, 0, 0), // #1625
6454    InstInfo::new(31, 192, Encoding::X86Op as u8, 0xD5, 23, 0), // #1626
6455    InstInfo::new(180, 193, Encoding::X86Op as u8, 0xD0, 23, 0), // #1627
6456    InstInfo::new(31, 0, Encoding::X86Op as u8, 0xD7, 0, 0), // #1628
6457    InstInfo::new(184, 1, Encoding::X86Arith as u8, 0x30, 34, 0), // #1629
6458    InstInfo::new(154, 5, Encoding::ExtRm as u8, 0x57, 4, 0), // #1630
6459    InstInfo::new(154, 6, Encoding::ExtRm as u8, 0x57, 5, 0), // #1631
6460    InstInfo::new(31, 194, Encoding::X86Op as u8, 0xE9, 93, 0), // #1632
6461    InstInfo::new(447, 193, Encoding::X86M_Only_EDX_EAX as u8, 0xAE, 79, 0), // #1633
6462    InstInfo::new(448, 193, Encoding::X86M_Only_EDX_EAX as u8, 0xAE, 230, 0), // #1634
6463    InstInfo::new(447, 195, Encoding::X86M_Only_EDX_EAX as u8, 0xC7, 80, 0), // #1635
6464    InstInfo::new(448, 195, Encoding::X86M_Only_EDX_EAX as u8, 0xC7, 231, 0), // #1636
6465    InstInfo::new(447, 193, Encoding::X86M_Only_EDX_EAX as u8, 0xAE, 98, 0), // #1637
6466    InstInfo::new(448, 193, Encoding::X86M_Only_EDX_EAX as u8, 0xAE, 232, 0), // #1638
6467    InstInfo::new(447, 196, Encoding::X86M_Only_EDX_EAX as u8, 0xC7, 98, 0), // #1639
6468    InstInfo::new(448, 196, Encoding::X86M_Only_EDX_EAX as u8, 0xC7, 232, 0), // #1640
6469    InstInfo::new(447, 197, Encoding::X86M_Only_EDX_EAX as u8, 0xAE, 82, 0), // #1641
6470    InstInfo::new(448, 197, Encoding::X86M_Only_EDX_EAX as u8, 0xAE, 233, 0), // #1642
6471    InstInfo::new(447, 195, Encoding::X86M_Only_EDX_EAX as u8, 0xC7, 79, 0), // #1643
6472    InstInfo::new(448, 195, Encoding::X86M_Only_EDX_EAX as u8, 0xC7, 230, 0), // #1644
6473    InstInfo::new(180, 193, Encoding::X86Op as u8, 0xD1, 23, 0), // #1645
6474    InstInfo::new(31, 194, Encoding::X86Op as u8, 0xE8, 93, 0), // #1646
6475    InstInfo::new(31, 198, Encoding::X86Op as u8, 0xD6, 23, 0), // #1647
6476];
6477
6478pub static MAIN_OPCODE_TABLE: &[u32] = &[
6479    0x00000000, // #0 [ref=56x]
6480    0x00000200, // #1 [ref=25x]
6481    0x00200200, // #2 [ref=44x]
6482    0x00080000, // #3 [ref=4x]
6483    0x00200100, // #4 [ref=38x]
6484    0x00000100, // #5 [ref=189x]
6485    0x00600100, // #6 [ref=24x]
6486    0x00400100, // #7 [ref=29x]
6487    0x00400200, // #8 [ref=3x]
6488    0x00200300, // #9 [ref=22x]
6489    0x00100000, // #10 [ref=4x]
6490    0x00000200, // #11 [ref=13x]
6491    0x00600200, // #12 [ref=3x]
6492    0x00040900, // #13 [ref=3x]
6493    0x00180900, // #14 [ref=2x]
6494    0x00140900, // #15 [ref=1x]
6495    0x000C0900, // #16 [ref=1x]
6496    0x00080900, // #17 [ref=1x]
6497    0x000C0200, // #18 [ref=1x]
6498    0x00080200, // #19 [ref=1x]
6499    0x00040200, // #20 [ref=1x]
6500    0x00200000, // #21 [ref=7x]
6501    0x08000000, // #22 [ref=3x]
6502    0x00000400, // #23 [ref=32x]
6503    0x001C0100, // #24 [ref=6x]
6504    0x003C0100, // #25 [ref=1x]
6505    0x00580100, // #26 [ref=4x]
6506    0x00400400, // #27 [ref=9x]
6507    0x00380100, // #28 [ref=3x]
6508    0x001C0000, // #29 [ref=5x]
6509    0x00200200, // #30 [ref=48x]
6510    0x08040100, // #31 [ref=2x]
6511    0x00040100, // #32 [ref=6x]
6512    0x00040000, // #33 [ref=3x]
6513    0x00180000, // #34 [ref=4x]
6514    0x005C6100, // #35 [ref=1x]
6515    0x005C4100, // #36 [ref=1x]
6516    0x00036400, // #37 [ref=29x]
6517    0x00030000, // #38 [ref=1x]
6518    0x00037800, // #39 [ref=7x]
6519    0x00100000, // #40 [ref=4x]
6520    0x00180000, // #41 [ref=4x]
6521    0x00E36C00, // #42 [ref=2x]
6522    0x00036800, // #43 [ref=5x]
6523    0x00036C00, // #44 [ref=8x]
6524    0x000B4000, // #45 [ref=1x]
6525    0x00037C00, // #46 [ref=2x]
6526    0x000F6000, // #47 [ref=1x]
6527    0x001BC000, // #48 [ref=1x]
6528    0x001FE000, // #49 [ref=1x]
6529    0x00037400, // #50 [ref=3x]
6530    0x00000000, // #51 [ref=4x]
6531    0x00080000, // #52 [ref=3x]
6532    0x000C0000, // #53 [ref=3x]
6533    0x001C0000, // #54 [ref=3x]
6534    0x00040000, // #55 [ref=2x]
6535    0x00140000, // #56 [ref=2x]
6536    0x00072000, // #57 [ref=1x]
6537    0x00F80000, // #58 [ref=2x]
6538    0x00FC0000, // #59 [ref=2x]
6539    0x00138000, // #60 [ref=1x]
6540    0x0017A000, // #61 [ref=1x]
6541    0x08000100, // #62 [ref=3x]
6542    0x00400300, // #63 [ref=1x]
6543    0x00140000, // #64 [ref=4x]
6544    0x00540100, // #65 [ref=2x]
6545    0x08540100, // #66 [ref=1x]
6546    0x20200100, // #67 [ref=7x]
6547    0x28200100, // #68 [ref=6x]
6548    0x28000100, // #69 [ref=7x]
6549    0x20000100, // #70 [ref=8x]
6550    0x00200100, // #71 [ref=15x]
6551    0x08200100, // #72 [ref=4x]
6552    0x08000100, // #73 [ref=4x]
6553    0x00000100, // #74 [ref=10x]
6554    0x00200300, // #75 [ref=48x]
6555    0x08200300, // #76 [ref=4x]
6556    0x000C0000, // #77 [ref=4x]
6557    0x00080100, // #78 [ref=5x]
6558    0x00140100, // #79 [ref=4x]
6559    0x000C0100, // #80 [ref=5x]
6560    0x00000900, // #81 [ref=32x]
6561    0x00180100, // #82 [ref=6x]
6562    0x00000A00, // #83 [ref=1x]
6563    0x00040A00, // #84 [ref=1x]
6564    0x00600200, // #85 [ref=11x]
6565    0x00000300, // #86 [ref=4x]
6566    0x00400000, // #87 [ref=1x]
6567    0x00000100, // #88 [ref=26x]
6568    0x00400200, // #89 [ref=12x]
6569    0x08000300, // #90 [ref=1x]
6570    0x08200300, // #91 [ref=1x]
6571    0x00500100, // #92 [ref=1x]
6572    0x00600400, // #93 [ref=5x]
6573    0x00440100, // #94 [ref=3x]
6574    0x005C0100, // #95 [ref=1x]
6575    0x00600300, // #96 [ref=1x]
6576    0x00200400, // #97 [ref=4x]
6577    0x00100100, // #98 [ref=4x]
6578    0x001C0900, // #99 [ref=1x]
6579    0x00100900, // #100 [ref=1x]
6580    0x00780100, // #101 [ref=1x]
6581    0x10218100, // #102 [ref=25x]
6582    0x00019500, // #103 [ref=10x]
6583    0x00018100, // #104 [ref=19x]
6584    0x10606100, // #105 [ref=10x]
6585    0x00403500, // #106 [ref=13x]
6586    0x00404100, // #107 [ref=12x]
6587    0x00600100, // #108 [ref=4x]
6588    0x00218200, // #109 [ref=50x]
6589    0x00219300, // #110 [ref=17x]
6590    0x10219300, // #111 [ref=18x]
6591    0x10219200, // #112 [ref=38x]
6592    0x00219200, // #113 [ref=25x]
6593    0x20200200, // #114 [ref=2x]
6594    0x00207200, // #115 [ref=2x]
6595    0x00209200, // #116 [ref=2x]
6596    0x4020B200, // #117 [ref=2x]
6597    0x10209200, // #118 [ref=2x]
6598    0x5020B200, // #119 [ref=2x]
6599    0x10206200, // #120 [ref=2x]
6600    0x00204200, // #121 [ref=14x]
6601    0x00019300, // #122 [ref=5x]
6602    0x00403300, // #123 [ref=1x]
6603    0x10206100, // #124 [ref=5x]
6604    0x00003500, // #125 [ref=2x]
6605    0x00004100, // #126 [ref=2x]
6606    0x10207200, // #127 [ref=12x]
6607    0x00205200, // #128 [ref=12x]
6608    0x00416100, // #129 [ref=1x]
6609    0x00619200, // #130 [ref=2x]
6610    0x00418200, // #131 [ref=1x]
6611    0x10618100, // #132 [ref=1x]
6612    0x10219500, // #133 [ref=1x]
6613    0x10219100, // #134 [ref=10x]
6614    0x10019100, // #135 [ref=3x]
6615    0x00217500, // #136 [ref=1x]
6616    0x00015500, // #137 [ref=1x]
6617    0x00216200, // #138 [ref=7x]
6618    0x00217600, // #139 [ref=1x]
6619    0x00215500, // #140 [ref=4x]
6620    0x00017500, // #141 [ref=2x]
6621    0x00219500, // #142 [ref=3x]
6622    0x00218100, // #143 [ref=43x]
6623    0x00016100, // #144 [ref=1x]
6624    0x00216300, // #145 [ref=1x]
6625    0x00217100, // #146 [ref=4x]
6626    0x00019100, // #147 [ref=2x]
6627    0x10419100, // #148 [ref=3x]
6628    0x10019500, // #149 [ref=1x]
6629    0x10607500, // #150 [ref=1x]
6630    0x00606100, // #151 [ref=2x]
6631    0x00607100, // #152 [ref=2x]
6632    0x00003600, // #153 [ref=1x]
6633    0x00624100, // #154 [ref=1x]
6634    0x00425500, // #155 [ref=2x]
6635    0x00424100, // #156 [ref=1x]
6636    0x00005500, // #157 [ref=1x]
6637    0x00405100, // #158 [ref=2x]
6638    0x00417500, // #159 [ref=1x]
6639    0x00418100, // #160 [ref=4x]
6640    0x00417100, // #161 [ref=1x]
6641    0x00619500, // #162 [ref=2x]
6642    0x00619100, // #163 [ref=2x]
6643    0x10619500, // #164 [ref=1x]
6644    0x10619100, // #165 [ref=2x]
6645    0x00625100, // #166 [ref=1x]
6646    0x00425100, // #167 [ref=1x]
6647    0x00419500, // #168 [ref=1x]
6648    0x00419200, // #169 [ref=3x]
6649    0x20200300, // #170 [ref=6x]
6650    0x00209300, // #171 [ref=4x]
6651    0x4020B300, // #172 [ref=4x]
6652    0x10209300, // #173 [ref=4x]
6653    0x5020B300, // #174 [ref=4x]
6654    0x00204300, // #175 [ref=4x]
6655    0x00619600, // #176 [ref=2x]
6656    0x00605600, // #177 [ref=2x]
6657    0x10207300, // #178 [ref=6x]
6658    0x00205300, // #179 [ref=6x]
6659    0x18218200, // #180 [ref=22x]
6660    0x00219600, // #181 [ref=22x]
6661    0x18206200, // #182 [ref=12x]
6662    0x00203600, // #183 [ref=16x]
6663    0x00419600, // #184 [ref=2x]
6664    0x00405600, // #185 [ref=2x]
6665    0x00003300, // #186 [ref=4x]
6666    0x08200200, // #187 [ref=5x]
6667    0x18218300, // #188 [ref=2x]
6668    0x00080100, // #189 [ref=1x]
6669    0x00204100, // #190 [ref=1x]
6670    0x10636100, // #191 [ref=1x]
6671    0x00219100, // #192 [ref=6x]
6672    0x00400100, // #193 [ref=3x]
6673    0x00419100, // #194 [ref=1x]
6674    0x00006100, // #195 [ref=2x]
6675    0x00203500, // #196 [ref=1x]
6676    0x10619200, // #197 [ref=1x]
6677    0x00218300, // #198 [ref=2x]
6678    0x10401200, // #199 [ref=5x]
6679    0x00401200, // #200 [ref=5x]
6680    0x00202200, // #201 [ref=1x]
6681    0x00000800, // #202 [ref=22x]
6682    0x10218200, // #203 [ref=4x]
6683    0x00201200, // #204 [ref=2x]
6684    0x10203200, // #205 [ref=2x]
6685    0x18219200, // #206 [ref=1x]
6686    0x18206300, // #207 [ref=2x]
6687    0x00202300, // #208 [ref=1x]
6688    0x00202100, // #209 [ref=1x]
6689    0x00415200, // #210 [ref=6x]
6690    0x00417200, // #211 [ref=9x]
6691    0x00413200, // #212 [ref=3x]
6692    0x00214200, // #213 [ref=4x]
6693    0x00212200, // #214 [ref=2x]
6694    0x00259100, // #215 [ref=1x]
6695    0x10259100, // #216 [ref=1x]
6696    0x00618100, // #217 [ref=1x]
6697    0x00208100, // #218 [ref=6x]
6698    0x003D8100, // #219 [ref=1x]
6699    0x10208100, // #220 [ref=2x]
6700    0x10209100, // #221 [ref=1x]
6701    0x002D8100, // #222 [ref=1x]
6702    0x10419200, // #223 [ref=2x]
6703    0x20600200, // #224 [ref=3x]
6704    0x000C0100, // #225 [ref=1x]
6705    0x00480100, // #226 [ref=1x]
6706    0x004C0100, // #227 [ref=1x]
6707    0x08000200, // #228 [ref=1x]
6708    0x08200200, // #229 [ref=1x]
6709    0x08140100, // #230 [ref=2x]
6710    0x080C0100, // #231 [ref=1x]
6711    0x08100100, // #232 [ref=2x]
6712    0x08180100, // #233 [ref=1x]
6713];
6714
6715pub static ALT_OPCODE_TABLE: &[u32] = &[
6716    0x00000000, // #0 [ref=1512x]
6717    0x0020011B, // #1 [ref=1x]
6718    0x001001BA, // #2 [ref=1x]
6719    0x001C01BA, // #3 [ref=1x]
6720    0x001801BA, // #4 [ref=1x]
6721    0x001401BA, // #5 [ref=1x]
6722    0x00000048, // #6 [ref=1x]
6723    0x00200178, // #7 [ref=1x]
6724    0x001400DF, // #8 [ref=1x]
6725    0x001C00DF, // #9 [ref=1x]
6726    0x000400DD, // #10 [ref=1x]
6727    0x001400DB, // #11 [ref=1x]
6728    0x00037CE0, // #12 [ref=1x]
6729    0x001C00DB, // #13 [ref=1x]
6730    0x00E37CE0, // #14 [ref=1x]
6731    0x000000E4, // #15 [ref=1x]
6732    0x00000040, // #16 [ref=1x]
6733    0x00600178, // #17 [ref=1x]
6734    0x00000072, // #18 [ref=1x]
6735    0x00000076, // #19 [ref=1x]
6736    0x000000E3, // #20 [ref=1x]
6737    0x0000007C, // #21 [ref=1x]
6738    0x0000007E, // #22 [ref=1x]
6739    0x000000EB, // #23 [ref=1x]
6740    0x00000073, // #24 [ref=1x]
6741    0x00000077, // #25 [ref=1x]
6742    0x0000007D, // #26 [ref=1x]
6743    0x0000007F, // #27 [ref=1x]
6744    0x00000071, // #28 [ref=1x]
6745    0x0000007B, // #29 [ref=1x]
6746    0x00000079, // #30 [ref=1x]
6747    0x00000075, // #31 [ref=1x]
6748    0x00000070, // #32 [ref=1x]
6749    0x0000007A, // #33 [ref=1x]
6750    0x00000078, // #34 [ref=1x]
6751    0x00000074, // #35 [ref=1x]
6752    0x00200192, // #36 [ref=1x]
6753    0x00600192, // #37 [ref=1x]
6754    0x08600192, // #38 [ref=1x]
6755    0x00000192, // #39 [ref=1x]
6756    0x0000009A, // #40 [ref=1x]
6757    0x000000EA, // #41 [ref=1x]
6758    0x000000E2, // #42 [ref=1x]
6759    0x000000E1, // #43 [ref=1x]
6760    0x000000E0, // #44 [ref=1x]
6761    0x00200129, // #45 [ref=1x]
6762    0x00000129, // #46 [ref=1x]
6763    0x000002F1, // #47 [ref=1x]
6764    0x0000017E, // #48 [ref=2x]
6765    0x0020017F, // #49 [ref=1x]
6766    0x0040017F, // #50 [ref=1x]
6767    0x00200117, // #51 [ref=1x]
6768    0x00000117, // #52 [ref=1x]
6769    0x00200113, // #53 [ref=1x]
6770    0x00000113, // #54 [ref=1x]
6771    0x002001E7, // #55 [ref=1x]
6772    0x0020012B, // #56 [ref=1x]
6773    0x0000012B, // #57 [ref=1x]
6774    0x000001E7, // #58 [ref=1x]
6775    0x0060012B, // #59 [ref=1x]
6776    0x0040012B, // #60 [ref=1x]
6777    0x00600111, // #61 [ref=1x]
6778    0x00400111, // #62 [ref=1x]
6779    0x00200111, // #63 [ref=1x]
6780    0x00000111, // #64 [ref=1x]
6781    0x000000E6, // #65 [ref=1x]
6782    0x00000315, // #66 [ref=1x]
6783    0x00000058, // #67 [ref=1x]
6784    0x00180172, // #68 [ref=1x]
6785    0x003C0173, // #69 [ref=1x]
6786    0x00180173, // #70 [ref=1x]
6787    0x00180171, // #71 [ref=1x]
6788    0x00100172, // #72 [ref=1x]
6789    0x00100171, // #73 [ref=1x]
6790    0x00080172, // #74 [ref=1x]
6791    0x002C0173, // #75 [ref=1x]
6792    0x00080173, // #76 [ref=1x]
6793    0x00080171, // #77 [ref=1x]
6794    0x00000050, // #78 [ref=2x]
6795    0x000000F6, // #79 [ref=1x]
6796    0x10207292, // #80 [ref=1x]
6797    0x00205292, // #81 [ref=1x]
6798    0x10207293, // #82 [ref=1x]
6799    0x00205293, // #83 [ref=1x]
6800    0x0020022F, // #84 [ref=1x]
6801    0x0020022E, // #85 [ref=1x]
6802    0x10218129, // #86 [ref=1x]
6803    0x00018129, // #87 [ref=1x]
6804    0x0020417E, // #88 [ref=1x]
6805    0x0020017F, // #89 [ref=1x]
6806    0x0021917F, // #90 [ref=1x]
6807    0x1021917F, // #91 [ref=1x]
6808    0x0040017F, // #92 [ref=1x]
6809    0x1061917F, // #93 [ref=1x]
6810    0x0041917F, // #94 [ref=1x]
6811    0x1041917F, // #95 [ref=1x]
6812    0x0061917F, // #96 [ref=1x]
6813    0x10206117, // #97 [ref=1x]
6814    0x00006117, // #98 [ref=1x]
6815    0x10206113, // #99 [ref=1x]
6816    0x00006113, // #100 [ref=1x]
6817    0x1020617E, // #101 [ref=1x]
6818    0x10606111, // #102 [ref=1x]
6819    0x00403511, // #103 [ref=1x]
6820    0x00404111, // #104 [ref=1x]
6821    0x10218111, // #105 [ref=1x]
6822    0x00018111, // #106 [ref=1x]
6823    0x0020357E, // #107 [ref=1x]
6824    0x0020127A, // #108 [ref=1x]
6825    0x0020127C, // #109 [ref=1x]
6826    0x1020127C, // #110 [ref=1x]
6827    0x0020127B, // #111 [ref=1x]
6828    0x10218305, // #112 [ref=1x]
6829    0x00218304, // #113 [ref=1x]
6830    0x18218301, // #114 [ref=1x]
6831    0x18218300, // #115 [ref=1x]
6832    0x00205290, // #116 [ref=1x]
6833    0x10207290, // #117 [ref=1x]
6834    0x00205291, // #118 [ref=1x]
6835    0x10207291, // #119 [ref=1x]
6836    0x0020028E, // #120 [ref=1x]
6837    0x0820028E, // #121 [ref=1x]
6838    0x000008C0, // #122 [ref=1x]
6839    0x000008C2, // #123 [ref=1x]
6840    0x000008C3, // #124 [ref=1x]
6841    0x000008C1, // #125 [ref=1x]
6842    0x00398172, // #126 [ref=1x]
6843    0x10398173, // #127 [ref=1x]
6844    0x00398171, // #128 [ref=1x]
6845    0x00318172, // #129 [ref=1x]
6846    0x10319172, // #130 [ref=1x]
6847    0x00318171, // #131 [ref=1x]
6848    0x00298172, // #132 [ref=1x]
6849    0x10298173, // #133 [ref=1x]
6850    0x00298171, // #134 [ref=1x]
6851];
6852
6853/// Aggregated instruction information, indexed by [`InstInfo::common_info_index`].
6854pub static INST_COMMON_INFO_TABLE: &[CommonInfo] = &[
6855    CommonInfo::new(0, 0, 0, 0, InstControlFlow::Regular, InstSameRegHint::None), // #0 [ref=1x]
6856    CommonInfo::new(
6857        0,
6858        0,
6859        487,
6860        1,
6861        InstControlFlow::Regular,
6862        InstSameRegHint::None,
6863    ), // #1 [ref=4x]
6864    CommonInfo::new(
6865        0,
6866        0,
6867        488,
6868        1,
6869        InstControlFlow::Regular,
6870        InstSameRegHint::None,
6871    ), // #2 [ref=2x]
6872    CommonInfo::new(
6873        0,
6874        0,
6875        143,
6876        2,
6877        InstControlFlow::Regular,
6878        InstSameRegHint::None,
6879    ), // #3 [ref=6x]
6880    CommonInfo::new(
6881        InstFlags::LOCK.bits() | InstFlags::X_ACQUIRE.bits() | InstFlags::X_RELEASE.bits(),
6882        0,
6883        20,
6884        13,
6885        InstControlFlow::Regular,
6886        InstSameRegHint::None,
6887    ), // #4 [ref=2x]
6888    CommonInfo::new(0, 0, 77, 2, InstControlFlow::Regular, InstSameRegHint::None), // #5 [ref=2x]
6889    CommonInfo::new(
6890        InstFlags::VEC.bits(),
6891        0,
6892        99,
6893        1,
6894        InstControlFlow::Regular,
6895        InstSameRegHint::None,
6896    ), // #6 [ref=54x]
6897    CommonInfo::new(
6898        InstFlags::VEC.bits(),
6899        0,
6900        172,
6901        1,
6902        InstControlFlow::Regular,
6903        InstSameRegHint::None,
6904    ), // #7 [ref=19x]
6905    CommonInfo::new(
6906        InstFlags::VEC.bits(),
6907        0,
6908        313,
6909        1,
6910        InstControlFlow::Regular,
6911        InstSameRegHint::None,
6912    ), // #8 [ref=16x]
6913    CommonInfo::new(
6914        InstFlags::VEC.bits(),
6915        0,
6916        322,
6917        1,
6918        InstControlFlow::Regular,
6919        InstSameRegHint::None,
6920    ), // #9 [ref=20x]
6921    CommonInfo::new(
6922        InstFlags::LOCK.bits() | InstFlags::X_ACQUIRE.bits() | InstFlags::X_RELEASE.bits(),
6923        0,
6924        33,
6925        13,
6926        InstControlFlow::Regular,
6927        InstSameRegHint::RO,
6928    ), // #10 [ref=1x]
6929    CommonInfo::new(
6930        InstFlags::VEX.bits(),
6931        0,
6932        355,
6933        2,
6934        InstControlFlow::Regular,
6935        InstSameRegHint::None,
6936    ), // #11 [ref=3x]
6937    CommonInfo::new(
6938        InstFlags::VEC.bits(),
6939        0,
6940        99,
6941        1,
6942        InstControlFlow::Regular,
6943        InstSameRegHint::RO,
6944    ), // #12 [ref=12x]
6945    CommonInfo::new(
6946        0,
6947        0,
6948        489,
6949        1,
6950        InstControlFlow::Regular,
6951        InstSameRegHint::None,
6952    ), // #13 [ref=1x]
6953    CommonInfo::new(
6954        InstFlags::VEX.bits(),
6955        0,
6956        357,
6957        2,
6958        InstControlFlow::Regular,
6959        InstSameRegHint::None,
6960    ), // #14 [ref=5x]
6961    CommonInfo::new(
6962        InstFlags::VEX.bits(),
6963        0,
6964        77,
6965        2,
6966        InstControlFlow::Regular,
6967        InstSameRegHint::None,
6968    ), // #15 [ref=12x]
6969    CommonInfo::new(
6970        InstFlags::VEC.bits(),
6971        0,
6972        490,
6973        1,
6974        InstControlFlow::Regular,
6975        InstSameRegHint::None,
6976    ), // #16 [ref=4x]
6977    CommonInfo::new(
6978        0,
6979        0,
6980        359,
6981        2,
6982        InstControlFlow::Regular,
6983        InstSameRegHint::None,
6984    ), // #17 [ref=3x]
6985    CommonInfo::new(
6986        InstFlags::MIB.bits(),
6987        0,
6988        491,
6989        1,
6990        InstControlFlow::Regular,
6991        InstSameRegHint::None,
6992    ), // #18 [ref=1x]
6993    CommonInfo::new(
6994        0,
6995        0,
6996        492,
6997        1,
6998        InstControlFlow::Regular,
6999        InstSameRegHint::None,
7000    ), // #19 [ref=1x]
7001    CommonInfo::new(
7002        0,
7003        0,
7004        361,
7005        2,
7006        InstControlFlow::Regular,
7007        InstSameRegHint::None,
7008    ), // #20 [ref=1x]
7009    CommonInfo::new(
7010        InstFlags::MIB.bits(),
7011        0,
7012        493,
7013        1,
7014        InstControlFlow::Regular,
7015        InstSameRegHint::None,
7016    ), // #21 [ref=1x]
7017    CommonInfo::new(
7018        0,
7019        0,
7020        363,
7021        2,
7022        InstControlFlow::Regular,
7023        InstSameRegHint::None,
7024    ), // #22 [ref=1x]
7025    CommonInfo::new(0, 0, 76, 3, InstControlFlow::Regular, InstSameRegHint::None), // #23 [ref=21x]
7026    CommonInfo::new(
7027        0,
7028        0,
7029        365,
7030        2,
7031        InstControlFlow::Regular,
7032        InstSameRegHint::None,
7033    ), // #24 [ref=3x]
7034    CommonInfo::new(
7035        0,
7036        0,
7037        163,
7038        5,
7039        InstControlFlow::Regular,
7040        InstSameRegHint::None,
7041    ), // #25 [ref=1x]
7042    CommonInfo::new(
7043        InstFlags::LOCK.bits() | InstFlags::X_ACQUIRE.bits() | InstFlags::X_RELEASE.bits(),
7044        0,
7045        163,
7046        5,
7047        InstControlFlow::Regular,
7048        InstSameRegHint::None,
7049    ), // #26 [ref=3x]
7050    CommonInfo::new(
7051        InstFlags::REP.bits() | InstFlags::REP_IGNORED.bits(),
7052        0,
7053        268,
7054        3,
7055        InstControlFlow::Call,
7056        InstSameRegHint::None,
7057    ), // #27 [ref=1x]
7058    CommonInfo::new(
7059        0,
7060        0,
7061        494,
7062        1,
7063        InstControlFlow::Regular,
7064        InstSameRegHint::None,
7065    ), // #28 [ref=1x]
7066    CommonInfo::new(
7067        0,
7068        0,
7069        495,
7070        1,
7071        InstControlFlow::Regular,
7072        InstSameRegHint::None,
7073    ), // #29 [ref=2x]
7074    CommonInfo::new(
7075        0,
7076        0,
7077        468,
7078        1,
7079        InstControlFlow::Regular,
7080        InstSameRegHint::None,
7081    ), // #30 [ref=1x]
7082    CommonInfo::new(
7083        0,
7084        0,
7085        145,
7086        1,
7087        InstControlFlow::Regular,
7088        InstSameRegHint::None,
7089    ), // #31 [ref=88x]
7090    CommonInfo::new(
7091        0,
7092        0,
7093        496,
7094        1,
7095        InstControlFlow::Regular,
7096        InstSameRegHint::None,
7097    ), // #32 [ref=24x]
7098    CommonInfo::new(
7099        0,
7100        0,
7101        497,
7102        1,
7103        InstControlFlow::Regular,
7104        InstSameRegHint::None,
7105    ), // #33 [ref=6x]
7106    CommonInfo::new(
7107        0,
7108        0,
7109        498,
7110        1,
7111        InstControlFlow::Regular,
7112        InstSameRegHint::None,
7113    ), // #34 [ref=14x]
7114    CommonInfo::new(
7115        0,
7116        0,
7117        499,
7118        1,
7119        InstControlFlow::Regular,
7120        InstSameRegHint::None,
7121    ), // #35 [ref=1x]
7122    CommonInfo::new(
7123        0,
7124        0,
7125        46,
7126        13,
7127        InstControlFlow::Regular,
7128        InstSameRegHint::None,
7129    ), // #36 [ref=1x]
7130    CommonInfo::new(
7131        InstFlags::VEX.bits(),
7132        0,
7133        367,
7134        2,
7135        InstControlFlow::Regular,
7136        InstSameRegHint::None,
7137    ), // #37 [ref=16x]
7138    CommonInfo::new(
7139        InstFlags::REP.bits(),
7140        0,
7141        208,
7142        4,
7143        InstControlFlow::Regular,
7144        InstSameRegHint::None,
7145    ), // #38 [ref=1x]
7146    CommonInfo::new(
7147        InstFlags::VEC.bits(),
7148        0,
7149        500,
7150        1,
7151        InstControlFlow::Regular,
7152        InstSameRegHint::None,
7153    ), // #39 [ref=2x]
7154    CommonInfo::new(
7155        InstFlags::VEC.bits(),
7156        0,
7157        501,
7158        1,
7159        InstControlFlow::Regular,
7160        InstSameRegHint::None,
7161    ), // #40 [ref=3x]
7162    CommonInfo::new(
7163        InstFlags::LOCK.bits() | InstFlags::X_ACQUIRE.bits() | InstFlags::X_RELEASE.bits(),
7164        0,
7165        212,
7166        4,
7167        InstControlFlow::Regular,
7168        InstSameRegHint::None,
7169    ), // #41 [ref=1x]
7170    CommonInfo::new(
7171        InstFlags::LOCK.bits() | InstFlags::X_ACQUIRE.bits() | InstFlags::X_RELEASE.bits(),
7172        0,
7173        502,
7174        1,
7175        InstControlFlow::Regular,
7176        InstSameRegHint::None,
7177    ), // #42 [ref=1x]
7178    CommonInfo::new(
7179        InstFlags::LOCK.bits() | InstFlags::X_ACQUIRE.bits() | InstFlags::X_RELEASE.bits(),
7180        0,
7181        503,
7182        1,
7183        InstControlFlow::Regular,
7184        InstSameRegHint::None,
7185    ), // #43 [ref=1x]
7186    CommonInfo::new(
7187        0,
7188        0,
7189        504,
7190        1,
7191        InstControlFlow::Regular,
7192        InstSameRegHint::None,
7193    ), // #44 [ref=1x]
7194    CommonInfo::new(
7195        0,
7196        0,
7197        505,
7198        1,
7199        InstControlFlow::Regular,
7200        InstSameRegHint::None,
7201    ), // #45 [ref=1x]
7202    CommonInfo::new(
7203        0,
7204        0,
7205        369,
7206        2,
7207        InstControlFlow::Regular,
7208        InstSameRegHint::None,
7209    ), // #46 [ref=1x]
7210    CommonInfo::new(
7211        InstFlags::MMX.bits() | InstFlags::VEC.bits(),
7212        0,
7213        506,
7214        1,
7215        InstControlFlow::Regular,
7216        InstSameRegHint::None,
7217    ), // #47 [ref=2x]
7218    CommonInfo::new(
7219        InstFlags::MMX.bits() | InstFlags::VEC.bits(),
7220        0,
7221        507,
7222        1,
7223        InstControlFlow::Regular,
7224        InstSameRegHint::None,
7225    ), // #48 [ref=2x]
7226    CommonInfo::new(
7227        InstFlags::MMX.bits() | InstFlags::VEC.bits(),
7228        0,
7229        508,
7230        1,
7231        InstControlFlow::Regular,
7232        InstSameRegHint::None,
7233    ), // #49 [ref=2x]
7234    CommonInfo::new(
7235        InstFlags::VEC.bits(),
7236        0,
7237        371,
7238        2,
7239        InstControlFlow::Regular,
7240        InstSameRegHint::None,
7241    ), // #50 [ref=2x]
7242    CommonInfo::new(
7243        InstFlags::VEC.bits(),
7244        0,
7245        373,
7246        2,
7247        InstControlFlow::Regular,
7248        InstSameRegHint::None,
7249    ), // #51 [ref=2x]
7250    CommonInfo::new(
7251        InstFlags::VEC.bits(),
7252        0,
7253        375,
7254        2,
7255        InstControlFlow::Regular,
7256        InstSameRegHint::None,
7257    ), // #52 [ref=2x]
7258    CommonInfo::new(
7259        0,
7260        0,
7261        509,
7262        1,
7263        InstControlFlow::Regular,
7264        InstSameRegHint::None,
7265    ), // #53 [ref=1x]
7266    CommonInfo::new(
7267        0,
7268        0,
7269        510,
7270        1,
7271        InstControlFlow::Regular,
7272        InstSameRegHint::None,
7273    ), // #54 [ref=2x]
7274    CommonInfo::new(
7275        InstFlags::LOCK.bits() | InstFlags::X_ACQUIRE.bits() | InstFlags::X_RELEASE.bits(),
7276        0,
7277        271,
7278        3,
7279        InstControlFlow::Regular,
7280        InstSameRegHint::None,
7281    ), // #55 [ref=1x]
7282    CommonInfo::new(0, 0, 72, 4, InstControlFlow::Regular, InstSameRegHint::None), // #56 [ref=3x]
7283    CommonInfo::new(
7284        InstFlags::MMX.bits(),
7285        0,
7286        145,
7287        1,
7288        InstControlFlow::Regular,
7289        InstSameRegHint::None,
7290    ), // #57 [ref=1x]
7291    CommonInfo::new(
7292        0,
7293        0,
7294        377,
7295        2,
7296        InstControlFlow::Regular,
7297        InstSameRegHint::None,
7298    ), // #58 [ref=2x]
7299    CommonInfo::new(
7300        0,
7301        0,
7302        511,
7303        1,
7304        InstControlFlow::Regular,
7305        InstSameRegHint::None,
7306    ), // #59 [ref=1x]
7307    CommonInfo::new(
7308        InstFlags::VEC.bits(),
7309        0,
7310        512,
7311        1,
7312        InstControlFlow::Regular,
7313        InstSameRegHint::None,
7314    ), // #60 [ref=2x]
7315    CommonInfo::new(
7316        InstFlags::VEC.bits(),
7317        0,
7318        379,
7319        2,
7320        InstControlFlow::Regular,
7321        InstSameRegHint::None,
7322    ), // #61 [ref=1x]
7323    CommonInfo::new(
7324        InstFlags::FPU_M32.bits() | InstFlags::FPU_M64.bits(),
7325        0,
7326        274,
7327        3,
7328        InstControlFlow::Regular,
7329        InstSameRegHint::None,
7330    ), // #62 [ref=6x]
7331    CommonInfo::new(
7332        0,
7333        0,
7334        381,
7335        2,
7336        InstControlFlow::Regular,
7337        InstSameRegHint::None,
7338    ), // #63 [ref=9x]
7339    CommonInfo::new(
7340        InstFlags::FPU_M80.bits(),
7341        0,
7342        513,
7343        1,
7344        InstControlFlow::Regular,
7345        InstSameRegHint::None,
7346    ), // #64 [ref=2x]
7347    CommonInfo::new(
7348        0,
7349        0,
7350        382,
7351        1,
7352        InstControlFlow::Regular,
7353        InstSameRegHint::None,
7354    ), // #65 [ref=13x]
7355    CommonInfo::new(
7356        InstFlags::FPU_M32.bits() | InstFlags::FPU_M64.bits(),
7357        0,
7358        383,
7359        2,
7360        InstControlFlow::Regular,
7361        InstSameRegHint::None,
7362    ), // #66 [ref=2x]
7363    CommonInfo::new(
7364        InstFlags::FPU_M16.bits() | InstFlags::FPU_M32.bits(),
7365        0,
7366        514,
7367        1,
7368        InstControlFlow::Regular,
7369        InstSameRegHint::None,
7370    ), // #67 [ref=9x]
7371    CommonInfo::new(
7372        InstFlags::FPU_M16.bits() | InstFlags::FPU_M32.bits() | InstFlags::FPU_M64.bits(),
7373        0,
7374        515,
7375        1,
7376        InstControlFlow::Regular,
7377        InstSameRegHint::None,
7378    ), // #68 [ref=3x]
7379    CommonInfo::new(
7380        InstFlags::FPU_M32.bits() | InstFlags::FPU_M64.bits() | InstFlags::FPU_M80.bits(),
7381        0,
7382        516,
7383        1,
7384        InstControlFlow::Regular,
7385        InstSameRegHint::None,
7386    ), // #69 [ref=2x]
7387    CommonInfo::new(
7388        InstFlags::FPU_M16.bits(),
7389        0,
7390        517,
7391        1,
7392        InstControlFlow::Regular,
7393        InstSameRegHint::None,
7394    ), // #70 [ref=3x]
7395    CommonInfo::new(
7396        InstFlags::FPU_M16.bits(),
7397        0,
7398        518,
7399        1,
7400        InstControlFlow::Regular,
7401        InstSameRegHint::None,
7402    ), // #71 [ref=2x]
7403    CommonInfo::new(
7404        InstFlags::FPU_M32.bits() | InstFlags::FPU_M64.bits(),
7405        0,
7406        384,
7407        1,
7408        InstControlFlow::Regular,
7409        InstSameRegHint::None,
7410    ), // #72 [ref=1x]
7411    CommonInfo::new(
7412        0,
7413        0,
7414        519,
7415        1,
7416        InstControlFlow::Regular,
7417        InstSameRegHint::None,
7418    ), // #73 [ref=4x]
7419    CommonInfo::new(
7420        0,
7421        0,
7422        520,
7423        1,
7424        InstControlFlow::Regular,
7425        InstSameRegHint::None,
7426    ), // #74 [ref=1x]
7427    CommonInfo::new(
7428        0,
7429        0,
7430        521,
7431        1,
7432        InstControlFlow::Regular,
7433        InstSameRegHint::None,
7434    ), // #75 [ref=1x]
7435    CommonInfo::new(
7436        0,
7437        0,
7438        72,
7439        10,
7440        InstControlFlow::Regular,
7441        InstSameRegHint::None,
7442    ), // #76 [ref=1x]
7443    CommonInfo::new(
7444        0,
7445        0,
7446        522,
7447        1,
7448        InstControlFlow::Regular,
7449        InstSameRegHint::None,
7450    ), // #77 [ref=1x]
7451    CommonInfo::new(
7452        InstFlags::LOCK.bits(),
7453        0,
7454        271,
7455        3,
7456        InstControlFlow::Regular,
7457        InstSameRegHint::None,
7458    ), // #78 [ref=1x]
7459    CommonInfo::new(
7460        0,
7461        0,
7462        407,
7463        1,
7464        InstControlFlow::Regular,
7465        InstSameRegHint::None,
7466    ), // #79 [ref=2x]
7467    CommonInfo::new(
7468        0,
7469        0,
7470        366,
7471        1,
7472        InstControlFlow::Regular,
7473        InstSameRegHint::None,
7474    ), // #80 [ref=3x]
7475    CommonInfo::new(
7476        InstFlags::REP.bits(),
7477        0,
7478        523,
7479        1,
7480        InstControlFlow::Regular,
7481        InstSameRegHint::None,
7482    ), // #81 [ref=1x]
7483    CommonInfo::new(
7484        InstFlags::VEC.bits(),
7485        0,
7486        385,
7487        2,
7488        InstControlFlow::Regular,
7489        InstSameRegHint::None,
7490    ), // #82 [ref=1x]
7491    CommonInfo::new(
7492        0,
7493        0,
7494        524,
7495        1,
7496        InstControlFlow::Regular,
7497        InstSameRegHint::None,
7498    ), // #83 [ref=2x]
7499    CommonInfo::new(
7500        0,
7501        0,
7502        525,
7503        1,
7504        InstControlFlow::Regular,
7505        InstSameRegHint::None,
7506    ), // #84 [ref=8x]
7507    CommonInfo::new(
7508        0,
7509        0,
7510        387,
7511        2,
7512        InstControlFlow::Regular,
7513        InstSameRegHint::None,
7514    ), // #85 [ref=3x]
7515    CommonInfo::new(
7516        0,
7517        0,
7518        389,
7519        2,
7520        InstControlFlow::Regular,
7521        InstSameRegHint::None,
7522    ), // #86 [ref=1x]
7523    CommonInfo::new(
7524        0,
7525        0,
7526        391,
7527        2,
7528        InstControlFlow::Regular,
7529        InstSameRegHint::None,
7530    ), // #87 [ref=1x]
7531    CommonInfo::new(0, 0, 145, 1, InstControlFlow::Return, InstSameRegHint::None), // #88 [ref=2x]
7532    CommonInfo::new(0, 0, 498, 1, InstControlFlow::Return, InstSameRegHint::None), // #89 [ref=1x]
7533    CommonInfo::new(
7534        InstFlags::REP.bits(),
7535        0,
7536        393,
7537        2,
7538        InstControlFlow::Branch,
7539        InstSameRegHint::None,
7540    ), // #90 [ref=16x]
7541    CommonInfo::new(
7542        InstFlags::REP.bits(),
7543        0,
7544        395,
7545        2,
7546        InstControlFlow::Branch,
7547        InstSameRegHint::None,
7548    ), // #91 [ref=1x]
7549    CommonInfo::new(
7550        InstFlags::REP.bits(),
7551        0,
7552        277,
7553        3,
7554        InstControlFlow::Jump,
7555        InstSameRegHint::None,
7556    ), // #92 [ref=1x]
7557    CommonInfo::new(
7558        InstFlags::VEX.bits(),
7559        0,
7560        526,
7561        1,
7562        InstControlFlow::Regular,
7563        InstSameRegHint::None,
7564    ), // #93 [ref=19x]
7565    CommonInfo::new(
7566        InstFlags::VEX.bits(),
7567        0,
7568        397,
7569        2,
7570        InstControlFlow::Regular,
7571        InstSameRegHint::None,
7572    ), // #94 [ref=1x]
7573    CommonInfo::new(
7574        InstFlags::VEX.bits(),
7575        0,
7576        399,
7577        2,
7578        InstControlFlow::Regular,
7579        InstSameRegHint::None,
7580    ), // #95 [ref=1x]
7581    CommonInfo::new(
7582        InstFlags::VEX.bits(),
7583        0,
7584        216,
7585        4,
7586        InstControlFlow::Regular,
7587        InstSameRegHint::None,
7588    ), // #96 [ref=1x]
7589    CommonInfo::new(
7590        InstFlags::VEX.bits(),
7591        0,
7592        401,
7593        2,
7594        InstControlFlow::Regular,
7595        InstSameRegHint::None,
7596    ), // #97 [ref=1x]
7597    CommonInfo::new(
7598        InstFlags::VEX.bits(),
7599        0,
7600        527,
7601        1,
7602        InstControlFlow::Regular,
7603        InstSameRegHint::None,
7604    ), // #98 [ref=12x]
7605    CommonInfo::new(
7606        InstFlags::VEX.bits(),
7607        0,
7608        528,
7609        1,
7610        InstControlFlow::Regular,
7611        InstSameRegHint::None,
7612    ), // #99 [ref=8x]
7613    CommonInfo::new(
7614        InstFlags::VEX.bits(),
7615        0,
7616        526,
7617        1,
7618        InstControlFlow::Regular,
7619        InstSameRegHint::WO,
7620    ), // #100 [ref=8x]
7621    CommonInfo::new(
7622        0,
7623        0,
7624        529,
7625        1,
7626        InstControlFlow::Regular,
7627        InstSameRegHint::None,
7628    ), // #101 [ref=2x]
7629    CommonInfo::new(
7630        0,
7631        0,
7632        286,
7633        2,
7634        InstControlFlow::Regular,
7635        InstSameRegHint::None,
7636    ), // #102 [ref=1x]
7637    CommonInfo::new(0, 0, 280, 3, InstControlFlow::Call, InstSameRegHint::None),  // #103 [ref=1x]
7638    CommonInfo::new(
7639        InstFlags::VEC.bits(),
7640        0,
7641        198,
7642        1,
7643        InstControlFlow::Regular,
7644        InstSameRegHint::None,
7645    ), // #104 [ref=2x]
7646    CommonInfo::new(
7647        0,
7648        0,
7649        530,
7650        1,
7651        InstControlFlow::Regular,
7652        InstSameRegHint::None,
7653    ), // #105 [ref=2x]
7654    CommonInfo::new(
7655        0,
7656        0,
7657        403,
7658        2,
7659        InstControlFlow::Regular,
7660        InstSameRegHint::None,
7661    ), // #106 [ref=2x]
7662    CommonInfo::new(
7663        InstFlags::VEX.bits(),
7664        0,
7665        531,
7666        1,
7667        InstControlFlow::Regular,
7668        InstSameRegHint::None,
7669    ), // #107 [ref=2x]
7670    CommonInfo::new(
7671        0,
7672        0,
7673        405,
7674        2,
7675        InstControlFlow::Regular,
7676        InstSameRegHint::None,
7677    ), // #108 [ref=1x]
7678    CommonInfo::new(
7679        0,
7680        0,
7681        283,
7682        3,
7683        InstControlFlow::Regular,
7684        InstSameRegHint::None,
7685    ), // #109 [ref=3x]
7686    CommonInfo::new(0, 0, 280, 3, InstControlFlow::Jump, InstSameRegHint::None),  // #110 [ref=1x]
7687    CommonInfo::new(
7688        0,
7689        0,
7690        532,
7691        1,
7692        InstControlFlow::Regular,
7693        InstSameRegHint::None,
7694    ), // #111 [ref=5x]
7695    CommonInfo::new(
7696        InstFlags::VEX.bits(),
7697        0,
7698        407,
7699        2,
7700        InstControlFlow::Regular,
7701        InstSameRegHint::None,
7702    ), // #112 [ref=2x]
7703    CommonInfo::new(
7704        InstFlags::REP.bits(),
7705        0,
7706        220,
7707        4,
7708        InstControlFlow::Regular,
7709        InstSameRegHint::None,
7710    ), // #113 [ref=1x]
7711    CommonInfo::new(0, 0, 395, 2, InstControlFlow::Branch, InstSameRegHint::None), // #114 [ref=3x]
7712    CommonInfo::new(
7713        0,
7714        0,
7715        286,
7716        3,
7717        InstControlFlow::Regular,
7718        InstSameRegHint::None,
7719    ), // #115 [ref=1x]
7720    CommonInfo::new(
7721        InstFlags::VEX.bits(),
7722        0,
7723        409,
7724        2,
7725        InstControlFlow::Regular,
7726        InstSameRegHint::None,
7727    ), // #116 [ref=2x]
7728    CommonInfo::new(
7729        InstFlags::VEC.bits(),
7730        0,
7731        533,
7732        1,
7733        InstControlFlow::Regular,
7734        InstSameRegHint::None,
7735    ), // #117 [ref=1x]
7736    CommonInfo::new(
7737        InstFlags::MMX.bits(),
7738        0,
7739        534,
7740        1,
7741        InstControlFlow::Regular,
7742        InstSameRegHint::None,
7743    ), // #118 [ref=1x]
7744    CommonInfo::new(
7745        0,
7746        0,
7747        535,
7748        1,
7749        InstControlFlow::Regular,
7750        InstSameRegHint::None,
7751    ), // #119 [ref=2x]
7752    CommonInfo::new(
7753        InstFlags::X_RELEASE.bits(),
7754        0,
7755        0,
7756        20,
7757        InstControlFlow::Regular,
7758        InstSameRegHint::None,
7759    ), // #120 [ref=1x]
7760    CommonInfo::new(0, 0, 82, 9, InstControlFlow::Regular, InstSameRegHint::None), // #121 [ref=1x]
7761    CommonInfo::new(
7762        InstFlags::VEC.bits(),
7763        0,
7764        411,
7765        2,
7766        InstControlFlow::Regular,
7767        InstSameRegHint::None,
7768    ), // #122 [ref=6x]
7769    CommonInfo::new(
7770        0,
7771        0,
7772        139,
7773        6,
7774        InstControlFlow::Regular,
7775        InstSameRegHint::None,
7776    ), // #123 [ref=1x]
7777    CommonInfo::new(
7778        InstFlags::MMX.bits() | InstFlags::VEC.bits(),
7779        0,
7780        413,
7781        2,
7782        InstControlFlow::Regular,
7783        InstSameRegHint::None,
7784    ), // #124 [ref=1x]
7785    CommonInfo::new(
7786        0,
7787        0,
7788        415,
7789        2,
7790        InstControlFlow::Regular,
7791        InstSameRegHint::None,
7792    ), // #125 [ref=1x]
7793    CommonInfo::new(
7794        InstFlags::MMX.bits() | InstFlags::VEC.bits(),
7795        0,
7796        536,
7797        1,
7798        InstControlFlow::Regular,
7799        InstSameRegHint::None,
7800    ), // #126 [ref=1x]
7801    CommonInfo::new(
7802        InstFlags::VEC.bits(),
7803        0,
7804        380,
7805        1,
7806        InstControlFlow::Regular,
7807        InstSameRegHint::None,
7808    ), // #127 [ref=2x]
7809    CommonInfo::new(
7810        InstFlags::VEC.bits(),
7811        0,
7812        107,
7813        2,
7814        InstControlFlow::Regular,
7815        InstSameRegHint::None,
7816    ), // #128 [ref=4x]
7817    CommonInfo::new(
7818        InstFlags::VEC.bits(),
7819        0,
7820        537,
7821        1,
7822        InstControlFlow::Regular,
7823        InstSameRegHint::None,
7824    ), // #129 [ref=2x]
7825    CommonInfo::new(
7826        InstFlags::VEC.bits(),
7827        0,
7828        101,
7829        1,
7830        InstControlFlow::Regular,
7831        InstSameRegHint::None,
7832    ), // #130 [ref=3x]
7833    CommonInfo::new(
7834        InstFlags::MMX.bits(),
7835        0,
7836        538,
7837        1,
7838        InstControlFlow::Regular,
7839        InstSameRegHint::None,
7840    ), // #131 [ref=1x]
7841    CommonInfo::new(
7842        InstFlags::VEC.bits(),
7843        0,
7844        107,
7845        1,
7846        InstControlFlow::Regular,
7847        InstSameRegHint::None,
7848    ), // #132 [ref=1x]
7849    CommonInfo::new(
7850        InstFlags::VEC.bits(),
7851        0,
7852        115,
7853        1,
7854        InstControlFlow::Regular,
7855        InstSameRegHint::None,
7856    ), // #133 [ref=1x]
7857    CommonInfo::new(
7858        InstFlags::MMX.bits() | InstFlags::VEC.bits(),
7859        0,
7860        168,
7861        5,
7862        InstControlFlow::Regular,
7863        InstSameRegHint::None,
7864    ), // #134 [ref=1x]
7865    CommonInfo::new(
7866        InstFlags::MMX.bits() | InstFlags::VEC.bits(),
7867        0,
7868        539,
7869        1,
7870        InstControlFlow::Regular,
7871        InstSameRegHint::None,
7872    ), // #135 [ref=1x]
7873    CommonInfo::new(
7874        InstFlags::REP.bits(),
7875        0,
7876        224,
7877        4,
7878        InstControlFlow::Regular,
7879        InstSameRegHint::None,
7880    ), // #136 [ref=1x]
7881    CommonInfo::new(
7882        InstFlags::VEC.bits(),
7883        0,
7884        417,
7885        2,
7886        InstControlFlow::Regular,
7887        InstSameRegHint::None,
7888    ), // #137 [ref=1x]
7889    CommonInfo::new(
7890        InstFlags::VEC.bits(),
7891        0,
7892        419,
7893        2,
7894        InstControlFlow::Regular,
7895        InstSameRegHint::None,
7896    ), // #138 [ref=1x]
7897    CommonInfo::new(
7898        0,
7899        0,
7900        289,
7901        3,
7902        InstControlFlow::Regular,
7903        InstSameRegHint::None,
7904    ), // #139 [ref=2x]
7905    CommonInfo::new(
7906        0,
7907        0,
7908        421,
7909        2,
7910        InstControlFlow::Regular,
7911        InstSameRegHint::None,
7912    ), // #140 [ref=1x]
7913    CommonInfo::new(
7914        InstFlags::VEX.bits(),
7915        0,
7916        423,
7917        2,
7918        InstControlFlow::Regular,
7919        InstSameRegHint::None,
7920    ), // #141 [ref=1x]
7921    CommonInfo::new(
7922        0,
7923        0,
7924        540,
7925        1,
7926        InstControlFlow::Regular,
7927        InstSameRegHint::None,
7928    ), // #142 [ref=1x]
7929    CommonInfo::new(
7930        0,
7931        0,
7932        541,
7933        1,
7934        InstControlFlow::Regular,
7935        InstSameRegHint::None,
7936    ), // #143 [ref=1x]
7937    CommonInfo::new(
7938        InstFlags::LOCK.bits() | InstFlags::X_ACQUIRE.bits() | InstFlags::X_RELEASE.bits(),
7939        0,
7940        272,
7941        2,
7942        InstControlFlow::Regular,
7943        InstSameRegHint::None,
7944    ), // #144 [ref=2x]
7945    CommonInfo::new(
7946        0,
7947        0,
7948        145,
7949        6,
7950        InstControlFlow::Regular,
7951        InstSameRegHint::None,
7952    ), // #145 [ref=1x]
7953    CommonInfo::new(
7954        InstFlags::LOCK.bits() | InstFlags::X_ACQUIRE.bits() | InstFlags::X_RELEASE.bits(),
7955        0,
7956        59,
7957        13,
7958        InstControlFlow::Regular,
7959        InstSameRegHint::RO,
7960    ), // #146 [ref=1x]
7961    CommonInfo::new(
7962        0,
7963        0,
7964        542,
7965        1,
7966        InstControlFlow::Regular,
7967        InstSameRegHint::None,
7968    ), // #147 [ref=1x]
7969    CommonInfo::new(
7970        InstFlags::REP.bits(),
7971        0,
7972        543,
7973        1,
7974        InstControlFlow::Regular,
7975        InstSameRegHint::None,
7976    ), // #148 [ref=1x]
7977    CommonInfo::new(
7978        InstFlags::MMX.bits() | InstFlags::VEC.bits(),
7979        0,
7980        425,
7981        2,
7982        InstControlFlow::Regular,
7983        InstSameRegHint::None,
7984    ), // #149 [ref=37x]
7985    CommonInfo::new(
7986        InstFlags::MMX.bits() | InstFlags::VEC.bits(),
7987        0,
7988        427,
7989        2,
7990        InstControlFlow::Regular,
7991        InstSameRegHint::None,
7992    ), // #150 [ref=1x]
7993    CommonInfo::new(
7994        InstFlags::MMX.bits() | InstFlags::VEC.bits(),
7995        0,
7996        425,
7997        2,
7998        InstControlFlow::Regular,
7999        InstSameRegHint::RO,
8000    ), // #151 [ref=6x]
8001    CommonInfo::new(
8002        InstFlags::MMX.bits() | InstFlags::VEC.bits(),
8003        0,
8004        425,
8005        2,
8006        InstControlFlow::Regular,
8007        InstSameRegHint::WO,
8008    ), // #152 [ref=16x]
8009    CommonInfo::new(
8010        InstFlags::MMX.bits(),
8011        0,
8012        168,
8013        1,
8014        InstControlFlow::Regular,
8015        InstSameRegHint::None,
8016    ), // #153 [ref=26x]
8017    CommonInfo::new(
8018        InstFlags::VEC.bits(),
8019        0,
8020        99,
8021        1,
8022        InstControlFlow::Regular,
8023        InstSameRegHint::WO,
8024    ), // #154 [ref=4x]
8025    CommonInfo::new(
8026        InstFlags::VEC.bits(),
8027        0,
8028        544,
8029        1,
8030        InstControlFlow::Regular,
8031        InstSameRegHint::None,
8032    ), // #155 [ref=1x]
8033    CommonInfo::new(
8034        InstFlags::VEC.bits(),
8035        0,
8036        545,
8037        1,
8038        InstControlFlow::Regular,
8039        InstSameRegHint::None,
8040    ), // #156 [ref=1x]
8041    CommonInfo::new(
8042        InstFlags::VEC.bits(),
8043        0,
8044        546,
8045        1,
8046        InstControlFlow::Regular,
8047        InstSameRegHint::None,
8048    ), // #157 [ref=1x]
8049    CommonInfo::new(
8050        InstFlags::VEC.bits(),
8051        0,
8052        547,
8053        1,
8054        InstControlFlow::Regular,
8055        InstSameRegHint::None,
8056    ), // #158 [ref=1x]
8057    CommonInfo::new(
8058        InstFlags::VEC.bits(),
8059        0,
8060        548,
8061        1,
8062        InstControlFlow::Regular,
8063        InstSameRegHint::None,
8064    ), // #159 [ref=1x]
8065    CommonInfo::new(
8066        InstFlags::VEC.bits(),
8067        0,
8068        549,
8069        1,
8070        InstControlFlow::Regular,
8071        InstSameRegHint::None,
8072    ), // #160 [ref=1x]
8073    CommonInfo::new(
8074        InstFlags::MMX.bits() | InstFlags::VEC.bits(),
8075        0,
8076        429,
8077        2,
8078        InstControlFlow::Regular,
8079        InstSameRegHint::None,
8080    ), // #161 [ref=1x]
8081    CommonInfo::new(
8082        InstFlags::VEC.bits(),
8083        0,
8084        550,
8085        1,
8086        InstControlFlow::Regular,
8087        InstSameRegHint::None,
8088    ), // #162 [ref=1x]
8089    CommonInfo::new(
8090        InstFlags::VEC.bits(),
8091        0,
8092        551,
8093        1,
8094        InstControlFlow::Regular,
8095        InstSameRegHint::None,
8096    ), // #163 [ref=1x]
8097    CommonInfo::new(
8098        InstFlags::VEC.bits(),
8099        0,
8100        552,
8101        1,
8102        InstControlFlow::Regular,
8103        InstSameRegHint::None,
8104    ), // #164 [ref=1x]
8105    CommonInfo::new(
8106        InstFlags::MMX.bits() | InstFlags::VEC.bits(),
8107        0,
8108        553,
8109        1,
8110        InstControlFlow::Regular,
8111        InstSameRegHint::None,
8112    ), // #165 [ref=1x]
8113    CommonInfo::new(
8114        InstFlags::MMX.bits() | InstFlags::VEC.bits(),
8115        0,
8116        554,
8117        1,
8118        InstControlFlow::Regular,
8119        InstSameRegHint::None,
8120    ), // #166 [ref=1x]
8121    CommonInfo::new(
8122        InstFlags::VEC.bits(),
8123        0,
8124        343,
8125        1,
8126        InstControlFlow::Regular,
8127        InstSameRegHint::None,
8128    ), // #167 [ref=2x]
8129    CommonInfo::new(
8130        0,
8131        0,
8132        173,
8133        5,
8134        InstControlFlow::Regular,
8135        InstSameRegHint::None,
8136    ), // #168 [ref=1x]
8137    CommonInfo::new(
8138        InstFlags::MMX.bits(),
8139        0,
8140        427,
8141        1,
8142        InstControlFlow::Regular,
8143        InstSameRegHint::None,
8144    ), // #169 [ref=1x]
8145    CommonInfo::new(
8146        InstFlags::MMX.bits() | InstFlags::VEC.bits(),
8147        0,
8148        431,
8149        2,
8150        InstControlFlow::Regular,
8151        InstSameRegHint::None,
8152    ), // #170 [ref=8x]
8153    CommonInfo::new(
8154        InstFlags::VEC.bits(),
8155        0,
8156        555,
8157        1,
8158        InstControlFlow::Regular,
8159        InstSameRegHint::None,
8160    ), // #171 [ref=2x]
8161    CommonInfo::new(
8162        0,
8163        0,
8164        433,
8165        2,
8166        InstControlFlow::Regular,
8167        InstSameRegHint::None,
8168    ), // #172 [ref=1x]
8169    CommonInfo::new(
8170        InstFlags::MMX.bits() | InstFlags::VEC.bits(),
8171        0,
8172        435,
8173        2,
8174        InstControlFlow::Regular,
8175        InstSameRegHint::None,
8176    ), // #173 [ref=3x]
8177    CommonInfo::new(
8178        0,
8179        0,
8180        178,
8181        5,
8182        InstControlFlow::Regular,
8183        InstSameRegHint::None,
8184    ), // #174 [ref=1x]
8185    CommonInfo::new(
8186        0,
8187        0,
8188        556,
8189        1,
8190        InstControlFlow::Regular,
8191        InstSameRegHint::None,
8192    ), // #175 [ref=1x]
8193    CommonInfo::new(
8194        0,
8195        0,
8196        437,
8197        2,
8198        InstControlFlow::Regular,
8199        InstSameRegHint::None,
8200    ), // #176 [ref=7x]
8201    CommonInfo::new(
8202        0,
8203        0,
8204        557,
8205        1,
8206        InstControlFlow::Regular,
8207        InstSameRegHint::None,
8208    ), // #177 [ref=4x]
8209    CommonInfo::new(
8210        InstFlags::VEX.bits(),
8211        0,
8212        439,
8213        2,
8214        InstControlFlow::Regular,
8215        InstSameRegHint::None,
8216    ), // #178 [ref=1x]
8217    CommonInfo::new(
8218        0,
8219        0,
8220        441,
8221        2,
8222        InstControlFlow::Regular,
8223        InstSameRegHint::None,
8224    ), // #179 [ref=1x]
8225    CommonInfo::new(
8226        0,
8227        0,
8228        439,
8229        1,
8230        InstControlFlow::Regular,
8231        InstSameRegHint::None,
8232    ), // #180 [ref=7x]
8233    CommonInfo::new(
8234        InstFlags::REP.bits() | InstFlags::REP_IGNORED.bits(),
8235        0,
8236        443,
8237        2,
8238        InstControlFlow::Return,
8239        InstSameRegHint::None,
8240    ), // #181 [ref=1x]
8241    CommonInfo::new(0, 0, 443, 2, InstControlFlow::Return, InstSameRegHint::None), // #182 [ref=1x]
8242    CommonInfo::new(
8243        InstFlags::VEX.bits(),
8244        0,
8245        445,
8246        2,
8247        InstControlFlow::Regular,
8248        InstSameRegHint::None,
8249    ), // #183 [ref=1x]
8250    CommonInfo::new(
8251        InstFlags::LOCK.bits() | InstFlags::X_ACQUIRE.bits() | InstFlags::X_RELEASE.bits(),
8252        0,
8253        20,
8254        13,
8255        InstControlFlow::Regular,
8256        InstSameRegHint::WO,
8257    ), // #184 [ref=3x]
8258    CommonInfo::new(
8259        InstFlags::REP.bits(),
8260        0,
8261        228,
8262        4,
8263        InstControlFlow::Regular,
8264        InstSameRegHint::None,
8265    ), // #185 [ref=1x]
8266    CommonInfo::new(
8267        0,
8268        0,
8269        558,
8270        1,
8271        InstControlFlow::Regular,
8272        InstSameRegHint::None,
8273    ), // #186 [ref=16x]
8274    CommonInfo::new(
8275        0,
8276        0,
8277        292,
8278        3,
8279        InstControlFlow::Regular,
8280        InstSameRegHint::None,
8281    ), // #187 [ref=2x]
8282    CommonInfo::new(
8283        0,
8284        0,
8285        447,
8286        2,
8287        InstControlFlow::Regular,
8288        InstSameRegHint::None,
8289    ), // #188 [ref=3x]
8290    CommonInfo::new(
8291        InstFlags::REP.bits(),
8292        0,
8293        232,
8294        4,
8295        InstControlFlow::Regular,
8296        InstSameRegHint::None,
8297    ), // #189 [ref=1x]
8298    CommonInfo::new(
8299        InstFlags::VEX.bits(),
8300        0,
8301        559,
8302        1,
8303        InstControlFlow::Regular,
8304        InstSameRegHint::None,
8305    ), // #190 [ref=8x]
8306    CommonInfo::new(0, 0, 91, 8, InstControlFlow::Regular, InstSameRegHint::None), // #191 [ref=1x]
8307    CommonInfo::new(
8308        InstFlags::TSIB.bits() | InstFlags::VEX.bits(),
8309        0,
8310        560,
8311        1,
8312        InstControlFlow::Regular,
8313        InstSameRegHint::None,
8314    ), // #192 [ref=2x]
8315    CommonInfo::new(
8316        InstFlags::VEX.bits(),
8317        0,
8318        498,
8319        1,
8320        InstControlFlow::Regular,
8321        InstSameRegHint::None,
8322    ), // #193 [ref=1x]
8323    CommonInfo::new(
8324        InstFlags::TSIB.bits() | InstFlags::VEX.bits(),
8325        0,
8326        561,
8327        1,
8328        InstControlFlow::Regular,
8329        InstSameRegHint::None,
8330    ), // #194 [ref=1x]
8331    CommonInfo::new(
8332        InstFlags::VEX.bits(),
8333        0,
8334        562,
8335        1,
8336        InstControlFlow::Regular,
8337        InstSameRegHint::None,
8338    ), // #195 [ref=1x]
8339    CommonInfo::new(
8340        0,
8341        0,
8342        563,
8343        1,
8344        InstControlFlow::Regular,
8345        InstSameRegHint::None,
8346    ), // #196 [ref=2x]
8347    CommonInfo::new(0, 0, 77, 1, InstControlFlow::Regular, InstSameRegHint::None), // #197 [ref=2x]
8348    CommonInfo::new(
8349        0,
8350        0,
8351        449,
8352        2,
8353        InstControlFlow::Regular,
8354        InstSameRegHint::None,
8355    ), // #198 [ref=1x]
8356    CommonInfo::new(
8357        InstFlags::EVEX.bits()
8358            | InstFlags::EVEX_COMPAT.bits()
8359            | InstFlags::VEC.bits()
8360            | InstFlags::VEX.bits(),
8361        Avx512Flags::B64.bits()
8362            | Avx512Flags::ER.bits()
8363            | Avx512Flags::K.bits()
8364            | Avx512Flags::SAE.bits()
8365            | Avx512Flags::Z.bits(),
8366        295,
8367        3,
8368        InstControlFlow::Regular,
8369        InstSameRegHint::None,
8370    ), // #199 [ref=22x]
8371    CommonInfo::new(
8372        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8373        Avx512Flags::B16.bits()
8374            | Avx512Flags::ER.bits()
8375            | Avx512Flags::K.bits()
8376            | Avx512Flags::SAE.bits()
8377            | Avx512Flags::Z.bits(),
8378        295,
8379        3,
8380        InstControlFlow::Regular,
8381        InstSameRegHint::None,
8382    ), // #200 [ref=23x]
8383    CommonInfo::new(
8384        InstFlags::EVEX.bits()
8385            | InstFlags::EVEX_COMPAT.bits()
8386            | InstFlags::VEC.bits()
8387            | InstFlags::VEX.bits(),
8388        Avx512Flags::B32.bits()
8389            | Avx512Flags::ER.bits()
8390            | Avx512Flags::K.bits()
8391            | Avx512Flags::SAE.bits()
8392            | Avx512Flags::Z.bits(),
8393        295,
8394        3,
8395        InstControlFlow::Regular,
8396        InstSameRegHint::None,
8397    ), // #201 [ref=22x]
8398    CommonInfo::new(
8399        InstFlags::EVEX.bits()
8400            | InstFlags::EVEX_COMPAT.bits()
8401            | InstFlags::VEC.bits()
8402            | InstFlags::VEX.bits(),
8403        Avx512Flags::ER.bits()
8404            | Avx512Flags::K.bits()
8405            | Avx512Flags::SAE.bits()
8406            | Avx512Flags::Z.bits(),
8407        564,
8408        1,
8409        InstControlFlow::Regular,
8410        InstSameRegHint::None,
8411    ), // #202 [ref=18x]
8412    CommonInfo::new(
8413        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8414        Avx512Flags::ER.bits()
8415            | Avx512Flags::K.bits()
8416            | Avx512Flags::SAE.bits()
8417            | Avx512Flags::Z.bits(),
8418        565,
8419        1,
8420        InstControlFlow::Regular,
8421        InstSameRegHint::None,
8422    ), // #203 [ref=18x]
8423    CommonInfo::new(
8424        InstFlags::EVEX.bits()
8425            | InstFlags::EVEX_COMPAT.bits()
8426            | InstFlags::VEC.bits()
8427            | InstFlags::VEX.bits(),
8428        Avx512Flags::ER.bits()
8429            | Avx512Flags::K.bits()
8430            | Avx512Flags::SAE.bits()
8431            | Avx512Flags::Z.bits(),
8432        566,
8433        1,
8434        InstControlFlow::Regular,
8435        InstSameRegHint::None,
8436    ), // #204 [ref=17x]
8437    CommonInfo::new(
8438        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
8439        0,
8440        295,
8441        2,
8442        InstControlFlow::Regular,
8443        InstSameRegHint::None,
8444    ), // #205 [ref=29x]
8445    CommonInfo::new(
8446        InstFlags::EVEX.bits()
8447            | InstFlags::EVEX_COMPAT.bits()
8448            | InstFlags::VEC.bits()
8449            | InstFlags::VEX.bits(),
8450        0,
8451        295,
8452        3,
8453        InstControlFlow::Regular,
8454        InstSameRegHint::None,
8455    ), // #206 [ref=5x]
8456    CommonInfo::new(
8457        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
8458        0,
8459        99,
8460        1,
8461        InstControlFlow::Regular,
8462        InstSameRegHint::None,
8463    ), // #207 [ref=17x]
8464    CommonInfo::new(
8465        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
8466        0,
8467        322,
8468        1,
8469        InstControlFlow::Regular,
8470        InstSameRegHint::None,
8471    ), // #208 [ref=1x]
8472    CommonInfo::new(
8473        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8474        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
8475        298,
8476        3,
8477        InstControlFlow::Regular,
8478        InstSameRegHint::None,
8479    ), // #209 [ref=4x]
8480    CommonInfo::new(
8481        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8482        Avx512Flags::B64.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
8483        298,
8484        3,
8485        InstControlFlow::Regular,
8486        InstSameRegHint::None,
8487    ), // #210 [ref=4x]
8488    CommonInfo::new(
8489        InstFlags::EVEX.bits()
8490            | InstFlags::EVEX_COMPAT.bits()
8491            | InstFlags::VEC.bits()
8492            | InstFlags::VEX.bits(),
8493        Avx512Flags::B64.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
8494        295,
8495        3,
8496        InstControlFlow::Regular,
8497        InstSameRegHint::None,
8498    ), // #211 [ref=10x]
8499    CommonInfo::new(
8500        InstFlags::EVEX.bits()
8501            | InstFlags::EVEX_COMPAT.bits()
8502            | InstFlags::VEC.bits()
8503            | InstFlags::VEX.bits(),
8504        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
8505        295,
8506        3,
8507        InstControlFlow::Regular,
8508        InstSameRegHint::None,
8509    ), // #212 [ref=12x]
8510    CommonInfo::new(
8511        InstFlags::EVEX.bits()
8512            | InstFlags::EVEX_COMPAT.bits()
8513            | InstFlags::VEC.bits()
8514            | InstFlags::VEX.bits(),
8515        Avx512Flags::B64.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
8516        295,
8517        3,
8518        InstControlFlow::Regular,
8519        InstSameRegHint::RO,
8520    ), // #213 [ref=2x]
8521    CommonInfo::new(
8522        InstFlags::EVEX.bits()
8523            | InstFlags::EVEX_COMPAT.bits()
8524            | InstFlags::VEC.bits()
8525            | InstFlags::VEX.bits(),
8526        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
8527        295,
8528        3,
8529        InstControlFlow::Regular,
8530        InstSameRegHint::RO,
8531    ), // #214 [ref=6x]
8532    CommonInfo::new(
8533        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
8534        0,
8535        567,
8536        1,
8537        InstControlFlow::Regular,
8538        InstSameRegHint::None,
8539    ), // #215 [ref=2x]
8540    CommonInfo::new(
8541        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8542        Avx512Flags::B64.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
8543        295,
8544        3,
8545        InstControlFlow::Regular,
8546        InstSameRegHint::None,
8547    ), // #216 [ref=17x]
8548    CommonInfo::new(
8549        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8550        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
8551        295,
8552        3,
8553        InstControlFlow::Regular,
8554        InstSameRegHint::None,
8555    ), // #217 [ref=12x]
8556    CommonInfo::new(
8557        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
8558        0,
8559        298,
8560        2,
8561        InstControlFlow::Regular,
8562        InstSameRegHint::None,
8563    ), // #218 [ref=6x]
8564    CommonInfo::new(
8565        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
8566        0,
8567        451,
8568        2,
8569        InstControlFlow::Regular,
8570        InstSameRegHint::None,
8571    ), // #219 [ref=3x]
8572    CommonInfo::new(
8573        InstFlags::EVEX_TRANSFORMABLE.bits() | InstFlags::VEC.bits() | InstFlags::VEX.bits(),
8574        0,
8575        568,
8576        1,
8577        InstControlFlow::Regular,
8578        InstSameRegHint::None,
8579    ), // #220 [ref=2x]
8580    CommonInfo::new(
8581        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8582        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
8583        569,
8584        1,
8585        InstControlFlow::Regular,
8586        InstSameRegHint::None,
8587    ), // #221 [ref=1x]
8588    CommonInfo::new(
8589        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8590        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
8591        570,
8592        1,
8593        InstControlFlow::Regular,
8594        InstSameRegHint::None,
8595    ), // #222 [ref=4x]
8596    CommonInfo::new(
8597        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8598        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
8599        571,
8600        1,
8601        InstControlFlow::Regular,
8602        InstSameRegHint::None,
8603    ), // #223 [ref=4x]
8604    CommonInfo::new(
8605        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8606        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
8607        477,
8608        1,
8609        InstControlFlow::Regular,
8610        InstSameRegHint::None,
8611    ), // #224 [ref=1x]
8612    CommonInfo::new(
8613        InstFlags::EVEX.bits()
8614            | InstFlags::EVEX_COMPAT.bits()
8615            | InstFlags::VEC.bits()
8616            | InstFlags::VEX.bits(),
8617        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
8618        569,
8619        1,
8620        InstControlFlow::Regular,
8621        InstSameRegHint::None,
8622    ), // #225 [ref=1x]
8623    CommonInfo::new(
8624        InstFlags::EVEX.bits()
8625            | InstFlags::EVEX_COMPAT.bits()
8626            | InstFlags::VEC.bits()
8627            | InstFlags::VEX.bits(),
8628        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
8629        572,
8630        1,
8631        InstControlFlow::Regular,
8632        InstSameRegHint::None,
8633    ), // #226 [ref=1x]
8634    CommonInfo::new(
8635        InstFlags::EVEX.bits()
8636            | InstFlags::EVEX_K_REG.bits()
8637            | InstFlags::VEC.bits()
8638            | InstFlags::VEX.bits(),
8639        Avx512Flags::B64.bits()
8640            | Avx512Flags::IMPLICIT_Z.bits()
8641            | Avx512Flags::K.bits()
8642            | Avx512Flags::SAE.bits(),
8643        301,
8644        3,
8645        InstControlFlow::Regular,
8646        InstSameRegHint::None,
8647    ), // #227 [ref=1x]
8648    CommonInfo::new(
8649        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8650        Avx512Flags::B16.bits()
8651            | Avx512Flags::IMPLICIT_Z.bits()
8652            | Avx512Flags::K.bits()
8653            | Avx512Flags::SAE.bits(),
8654        304,
8655        3,
8656        InstControlFlow::Regular,
8657        InstSameRegHint::None,
8658    ), // #228 [ref=1x]
8659    CommonInfo::new(
8660        InstFlags::EVEX.bits()
8661            | InstFlags::EVEX_K_REG.bits()
8662            | InstFlags::VEC.bits()
8663            | InstFlags::VEX.bits(),
8664        Avx512Flags::B32.bits()
8665            | Avx512Flags::IMPLICIT_Z.bits()
8666            | Avx512Flags::K.bits()
8667            | Avx512Flags::SAE.bits(),
8668        301,
8669        3,
8670        InstControlFlow::Regular,
8671        InstSameRegHint::None,
8672    ), // #229 [ref=1x]
8673    CommonInfo::new(
8674        InstFlags::EVEX.bits()
8675            | InstFlags::EVEX_K_REG.bits()
8676            | InstFlags::VEC.bits()
8677            | InstFlags::VEX.bits(),
8678        Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits() | Avx512Flags::SAE.bits(),
8679        573,
8680        1,
8681        InstControlFlow::Regular,
8682        InstSameRegHint::None,
8683    ), // #230 [ref=1x]
8684    CommonInfo::new(
8685        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8686        Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits() | Avx512Flags::SAE.bits(),
8687        574,
8688        1,
8689        InstControlFlow::Regular,
8690        InstSameRegHint::None,
8691    ), // #231 [ref=1x]
8692    CommonInfo::new(
8693        InstFlags::EVEX.bits()
8694            | InstFlags::EVEX_K_REG.bits()
8695            | InstFlags::VEC.bits()
8696            | InstFlags::VEX.bits(),
8697        Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits() | Avx512Flags::SAE.bits(),
8698        575,
8699        1,
8700        InstControlFlow::Regular,
8701        InstSameRegHint::None,
8702    ), // #232 [ref=1x]
8703    CommonInfo::new(
8704        InstFlags::EVEX.bits()
8705            | InstFlags::EVEX_COMPAT.bits()
8706            | InstFlags::VEC.bits()
8707            | InstFlags::VEX.bits(),
8708        Avx512Flags::SAE.bits(),
8709        172,
8710        1,
8711        InstControlFlow::Regular,
8712        InstSameRegHint::None,
8713    ), // #233 [ref=2x]
8714    CommonInfo::new(
8715        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8716        Avx512Flags::SAE.bits(),
8717        343,
8718        1,
8719        InstControlFlow::Regular,
8720        InstSameRegHint::None,
8721    ), // #234 [ref=2x]
8722    CommonInfo::new(
8723        InstFlags::EVEX.bits()
8724            | InstFlags::EVEX_COMPAT.bits()
8725            | InstFlags::VEC.bits()
8726            | InstFlags::VEX.bits(),
8727        Avx512Flags::SAE.bits(),
8728        313,
8729        1,
8730        InstControlFlow::Regular,
8731        InstSameRegHint::None,
8732    ), // #235 [ref=2x]
8733    CommonInfo::new(
8734        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8735        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
8736        307,
8737        3,
8738        InstControlFlow::Regular,
8739        InstSameRegHint::None,
8740    ), // #236 [ref=6x]
8741    CommonInfo::new(
8742        InstFlags::EVEX.bits()
8743            | InstFlags::EVEX_COMPAT.bits()
8744            | InstFlags::VEC.bits()
8745            | InstFlags::VEX.bits(),
8746        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
8747        310,
8748        3,
8749        InstControlFlow::Regular,
8750        InstSameRegHint::None,
8751    ), // #237 [ref=1x]
8752    CommonInfo::new(
8753        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8754        Avx512Flags::B32.bits()
8755            | Avx512Flags::ER.bits()
8756            | Avx512Flags::K.bits()
8757            | Avx512Flags::SAE.bits()
8758            | Avx512Flags::Z.bits(),
8759        453,
8760        2,
8761        InstControlFlow::Regular,
8762        InstSameRegHint::None,
8763    ), // #238 [ref=3x]
8764    CommonInfo::new(
8765        InstFlags::EVEX.bits()
8766            | InstFlags::EVEX_COMPAT.bits()
8767            | InstFlags::VEC.bits()
8768            | InstFlags::VEX.bits(),
8769        Avx512Flags::B32.bits()
8770            | Avx512Flags::ER.bits()
8771            | Avx512Flags::K.bits()
8772            | Avx512Flags::SAE.bits()
8773            | Avx512Flags::Z.bits(),
8774        151,
8775        3,
8776        InstControlFlow::Regular,
8777        InstSameRegHint::None,
8778    ), // #239 [ref=3x]
8779    CommonInfo::new(
8780        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
8781        0,
8782        198,
8783        2,
8784        InstControlFlow::Regular,
8785        InstSameRegHint::None,
8786    ), // #240 [ref=5x]
8787    CommonInfo::new(
8788        InstFlags::EVEX.bits()
8789            | InstFlags::EVEX_COMPAT.bits()
8790            | InstFlags::PREFER_EVEX.bits()
8791            | InstFlags::VEC.bits()
8792            | InstFlags::VEX.bits(),
8793        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
8794        453,
8795        2,
8796        InstControlFlow::Regular,
8797        InstSameRegHint::None,
8798    ), // #241 [ref=1x]
8799    CommonInfo::new(
8800        InstFlags::EVEX.bits()
8801            | InstFlags::EVEX_COMPAT.bits()
8802            | InstFlags::VEC.bits()
8803            | InstFlags::VEX.bits(),
8804        Avx512Flags::B64.bits()
8805            | Avx512Flags::ER.bits()
8806            | Avx512Flags::K.bits()
8807            | Avx512Flags::SAE.bits()
8808            | Avx512Flags::Z.bits(),
8809        453,
8810        2,
8811        InstControlFlow::Regular,
8812        InstSameRegHint::None,
8813    ), // #242 [ref=2x]
8814    CommonInfo::new(
8815        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8816        Avx512Flags::B64.bits()
8817            | Avx512Flags::ER.bits()
8818            | Avx512Flags::K.bits()
8819            | Avx512Flags::SAE.bits()
8820            | Avx512Flags::Z.bits(),
8821        576,
8822        1,
8823        InstControlFlow::Regular,
8824        InstSameRegHint::None,
8825    ), // #243 [ref=3x]
8826    CommonInfo::new(
8827        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8828        Avx512Flags::B64.bits()
8829            | Avx512Flags::ER.bits()
8830            | Avx512Flags::K.bits()
8831            | Avx512Flags::SAE.bits()
8832            | Avx512Flags::Z.bits(),
8833        151,
8834        3,
8835        InstControlFlow::Regular,
8836        InstSameRegHint::None,
8837    ), // #244 [ref=4x]
8838    CommonInfo::new(
8839        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8840        Avx512Flags::B64.bits()
8841            | Avx512Flags::ER.bits()
8842            | Avx512Flags::K.bits()
8843            | Avx512Flags::SAE.bits()
8844            | Avx512Flags::Z.bits(),
8845        453,
8846        2,
8847        InstControlFlow::Regular,
8848        InstSameRegHint::None,
8849    ), // #245 [ref=3x]
8850    CommonInfo::new(
8851        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8852        Avx512Flags::B16.bits()
8853            | Avx512Flags::ER.bits()
8854            | Avx512Flags::K.bits()
8855            | Avx512Flags::SAE.bits()
8856            | Avx512Flags::Z.bits(),
8857        310,
8858        3,
8859        InstControlFlow::Regular,
8860        InstSameRegHint::None,
8861    ), // #246 [ref=2x]
8862    CommonInfo::new(
8863        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8864        Avx512Flags::B16.bits()
8865            | Avx512Flags::K.bits()
8866            | Avx512Flags::SAE.bits()
8867            | Avx512Flags::Z.bits(),
8868        313,
8869        3,
8870        InstControlFlow::Regular,
8871        InstSameRegHint::None,
8872    ), // #247 [ref=3x]
8873    CommonInfo::new(
8874        InstFlags::EVEX.bits()
8875            | InstFlags::EVEX_COMPAT.bits()
8876            | InstFlags::VEC.bits()
8877            | InstFlags::VEX.bits(),
8878        Avx512Flags::K.bits() | Avx512Flags::SAE.bits() | Avx512Flags::Z.bits(),
8879        310,
8880        3,
8881        InstControlFlow::Regular,
8882        InstSameRegHint::None,
8883    ), // #248 [ref=1x]
8884    CommonInfo::new(
8885        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8886        Avx512Flags::B16.bits()
8887            | Avx512Flags::K.bits()
8888            | Avx512Flags::SAE.bits()
8889            | Avx512Flags::Z.bits(),
8890        310,
8891        3,
8892        InstControlFlow::Regular,
8893        InstSameRegHint::None,
8894    ), // #249 [ref=3x]
8895    CommonInfo::new(
8896        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8897        Avx512Flags::B16.bits()
8898            | Avx512Flags::ER.bits()
8899            | Avx512Flags::K.bits()
8900            | Avx512Flags::SAE.bits()
8901            | Avx512Flags::Z.bits(),
8902        313,
8903        3,
8904        InstControlFlow::Regular,
8905        InstSameRegHint::None,
8906    ), // #250 [ref=2x]
8907    CommonInfo::new(
8908        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8909        Avx512Flags::B16.bits()
8910            | Avx512Flags::ER.bits()
8911            | Avx512Flags::K.bits()
8912            | Avx512Flags::SAE.bits()
8913            | Avx512Flags::Z.bits(),
8914        151,
8915        3,
8916        InstControlFlow::Regular,
8917        InstSameRegHint::None,
8918    ), // #251 [ref=5x]
8919    CommonInfo::new(
8920        InstFlags::EVEX.bits()
8921            | InstFlags::EVEX_COMPAT.bits()
8922            | InstFlags::VEC.bits()
8923            | InstFlags::VEX.bits(),
8924        Avx512Flags::B32.bits()
8925            | Avx512Flags::ER.bits()
8926            | Avx512Flags::K.bits()
8927            | Avx512Flags::SAE.bits()
8928            | Avx512Flags::Z.bits(),
8929        310,
8930        3,
8931        InstControlFlow::Regular,
8932        InstSameRegHint::None,
8933    ), // #252 [ref=1x]
8934    CommonInfo::new(
8935        InstFlags::EVEX.bits()
8936            | InstFlags::EVEX_COMPAT.bits()
8937            | InstFlags::VEC.bits()
8938            | InstFlags::VEX.bits(),
8939        Avx512Flags::K.bits() | Avx512Flags::SAE.bits() | Avx512Flags::Z.bits(),
8940        316,
8941        3,
8942        InstControlFlow::Regular,
8943        InstSameRegHint::None,
8944    ), // #253 [ref=1x]
8945    CommonInfo::new(
8946        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8947        Avx512Flags::B32.bits()
8948            | Avx512Flags::ER.bits()
8949            | Avx512Flags::K.bits()
8950            | Avx512Flags::SAE.bits()
8951            | Avx512Flags::Z.bits(),
8952        310,
8953        3,
8954        InstControlFlow::Regular,
8955        InstSameRegHint::None,
8956    ), // #254 [ref=3x]
8957    CommonInfo::new(
8958        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8959        Avx512Flags::B32.bits()
8960            | Avx512Flags::ER.bits()
8961            | Avx512Flags::K.bits()
8962            | Avx512Flags::SAE.bits()
8963            | Avx512Flags::Z.bits(),
8964        151,
8965        3,
8966        InstControlFlow::Regular,
8967        InstSameRegHint::None,
8968    ), // #255 [ref=2x]
8969    CommonInfo::new(
8970        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8971        Avx512Flags::ER.bits()
8972            | Avx512Flags::K.bits()
8973            | Avx512Flags::SAE.bits()
8974            | Avx512Flags::Z.bits(),
8975        564,
8976        1,
8977        InstControlFlow::Regular,
8978        InstSameRegHint::None,
8979    ), // #256 [ref=2x]
8980    CommonInfo::new(
8981        InstFlags::EVEX.bits()
8982            | InstFlags::EVEX_COMPAT.bits()
8983            | InstFlags::VEC.bits()
8984            | InstFlags::VEX.bits(),
8985        Avx512Flags::ER.bits() | Avx512Flags::SAE.bits(),
8986        371,
8987        2,
8988        InstControlFlow::Regular,
8989        InstSameRegHint::None,
8990    ), // #257 [ref=1x]
8991    CommonInfo::new(
8992        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
8993        Avx512Flags::ER.bits() | Avx512Flags::SAE.bits(),
8994        371,
8995        2,
8996        InstControlFlow::Regular,
8997        InstSameRegHint::None,
8998    ), // #258 [ref=1x]
8999    CommonInfo::new(
9000        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9001        Avx512Flags::K.bits() | Avx512Flags::SAE.bits() | Avx512Flags::Z.bits(),
9002        565,
9003        1,
9004        InstControlFlow::Regular,
9005        InstSameRegHint::None,
9006    ), // #259 [ref=5x]
9007    CommonInfo::new(
9008        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9009        Avx512Flags::ER.bits() | Avx512Flags::SAE.bits(),
9010        455,
9011        2,
9012        InstControlFlow::Regular,
9013        InstSameRegHint::None,
9014    ), // #260 [ref=2x]
9015    CommonInfo::new(
9016        InstFlags::EVEX.bits()
9017            | InstFlags::EVEX_COMPAT.bits()
9018            | InstFlags::VEC.bits()
9019            | InstFlags::VEX.bits(),
9020        Avx512Flags::ER.bits() | Avx512Flags::SAE.bits(),
9021        457,
9022        2,
9023        InstControlFlow::Regular,
9024        InstSameRegHint::None,
9025    ), // #261 [ref=2x]
9026    CommonInfo::new(
9027        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9028        Avx512Flags::ER.bits() | Avx512Flags::SAE.bits(),
9029        459,
9030        2,
9031        InstControlFlow::Regular,
9032        InstSameRegHint::None,
9033    ), // #262 [ref=2x]
9034    CommonInfo::new(
9035        InstFlags::EVEX.bits()
9036            | InstFlags::EVEX_COMPAT.bits()
9037            | InstFlags::VEC.bits()
9038            | InstFlags::VEX.bits(),
9039        Avx512Flags::K.bits() | Avx512Flags::SAE.bits() | Avx512Flags::Z.bits(),
9040        566,
9041        1,
9042        InstControlFlow::Regular,
9043        InstSameRegHint::None,
9044    ), // #263 [ref=3x]
9045    CommonInfo::new(
9046        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9047        Avx512Flags::ER.bits()
9048            | Avx512Flags::K.bits()
9049            | Avx512Flags::SAE.bits()
9050            | Avx512Flags::Z.bits(),
9051        566,
9052        1,
9053        InstControlFlow::Regular,
9054        InstSameRegHint::None,
9055    ), // #264 [ref=6x]
9056    CommonInfo::new(
9057        InstFlags::EVEX.bits()
9058            | InstFlags::EVEX_COMPAT.bits()
9059            | InstFlags::VEC.bits()
9060            | InstFlags::VEX.bits(),
9061        Avx512Flags::ER.bits() | Avx512Flags::SAE.bits(),
9062        375,
9063        2,
9064        InstControlFlow::Regular,
9065        InstSameRegHint::None,
9066    ), // #265 [ref=1x]
9067    CommonInfo::new(
9068        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9069        Avx512Flags::ER.bits() | Avx512Flags::SAE.bits(),
9070        375,
9071        2,
9072        InstControlFlow::Regular,
9073        InstSameRegHint::None,
9074    ), // #266 [ref=1x]
9075    CommonInfo::new(
9076        InstFlags::EVEX.bits()
9077            | InstFlags::EVEX_COMPAT.bits()
9078            | InstFlags::VEC.bits()
9079            | InstFlags::VEX.bits(),
9080        Avx512Flags::B64.bits()
9081            | Avx512Flags::K.bits()
9082            | Avx512Flags::SAE.bits()
9083            | Avx512Flags::Z.bits(),
9084        453,
9085        2,
9086        InstControlFlow::Regular,
9087        InstSameRegHint::None,
9088    ), // #267 [ref=1x]
9089    CommonInfo::new(
9090        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9091        Avx512Flags::B64.bits()
9092            | Avx512Flags::K.bits()
9093            | Avx512Flags::SAE.bits()
9094            | Avx512Flags::Z.bits(),
9095        151,
9096        3,
9097        InstControlFlow::Regular,
9098        InstSameRegHint::None,
9099    ), // #268 [ref=3x]
9100    CommonInfo::new(
9101        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9102        Avx512Flags::B64.bits()
9103            | Avx512Flags::K.bits()
9104            | Avx512Flags::SAE.bits()
9105            | Avx512Flags::Z.bits(),
9106        453,
9107        2,
9108        InstControlFlow::Regular,
9109        InstSameRegHint::None,
9110    ), // #269 [ref=1x]
9111    CommonInfo::new(
9112        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9113        Avx512Flags::B16.bits()
9114            | Avx512Flags::K.bits()
9115            | Avx512Flags::SAE.bits()
9116            | Avx512Flags::Z.bits(),
9117        151,
9118        3,
9119        InstControlFlow::Regular,
9120        InstSameRegHint::None,
9121    ), // #270 [ref=3x]
9122    CommonInfo::new(
9123        InstFlags::EVEX.bits()
9124            | InstFlags::EVEX_COMPAT.bits()
9125            | InstFlags::VEC.bits()
9126            | InstFlags::VEX.bits(),
9127        Avx512Flags::B32.bits()
9128            | Avx512Flags::K.bits()
9129            | Avx512Flags::SAE.bits()
9130            | Avx512Flags::Z.bits(),
9131        151,
9132        3,
9133        InstControlFlow::Regular,
9134        InstSameRegHint::None,
9135    ), // #271 [ref=1x]
9136    CommonInfo::new(
9137        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9138        Avx512Flags::B32.bits()
9139            | Avx512Flags::K.bits()
9140            | Avx512Flags::SAE.bits()
9141            | Avx512Flags::Z.bits(),
9142        310,
9143        3,
9144        InstControlFlow::Regular,
9145        InstSameRegHint::None,
9146    ), // #272 [ref=2x]
9147    CommonInfo::new(
9148        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9149        Avx512Flags::B32.bits()
9150            | Avx512Flags::K.bits()
9151            | Avx512Flags::SAE.bits()
9152            | Avx512Flags::Z.bits(),
9153        151,
9154        3,
9155        InstControlFlow::Regular,
9156        InstSameRegHint::None,
9157    ), // #273 [ref=2x]
9158    CommonInfo::new(
9159        InstFlags::EVEX.bits()
9160            | InstFlags::EVEX_COMPAT.bits()
9161            | InstFlags::VEC.bits()
9162            | InstFlags::VEX.bits(),
9163        Avx512Flags::SAE.bits(),
9164        371,
9165        2,
9166        InstControlFlow::Regular,
9167        InstSameRegHint::None,
9168    ), // #274 [ref=1x]
9169    CommonInfo::new(
9170        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9171        Avx512Flags::SAE.bits(),
9172        371,
9173        2,
9174        InstControlFlow::Regular,
9175        InstSameRegHint::None,
9176    ), // #275 [ref=1x]
9177    CommonInfo::new(
9178        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9179        Avx512Flags::SAE.bits(),
9180        455,
9181        2,
9182        InstControlFlow::Regular,
9183        InstSameRegHint::None,
9184    ), // #276 [ref=2x]
9185    CommonInfo::new(
9186        InstFlags::EVEX.bits()
9187            | InstFlags::EVEX_COMPAT.bits()
9188            | InstFlags::VEC.bits()
9189            | InstFlags::VEX.bits(),
9190        Avx512Flags::SAE.bits(),
9191        375,
9192        2,
9193        InstControlFlow::Regular,
9194        InstSameRegHint::None,
9195    ), // #277 [ref=1x]
9196    CommonInfo::new(
9197        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9198        Avx512Flags::SAE.bits(),
9199        375,
9200        2,
9201        InstControlFlow::Regular,
9202        InstSameRegHint::None,
9203    ), // #278 [ref=1x]
9204    CommonInfo::new(
9205        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9206        Avx512Flags::ER.bits() | Avx512Flags::SAE.bits(),
9207        457,
9208        2,
9209        InstControlFlow::Regular,
9210        InstSameRegHint::None,
9211    ), // #279 [ref=2x]
9212    CommonInfo::new(
9213        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9214        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9215        298,
9216        3,
9217        InstControlFlow::Regular,
9218        InstSameRegHint::None,
9219    ), // #280 [ref=3x]
9220    CommonInfo::new(
9221        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
9222        0,
9223        298,
9224        1,
9225        InstControlFlow::Regular,
9226        InstSameRegHint::None,
9227    ), // #281 [ref=10x]
9228    CommonInfo::new(
9229        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9230        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9231        151,
9232        3,
9233        InstControlFlow::Regular,
9234        InstSameRegHint::None,
9235    ), // #282 [ref=8x]
9236    CommonInfo::new(
9237        InstFlags::EVEX_TRANSFORMABLE.bits() | InstFlags::VEC.bits() | InstFlags::VEX.bits(),
9238        0,
9239        317,
9240        1,
9241        InstControlFlow::Regular,
9242        InstSameRegHint::None,
9243    ), // #283 [ref=2x]
9244    CommonInfo::new(
9245        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9246        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9247        577,
9248        1,
9249        InstControlFlow::Regular,
9250        InstSameRegHint::None,
9251    ), // #284 [ref=4x]
9252    CommonInfo::new(
9253        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9254        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9255        318,
9256        1,
9257        InstControlFlow::Regular,
9258        InstSameRegHint::None,
9259    ), // #285 [ref=4x]
9260    CommonInfo::new(
9261        InstFlags::EVEX.bits()
9262            | InstFlags::EVEX_COMPAT.bits()
9263            | InstFlags::VEC.bits()
9264            | InstFlags::VEX.bits(),
9265        0,
9266        512,
9267        1,
9268        InstControlFlow::Regular,
9269        InstSameRegHint::None,
9270    ), // #286 [ref=2x]
9271    CommonInfo::new(
9272        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9273        Avx512Flags::B32.bits()
9274            | Avx512Flags::ER.bits()
9275            | Avx512Flags::K.bits()
9276            | Avx512Flags::SAE.bits()
9277            | Avx512Flags::Z.bits(),
9278        295,
9279        3,
9280        InstControlFlow::Regular,
9281        InstSameRegHint::None,
9282    ), // #287 [ref=5x]
9283    CommonInfo::new(
9284        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9285        Avx512Flags::B64.bits()
9286            | Avx512Flags::K.bits()
9287            | Avx512Flags::SAE.bits()
9288            | Avx512Flags::Z.bits(),
9289        298,
9290        3,
9291        InstControlFlow::Regular,
9292        InstSameRegHint::None,
9293    ), // #288 [ref=2x]
9294    CommonInfo::new(
9295        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9296        Avx512Flags::B32.bits()
9297            | Avx512Flags::K.bits()
9298            | Avx512Flags::SAE.bits()
9299            | Avx512Flags::Z.bits(),
9300        298,
9301        3,
9302        InstControlFlow::Regular,
9303        InstSameRegHint::None,
9304    ), // #289 [ref=2x]
9305    CommonInfo::new(
9306        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9307        Avx512Flags::K.bits() | Avx512Flags::SAE.bits() | Avx512Flags::Z.bits(),
9308        578,
9309        1,
9310        InstControlFlow::Regular,
9311        InstSameRegHint::None,
9312    ), // #290 [ref=4x]
9313    CommonInfo::new(
9314        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9315        Avx512Flags::K.bits() | Avx512Flags::SAE.bits() | Avx512Flags::Z.bits(),
9316        579,
9317        1,
9318        InstControlFlow::Regular,
9319        InstSameRegHint::None,
9320    ), // #291 [ref=4x]
9321    CommonInfo::new(
9322        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
9323        0,
9324        236,
9325        4,
9326        InstControlFlow::Regular,
9327        InstSameRegHint::None,
9328    ), // #292 [ref=12x]
9329    CommonInfo::new(
9330        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
9331        0,
9332        461,
9333        2,
9334        InstControlFlow::Regular,
9335        InstSameRegHint::None,
9336    ), // #293 [ref=4x]
9337    CommonInfo::new(
9338        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
9339        0,
9340        463,
9341        2,
9342        InstControlFlow::Regular,
9343        InstSameRegHint::None,
9344    ), // #294 [ref=4x]
9345    CommonInfo::new(
9346        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9347        Avx512Flags::B64.bits() | Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits(),
9348        580,
9349        1,
9350        InstControlFlow::Regular,
9351        InstSameRegHint::None,
9352    ), // #295 [ref=1x]
9353    CommonInfo::new(
9354        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9355        Avx512Flags::B16.bits() | Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits(),
9356        580,
9357        1,
9358        InstControlFlow::Regular,
9359        InstSameRegHint::None,
9360    ), // #296 [ref=1x]
9361    CommonInfo::new(
9362        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9363        Avx512Flags::B32.bits() | Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits(),
9364        580,
9365        1,
9366        InstControlFlow::Regular,
9367        InstSameRegHint::None,
9368    ), // #297 [ref=1x]
9369    CommonInfo::new(
9370        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9371        Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits(),
9372        581,
9373        1,
9374        InstControlFlow::Regular,
9375        InstSameRegHint::None,
9376    ), // #298 [ref=1x]
9377    CommonInfo::new(
9378        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9379        Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits(),
9380        582,
9381        1,
9382        InstControlFlow::Regular,
9383        InstSameRegHint::None,
9384    ), // #299 [ref=1x]
9385    CommonInfo::new(
9386        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9387        Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits(),
9388        583,
9389        1,
9390        InstControlFlow::Regular,
9391        InstSameRegHint::None,
9392    ), // #300 [ref=1x]
9393    CommonInfo::new(
9394        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
9395        0,
9396        99,
9397        2,
9398        InstControlFlow::Regular,
9399        InstSameRegHint::None,
9400    ), // #301 [ref=7x]
9401    CommonInfo::new(
9402        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
9403        0,
9404        172,
9405        1,
9406        InstControlFlow::Regular,
9407        InstSameRegHint::None,
9408    ), // #302 [ref=1x]
9409    CommonInfo::new(
9410        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
9411        0,
9412        313,
9413        1,
9414        InstControlFlow::Regular,
9415        InstSameRegHint::None,
9416    ), // #303 [ref=1x]
9417    CommonInfo::new(
9418        InstFlags::EVEX.bits()
9419            | InstFlags::EVEX_TWO_OP.bits()
9420            | InstFlags::VEC.bits()
9421            | InstFlags::VEX.bits()
9422            | InstFlags::VSIB.bits(),
9423        Avx512Flags::K.bits(),
9424        240,
9425        4,
9426        InstControlFlow::Regular,
9427        InstSameRegHint::None,
9428    ), // #304 [ref=2x]
9429    CommonInfo::new(
9430        InstFlags::EVEX.bits()
9431            | InstFlags::EVEX_TWO_OP.bits()
9432            | InstFlags::VEC.bits()
9433            | InstFlags::VEX.bits()
9434            | InstFlags::VSIB.bits(),
9435        Avx512Flags::K.bits(),
9436        183,
9437        5,
9438        InstControlFlow::Regular,
9439        InstSameRegHint::None,
9440    ), // #305 [ref=2x]
9441    CommonInfo::new(
9442        InstFlags::EVEX.bits()
9443            | InstFlags::EVEX_TWO_OP.bits()
9444            | InstFlags::VEC.bits()
9445            | InstFlags::VEX.bits()
9446            | InstFlags::VSIB.bits(),
9447        Avx512Flags::K.bits(),
9448        188,
9449        5,
9450        InstControlFlow::Regular,
9451        InstSameRegHint::None,
9452    ), // #306 [ref=2x]
9453    CommonInfo::new(
9454        InstFlags::EVEX.bits()
9455            | InstFlags::EVEX_TWO_OP.bits()
9456            | InstFlags::VEC.bits()
9457            | InstFlags::VEX.bits()
9458            | InstFlags::VSIB.bits(),
9459        Avx512Flags::K.bits(),
9460        319,
9461        3,
9462        InstControlFlow::Regular,
9463        InstSameRegHint::None,
9464    ), // #307 [ref=2x]
9465    CommonInfo::new(
9466        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9467        Avx512Flags::K.bits() | Avx512Flags::SAE.bits() | Avx512Flags::Z.bits(),
9468        564,
9469        1,
9470        InstControlFlow::Regular,
9471        InstSameRegHint::None,
9472    ), // #308 [ref=1x]
9473    CommonInfo::new(
9474        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9475        Avx512Flags::K.bits() | Avx512Flags::SAE.bits() | Avx512Flags::Z.bits(),
9476        566,
9477        1,
9478        InstControlFlow::Regular,
9479        InstSameRegHint::None,
9480    ), // #309 [ref=1x]
9481    CommonInfo::new(
9482        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9483        Avx512Flags::B64.bits()
9484            | Avx512Flags::K.bits()
9485            | Avx512Flags::SAE.bits()
9486            | Avx512Flags::Z.bits(),
9487        322,
9488        3,
9489        InstControlFlow::Regular,
9490        InstSameRegHint::None,
9491    ), // #310 [ref=2x]
9492    CommonInfo::new(
9493        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9494        Avx512Flags::B16.bits()
9495            | Avx512Flags::K.bits()
9496            | Avx512Flags::SAE.bits()
9497            | Avx512Flags::Z.bits(),
9498        322,
9499        3,
9500        InstControlFlow::Regular,
9501        InstSameRegHint::None,
9502    ), // #311 [ref=3x]
9503    CommonInfo::new(
9504        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9505        Avx512Flags::B32.bits()
9506            | Avx512Flags::K.bits()
9507            | Avx512Flags::SAE.bits()
9508            | Avx512Flags::Z.bits(),
9509        322,
9510        3,
9511        InstControlFlow::Regular,
9512        InstSameRegHint::None,
9513    ), // #312 [ref=2x]
9514    CommonInfo::new(
9515        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9516        Avx512Flags::K.bits() | Avx512Flags::SAE.bits() | Avx512Flags::Z.bits(),
9517        584,
9518        1,
9519        InstControlFlow::Regular,
9520        InstSameRegHint::None,
9521    ), // #313 [ref=3x]
9522    CommonInfo::new(
9523        InstFlags::EVEX.bits()
9524            | InstFlags::EVEX_COMPAT.bits()
9525            | InstFlags::VEC.bits()
9526            | InstFlags::VEX.bits(),
9527        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9528        298,
9529        3,
9530        InstControlFlow::Regular,
9531        InstSameRegHint::None,
9532    ), // #314 [ref=3x]
9533    CommonInfo::new(
9534        InstFlags::EVEX.bits()
9535            | InstFlags::EVEX_COMPAT.bits()
9536            | InstFlags::VEC.bits()
9537            | InstFlags::VEX.bits(),
9538        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9539        295,
9540        3,
9541        InstControlFlow::Regular,
9542        InstSameRegHint::None,
9543    ), // #315 [ref=22x]
9544    CommonInfo::new(
9545        InstFlags::EVEX_TRANSFORMABLE.bits() | InstFlags::VEC.bits() | InstFlags::VEX.bits(),
9546        0,
9547        465,
9548        1,
9549        InstControlFlow::Regular,
9550        InstSameRegHint::None,
9551    ), // #316 [ref=2x]
9552    CommonInfo::new(
9553        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9554        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9555        465,
9556        2,
9557        InstControlFlow::Regular,
9558        InstSameRegHint::None,
9559    ), // #317 [ref=4x]
9560    CommonInfo::new(
9561        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9562        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9563        585,
9564        1,
9565        InstControlFlow::Regular,
9566        InstSameRegHint::None,
9567    ), // #318 [ref=4x]
9568    CommonInfo::new(
9569        InstFlags::EVEX.bits()
9570            | InstFlags::EVEX_COMPAT.bits()
9571            | InstFlags::VEC.bits()
9572            | InstFlags::VEX.bits(),
9573        0,
9574        579,
9575        1,
9576        InstControlFlow::Regular,
9577        InstSameRegHint::None,
9578    ), // #319 [ref=1x]
9579    CommonInfo::new(
9580        InstFlags::VEX.bits(),
9581        0,
9582        530,
9583        1,
9584        InstControlFlow::Regular,
9585        InstSameRegHint::None,
9586    ), // #320 [ref=2x]
9587    CommonInfo::new(
9588        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
9589        0,
9590        533,
9591        1,
9592        InstControlFlow::Regular,
9593        InstSameRegHint::None,
9594    ), // #321 [ref=1x]
9595    CommonInfo::new(
9596        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
9597        0,
9598        244,
9599        4,
9600        InstControlFlow::Regular,
9601        InstSameRegHint::None,
9602    ), // #322 [ref=4x]
9603    CommonInfo::new(
9604        InstFlags::EVEX.bits()
9605            | InstFlags::EVEX_COMPAT.bits()
9606            | InstFlags::VEC.bits()
9607            | InstFlags::VEX.bits(),
9608        Avx512Flags::B64.bits()
9609            | Avx512Flags::K.bits()
9610            | Avx512Flags::SAE.bits()
9611            | Avx512Flags::Z.bits(),
9612        295,
9613        3,
9614        InstControlFlow::Regular,
9615        InstSameRegHint::None,
9616    ), // #323 [ref=2x]
9617    CommonInfo::new(
9618        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9619        Avx512Flags::B16.bits()
9620            | Avx512Flags::K.bits()
9621            | Avx512Flags::SAE.bits()
9622            | Avx512Flags::Z.bits(),
9623        295,
9624        3,
9625        InstControlFlow::Regular,
9626        InstSameRegHint::None,
9627    ), // #324 [ref=2x]
9628    CommonInfo::new(
9629        InstFlags::EVEX.bits()
9630            | InstFlags::EVEX_COMPAT.bits()
9631            | InstFlags::VEC.bits()
9632            | InstFlags::VEX.bits(),
9633        Avx512Flags::B32.bits()
9634            | Avx512Flags::K.bits()
9635            | Avx512Flags::SAE.bits()
9636            | Avx512Flags::Z.bits(),
9637        295,
9638        3,
9639        InstControlFlow::Regular,
9640        InstSameRegHint::None,
9641    ), // #325 [ref=2x]
9642    CommonInfo::new(
9643        InstFlags::EVEX.bits()
9644            | InstFlags::EVEX_COMPAT.bits()
9645            | InstFlags::VEC.bits()
9646            | InstFlags::VEX.bits(),
9647        Avx512Flags::K.bits() | Avx512Flags::SAE.bits() | Avx512Flags::Z.bits(),
9648        564,
9649        1,
9650        InstControlFlow::Regular,
9651        InstSameRegHint::None,
9652    ), // #326 [ref=2x]
9653    CommonInfo::new(
9654        0,
9655        0,
9656        467,
9657        2,
9658        InstControlFlow::Regular,
9659        InstSameRegHint::None,
9660    ), // #327 [ref=3x]
9661    CommonInfo::new(
9662        InstFlags::EVEX.bits()
9663            | InstFlags::EVEX_COMPAT.bits()
9664            | InstFlags::VEC.bits()
9665            | InstFlags::VEX.bits(),
9666        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9667        99,
9668        8,
9669        InstControlFlow::Regular,
9670        InstSameRegHint::None,
9671    ), // #328 [ref=4x]
9672    CommonInfo::new(
9673        InstFlags::EVEX.bits()
9674            | InstFlags::EVEX_COMPAT.bits()
9675            | InstFlags::VEC.bits()
9676            | InstFlags::VEX.bits(),
9677        0,
9678        469,
9679        2,
9680        InstControlFlow::Regular,
9681        InstSameRegHint::None,
9682    ), // #329 [ref=1x]
9683    CommonInfo::new(
9684        InstFlags::EVEX.bits()
9685            | InstFlags::EVEX_COMPAT.bits()
9686            | InstFlags::VEC.bits()
9687            | InstFlags::VEX.bits(),
9688        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9689        325,
9690        3,
9691        InstControlFlow::Regular,
9692        InstSameRegHint::None,
9693    ), // #330 [ref=1x]
9694    CommonInfo::new(
9695        InstFlags::EVEX_TRANSFORMABLE.bits() | InstFlags::VEC.bits() | InstFlags::VEX.bits(),
9696        0,
9697        99,
9698        4,
9699        InstControlFlow::Regular,
9700        InstSameRegHint::None,
9701    ), // #331 [ref=2x]
9702    CommonInfo::new(
9703        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9704        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9705        151,
9706        6,
9707        InstControlFlow::Regular,
9708        InstSameRegHint::None,
9709    ), // #332 [ref=6x]
9710    CommonInfo::new(
9711        InstFlags::EVEX.bits()
9712            | InstFlags::EVEX_COMPAT.bits()
9713            | InstFlags::VEC.bits()
9714            | InstFlags::VEX.bits(),
9715        0,
9716        109,
9717        2,
9718        InstControlFlow::Regular,
9719        InstSameRegHint::None,
9720    ), // #333 [ref=2x]
9721    CommonInfo::new(
9722        InstFlags::EVEX.bits()
9723            | InstFlags::EVEX_COMPAT.bits()
9724            | InstFlags::VEC.bits()
9725            | InstFlags::VEX.bits(),
9726        0,
9727        248,
9728        4,
9729        InstControlFlow::Regular,
9730        InstSameRegHint::None,
9731    ), // #334 [ref=4x]
9732    CommonInfo::new(
9733        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
9734        0,
9735        586,
9736        1,
9737        InstControlFlow::Regular,
9738        InstSameRegHint::None,
9739    ), // #335 [ref=3x]
9740    CommonInfo::new(
9741        InstFlags::EVEX.bits()
9742            | InstFlags::EVEX_COMPAT.bits()
9743            | InstFlags::VEC.bits()
9744            | InstFlags::VEX.bits(),
9745        0,
9746        193,
9747        5,
9748        InstControlFlow::Regular,
9749        InstSameRegHint::None,
9750    ), // #336 [ref=3x]
9751    CommonInfo::new(
9752        InstFlags::EVEX.bits()
9753            | InstFlags::EVEX_COMPAT.bits()
9754            | InstFlags::VEC.bits()
9755            | InstFlags::VEX.bits(),
9756        0,
9757        198,
9758        5,
9759        InstControlFlow::Regular,
9760        InstSameRegHint::None,
9761    ), // #337 [ref=1x]
9762    CommonInfo::new(
9763        InstFlags::EVEX.bits()
9764            | InstFlags::EVEX_COMPAT.bits()
9765            | InstFlags::VEC.bits()
9766            | InstFlags::VEX.bits(),
9767        0,
9768        203,
9769        5,
9770        InstControlFlow::Regular,
9771        InstSameRegHint::None,
9772    ), // #338 [ref=1x]
9773    CommonInfo::new(
9774        InstFlags::EVEX.bits()
9775            | InstFlags::EVEX_COMPAT.bits()
9776            | InstFlags::VEC.bits()
9777            | InstFlags::VEX.bits(),
9778        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9779        107,
9780        8,
9781        InstControlFlow::Regular,
9782        InstSameRegHint::None,
9783    ), // #339 [ref=1x]
9784    CommonInfo::new(
9785        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9786        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9787        252,
9788        4,
9789        InstControlFlow::Regular,
9790        InstSameRegHint::None,
9791    ), // #340 [ref=1x]
9792    CommonInfo::new(
9793        InstFlags::EVEX.bits()
9794            | InstFlags::EVEX_COMPAT.bits()
9795            | InstFlags::VEC.bits()
9796            | InstFlags::VEX.bits(),
9797        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9798        151,
9799        3,
9800        InstControlFlow::Regular,
9801        InstSameRegHint::None,
9802    ), // #341 [ref=4x]
9803    CommonInfo::new(
9804        InstFlags::EVEX.bits()
9805            | InstFlags::EVEX_COMPAT.bits()
9806            | InstFlags::VEC.bits()
9807            | InstFlags::VEX.bits(),
9808        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9809        115,
9810        8,
9811        InstControlFlow::Regular,
9812        InstSameRegHint::None,
9813    ), // #342 [ref=1x]
9814    CommonInfo::new(
9815        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9816        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9817        471,
9818        2,
9819        InstControlFlow::Regular,
9820        InstSameRegHint::None,
9821    ), // #343 [ref=1x]
9822    CommonInfo::new(
9823        0,
9824        0,
9825        473,
9826        2,
9827        InstControlFlow::Regular,
9828        InstSameRegHint::None,
9829    ), // #344 [ref=1x]
9830    CommonInfo::new(
9831        0,
9832        0,
9833        475,
9834        2,
9835        InstControlFlow::Regular,
9836        InstSameRegHint::None,
9837    ), // #345 [ref=1x]
9838    CommonInfo::new(
9839        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9840        Avx512Flags::B32.bits(),
9841        328,
9842        3,
9843        InstControlFlow::Regular,
9844        InstSameRegHint::None,
9845    ), // #346 [ref=1x]
9846    CommonInfo::new(
9847        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9848        Avx512Flags::B64.bits(),
9849        328,
9850        3,
9851        InstControlFlow::Regular,
9852        InstSameRegHint::None,
9853    ), // #347 [ref=1x]
9854    CommonInfo::new(
9855        InstFlags::EVEX.bits()
9856            | InstFlags::EVEX_COMPAT.bits()
9857            | InstFlags::VEC.bits()
9858            | InstFlags::VEX.bits(),
9859        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9860        151,
9861        3,
9862        InstControlFlow::Regular,
9863        InstSameRegHint::None,
9864    ), // #348 [ref=1x]
9865    CommonInfo::new(
9866        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9867        Avx512Flags::B64.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9868        151,
9869        3,
9870        InstControlFlow::Regular,
9871        InstSameRegHint::None,
9872    ), // #349 [ref=5x]
9873    CommonInfo::new(
9874        InstFlags::EVEX_TRANSFORMABLE.bits() | InstFlags::VEC.bits() | InstFlags::VEX.bits(),
9875        0,
9876        295,
9877        2,
9878        InstControlFlow::Regular,
9879        InstSameRegHint::RO,
9880    ), // #350 [ref=2x]
9881    CommonInfo::new(
9882        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9883        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9884        295,
9885        3,
9886        InstControlFlow::Regular,
9887        InstSameRegHint::RO,
9888    ), // #351 [ref=2x]
9889    CommonInfo::new(
9890        InstFlags::EVEX_TRANSFORMABLE.bits() | InstFlags::VEC.bits() | InstFlags::VEX.bits(),
9891        0,
9892        295,
9893        2,
9894        InstControlFlow::Regular,
9895        InstSameRegHint::WO,
9896    ), // #352 [ref=2x]
9897    CommonInfo::new(
9898        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9899        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9900        295,
9901        3,
9902        InstControlFlow::Regular,
9903        InstSameRegHint::WO,
9904    ), // #353 [ref=2x]
9905    CommonInfo::new(
9906        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9907        Avx512Flags::B64.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9908        295,
9909        3,
9910        InstControlFlow::Regular,
9911        InstSameRegHint::WO,
9912    ), // #354 [ref=2x]
9913    CommonInfo::new(
9914        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9915        Avx512Flags::B64.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9916        295,
9917        3,
9918        InstControlFlow::Regular,
9919        InstSameRegHint::RO,
9920    ), // #355 [ref=2x]
9921    CommonInfo::new(
9922        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9923        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9924        295,
9925        3,
9926        InstControlFlow::Regular,
9927        InstSameRegHint::None,
9928    ), // #356 [ref=13x]
9929    CommonInfo::new(
9930        InstFlags::EVEX.bits()
9931            | InstFlags::EVEX_COMPAT.bits()
9932            | InstFlags::VEC.bits()
9933            | InstFlags::VEX.bits(),
9934        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9935        587,
9936        1,
9937        InstControlFlow::Regular,
9938        InstSameRegHint::None,
9939    ), // #357 [ref=1x]
9940    CommonInfo::new(
9941        InstFlags::EVEX.bits()
9942            | InstFlags::EVEX_COMPAT.bits()
9943            | InstFlags::VEC.bits()
9944            | InstFlags::VEX.bits(),
9945        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9946        588,
9947        1,
9948        InstControlFlow::Regular,
9949        InstSameRegHint::None,
9950    ), // #358 [ref=1x]
9951    CommonInfo::new(
9952        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
9953        0,
9954        589,
9955        1,
9956        InstControlFlow::Regular,
9957        InstSameRegHint::None,
9958    ), // #359 [ref=6x]
9959    CommonInfo::new(
9960        InstFlags::EVEX.bits()
9961            | InstFlags::EVEX_COMPAT.bits()
9962            | InstFlags::VEC.bits()
9963            | InstFlags::VEX.bits(),
9964        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9965        477,
9966        2,
9967        InstControlFlow::Regular,
9968        InstSameRegHint::None,
9969    ), // #360 [ref=1x]
9970    CommonInfo::new(
9971        InstFlags::EVEX.bits()
9972            | InstFlags::EVEX_COMPAT.bits()
9973            | InstFlags::VEC.bits()
9974            | InstFlags::VEX.bits(),
9975        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
9976        590,
9977        1,
9978        InstControlFlow::Regular,
9979        InstSameRegHint::None,
9980    ), // #361 [ref=1x]
9981    CommonInfo::new(
9982        InstFlags::EVEX.bits()
9983            | InstFlags::EVEX_COMPAT.bits()
9984            | InstFlags::VEC.bits()
9985            | InstFlags::VEX.bits(),
9986        0,
9987        298,
9988        3,
9989        InstControlFlow::Regular,
9990        InstSameRegHint::None,
9991    ), // #362 [ref=1x]
9992    CommonInfo::new(
9993        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
9994        0,
9995        256,
9996        4,
9997        InstControlFlow::Regular,
9998        InstSameRegHint::None,
9999    ), // #363 [ref=1x]
10000    CommonInfo::new(
10001        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10002        Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits(),
10003        304,
10004        3,
10005        InstControlFlow::Regular,
10006        InstSameRegHint::WO,
10007    ), // #364 [ref=4x]
10008    CommonInfo::new(
10009        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10010        Avx512Flags::B32.bits() | Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits(),
10011        304,
10012        3,
10013        InstControlFlow::Regular,
10014        InstSameRegHint::WO,
10015    ), // #365 [ref=2x]
10016    CommonInfo::new(
10017        InstFlags::EVEX.bits()
10018            | InstFlags::EVEX_K_REG.bits()
10019            | InstFlags::VEC.bits()
10020            | InstFlags::VEX.bits(),
10021        Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits(),
10022        331,
10023        3,
10024        InstControlFlow::Regular,
10025        InstSameRegHint::WO,
10026    ), // #366 [ref=4x]
10027    CommonInfo::new(
10028        InstFlags::EVEX.bits()
10029            | InstFlags::EVEX_K_REG.bits()
10030            | InstFlags::VEC.bits()
10031            | InstFlags::VEX.bits(),
10032        Avx512Flags::B32.bits() | Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits(),
10033        331,
10034        3,
10035        InstControlFlow::Regular,
10036        InstSameRegHint::WO,
10037    ), // #367 [ref=2x]
10038    CommonInfo::new(
10039        InstFlags::EVEX.bits()
10040            | InstFlags::EVEX_K_REG.bits()
10041            | InstFlags::VEC.bits()
10042            | InstFlags::VEX.bits(),
10043        Avx512Flags::B64.bits() | Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits(),
10044        331,
10045        3,
10046        InstControlFlow::Regular,
10047        InstSameRegHint::WO,
10048    ), // #368 [ref=2x]
10049    CommonInfo::new(
10050        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10051        0,
10052        544,
10053        1,
10054        InstControlFlow::Regular,
10055        InstSameRegHint::None,
10056    ), // #369 [ref=1x]
10057    CommonInfo::new(
10058        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10059        0,
10060        545,
10061        1,
10062        InstControlFlow::Regular,
10063        InstSameRegHint::None,
10064    ), // #370 [ref=1x]
10065    CommonInfo::new(
10066        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10067        0,
10068        546,
10069        1,
10070        InstControlFlow::Regular,
10071        InstSameRegHint::None,
10072    ), // #371 [ref=1x]
10073    CommonInfo::new(
10074        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10075        0,
10076        547,
10077        1,
10078        InstControlFlow::Regular,
10079        InstSameRegHint::None,
10080    ), // #372 [ref=1x]
10081    CommonInfo::new(
10082        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10083        Avx512Flags::B64.bits() | Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits(),
10084        304,
10085        3,
10086        InstControlFlow::Regular,
10087        InstSameRegHint::WO,
10088    ), // #373 [ref=2x]
10089    CommonInfo::new(
10090        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10091        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10092        151,
10093        3,
10094        InstControlFlow::Regular,
10095        InstSameRegHint::None,
10096    ), // #374 [ref=6x]
10097    CommonInfo::new(
10098        InstFlags::EVEX.bits()
10099            | InstFlags::EVEX_COMPAT.bits()
10100            | InstFlags::PREFER_EVEX.bits()
10101            | InstFlags::VEC.bits()
10102            | InstFlags::VEX.bits(),
10103        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10104        295,
10105        3,
10106        InstControlFlow::Regular,
10107        InstSameRegHint::None,
10108    ), // #375 [ref=4x]
10109    CommonInfo::new(
10110        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10111        0,
10112        299,
10113        1,
10114        InstControlFlow::Regular,
10115        InstSameRegHint::None,
10116    ), // #376 [ref=2x]
10117    CommonInfo::new(
10118        InstFlags::EVEX.bits()
10119            | InstFlags::EVEX_COMPAT.bits()
10120            | InstFlags::VEC.bits()
10121            | InstFlags::VEX.bits(),
10122        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10123        296,
10124        2,
10125        InstControlFlow::Regular,
10126        InstSameRegHint::None,
10127    ), // #377 [ref=2x]
10128    CommonInfo::new(
10129        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10130        0,
10131        260,
10132        4,
10133        InstControlFlow::Regular,
10134        InstSameRegHint::None,
10135    ), // #378 [ref=2x]
10136    CommonInfo::new(
10137        InstFlags::EVEX.bits()
10138            | InstFlags::EVEX_COMPAT.bits()
10139            | InstFlags::VEC.bits()
10140            | InstFlags::VEX.bits(),
10141        Avx512Flags::B64.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10142        123,
10143        8,
10144        InstControlFlow::Regular,
10145        InstSameRegHint::None,
10146    ), // #379 [ref=1x]
10147    CommonInfo::new(
10148        InstFlags::EVEX.bits()
10149            | InstFlags::EVEX_COMPAT.bits()
10150            | InstFlags::VEC.bits()
10151            | InstFlags::VEX.bits(),
10152        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10153        123,
10154        8,
10155        InstControlFlow::Regular,
10156        InstSameRegHint::None,
10157    ), // #380 [ref=1x]
10158    CommonInfo::new(
10159        InstFlags::EVEX.bits()
10160            | InstFlags::EVEX_COMPAT.bits()
10161            | InstFlags::VEC.bits()
10162            | InstFlags::VEX.bits(),
10163        Avx512Flags::B64.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10164        264,
10165        4,
10166        InstControlFlow::Regular,
10167        InstSameRegHint::None,
10168    ), // #381 [ref=2x]
10169    CommonInfo::new(
10170        InstFlags::EVEX.bits()
10171            | InstFlags::EVEX_COMPAT.bits()
10172            | InstFlags::VEC.bits()
10173            | InstFlags::VEX.bits(),
10174        0,
10175        548,
10176        1,
10177        InstControlFlow::Regular,
10178        InstSameRegHint::None,
10179    ), // #382 [ref=1x]
10180    CommonInfo::new(
10181        InstFlags::EVEX.bits()
10182            | InstFlags::EVEX_COMPAT.bits()
10183            | InstFlags::VEC.bits()
10184            | InstFlags::VEX.bits(),
10185        0,
10186        549,
10187        1,
10188        InstControlFlow::Regular,
10189        InstSameRegHint::None,
10190    ), // #383 [ref=1x]
10191    CommonInfo::new(
10192        InstFlags::EVEX.bits()
10193            | InstFlags::EVEX_COMPAT.bits()
10194            | InstFlags::VEC.bits()
10195            | InstFlags::VEX.bits(),
10196        0,
10197        591,
10198        1,
10199        InstControlFlow::Regular,
10200        InstSameRegHint::None,
10201    ), // #384 [ref=1x]
10202    CommonInfo::new(
10203        InstFlags::EVEX.bits()
10204            | InstFlags::EVEX_COMPAT.bits()
10205            | InstFlags::VEC.bits()
10206            | InstFlags::VEX.bits(),
10207        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10208        592,
10209        1,
10210        InstControlFlow::Regular,
10211        InstSameRegHint::None,
10212    ), // #385 [ref=1x]
10213    CommonInfo::new(
10214        InstFlags::EVEX.bits()
10215            | InstFlags::EVEX_COMPAT.bits()
10216            | InstFlags::VEC.bits()
10217            | InstFlags::VEX.bits(),
10218        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10219        593,
10220        1,
10221        InstControlFlow::Regular,
10222        InstSameRegHint::None,
10223    ), // #386 [ref=1x]
10224    CommonInfo::new(
10225        InstFlags::EVEX.bits()
10226            | InstFlags::EVEX_COMPAT.bits()
10227            | InstFlags::VEC.bits()
10228            | InstFlags::VEX.bits(),
10229        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10230        594,
10231        1,
10232        InstControlFlow::Regular,
10233        InstSameRegHint::None,
10234    ), // #387 [ref=1x]
10235    CommonInfo::new(
10236        InstFlags::EVEX.bits()
10237            | InstFlags::EVEX_COMPAT.bits()
10238            | InstFlags::VEC.bits()
10239            | InstFlags::VEX.bits(),
10240        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10241        595,
10242        1,
10243        InstControlFlow::Regular,
10244        InstSameRegHint::None,
10245    ), // #388 [ref=1x]
10246    CommonInfo::new(
10247        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10248        0,
10249        451,
10250        1,
10251        InstControlFlow::Regular,
10252        InstSameRegHint::None,
10253    ), // #389 [ref=12x]
10254    CommonInfo::new(
10255        InstFlags::EVEX.bits()
10256            | InstFlags::EVEX_COMPAT.bits()
10257            | InstFlags::PREFER_EVEX.bits()
10258            | InstFlags::VEC.bits()
10259            | InstFlags::VEX.bits(),
10260        Avx512Flags::B64.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10261        295,
10262        3,
10263        InstControlFlow::Regular,
10264        InstSameRegHint::None,
10265    ), // #390 [ref=2x]
10266    CommonInfo::new(
10267        InstFlags::EVEX.bits()
10268            | InstFlags::EVEX_COMPAT.bits()
10269            | InstFlags::VEC.bits()
10270            | InstFlags::VEX.bits(),
10271        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10272        295,
10273        3,
10274        InstControlFlow::Regular,
10275        InstSameRegHint::RO,
10276    ), // #391 [ref=8x]
10277    CommonInfo::new(
10278        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10279        0,
10280        596,
10281        1,
10282        InstControlFlow::Regular,
10283        InstSameRegHint::None,
10284    ), // #392 [ref=4x]
10285    CommonInfo::new(
10286        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10287        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10288        334,
10289        3,
10290        InstControlFlow::Regular,
10291        InstSameRegHint::None,
10292    ), // #393 [ref=6x]
10293    CommonInfo::new(
10294        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10295        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10296        337,
10297        3,
10298        InstControlFlow::Regular,
10299        InstSameRegHint::None,
10300    ), // #394 [ref=9x]
10301    CommonInfo::new(
10302        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10303        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10304        340,
10305        3,
10306        InstControlFlow::Regular,
10307        InstSameRegHint::None,
10308    ), // #395 [ref=3x]
10309    CommonInfo::new(
10310        InstFlags::EVEX.bits()
10311            | InstFlags::EVEX_COMPAT.bits()
10312            | InstFlags::VEC.bits()
10313            | InstFlags::VEX.bits(),
10314        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10315        313,
10316        3,
10317        InstControlFlow::Regular,
10318        InstSameRegHint::None,
10319    ), // #396 [ref=4x]
10320    CommonInfo::new(
10321        InstFlags::EVEX.bits()
10322            | InstFlags::EVEX_COMPAT.bits()
10323            | InstFlags::VEC.bits()
10324            | InstFlags::VEX.bits(),
10325        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10326        343,
10327        3,
10328        InstControlFlow::Regular,
10329        InstSameRegHint::None,
10330    ), // #397 [ref=2x]
10331    CommonInfo::new(
10332        InstFlags::EVEX.bits()
10333            | InstFlags::EVEX_COMPAT.bits()
10334            | InstFlags::VEC.bits()
10335            | InstFlags::VEX.bits(),
10336        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10337        310,
10338        3,
10339        InstControlFlow::Regular,
10340        InstSameRegHint::None,
10341    ), // #398 [ref=6x]
10342    CommonInfo::new(
10343        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10344        0,
10345        256,
10346        2,
10347        InstControlFlow::Regular,
10348        InstSameRegHint::None,
10349    ), // #399 [ref=1x]
10350    CommonInfo::new(
10351        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10352        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10353        322,
10354        3,
10355        InstControlFlow::Regular,
10356        InstSameRegHint::None,
10357    ), // #400 [ref=3x]
10358    CommonInfo::new(
10359        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10360        Avx512Flags::B64.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10361        322,
10362        3,
10363        InstControlFlow::Regular,
10364        InstSameRegHint::None,
10365    ), // #401 [ref=3x]
10366    CommonInfo::new(
10367        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10368        0,
10369        479,
10370        2,
10371        InstControlFlow::Regular,
10372        InstSameRegHint::None,
10373    ), // #402 [ref=4x]
10374    CommonInfo::new(
10375        InstFlags::EVEX.bits() | InstFlags::VEC.bits() | InstFlags::VSIB.bits(),
10376        Avx512Flags::K.bits(),
10377        346,
10378        3,
10379        InstControlFlow::Regular,
10380        InstSameRegHint::None,
10381    ), // #403 [ref=2x]
10382    CommonInfo::new(
10383        InstFlags::EVEX.bits() | InstFlags::VEC.bits() | InstFlags::VSIB.bits(),
10384        Avx512Flags::K.bits(),
10385        481,
10386        2,
10387        InstControlFlow::Regular,
10388        InstSameRegHint::None,
10389    ), // #404 [ref=2x]
10390    CommonInfo::new(
10391        InstFlags::EVEX.bits() | InstFlags::VEC.bits() | InstFlags::VSIB.bits(),
10392        Avx512Flags::K.bits(),
10393        483,
10394        2,
10395        InstControlFlow::Regular,
10396        InstSameRegHint::None,
10397    ), // #405 [ref=2x]
10398    CommonInfo::new(
10399        InstFlags::EVEX.bits() | InstFlags::VEC.bits() | InstFlags::VSIB.bits(),
10400        Avx512Flags::K.bits(),
10401        349,
10402        3,
10403        InstControlFlow::Regular,
10404        InstSameRegHint::None,
10405    ), // #406 [ref=2x]
10406    CommonInfo::new(
10407        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10408        0,
10409        485,
10410        2,
10411        InstControlFlow::Regular,
10412        InstSameRegHint::None,
10413    ), // #407 [ref=8x]
10414    CommonInfo::new(
10415        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10416        Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits(),
10417        352,
10418        3,
10419        InstControlFlow::Regular,
10420        InstSameRegHint::None,
10421    ), // #408 [ref=5x]
10422    CommonInfo::new(
10423        InstFlags::EVEX.bits()
10424            | InstFlags::EVEX_COMPAT.bits()
10425            | InstFlags::VEC.bits()
10426            | InstFlags::VEX.bits(),
10427        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10428        322,
10429        3,
10430        InstControlFlow::Regular,
10431        InstSameRegHint::None,
10432    ), // #409 [ref=1x]
10433    CommonInfo::new(
10434        InstFlags::EVEX.bits()
10435            | InstFlags::EVEX_COMPAT.bits()
10436            | InstFlags::VEC.bits()
10437            | InstFlags::VEX.bits(),
10438        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10439        322,
10440        3,
10441        InstControlFlow::Regular,
10442        InstSameRegHint::None,
10443    ), // #410 [ref=2x]
10444    CommonInfo::new(
10445        InstFlags::EVEX.bits()
10446            | InstFlags::EVEX_COMPAT.bits()
10447            | InstFlags::VEC.bits()
10448            | InstFlags::VEX.bits(),
10449        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10450        157,
10451        6,
10452        InstControlFlow::Regular,
10453        InstSameRegHint::None,
10454    ), // #411 [ref=3x]
10455    CommonInfo::new(
10456        InstFlags::EVEX.bits()
10457            | InstFlags::EVEX_COMPAT.bits()
10458            | InstFlags::VEC.bits()
10459            | InstFlags::VEX.bits(),
10460        0,
10461        322,
10462        3,
10463        InstControlFlow::Regular,
10464        InstSameRegHint::None,
10465    ), // #412 [ref=2x]
10466    CommonInfo::new(
10467        InstFlags::EVEX.bits()
10468            | InstFlags::EVEX_COMPAT.bits()
10469            | InstFlags::VEC.bits()
10470            | InstFlags::VEX.bits(),
10471        Avx512Flags::B64.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10472        157,
10473        6,
10474        InstControlFlow::Regular,
10475        InstSameRegHint::None,
10476    ), // #413 [ref=2x]
10477    CommonInfo::new(
10478        InstFlags::EVEX.bits()
10479            | InstFlags::EVEX_COMPAT.bits()
10480            | InstFlags::VEC.bits()
10481            | InstFlags::VEX.bits(),
10482        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10483        157,
10484        6,
10485        InstControlFlow::Regular,
10486        InstSameRegHint::None,
10487    ), // #414 [ref=3x]
10488    CommonInfo::new(
10489        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10490        Avx512Flags::B64.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10491        157,
10492        6,
10493        InstControlFlow::Regular,
10494        InstSameRegHint::None,
10495    ), // #415 [ref=1x]
10496    CommonInfo::new(
10497        InstFlags::EVEX.bits()
10498            | InstFlags::EVEX_COMPAT.bits()
10499            | InstFlags::VEC.bits()
10500            | InstFlags::VEX.bits(),
10501        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10502        295,
10503        3,
10504        InstControlFlow::Regular,
10505        InstSameRegHint::WO,
10506    ), // #416 [ref=6x]
10507    CommonInfo::new(
10508        InstFlags::EVEX.bits()
10509            | InstFlags::EVEX_COMPAT.bits()
10510            | InstFlags::VEC.bits()
10511            | InstFlags::VEX.bits(),
10512        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10513        295,
10514        3,
10515        InstControlFlow::Regular,
10516        InstSameRegHint::WO,
10517    ), // #417 [ref=2x]
10518    CommonInfo::new(
10519        InstFlags::EVEX.bits()
10520            | InstFlags::EVEX_COMPAT.bits()
10521            | InstFlags::VEC.bits()
10522            | InstFlags::VEX.bits(),
10523        Avx512Flags::B64.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10524        295,
10525        3,
10526        InstControlFlow::Regular,
10527        InstSameRegHint::WO,
10528    ), // #418 [ref=2x]
10529    CommonInfo::new(
10530        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10531        Avx512Flags::B32.bits() | Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits(),
10532        352,
10533        3,
10534        InstControlFlow::Regular,
10535        InstSameRegHint::None,
10536    ), // #419 [ref=2x]
10537    CommonInfo::new(
10538        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10539        Avx512Flags::B64.bits() | Avx512Flags::IMPLICIT_Z.bits() | Avx512Flags::K.bits(),
10540        352,
10541        3,
10542        InstControlFlow::Regular,
10543        InstSameRegHint::None,
10544    ), // #420 [ref=2x]
10545    CommonInfo::new(
10546        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10547        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10548        564,
10549        1,
10550        InstControlFlow::Regular,
10551        InstSameRegHint::None,
10552    ), // #421 [ref=2x]
10553    CommonInfo::new(
10554        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10555        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10556        566,
10557        1,
10558        InstControlFlow::Regular,
10559        InstSameRegHint::None,
10560    ), // #422 [ref=2x]
10561    CommonInfo::new(
10562        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10563        Avx512Flags::B16.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10564        151,
10565        3,
10566        InstControlFlow::Regular,
10567        InstSameRegHint::None,
10568    ), // #423 [ref=2x]
10569    CommonInfo::new(
10570        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10571        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10572        565,
10573        1,
10574        InstControlFlow::Regular,
10575        InstSameRegHint::None,
10576    ), // #424 [ref=2x]
10577    CommonInfo::new(
10578        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10579        0,
10580        566,
10581        1,
10582        InstControlFlow::Regular,
10583        InstSameRegHint::None,
10584    ), // #425 [ref=2x]
10585    CommonInfo::new(
10586        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10587        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10588        578,
10589        1,
10590        InstControlFlow::Regular,
10591        InstSameRegHint::None,
10592    ), // #426 [ref=1x]
10593    CommonInfo::new(
10594        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10595        Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10596        579,
10597        1,
10598        InstControlFlow::Regular,
10599        InstSameRegHint::None,
10600    ), // #427 [ref=1x]
10601    CommonInfo::new(
10602        InstFlags::EVEX_TRANSFORMABLE.bits() | InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10603        0,
10604        322,
10605        2,
10606        InstControlFlow::Regular,
10607        InstSameRegHint::None,
10608    ), // #428 [ref=2x]
10609    CommonInfo::new(
10610        InstFlags::EVEX_TRANSFORMABLE.bits() | InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10611        0,
10612        578,
10613        1,
10614        InstControlFlow::Regular,
10615        InstSameRegHint::None,
10616    ), // #429 [ref=1x]
10617    CommonInfo::new(
10618        InstFlags::EVEX_TRANSFORMABLE.bits() | InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10619        0,
10620        579,
10621        1,
10622        InstControlFlow::Regular,
10623        InstSameRegHint::None,
10624    ), // #430 [ref=1x]
10625    CommonInfo::new(
10626        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10627        Avx512Flags::B64.bits()
10628            | Avx512Flags::ER.bits()
10629            | Avx512Flags::K.bits()
10630            | Avx512Flags::SAE.bits()
10631            | Avx512Flags::Z.bits(),
10632        295,
10633        3,
10634        InstControlFlow::Regular,
10635        InstSameRegHint::None,
10636    ), // #431 [ref=1x]
10637    CommonInfo::new(
10638        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10639        0,
10640        597,
10641        1,
10642        InstControlFlow::Regular,
10643        InstSameRegHint::None,
10644    ), // #432 [ref=1x]
10645    CommonInfo::new(
10646        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10647        0,
10648        598,
10649        1,
10650        InstControlFlow::Regular,
10651        InstSameRegHint::None,
10652    ), // #433 [ref=1x]
10653    CommonInfo::new(
10654        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10655        0,
10656        599,
10657        1,
10658        InstControlFlow::Regular,
10659        InstSameRegHint::None,
10660    ), // #434 [ref=1x]
10661    CommonInfo::new(
10662        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10663        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10664        299,
10665        2,
10666        InstControlFlow::Regular,
10667        InstSameRegHint::None,
10668    ), // #435 [ref=2x]
10669    CommonInfo::new(
10670        InstFlags::EVEX.bits() | InstFlags::VEC.bits(),
10671        Avx512Flags::B64.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10672        299,
10673        2,
10674        InstControlFlow::Regular,
10675        InstSameRegHint::None,
10676    ), // #436 [ref=2x]
10677    CommonInfo::new(
10678        InstFlags::EVEX.bits()
10679            | InstFlags::EVEX_COMPAT.bits()
10680            | InstFlags::VEC.bits()
10681            | InstFlags::VEX.bits(),
10682        Avx512Flags::B64.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10683        298,
10684        3,
10685        InstControlFlow::Regular,
10686        InstSameRegHint::None,
10687    ), // #437 [ref=1x]
10688    CommonInfo::new(
10689        InstFlags::EVEX.bits()
10690            | InstFlags::EVEX_COMPAT.bits()
10691            | InstFlags::VEC.bits()
10692            | InstFlags::VEX.bits(),
10693        Avx512Flags::B32.bits() | Avx512Flags::K.bits() | Avx512Flags::Z.bits(),
10694        298,
10695        3,
10696        InstControlFlow::Regular,
10697        InstSameRegHint::None,
10698    ), // #438 [ref=1x]
10699    CommonInfo::new(
10700        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10701        0,
10702        295,
10703        1,
10704        InstControlFlow::Regular,
10705        InstSameRegHint::None,
10706    ), // #439 [ref=2x]
10707    CommonInfo::new(
10708        InstFlags::EVEX.bits()
10709            | InstFlags::EVEX_COMPAT.bits()
10710            | InstFlags::VEC.bits()
10711            | InstFlags::VEX.bits(),
10712        Avx512Flags::B64.bits()
10713            | Avx512Flags::ER.bits()
10714            | Avx512Flags::K.bits()
10715            | Avx512Flags::SAE.bits()
10716            | Avx512Flags::Z.bits(),
10717        151,
10718        3,
10719        InstControlFlow::Regular,
10720        InstSameRegHint::None,
10721    ), // #440 [ref=1x]
10722    CommonInfo::new(
10723        InstFlags::VEC.bits() | InstFlags::VEX.bits(),
10724        0,
10725        145,
10726        1,
10727        InstControlFlow::Regular,
10728        InstSameRegHint::None,
10729    ), // #441 [ref=2x]
10730    CommonInfo::new(
10731        0,
10732        0,
10733        143,
10734        1,
10735        InstControlFlow::Regular,
10736        InstSameRegHint::None,
10737    ), // #442 [ref=2x]
10738    CommonInfo::new(0, 0, 42, 1, InstControlFlow::Regular, InstSameRegHint::None), // #443 [ref=2x]
10739    CommonInfo::new(
10740        InstFlags::LOCK.bits() | InstFlags::X_ACQUIRE.bits() | InstFlags::X_RELEASE.bits(),
10741        0,
10742        20,
10743        4,
10744        InstControlFlow::Regular,
10745        InstSameRegHint::None,
10746    ), // #444 [ref=1x]
10747    CommonInfo::new(
10748        0,
10749        0,
10750        269,
10751        1,
10752        InstControlFlow::Regular,
10753        InstSameRegHint::None,
10754    ), // #445 [ref=1x]
10755    CommonInfo::new(
10756        InstFlags::X_ACQUIRE.bits(),
10757        0,
10758        131,
10759        8,
10760        InstControlFlow::Regular,
10761        InstSameRegHint::RO,
10762    ), // #446 [ref=1x]
10763    CommonInfo::new(
10764        0,
10765        0,
10766        600,
10767        1,
10768        InstControlFlow::Regular,
10769        InstSameRegHint::None,
10770    ), // #447 [ref=6x]
10771    CommonInfo::new(
10772        0,
10773        0,
10774        601,
10775        1,
10776        InstControlFlow::Regular,
10777        InstSameRegHint::None,
10778    ), // #448 [ref=6x]
10779];
10780
10781/// CPU feature requirements and RW flag indexes, indexed by [`InstInfo::additional_info_index`].
10782pub static ADDITIONAL_INFO_TABLE: &[AdditionalInfo] = &[
10783    AdditionalInfo::new(0, 0, [0, 0, 0, 0, 0, 0]), // #0 [ref=68x]
10784    AdditionalInfo::new(0, 1, [0, 0, 0, 0, 0, 0]), // #1 [ref=31x]
10785    AdditionalInfo::new(0, 0, [CpuFeature::RAO_INT as u8, 0, 0, 0, 0, 0]), // #2 [ref=4x]
10786    AdditionalInfo::new(0, 2, [0, 0, 0, 0, 0, 0]), // #3 [ref=2x]
10787    AdditionalInfo::new(0, 3, [CpuFeature::ADX as u8, 0, 0, 0, 0, 0]), // #4 [ref=1x]
10788    AdditionalInfo::new(0, 0, [CpuFeature::SSE2 as u8, 0, 0, 0, 0, 0]), // #5 [ref=60x]
10789    AdditionalInfo::new(0, 0, [CpuFeature::SSE as u8, 0, 0, 0, 0, 0]), // #6 [ref=46x]
10790    AdditionalInfo::new(0, 0, [CpuFeature::SSE3 as u8, 0, 0, 0, 0, 0]), // #7 [ref=10x]
10791    AdditionalInfo::new(0, 4, [CpuFeature::ADX as u8, 0, 0, 0, 0, 0]), // #8 [ref=1x]
10792    AdditionalInfo::new(0, 0, [CpuFeature::AESNI as u8, 0, 0, 0, 0, 0]), // #9 [ref=6x]
10793    AdditionalInfo::new(0, 1, [CpuFeature::BMI as u8, 0, 0, 0, 0, 0]), // #10 [ref=6x]
10794    AdditionalInfo::new(0, 5, [0, 0, 0, 0, 0, 0]), // #11 [ref=5x]
10795    AdditionalInfo::new(0, 0, [CpuFeature::TBM as u8, 0, 0, 0, 0, 0]), // #12 [ref=9x]
10796    AdditionalInfo::new(0, 0, [CpuFeature::SSE4_1 as u8, 0, 0, 0, 0, 0]), // #13 [ref=47x]
10797    AdditionalInfo::new(0, 0, [CpuFeature::MPX as u8, 0, 0, 0, 0, 0]), // #14 [ref=7x]
10798    AdditionalInfo::new(0, 6, [0, 0, 0, 0, 0, 0]), // #15 [ref=4x]
10799    AdditionalInfo::new(0, 1, [CpuFeature::BMI2 as u8, 0, 0, 0, 0, 0]), // #16 [ref=1x]
10800    AdditionalInfo::new(0, 7, [CpuFeature::SMAP as u8, 0, 0, 0, 0, 0]), // #17 [ref=2x]
10801    AdditionalInfo::new(0, 8, [0, 0, 0, 0, 0, 0]), // #18 [ref=2x]
10802    AdditionalInfo::new(0, 9, [0, 0, 0, 0, 0, 0]), // #19 [ref=2x]
10803    AdditionalInfo::new(0, 0, [CpuFeature::CLDEMOTE as u8, 0, 0, 0, 0, 0]), // #20 [ref=1x]
10804    AdditionalInfo::new(0, 0, [CpuFeature::CLFLUSH as u8, 0, 0, 0, 0, 0]), // #21 [ref=1x]
10805    AdditionalInfo::new(0, 0, [CpuFeature::CLFLUSHOPT as u8, 0, 0, 0, 0, 0]), // #22 [ref=1x]
10806    AdditionalInfo::new(0, 0, [CpuFeature::SVM as u8, 0, 0, 0, 0, 0]), // #23 [ref=6x]
10807    AdditionalInfo::new(0, 10, [0, 0, 0, 0, 0, 0]), // #24 [ref=2x]
10808    AdditionalInfo::new(0, 1, [CpuFeature::CET_SS as u8, 0, 0, 0, 0, 0]), // #25 [ref=3x]
10809    AdditionalInfo::new(0, 0, [CpuFeature::UINTR as u8, 0, 0, 0, 0, 0]), // #26 [ref=4x]
10810    AdditionalInfo::new(0, 0, [CpuFeature::CLWB as u8, 0, 0, 0, 0, 0]), // #27 [ref=1x]
10811    AdditionalInfo::new(0, 0, [CpuFeature::CLZERO as u8, 0, 0, 0, 0, 0]), // #28 [ref=1x]
10812    AdditionalInfo::new(0, 3, [0, 0, 0, 0, 0, 0]), // #29 [ref=1x]
10813    AdditionalInfo::new(0, 11, [CpuFeature::CMOV as u8, 0, 0, 0, 0, 0]), // #30 [ref=2x]
10814    AdditionalInfo::new(0, 12, [CpuFeature::CMOV as u8, 0, 0, 0, 0, 0]), // #31 [ref=2x]
10815    AdditionalInfo::new(0, 13, [CpuFeature::CMOV as u8, 0, 0, 0, 0, 0]), // #32 [ref=2x]
10816    AdditionalInfo::new(0, 14, [CpuFeature::CMOV as u8, 0, 0, 0, 0, 0]), // #33 [ref=2x]
10817    AdditionalInfo::new(0, 15, [CpuFeature::CMOV as u8, 0, 0, 0, 0, 0]), // #34 [ref=2x]
10818    AdditionalInfo::new(0, 16, [CpuFeature::CMOV as u8, 0, 0, 0, 0, 0]), // #35 [ref=2x]
10819    AdditionalInfo::new(0, 17, [CpuFeature::CMOV as u8, 0, 0, 0, 0, 0]), // #36 [ref=2x]
10820    AdditionalInfo::new(0, 18, [CpuFeature::CMOV as u8, 0, 0, 0, 0, 0]), // #37 [ref=2x]
10821    AdditionalInfo::new(0, 1, [CpuFeature::CMPCCXADD as u8, 0, 0, 0, 0, 0]), // #38 [ref=16x]
10822    AdditionalInfo::new(0, 19, [0, 0, 0, 0, 0, 0]), // #39 [ref=2x]
10823    AdditionalInfo::new(0, 1, [CpuFeature::I486 as u8, 0, 0, 0, 0, 0]), // #40 [ref=2x]
10824    AdditionalInfo::new(0, 5, [CpuFeature::CMPXCHG16B as u8, 0, 0, 0, 0, 0]), // #41 [ref=1x]
10825    AdditionalInfo::new(0, 5, [CpuFeature::CMPXCHG8B as u8, 0, 0, 0, 0, 0]), // #42 [ref=1x]
10826    AdditionalInfo::new(0, 1, [CpuFeature::SSE2 as u8, 0, 0, 0, 0, 0]), // #43 [ref=2x]
10827    AdditionalInfo::new(0, 1, [CpuFeature::SSE as u8, 0, 0, 0, 0, 0]), // #44 [ref=2x]
10828    AdditionalInfo::new(0, 0, [CpuFeature::I486 as u8, 0, 0, 0, 0, 0]), // #45 [ref=5x]
10829    AdditionalInfo::new(0, 0, [CpuFeature::SSE4_2 as u8, 0, 0, 0, 0, 0]), // #46 [ref=2x]
10830    AdditionalInfo::new(0, 20, [0, 0, 0, 0, 0, 0]), // #47 [ref=2x]
10831    AdditionalInfo::new(0, 0, [CpuFeature::MMX as u8, 0, 0, 0, 0, 0]), // #48 [ref=1x]
10832    AdditionalInfo::new(0, 0, [CpuFeature::CET_IBT as u8, 0, 0, 0, 0, 0]), // #49 [ref=2x]
10833    AdditionalInfo::new(0, 1, [CpuFeature::ENQCMD as u8, 0, 0, 0, 0, 0]), // #50 [ref=2x]
10834    AdditionalInfo::new(0, 0, [CpuFeature::SSE4A as u8, 0, 0, 0, 0, 0]), // #51 [ref=4x]
10835    AdditionalInfo::new(0, 21, [CpuFeature::FPU as u8, 0, 0, 0, 0, 0]), // #52 [ref=80x]
10836    AdditionalInfo::new(
10837        0,
10838        22,
10839        [CpuFeature::CMOV as u8, CpuFeature::FPU as u8, 0, 0, 0, 0],
10840    ), // #53 [ref=2x]
10841    AdditionalInfo::new(
10842        0,
10843        23,
10844        [CpuFeature::CMOV as u8, CpuFeature::FPU as u8, 0, 0, 0, 0],
10845    ), // #54 [ref=2x]
10846    AdditionalInfo::new(
10847        0,
10848        24,
10849        [CpuFeature::CMOV as u8, CpuFeature::FPU as u8, 0, 0, 0, 0],
10850    ), // #55 [ref=2x]
10851    AdditionalInfo::new(
10852        0,
10853        25,
10854        [CpuFeature::CMOV as u8, CpuFeature::FPU as u8, 0, 0, 0, 0],
10855    ), // #56 [ref=2x]
10856    AdditionalInfo::new(0, 26, [CpuFeature::FPU as u8, 0, 0, 0, 0, 0]), // #57 [ref=4x]
10857    AdditionalInfo::new(0, 0, [CpuFeature::_3DNOW as u8, 0, 0, 0, 0, 0]), // #58 [ref=21x]
10858    AdditionalInfo::new(
10859        0,
10860        21,
10861        [CpuFeature::SSE3 as u8, CpuFeature::FPU as u8, 0, 0, 0, 0],
10862    ), // #59 [ref=1x]
10863    AdditionalInfo::new(0, 21, [CpuFeature::FXSR as u8, 0, 0, 0, 0, 0]), // #60 [ref=2x]
10864    AdditionalInfo::new(0, 27, [CpuFeature::FXSR as u8, 0, 0, 0, 0, 0]), // #61 [ref=2x]
10865    AdditionalInfo::new(0, 0, [CpuFeature::SMX as u8, 0, 0, 0, 0, 0]), // #62 [ref=1x]
10866    AdditionalInfo::new(0, 0, [CpuFeature::GFNI as u8, 0, 0, 0, 0, 0]), // #63 [ref=3x]
10867    AdditionalInfo::new(0, 0, [CpuFeature::HRESET as u8, 0, 0, 0, 0, 0]), // #64 [ref=1x]
10868    AdditionalInfo::new(0, 0, [CpuFeature::CET_SS as u8, 0, 0, 0, 0, 0]), // #65 [ref=9x]
10869    AdditionalInfo::new(0, 15, [0, 0, 0, 0, 0, 0]), // #66 [ref=5x]
10870    AdditionalInfo::new(0, 0, [CpuFeature::VMX as u8, 0, 0, 0, 0, 0]), // #67 [ref=13x]
10871    AdditionalInfo::new(0, 0, [CpuFeature::INVLPGB as u8, 0, 0, 0, 0, 0]), // #68 [ref=2x]
10872    AdditionalInfo::new(0, 11, [0, 0, 0, 0, 0, 0]), // #69 [ref=4x]
10873    AdditionalInfo::new(0, 12, [0, 0, 0, 0, 0, 0]), // #70 [ref=4x]
10874    AdditionalInfo::new(0, 13, [0, 0, 0, 0, 0, 0]), // #71 [ref=4x]
10875    AdditionalInfo::new(0, 14, [0, 0, 0, 0, 0, 0]), // #72 [ref=4x]
10876    AdditionalInfo::new(0, 16, [0, 0, 0, 0, 0, 0]), // #73 [ref=4x]
10877    AdditionalInfo::new(0, 17, [0, 0, 0, 0, 0, 0]), // #74 [ref=4x]
10878    AdditionalInfo::new(0, 18, [0, 0, 0, 0, 0, 0]), // #75 [ref=6x]
10879    AdditionalInfo::new(0, 0, [CpuFeature::AVX512_DQ as u8, 0, 0, 0, 0, 0]), // #76 [ref=10x]
10880    AdditionalInfo::new(0, 0, [CpuFeature::AVX512_BW as u8, 0, 0, 0, 0, 0]), // #77 [ref=20x]
10881    AdditionalInfo::new(0, 0, [CpuFeature::AVX512_F as u8, 0, 0, 0, 0, 0]), // #78 [ref=9x]
10882    AdditionalInfo::new(1, 0, [CpuFeature::AVX512_DQ as u8, 0, 0, 0, 0, 0]), // #79 [ref=1x]
10883    AdditionalInfo::new(1, 0, [CpuFeature::AVX512_BW as u8, 0, 0, 0, 0, 0]), // #80 [ref=2x]
10884    AdditionalInfo::new(1, 0, [CpuFeature::AVX512_F as u8, 0, 0, 0, 0, 0]), // #81 [ref=1x]
10885    AdditionalInfo::new(0, 1, [CpuFeature::AVX512_DQ as u8, 0, 0, 0, 0, 0]), // #82 [ref=3x]
10886    AdditionalInfo::new(0, 1, [CpuFeature::AVX512_BW as u8, 0, 0, 0, 0, 0]), // #83 [ref=4x]
10887    AdditionalInfo::new(0, 1, [CpuFeature::AVX512_F as u8, 0, 0, 0, 0, 0]), // #84 [ref=1x]
10888    AdditionalInfo::new(0, 28, [CpuFeature::LAHFSAHF as u8, 0, 0, 0, 0, 0]), // #85 [ref=1x]
10889    AdditionalInfo::new(0, 0, [CpuFeature::AMX_TILE as u8, 0, 0, 0, 0, 0]), // #86 [ref=7x]
10890    AdditionalInfo::new(0, 0, [CpuFeature::LWP as u8, 0, 0, 0, 0, 0]), // #87 [ref=4x]
10891    AdditionalInfo::new(0, 29, [0, 0, 0, 0, 0, 0]), // #88 [ref=3x]
10892    AdditionalInfo::new(0, 1, [CpuFeature::LZCNT as u8, 0, 0, 0, 0, 0]), // #89 [ref=1x]
10893    AdditionalInfo::new(0, 0, [CpuFeature::MMX2 as u8, 0, 0, 0, 0, 0]), // #90 [ref=3x]
10894    AdditionalInfo::new(0, 1, [CpuFeature::MCOMMIT as u8, 0, 0, 0, 0, 0]), // #91 [ref=1x]
10895    AdditionalInfo::new(0, 0, [CpuFeature::MONITOR as u8, 0, 0, 0, 0, 0]), // #92 [ref=2x]
10896    AdditionalInfo::new(0, 0, [CpuFeature::MONITORX as u8, 0, 0, 0, 0, 0]), // #93 [ref=2x]
10897    AdditionalInfo::new(1, 0, [0, 0, 0, 0, 0, 0]), // #94 [ref=1x]
10898    AdditionalInfo::new(1, 0, [CpuFeature::SSE2 as u8, 0, 0, 0, 0, 0]), // #95 [ref=5x]
10899    AdditionalInfo::new(1, 0, [CpuFeature::SSE as u8, 0, 0, 0, 0, 0]), // #96 [ref=3x]
10900    AdditionalInfo::new(0, 0, [CpuFeature::MOVBE as u8, 0, 0, 0, 0, 0]), // #97 [ref=1x]
10901    AdditionalInfo::new(
10902        0,
10903        0,
10904        [CpuFeature::MMX as u8, CpuFeature::SSE2 as u8, 0, 0, 0, 0],
10905    ), // #98 [ref=45x]
10906    AdditionalInfo::new(0, 0, [CpuFeature::MOVDIR64B as u8, 0, 0, 0, 0, 0]), // #99 [ref=1x]
10907    AdditionalInfo::new(0, 0, [CpuFeature::MOVDIRI as u8, 0, 0, 0, 0, 0]), // #100 [ref=1x]
10908    AdditionalInfo::new(
10909        1,
10910        0,
10911        [CpuFeature::MMX as u8, CpuFeature::SSE2 as u8, 0, 0, 0, 0],
10912    ), // #101 [ref=1x]
10913    AdditionalInfo::new(0, 0, [CpuFeature::BMI2 as u8, 0, 0, 0, 0, 0]), // #102 [ref=7x]
10914    AdditionalInfo::new(0, 0, [CpuFeature::SSSE3 as u8, 0, 0, 0, 0, 0]), // #103 [ref=16x]
10915    AdditionalInfo::new(
10916        0,
10917        0,
10918        [CpuFeature::MMX2 as u8, CpuFeature::SSE2 as u8, 0, 0, 0, 0],
10919    ), // #104 [ref=10x]
10920    AdditionalInfo::new(0, 0, [CpuFeature::PCLMULQDQ as u8, 0, 0, 0, 0, 0]), // #105 [ref=1x]
10921    AdditionalInfo::new(0, 1, [CpuFeature::SSE4_2 as u8, 0, 0, 0, 0, 0]), // #106 [ref=4x]
10922    AdditionalInfo::new(0, 0, [CpuFeature::PCONFIG as u8, 0, 0, 0, 0, 0]), // #107 [ref=1x]
10923    AdditionalInfo::new(
10924        0,
10925        0,
10926        [
10927            CpuFeature::MMX2 as u8,
10928            CpuFeature::SSE2 as u8,
10929            CpuFeature::SSE4_1 as u8,
10930            0,
10931            0,
10932            0,
10933        ],
10934    ), // #108 [ref=1x]
10935    AdditionalInfo::new(0, 0, [CpuFeature::_3DNOW2 as u8, 0, 0, 0, 0, 0]), // #109 [ref=5x]
10936    AdditionalInfo::new(0, 0, [CpuFeature::GEODE as u8, 0, 0, 0, 0, 0]), // #110 [ref=2x]
10937    AdditionalInfo::new(0, 1, [CpuFeature::POPCNT as u8, 0, 0, 0, 0, 0]), // #111 [ref=1x]
10938    AdditionalInfo::new(0, 30, [0, 0, 0, 0, 0, 0]), // #112 [ref=3x]
10939    AdditionalInfo::new(0, 0, [CpuFeature::PREFETCHI as u8, 0, 0, 0, 0, 0]), // #113 [ref=2x]
10940    AdditionalInfo::new(0, 1, [CpuFeature::PREFETCHW as u8, 0, 0, 0, 0, 0]), // #114 [ref=1x]
10941    AdditionalInfo::new(0, 1, [CpuFeature::PREFETCHWT1 as u8, 0, 0, 0, 0, 0]), // #115 [ref=1x]
10942    AdditionalInfo::new(0, 20, [CpuFeature::SEV_SNP as u8, 0, 0, 0, 0, 0]), // #116 [ref=3x]
10943    AdditionalInfo::new(0, 1, [CpuFeature::SSE4_1 as u8, 0, 0, 0, 0, 0]), // #117 [ref=1x]
10944    AdditionalInfo::new(0, 0, [CpuFeature::PTWRITE as u8, 0, 0, 0, 0, 0]), // #118 [ref=1x]
10945    AdditionalInfo::new(0, 31, [0, 0, 0, 0, 0, 0]), // #119 [ref=3x]
10946    AdditionalInfo::new(0, 1, [CpuFeature::SEV_SNP as u8, 0, 0, 0, 0, 0]), // #120 [ref=1x]
10947    AdditionalInfo::new(0, 32, [0, 0, 0, 0, 0, 0]), // #121 [ref=2x]
10948    AdditionalInfo::new(0, 0, [CpuFeature::FSGSBASE as u8, 0, 0, 0, 0, 0]), // #122 [ref=4x]
10949    AdditionalInfo::new(
10950        0,
10951        0,
10952        [CpuFeature::MSR as u8, CpuFeature::MSR_IMM as u8, 0, 0, 0, 0],
10953    ), // #123 [ref=1x]
10954    AdditionalInfo::new(0, 0, [CpuFeature::RDPID as u8, 0, 0, 0, 0, 0]), // #124 [ref=1x]
10955    AdditionalInfo::new(0, 0, [CpuFeature::OSPKE as u8, 0, 0, 0, 0, 0]), // #125 [ref=1x]
10956    AdditionalInfo::new(0, 0, [CpuFeature::RDPRU as u8, 0, 0, 0, 0, 0]), // #126 [ref=1x]
10957    AdditionalInfo::new(0, 1, [CpuFeature::RDRAND as u8, 0, 0, 0, 0, 0]), // #127 [ref=1x]
10958    AdditionalInfo::new(0, 1, [CpuFeature::RDSEED as u8, 0, 0, 0, 0, 0]), // #128 [ref=1x]
10959    AdditionalInfo::new(0, 0, [CpuFeature::RDTSC as u8, 0, 0, 0, 0, 0]), // #129 [ref=1x]
10960    AdditionalInfo::new(0, 0, [CpuFeature::RDTSCP as u8, 0, 0, 0, 0, 0]), // #130 [ref=1x]
10961    AdditionalInfo::new(0, 33, [0, 0, 0, 0, 0, 0]), // #131 [ref=2x]
10962    AdditionalInfo::new(0, 34, [CpuFeature::LAHFSAHF as u8, 0, 0, 0, 0, 0]), // #132 [ref=1x]
10963    AdditionalInfo::new(0, 0, [CpuFeature::SEAM as u8, 0, 0, 0, 0, 0]), // #133 [ref=4x]
10964    AdditionalInfo::new(0, 0, [CpuFeature::SERIALIZE as u8, 0, 0, 0, 0, 0]), // #134 [ref=1x]
10965    AdditionalInfo::new(0, 0, [CpuFeature::SHA as u8, 0, 0, 0, 0, 0]), // #135 [ref=7x]
10966    AdditionalInfo::new(0, 0, [CpuFeature::SKINIT as u8, 0, 0, 0, 0, 0]), // #136 [ref=2x]
10967    AdditionalInfo::new(0, 0, [CpuFeature::AMX_COMPLEX as u8, 0, 0, 0, 0, 0]), // #137 [ref=2x]
10968    AdditionalInfo::new(0, 0, [CpuFeature::AMX_BF16 as u8, 0, 0, 0, 0, 0]), // #138 [ref=1x]
10969    AdditionalInfo::new(0, 0, [CpuFeature::AMX_INT8 as u8, 0, 0, 0, 0, 0]), // #139 [ref=4x]
10970    AdditionalInfo::new(0, 0, [CpuFeature::AMX_FP16 as u8, 0, 0, 0, 0, 0]), // #140 [ref=1x]
10971    AdditionalInfo::new(0, 1, [CpuFeature::UINTR as u8, 0, 0, 0, 0, 0]), // #141 [ref=1x]
10972    AdditionalInfo::new(0, 1, [CpuFeature::WAITPKG as u8, 0, 0, 0, 0, 0]), // #142 [ref=2x]
10973    AdditionalInfo::new(0, 0, [CpuFeature::WAITPKG as u8, 0, 0, 0, 0, 0]), // #143 [ref=1x]
10974    AdditionalInfo::new(
10975        0,
10976        0,
10977        [
10978            CpuFeature::AVX as u8,
10979            CpuFeature::AVX512_F as u8,
10980            CpuFeature::AVX512_VL as u8,
10981            0,
10982            0,
10983            0,
10984        ],
10985    ), // #144 [ref=71x]
10986    AdditionalInfo::new(
10987        0,
10988        0,
10989        [
10990            CpuFeature::AVX512_FP16 as u8,
10991            CpuFeature::AVX512_VL as u8,
10992            0,
10993            0,
10994            0,
10995            0,
10996        ],
10997    ), // #145 [ref=104x]
10998    AdditionalInfo::new(0, 0, [CpuFeature::AVX as u8, 0, 0, 0, 0, 0]), // #146 [ref=35x]
10999    AdditionalInfo::new(
11000        0,
11001        0,
11002        [
11003            CpuFeature::AESNI as u8,
11004            CpuFeature::VAES as u8,
11005            CpuFeature::AVX as u8,
11006            CpuFeature::AVX512_F as u8,
11007            CpuFeature::AVX512_VL as u8,
11008            0,
11009        ],
11010    ), // #147 [ref=4x]
11011    AdditionalInfo::new(
11012        0,
11013        0,
11014        [CpuFeature::AESNI as u8, CpuFeature::AVX as u8, 0, 0, 0, 0],
11015    ), // #148 [ref=2x]
11016    AdditionalInfo::new(
11017        0,
11018        0,
11019        [
11020            CpuFeature::AVX512_F as u8,
11021            CpuFeature::AVX512_VL as u8,
11022            0,
11023            0,
11024            0,
11025            0,
11026        ],
11027    ), // #149 [ref=135x]
11028    AdditionalInfo::new(
11029        0,
11030        0,
11031        [
11032            CpuFeature::AVX as u8,
11033            CpuFeature::AVX512_DQ as u8,
11034            CpuFeature::AVX512_VL as u8,
11035            0,
11036            0,
11037            0,
11038        ],
11039    ), // #150 [ref=12x]
11040    AdditionalInfo::new(0, 0, [CpuFeature::AVX_NE_CONVERT as u8, 0, 0, 0, 0, 0]), // #151 [ref=6x]
11041    AdditionalInfo::new(
11042        0,
11043        0,
11044        [
11045            CpuFeature::AVX512_DQ as u8,
11046            CpuFeature::AVX512_VL as u8,
11047            0,
11048            0,
11049            0,
11050            0,
11051        ],
11052    ), // #152 [ref=42x]
11053    AdditionalInfo::new(0, 0, [CpuFeature::AVX2 as u8, 0, 0, 0, 0, 0]), // #153 [ref=7x]
11054    AdditionalInfo::new(
11055        0,
11056        0,
11057        [
11058            CpuFeature::AVX as u8,
11059            CpuFeature::AVX2 as u8,
11060            CpuFeature::AVX512_F as u8,
11061            CpuFeature::AVX512_VL as u8,
11062            0,
11063            0,
11064        ],
11065    ), // #154 [ref=39x]
11066    AdditionalInfo::new(
11067        0,
11068        1,
11069        [
11070            CpuFeature::AVX as u8,
11071            CpuFeature::AVX512_F as u8,
11072            CpuFeature::AVX512_VL as u8,
11073            0,
11074            0,
11075            0,
11076        ],
11077    ), // #155 [ref=4x]
11078    AdditionalInfo::new(
11079        0,
11080        1,
11081        [
11082            CpuFeature::AVX512_FP16 as u8,
11083            CpuFeature::AVX512_VL as u8,
11084            0,
11085            0,
11086            0,
11087            0,
11088        ],
11089    ), // #156 [ref=2x]
11090    AdditionalInfo::new(
11091        0,
11092        0,
11093        [
11094            CpuFeature::AVX512_BF16 as u8,
11095            CpuFeature::AVX512_VL as u8,
11096            0,
11097            0,
11098            0,
11099            0,
11100        ],
11101    ), // #157 [ref=2x]
11102    AdditionalInfo::new(
11103        0,
11104        0,
11105        [
11106            CpuFeature::AVX_NE_CONVERT as u8,
11107            CpuFeature::AVX512_BF16 as u8,
11108            CpuFeature::AVX512_VL as u8,
11109            0,
11110            0,
11111            0,
11112        ],
11113    ), // #158 [ref=1x]
11114    AdditionalInfo::new(
11115        0,
11116        0,
11117        [
11118            CpuFeature::F16C as u8,
11119            CpuFeature::AVX512_F as u8,
11120            CpuFeature::AVX512_VL as u8,
11121            0,
11122            0,
11123            0,
11124        ],
11125    ), // #159 [ref=2x]
11126    AdditionalInfo::new(
11127        0,
11128        0,
11129        [
11130            CpuFeature::AVX512_BW as u8,
11131            CpuFeature::AVX512_VL as u8,
11132            0,
11133            0,
11134            0,
11135            0,
11136        ],
11137    ), // #160 [ref=24x]
11138    AdditionalInfo::new(
11139        0,
11140        0,
11141        [
11142            CpuFeature::FMA as u8,
11143            CpuFeature::AVX512_F as u8,
11144            CpuFeature::AVX512_VL as u8,
11145            0,
11146            0,
11147            0,
11148        ],
11149    ), // #161 [ref=60x]
11150    AdditionalInfo::new(0, 0, [CpuFeature::FMA4 as u8, 0, 0, 0, 0, 0]), // #162 [ref=20x]
11151    AdditionalInfo::new(0, 0, [CpuFeature::XOP as u8, 0, 0, 0, 0, 0]), // #163 [ref=55x]
11152    AdditionalInfo::new(
11153        0,
11154        0,
11155        [
11156            CpuFeature::AVX2 as u8,
11157            CpuFeature::AVX512_F as u8,
11158            CpuFeature::AVX512_VL as u8,
11159            0,
11160            0,
11161            0,
11162        ],
11163    ), // #164 [ref=19x]
11164    AdditionalInfo::new(
11165        0,
11166        0,
11167        [
11168            CpuFeature::GFNI as u8,
11169            CpuFeature::AVX as u8,
11170            CpuFeature::AVX512_F as u8,
11171            CpuFeature::AVX512_VL as u8,
11172            0,
11173            0,
11174        ],
11175    ), // #165 [ref=3x]
11176    AdditionalInfo::new(0, 0, [CpuFeature::SEV_ES as u8, 0, 0, 0, 0, 0]), // #166 [ref=1x]
11177    AdditionalInfo::new(
11178        1,
11179        0,
11180        [
11181            CpuFeature::AVX as u8,
11182            CpuFeature::AVX512_F as u8,
11183            CpuFeature::AVX512_VL as u8,
11184            0,
11185            0,
11186            0,
11187        ],
11188    ), // #167 [ref=7x]
11189    AdditionalInfo::new(1, 0, [CpuFeature::AVX as u8, 0, 0, 0, 0, 0]), // #168 [ref=2x]
11190    AdditionalInfo::new(
11191        1,
11192        0,
11193        [
11194            CpuFeature::AVX512_F as u8,
11195            CpuFeature::AVX512_VL as u8,
11196            0,
11197            0,
11198            0,
11199            0,
11200        ],
11201    ), // #169 [ref=4x]
11202    AdditionalInfo::new(
11203        1,
11204        0,
11205        [
11206            CpuFeature::AVX512_BW as u8,
11207            CpuFeature::AVX512_VL as u8,
11208            0,
11209            0,
11210            0,
11211            0,
11212        ],
11213    ), // #170 [ref=2x]
11214    AdditionalInfo::new(
11215        0,
11216        0,
11217        [CpuFeature::AVX as u8, CpuFeature::AVX2 as u8, 0, 0, 0, 0],
11218    ), // #171 [ref=17x]
11219    AdditionalInfo::new(
11220        0,
11221        0,
11222        [
11223            CpuFeature::AVX512_VL as u8,
11224            CpuFeature::AVX512_VP2INTERSECT as u8,
11225            0,
11226            0,
11227            0,
11228            0,
11229        ],
11230    ), // #172 [ref=2x]
11231    AdditionalInfo::new(
11232        0,
11233        0,
11234        [
11235            CpuFeature::AVX as u8,
11236            CpuFeature::AVX2 as u8,
11237            CpuFeature::AVX512_BW as u8,
11238            CpuFeature::AVX512_VL as u8,
11239            0,
11240            0,
11241        ],
11242    ), // #173 [ref=54x]
11243    AdditionalInfo::new(
11244        0,
11245        0,
11246        [
11247            CpuFeature::AVX2 as u8,
11248            CpuFeature::AVX512_BW as u8,
11249            CpuFeature::AVX512_VL as u8,
11250            0,
11251            0,
11252            0,
11253        ],
11254    ), // #174 [ref=2x]
11255    AdditionalInfo::new(
11256        0,
11257        0,
11258        [
11259            CpuFeature::AVX512_CD as u8,
11260            CpuFeature::AVX512_VL as u8,
11261            0,
11262            0,
11263            0,
11264            0,
11265        ],
11266    ), // #175 [ref=6x]
11267    AdditionalInfo::new(
11268        0,
11269        0,
11270        [
11271            CpuFeature::PCLMULQDQ as u8,
11272            CpuFeature::VPCLMULQDQ as u8,
11273            CpuFeature::AVX as u8,
11274            CpuFeature::AVX512_F as u8,
11275            CpuFeature::AVX512_VL as u8,
11276            0,
11277        ],
11278    ), // #176 [ref=1x]
11279    AdditionalInfo::new(0, 1, [CpuFeature::AVX as u8, 0, 0, 0, 0, 0]), // #177 [ref=7x]
11280    AdditionalInfo::new(
11281        0,
11282        0,
11283        [
11284            CpuFeature::AVX512_VBMI2 as u8,
11285            CpuFeature::AVX512_VL as u8,
11286            0,
11287            0,
11288            0,
11289            0,
11290        ],
11291    ), // #178 [ref=16x]
11292    AdditionalInfo::new(0, 0, [CpuFeature::AVX_VNNI_INT8 as u8, 0, 0, 0, 0, 0]), // #179 [ref=6x]
11293    AdditionalInfo::new(
11294        0,
11295        0,
11296        [
11297            CpuFeature::AVX_VNNI as u8,
11298            CpuFeature::AVX512_VL as u8,
11299            CpuFeature::AVX512_VNNI as u8,
11300            0,
11301            0,
11302            0,
11303        ],
11304    ), // #180 [ref=4x]
11305    AdditionalInfo::new(0, 0, [CpuFeature::AVX_VNNI_INT16 as u8, 0, 0, 0, 0, 0]), // #181 [ref=6x]
11306    AdditionalInfo::new(
11307        0,
11308        0,
11309        [
11310            CpuFeature::AVX512_VBMI as u8,
11311            CpuFeature::AVX512_VL as u8,
11312            0,
11313            0,
11314            0,
11315            0,
11316        ],
11317    ), // #182 [ref=4x]
11318    AdditionalInfo::new(
11319        0,
11320        0,
11321        [
11322            CpuFeature::AVX as u8,
11323            CpuFeature::AVX512_BW as u8,
11324            CpuFeature::AVX512_VL as u8,
11325            0,
11326            0,
11327            0,
11328        ],
11329    ), // #183 [ref=4x]
11330    AdditionalInfo::new(
11331        0,
11332        0,
11333        [
11334            CpuFeature::AVX_IFMA as u8,
11335            CpuFeature::AVX512_IFMA as u8,
11336            CpuFeature::AVX512_VL as u8,
11337            0,
11338            0,
11339            0,
11340        ],
11341    ), // #184 [ref=2x]
11342    AdditionalInfo::new(
11343        0,
11344        0,
11345        [
11346            CpuFeature::AVX512_BITALG as u8,
11347            CpuFeature::AVX512_VL as u8,
11348            0,
11349            0,
11350            0,
11351            0,
11352        ],
11353    ), // #185 [ref=3x]
11354    AdditionalInfo::new(
11355        0,
11356        0,
11357        [
11358            CpuFeature::AVX512_VL as u8,
11359            CpuFeature::AVX512_VPOPCNTDQ as u8,
11360            0,
11361            0,
11362            0,
11363            0,
11364        ],
11365    ), // #186 [ref=2x]
11366    AdditionalInfo::new(
11367        0,
11368        0,
11369        [CpuFeature::SHA512 as u8, CpuFeature::AVX as u8, 0, 0, 0, 0],
11370    ), // #187 [ref=3x]
11371    AdditionalInfo::new(
11372        0,
11373        0,
11374        [CpuFeature::SM3 as u8, CpuFeature::AVX as u8, 0, 0, 0, 0],
11375    ), // #188 [ref=3x]
11376    AdditionalInfo::new(
11377        0,
11378        0,
11379        [CpuFeature::SM4 as u8, CpuFeature::AVX as u8, 0, 0, 0, 0],
11380    ), // #189 [ref=2x]
11381    AdditionalInfo::new(0, 0, [CpuFeature::WBNOINVD as u8, 0, 0, 0, 0, 0]), // #190 [ref=1x]
11382    AdditionalInfo::new(0, 0, [CpuFeature::MSR as u8, 0, 0, 0, 0, 0]), // #191 [ref=1x]
11383    AdditionalInfo::new(0, 0, [CpuFeature::RTM as u8, 0, 0, 0, 0, 0]), // #192 [ref=3x]
11384    AdditionalInfo::new(0, 0, [CpuFeature::XSAVE as u8, 0, 0, 0, 0, 0]), // #193 [ref=6x]
11385    AdditionalInfo::new(0, 0, [CpuFeature::TSXLDTRK as u8, 0, 0, 0, 0, 0]), // #194 [ref=2x]
11386    AdditionalInfo::new(0, 0, [CpuFeature::XSAVES as u8, 0, 0, 0, 0, 0]), // #195 [ref=4x]
11387    AdditionalInfo::new(0, 0, [CpuFeature::XSAVEC as u8, 0, 0, 0, 0, 0]), // #196 [ref=2x]
11388    AdditionalInfo::new(0, 0, [CpuFeature::XSAVEOPT as u8, 0, 0, 0, 0, 0]), // #197 [ref=2x]
11389    AdditionalInfo::new(0, 1, [CpuFeature::RTM as u8, 0, 0, 0, 0, 0]), // #198 [ref=1x]
11390];
11391
11392/// CPU flags read/written, indexed by [`AdditionalInfo::rw_flags_index`].
11393pub static RW_FLAGS_INFO_TABLE: &[RwFlagsInfo] = &[
11394    RwFlagsInfo::new(0, 0), // #0 [ref=1352x]
11395    RwFlagsInfo::new(
11396        0,
11397        CpuRwFlags::X86_AF.bits()
11398            | CpuRwFlags::X86_CF.bits()
11399            | CpuRwFlags::X86_OF.bits()
11400            | CpuRwFlags::X86_PF.bits()
11401            | CpuRwFlags::X86_SF.bits()
11402            | CpuRwFlags::X86_ZF.bits(),
11403    ), // #1 [ref=103x]
11404    RwFlagsInfo::new(
11405        CpuRwFlags::X86_CF.bits(),
11406        CpuRwFlags::X86_AF.bits()
11407            | CpuRwFlags::X86_CF.bits()
11408            | CpuRwFlags::X86_OF.bits()
11409            | CpuRwFlags::X86_PF.bits()
11410            | CpuRwFlags::X86_SF.bits()
11411            | CpuRwFlags::X86_ZF.bits(),
11412    ), // #2 [ref=2x]
11413    RwFlagsInfo::new(CpuRwFlags::X86_CF.bits(), CpuRwFlags::X86_CF.bits()), // #3 [ref=2x]
11414    RwFlagsInfo::new(CpuRwFlags::X86_OF.bits(), CpuRwFlags::X86_OF.bits()), // #4 [ref=1x]
11415    RwFlagsInfo::new(0, CpuRwFlags::X86_ZF.bits()), // #5 [ref=7x]
11416    RwFlagsInfo::new(
11417        0,
11418        CpuRwFlags::X86_AF.bits()
11419            | CpuRwFlags::X86_CF.bits()
11420            | CpuRwFlags::X86_OF.bits()
11421            | CpuRwFlags::X86_PF.bits()
11422            | CpuRwFlags::X86_SF.bits(),
11423    ), // #6 [ref=4x]
11424    RwFlagsInfo::new(0, CpuRwFlags::X86_AC.bits()), // #7 [ref=2x]
11425    RwFlagsInfo::new(0, CpuRwFlags::X86_CF.bits()), // #8 [ref=2x]
11426    RwFlagsInfo::new(0, CpuRwFlags::X86_DF.bits()), // #9 [ref=2x]
11427    RwFlagsInfo::new(0, CpuRwFlags::X86_IF.bits()), // #10 [ref=2x]
11428    RwFlagsInfo::new(CpuRwFlags::X86_CF.bits(), 0), // #11 [ref=6x]
11429    RwFlagsInfo::new(CpuRwFlags::X86_CF.bits() | CpuRwFlags::X86_ZF.bits(), 0), // #12 [ref=6x]
11430    RwFlagsInfo::new(CpuRwFlags::X86_OF.bits() | CpuRwFlags::X86_SF.bits(), 0), // #13 [ref=6x]
11431    RwFlagsInfo::new(
11432        CpuRwFlags::X86_OF.bits() | CpuRwFlags::X86_SF.bits() | CpuRwFlags::X86_ZF.bits(),
11433        0,
11434    ), // #14 [ref=6x]
11435    RwFlagsInfo::new(CpuRwFlags::X86_OF.bits(), 0), // #15 [ref=7x]
11436    RwFlagsInfo::new(CpuRwFlags::X86_PF.bits(), 0), // #16 [ref=6x]
11437    RwFlagsInfo::new(CpuRwFlags::X86_SF.bits(), 0), // #17 [ref=6x]
11438    RwFlagsInfo::new(CpuRwFlags::X86_ZF.bits(), 0), // #18 [ref=8x]
11439    RwFlagsInfo::new(
11440        CpuRwFlags::X86_DF.bits(),
11441        CpuRwFlags::X86_AF.bits()
11442            | CpuRwFlags::X86_CF.bits()
11443            | CpuRwFlags::X86_OF.bits()
11444            | CpuRwFlags::X86_PF.bits()
11445            | CpuRwFlags::X86_SF.bits()
11446            | CpuRwFlags::X86_ZF.bits(),
11447    ), // #19 [ref=2x]
11448    RwFlagsInfo::new(
11449        0,
11450        CpuRwFlags::X86_AF.bits()
11451            | CpuRwFlags::X86_OF.bits()
11452            | CpuRwFlags::X86_PF.bits()
11453            | CpuRwFlags::X86_SF.bits()
11454            | CpuRwFlags::X86_ZF.bits(),
11455    ), // #20 [ref=5x]
11456    RwFlagsInfo::new(
11457        0,
11458        CpuRwFlags::X86_C0.bits()
11459            | CpuRwFlags::X86_C1.bits()
11460            | CpuRwFlags::X86_C2.bits()
11461            | CpuRwFlags::X86_C3.bits(),
11462    ), // #21 [ref=83x]
11463    RwFlagsInfo::new(
11464        CpuRwFlags::X86_CF.bits(),
11465        CpuRwFlags::X86_C0.bits()
11466            | CpuRwFlags::X86_C1.bits()
11467            | CpuRwFlags::X86_C2.bits()
11468            | CpuRwFlags::X86_C3.bits(),
11469    ), // #22 [ref=2x]
11470    RwFlagsInfo::new(
11471        CpuRwFlags::X86_CF.bits() | CpuRwFlags::X86_ZF.bits(),
11472        CpuRwFlags::X86_C0.bits()
11473            | CpuRwFlags::X86_C1.bits()
11474            | CpuRwFlags::X86_C2.bits()
11475            | CpuRwFlags::X86_C3.bits(),
11476    ), // #23 [ref=2x]
11477    RwFlagsInfo::new(
11478        CpuRwFlags::X86_ZF.bits(),
11479        CpuRwFlags::X86_C0.bits()
11480            | CpuRwFlags::X86_C1.bits()
11481            | CpuRwFlags::X86_C2.bits()
11482            | CpuRwFlags::X86_C3.bits(),
11483    ), // #24 [ref=2x]
11484    RwFlagsInfo::new(
11485        CpuRwFlags::X86_PF.bits(),
11486        CpuRwFlags::X86_C0.bits()
11487            | CpuRwFlags::X86_C1.bits()
11488            | CpuRwFlags::X86_C2.bits()
11489            | CpuRwFlags::X86_C3.bits(),
11490    ), // #25 [ref=2x]
11491    RwFlagsInfo::new(
11492        0,
11493        CpuRwFlags::X86_C1.bits()
11494            | CpuRwFlags::X86_CF.bits()
11495            | CpuRwFlags::X86_PF.bits()
11496            | CpuRwFlags::X86_ZF.bits(),
11497    ), // #26 [ref=4x]
11498    RwFlagsInfo::new(
11499        CpuRwFlags::X86_C0.bits()
11500            | CpuRwFlags::X86_C1.bits()
11501            | CpuRwFlags::X86_C2.bits()
11502            | CpuRwFlags::X86_C3.bits(),
11503        0,
11504    ), // #27 [ref=2x]
11505    RwFlagsInfo::new(
11506        CpuRwFlags::X86_AF.bits()
11507            | CpuRwFlags::X86_CF.bits()
11508            | CpuRwFlags::X86_PF.bits()
11509            | CpuRwFlags::X86_SF.bits()
11510            | CpuRwFlags::X86_ZF.bits(),
11511        0,
11512    ), // #28 [ref=1x]
11513    RwFlagsInfo::new(CpuRwFlags::X86_DF.bits(), 0), // #29 [ref=3x]
11514    RwFlagsInfo::new(
11515        0,
11516        CpuRwFlags::X86_AF.bits()
11517            | CpuRwFlags::X86_CF.bits()
11518            | CpuRwFlags::X86_DF.bits()
11519            | CpuRwFlags::X86_IF.bits()
11520            | CpuRwFlags::X86_OF.bits()
11521            | CpuRwFlags::X86_PF.bits()
11522            | CpuRwFlags::X86_SF.bits()
11523            | CpuRwFlags::X86_ZF.bits(),
11524    ), // #30 [ref=3x]
11525    RwFlagsInfo::new(
11526        CpuRwFlags::X86_AF.bits()
11527            | CpuRwFlags::X86_CF.bits()
11528            | CpuRwFlags::X86_DF.bits()
11529            | CpuRwFlags::X86_IF.bits()
11530            | CpuRwFlags::X86_OF.bits()
11531            | CpuRwFlags::X86_PF.bits()
11532            | CpuRwFlags::X86_SF.bits()
11533            | CpuRwFlags::X86_ZF.bits(),
11534        0,
11535    ), // #31 [ref=3x]
11536    RwFlagsInfo::new(
11537        CpuRwFlags::X86_CF.bits() | CpuRwFlags::X86_OF.bits(),
11538        CpuRwFlags::X86_CF.bits() | CpuRwFlags::X86_OF.bits(),
11539    ), // #32 [ref=2x]
11540    RwFlagsInfo::new(0, CpuRwFlags::X86_CF.bits() | CpuRwFlags::X86_OF.bits()), // #33 [ref=2x]
11541    RwFlagsInfo::new(
11542        0,
11543        CpuRwFlags::X86_AF.bits()
11544            | CpuRwFlags::X86_CF.bits()
11545            | CpuRwFlags::X86_PF.bits()
11546            | CpuRwFlags::X86_SF.bits()
11547            | CpuRwFlags::X86_ZF.bits(),
11548    ), // #34 [ref=1x]
11549];
11550
11551/// Instruction RW flags, indexed by [`AdditionalInfo::inst_flags_index`].
11552pub static INST_FLAGS_TABLE: &[InstRwFlags] = &[
11553    InstRwFlags::NONE,   // #0 [ref=1619x]
11554    InstRwFlags::MOV_OP, // #1 [ref=29x]
11555];
11556
11557/// Maps the first letter of an instruction name to a span of [`InstId`] values.
11558pub static INST_NAME_INDEX: &[(u16, u16)] = &[
11559    (InstId::Aaa as u16, InstId::Axor as u16 + 1),
11560    (InstId::Bextr as u16, InstId::Bzhi as u16 + 1),
11561    (InstId::Call as u16, InstId::Cwde as u16 + 1),
11562    (InstId::Daa as u16, InstId::Dpps as u16 + 1),
11563    (InstId::Emms as u16, InstId::Extrq as u16 + 1),
11564    (InstId::F2xm1 as u16, InstId::Fyl2xp1 as u16 + 1),
11565    (InstId::Getsec as u16, InstId::Gf2p8mulb as u16 + 1),
11566    (InstId::Haddpd as u16, InstId::Hsubps as u16 + 1),
11567    (InstId::Idiv as u16, InstId::Iretq as u16 + 1),
11568    (InstId::Jb as u16, InstId::Jz as u16 + 1),
11569    (InstId::Kaddb as u16, InstId::Kxorw as u16 + 1),
11570    (InstId::Lahf as u16, InstId::Lzcnt as u16 + 1),
11571    (InstId::Maskmovdqu as u16, InstId::Mwaitx as u16 + 1),
11572    (InstId::Neg as u16, InstId::Not as u16 + 1),
11573    (InstId::Or as u16, InstId::Outs as u16 + 1),
11574    (InstId::Pabsb as u16, InstId::Pxor as u16 + 1),
11575    (InstId::None as u16, InstId::None as u16 + 1),
11576    (InstId::Rcl as u16, InstId::Rstorssp as u16 + 1),
11577    (InstId::Sahf as u16, InstId::Sysretq as u16 + 1),
11578    (InstId::T1mskc as u16, InstId::Tzmsk as u16 + 1),
11579    (InstId::Ucomisd as u16, InstId::Unpcklps as u16 + 1),
11580    (InstId::Vaddpd as u16, InstId::Vzeroupper as u16 + 1),
11581    (InstId::Wbinvd as u16, InstId::Wrussq as u16 + 1),
11582    (InstId::Xabort as u16, InstId::Xtest as u16 + 1),
11583    (InstId::None as u16, InstId::None as u16 + 1),
11584    (InstId::None as u16, InstId::None as u16 + 1),
11585];
11586
11587pub const MAX_NAME_LENGTH: u16 = 17;
11588
11589pub 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";
11590
11591#[rustfmt::skip]
11592pub static INST_NAME_INDEX_TABLE: &[u32] = &[
11593    0x80000000, // Small ''.
11594    0x80000421, // Small 'aaa'.
11595    0x80001021, // Small 'aad'.
11596    0x80021021, // Small 'aadd'.
11597    0x80003421, // Small 'aam'.
11598    0x80023821, // Small 'aand'.
11599    0x80004C21, // Small 'aas'.
11600    0x80000C81, // Small 'adc'.
11601    0x800C0C81, // Small 'adcx'.
11602    0x80001081, // Small 'add'.
11603    0x80481081, // Small 'addpd'.
11604    0x81381081, // Small 'addps'.
11605    0x80499081, // Small 'addsd'.
11606    0x81399081, // Small 'addss'.
11607    0x22AC629E, // Large 'addsub|pd'.
11608    0x2282629E, // Large 'addsub|ps'.
11609    0x800C3C81, // Small 'adox'.
11610    0x86524CA1, // Small 'aesdec'.
11611    0x322D73AE, // Large 'aesdecl|ast'.
11612    0x86E2CCA1, // Small 'aesenc'.
11613    0x322D73B6, // Large 'aesencl|ast'.
11614    0x86D4CCA1, // Small 'aesimc'.
11615    0x1154E218, // Large 'aeskeygenassis|t'.
11616    0x800011C1, // Small 'and'.
11617    0x800711C1, // Small 'andn'.
11618    0x890711C1, // Small 'andnpd'.
11619    0xA70711C1, // Small 'andnps'.
11620    0x804811C1, // Small 'andpd'.
11621    0x813811C1, // Small 'andps'.
11622    0x800049E1, // Small 'aor'.
11623    0x80064241, // Small 'arpl'.
11624    0x80093F01, // Small 'axor'.
11625    0x812A60A2, // Small 'bextr'.
11626    0x28BA58CF, // Large 'blcfi|ll'.
11627    0x80048D82, // Small 'blci'.
11628    0x80348D82, // Small 'blcic'.
11629    0x97368D82, // Small 'blcmsk'.
11630    0x80098D82, // Small 'blcs'.
11631    0x22AC563C, // Large 'blend|pd'.
11632    0x2282563C, // Large 'blend|ps'.
11633    0x3642563C, // Large 'blend|vpd'.
11634    0x3364563C, // Large 'blend|vps'.
11635    0x28BA58D4, // Large 'blsfi|ll'.
11636    0x8004CD82, // Small 'blsi'.
11637    0x8034CD82, // Small 'blsic'.
11638    0x9736CD82, // Small 'blsmsk'.
11639    0x80094D82, // Small 'blsr'.
11640    0x80C191C2, // Small 'bndcl'.
11641    0x80E191C2, // Small 'bndcn'.
11642    0x815191C2, // Small 'bndcu'.
11643    0xB04611C2, // Small 'bndldx'.
11644    0x80B691C2, // Small 'bndmk'.
11645    0xACF691C2, // Small 'bndmov'.
11646    0xB14991C2, // Small 'bndstx'.
11647    0x804755E2, // Small 'bound'.
11648    0x80001A62, // Small 'bsf'.
11649    0x80004A62, // Small 'bsr'.
11650    0x8100DE62, // Small 'bswap'.
11651    0x80000282, // Small 'bt'.
11652    0x80000E82, // Small 'btc'.
11653    0x80004A82, // Small 'btr'.
11654    0x80004E82, // Small 'bts'.
11655    0x8004A342, // Small 'bzhi'.
11656    0x80063023, // Small 'call'.
11657    0x80005C43, // Small 'cbw'.
11658    0x80004483, // Small 'cdq'.
11659    0x8002C483, // Small 'cdqe'.
11660    0x80018583, // Small 'clac'.
11661    0x80000D83, // Small 'clc'.
11662    0x80001183, // Small 'cld'.
11663    0x22FD677C, // Large 'cldemo|te'.
11664    0x00007486, // Large 'clflush'.
11665    0x11549486, // Large 'clflushop|t'.
11666    0x80049D83, // Small 'clgi'.
11667    0x80002583, // Small 'cli'.
11668    0x121D7782, // Large 'clrssbs|y'.
11669    0x8009D183, // Small 'clts'.
11670    0x8004D583, // Small 'clui'.
11671    0x80015D83, // Small 'clwb'.
11672    0x9F22E983, // Small 'clzero'.
11673    0x80000DA3, // Small 'cmc'.
11674    0x0FFF5000, // Large 'cmovb' + 'cmov.b|nae|c'
11675    0x0FFF6012, // Large 'cmovbe' + 'cmov.be|na'
11676    0x0FFF5023, // Large 'cmovl' + 'cmov.l|nge'
11677    0x0FFF6033, // Large 'cmovle' + 'cmov.le|ng'
11678    0x0FFF6044, // Large 'cmovnb' + 'cmov.nb|ae|nc'
11679    0x0FFF7058, // Large 'cmovnbe' + 'cmov.nbe|a'
11680    0x0FFF606A, // Large 'cmovnl' + 'cmov.nl|ge'
11681    0x0FFF707B, // Large 'cmovnle' + 'cmov.nle|g'
11682    0x9EEB3DA3, // Small 'cmovno'.
11683    0x0FFF608D, // Large 'cmovnp' + 'cmov.np|po'
11684    0xA6EB3DA3, // Small 'cmovns'.
11685    0x0FFF609E, // Large 'cmovnz' + 'cmov.nz|ne'
11686    0x80FB3DA3, // Small 'cmovo'.
11687    0x0FFF50AF, // Large 'cmovp' + 'cmov.p|pe'
11688    0x813B3DA3, // Small 'cmovs'.
11689    0x0FFF50BE, // Large 'cmovz' + 'cmov.z|e'
11690    0x800041A3, // Small 'cmp'.
11691    0x329E65A7, // Large 'cmpbex|add'.
11692    0x329E5789, // Large 'cmpbx|add'.
11693    0x329E65AD, // Large 'cmplex|add'.
11694    0x329E578E, // Large 'cmplx|add'.
11695    0x329E748F, // Large 'cmpnbex|add'.
11696    0x329E65B3, // Large 'cmpnbx|add'.
11697    0x329E7496, // Large 'cmpnlex|add'.
11698    0x329E65B9, // Large 'cmpnlx|add'.
11699    0x329E65BF, // Large 'cmpnox|add'.
11700    0x329E65C5, // Large 'cmpnpx|add'.
11701    0x329E65CB, // Large 'cmpnsx|add'.
11702    0x329E65D1, // Large 'cmpnzx|add'.
11703    0x329E5793, // Large 'cmpox|add'.
11704    0x804841A3, // Small 'cmppd'.
11705    0x813841A3, // Small 'cmpps'.
11706    0x329E5798, // Large 'cmppx|add'.
11707    0x8009C1A3, // Small 'cmps'.
11708    0x8049C1A3, // Small 'cmpsd'.
11709    0x8139C1A3, // Small 'cmpss'.
11710    0x329E579D, // Large 'cmpsx|add'.
11711    0x0000749D, // Large 'cmpxchg'.
11712    0x1004949D, // Large 'cmpxchg16|b'.
11713    0x25D7749D, // Large 'cmpxchg|8b'.
11714    0x329E57A2, // Large 'cmpzx|add'.
11715    0x8934B5E3, // Small 'comisd'.
11716    0xA734B5E3, // Small 'comiss'.
11717    0x8044D603, // Small 'cpuid'.
11718    0x80003E23, // Small 'cqo'.
11719    0x81DF0E43, // Small 'crc32'.
11720    0x22AC6646, // Large 'cvtdq2|pd'.
11721    0x22826646, // Large 'cvtdq2|ps'.
11722    0x34E154B2, // Large 'cvtpd|2dq'.
11723    0x35D954B2, // Large 'cvtpd|2pi'.
11724    0x328154B2, // Large 'cvtpd|2ps'.
11725    0x36F157A7, // Large 'cvtpi|2pd'.
11726    0x328157A7, // Large 'cvtpi|2ps'.
11727    0x23CF64C1, // Large 'cvtps2|dq'.
11728    0x122B74C1, // Large 'cvtps2p|d'.
11729    0x120F74C1, // Large 'cvtps2p|i'.
11730    0x222364CA, // Large 'cvtsd2|si'.
11731    0x222264CA, // Large 'cvtsd2|ss'.
11732    0x231D6656, // Large 'cvtsi2|sd'.
11733    0x22226656, // Large 'cvtsi2|ss'.
11734    0x231D64DA, // Large 'cvtss2|sd'.
11735    0x222364DA, // Large 'cvtss2|si'.
11736    0x23CF73C7, // Large 'cvttpd2|dq'.
11737    0x240473C7, // Large 'cvttpd2|pi'.
11738    0x34E163DE, // Large 'cvttps|2dq'.
11739    0x35D963DE, // Large 'cvttps|2pi'.
11740    0x222373E5, // Large 'cvttsd2|si'.
11741    0x222373F7, // Large 'cvttss2|si'.
11742    0x800012E3, // Small 'cwd'.
11743    0x800292E3, // Small 'cwde'.
11744    0x80000424, // Small 'daa'.
11745    0x80004C24, // Small 'das'.
11746    0x80000CA4, // Small 'dec'.
11747    0x80005924, // Small 'div'.
11748    0x80485924, // Small 'divpd'.
11749    0x81385924, // Small 'divps'.
11750    0x8049D924, // Small 'divsd'.
11751    0x8139D924, // Small 'divss'.
11752    0x80024204, // Small 'dppd'.
11753    0x8009C204, // Small 'dpps'.
11754    0x8009B5A5, // Small 'emms'.
11755    0x223158D9, // Large 'endbr|32'.
11756    0x223558D9, // Large 'endbr|64'.
11757    0x88D1C5C5, // Small 'enqcmd'.
11758    0x22A058DE, // Large 'enqcm|ds'.
11759    0x8122D1C5, // Small 'enter'.
11760    0x228272F0, // Large 'extract|ps'.
11761    0x81195305, // Small 'extrq'.
11762    0x81C6E3A6, // Small 'f2xm1'.
11763    0x80098826, // Small 'fabs'.
11764    0x80021026, // Small 'fadd'.
11765    0x81021026, // Small 'faddp'.
11766    0x80023046, // Small 'fbld'.
11767    0x810A4C46, // Small 'fbstp'.
11768    0x8009A066, // Small 'fchs'.
11769    0x8182B066, // Small 'fclex'.
11770    0x8567B466, // Small 'fcmovb'.
11771    0x40143500, // Large 'fcm|ovbe'.
11772    0x8B67B466, // Small 'fcmove'.
11773    0x40463500, // Large 'fcm|ovnb'.
11774    0x505A3500, // Large 'fcm|ovnbe'.
11775    0x20AD58E3, // Large 'fcmov|ne'.
11776    0x28E858E3, // Large 'fcmov|nu'.
11777    0xAB67B466, // Small 'fcmovu'.
11778    0x8006BC66, // Small 'fcom'.
11779    0x8096BC66, // Small 'fcomi'.
11780    0xA096BC66, // Small 'fcomip'.
11781    0x8106BC66, // Small 'fcomp'.
11782    0xA106BC66, // Small 'fcompp'.
11783    0x8009BC66, // Small 'fcos'.
11784    0x21EF58EA, // Large 'fdecs|tp'.
11785    0x800B2486, // Small 'fdiv'.
11786    0x810B2486, // Small 'fdivp'.
11787    0x812B2486, // Small 'fdivr'.
11788    0xA12B2486, // Small 'fdivrp'.
11789    0x8136B4A6, // Small 'femms'.
11790    0x8052C8C6, // Small 'ffree'.
11791    0x80420526, // Small 'fiadd'.
11792    0x80D78D26, // Small 'ficom'.
11793    0xA0D78D26, // Small 'ficomp'.
11794    0x81649126, // Small 'fidiv'.
11795    0xA5649126, // Small 'fidivr'.
11796    0x80023126, // Small 'fild'.
11797    0x80CAB526, // Small 'fimul'.
11798    0x21EF58EF, // Large 'fincs|tp'.
11799    0x8144B926, // Small 'finit'.
11800    0x800A4D26, // Small 'fist'.
11801    0x810A4D26, // Small 'fistp'.
11802    0xA14A4D26, // Small 'fisttp'.
11803    0x802ACD26, // Small 'fisub'.
11804    0xA42ACD26, // Small 'fisubr'.
11805    0x80001186, // Small 'fld'.
11806    0x800E1186, // Small 'fld1'.
11807    0x81719186, // Small 'fldcw'.
11808    0xACE29186, // Small 'fldenv'.
11809    0x8BD61186, // Small 'fldl2e'.
11810    0xA9D61186, // Small 'fldl2t'.
11811    0xBA761186, // Small 'fldlg2'.
11812    0xBAE61186, // Small 'fldln2'.
11813    0x80981186, // Small 'fldpi'.
11814    0x800D1186, // Small 'fldz'.
11815    0x800655A6, // Small 'fmul'.
11816    0x810655A6, // Small 'fmulp'.
11817    0xB0560DC6, // Small 'fnclex'.
11818    0xA89725C6, // Small 'fninit'.
11819    0x80083DC6, // Small 'fnop'.
11820    0x8B60CDC6, // Small 'fnsave'.
11821    0xAE3A4DC6, // Small 'fnstcw'.
11822    0x221358F4, // Large 'fnste|nv'.
11823    0xAF3A4DC6, // Small 'fnstsw'.
11824    0x9C1A0606, // Small 'fpatan'.
11825    0x80D2CA06, // Small 'fprem'.
11826    0xB8D2CA06, // Small 'fprem1'.
11827    0x80E0D206, // Small 'fptan'.
11828    0x32FB48F9, // Large 'frnd|int'.
11829    0xA4FA4E46, // Small 'frstor'.
11830    0x805B0666, // Small 'fsave'.
11831    0x8AC08E66, // Small 'fscale'.
11832    0x80072666, // Small 'fsin'.
11833    0x21DD58FD, // Large 'fsinc|os'.
11834    0x81494666, // Small 'fsqrt'.
11835    0x80005266, // Small 'fst'.
11836    0x8171D266, // Small 'fstcw'.
11837    0xACE2D266, // Small 'fstenv'.
11838    0x80085266, // Small 'fstp'.
11839    0x8179D266, // Small 'fstsw'.
11840    0x80015666, // Small 'fsub'.
11841    0x81015666, // Small 'fsubp'.
11842    0x81215666, // Small 'fsubr'.
11843    0xA1215666, // Small 'fsubrp'.
11844    0x800A4E86, // Small 'ftst'.
11845    0x80D78EA6, // Small 'fucom'.
11846    0x92D78EA6, // Small 'fucomi'.
11847    0x27D45902, // Large 'fucom|ip'.
11848    0xA0D78EA6, // Small 'fucomp'.
11849    0x279A5902, // Large 'fucom|pp'.
11850    0x814486E6, // Small 'fwait'.
11851    0x80068706, // Small 'fxam'.
11852    0x80040F06, // Small 'fxch'.
11853    0x000075DC, // Large 'fxrstor'.
11854    0x223575DC, // Large 'fxrstor|64'.
11855    0x8B60CF06, // Small 'fxsave'.
11856    0x223567AC, // Large 'fxsave|64'.
11857    0x52F225DC, // Large 'fx|tract'.
11858    0x818EB326, // Small 'fyl2x'.
11859    0x22735907, // Large 'fyl2x|p1'.
11860    0x8659D0A7, // Small 'getsec'.
11861    0x1004F207, // Large 'gf2p8affineinvq|b'.
11862    0x2215B207, // Large 'gf2p8affine|qb'.
11863    0x451E5207, // Large 'gf2p8|mulb'.
11864    0x89021028, // Small 'haddpd'.
11865    0xA7021028, // Small 'haddps'.
11866    0x80005188, // Small 'hlt'.
11867    0xA8599648, // Small 'hreset'.
11868    0x89015668, // Small 'hsubpd'.
11869    0xA7015668, // Small 'hsubps'.
11870    0x800B2489, // Small 'idiv'.
11871    0x800655A9, // Small 'imul'.
11872    0x800001C9, // Small 'in'.
11873    0x80000DC9, // Small 'inc'.
11874    0x22AC590C, // Large 'incss|pd'.
11875    0x2911590C, // Large 'incss|pq'.
11876    0x80004DC9, // Small 'ins'.
11877    0x2282635D, // Large 'insert|ps'.
11878    0x1215635D, // Large 'insert|q'.
11879    0x800051C9, // Small 'int'.
11880    0x800F51C9, // Small 'int3'.
11881    0x8007D1C9, // Small 'into'.
11882    0x800259C9, // Small 'invd'.
11883    0xA902D9C9, // Small 'invept'.
11884    0x8F0659C9, // Small 'invlpg'.
11885    0x354A4913, // Large 'invl|pga'.
11886    0x25775917, // Large 'invlp|gb'.
11887    0x25F7591C, // Large 'invpc|id'.
11888    0x25F75921, // Large 'invvp|id'.
11889    0x800A1649, // Small 'iret'.
11890    0x804A1649, // Small 'iretd'.
11891    0x811A1649, // Small 'iretq'.
11892    0x0FFF20CC, // Large 'jb' + 'jb|jnae|jc'
11893    0x0FFF30D9, // Large 'jbe' + 'jbe|jna'
11894    0x81AC0CAA, // Small 'jecxz'.
11895    0x0FFF20E4, // Large 'jl' + 'jl|jnge'
11896    0x0FFF30EE, // Large 'jle' + 'jle|jng'
11897    0x800041AA, // Small 'jmp'.
11898    0x0FFF30F9, // Large 'jnb' + 'jnb|jae|jnc'
11899    0x0FFF4108, // Large 'jnbe' + 'jnbe|ja'
11900    0x0FFF3114, // Large 'jnl' + 'jnl|jge'
11901    0x0FFF411F, // Large 'jnle' + 'jnle|jg'
11902    0x80003DCA, // Small 'jno'.
11903    0x0FFF312B, // Large 'jnp' + 'jnp|jpo'
11904    0x80004DCA, // Small 'jns'.
11905    0x0FFF3136, // Large 'jnz' + 'jnz|jne'
11906    0x800001EA, // Small 'jo'.
11907    0x0FFF2141, // Large 'jp' + 'jp|jpe'
11908    0x8000026A, // Small 'js'.
11909    0x0FFF214A, // Large 'jz' + 'jz|je'
11910    0x8022102B, // Small 'kaddb'.
11911    0x8042102B, // Small 'kaddd'.
11912    0x8112102B, // Small 'kaddq'.
11913    0x8172102B, // Small 'kaddw'.
11914    0x8022382B, // Small 'kandb'.
11915    0x8042382B, // Small 'kandd'.
11916    0x84E2382B, // Small 'kandnb'.
11917    0x88E2382B, // Small 'kandnd'.
11918    0xA2E2382B, // Small 'kandnq'.
11919    0xAEE2382B, // Small 'kandnw'.
11920    0x8112382B, // Small 'kandq'.
11921    0x8172382B, // Small 'kandw'.
11922    0x802B3DAB, // Small 'kmovb'.
11923    0x804B3DAB, // Small 'kmovd'.
11924    0x811B3DAB, // Small 'kmovq'.
11925    0x817B3DAB, // Small 'kmovw'.
11926    0x802A3DCB, // Small 'knotb'.
11927    0x804A3DCB, // Small 'knotd'.
11928    0x811A3DCB, // Small 'knotq'.
11929    0x817A3DCB, // Small 'knotw'.
11930    0x800149EB, // Small 'korb'.
11931    0x800249EB, // Small 'kord'.
11932    0x8008C9EB, // Small 'korq'.
11933    0x215467B2, // Large 'kortes|tb'.
11934    0x262667B2, // Large 'kortes|td'.
11935    0x236C67B2, // Large 'kortes|tq'.
11936    0x27B867B2, // Large 'kortes|tw'.
11937    0x800BC9EB, // Small 'korw'.
11938    0x252067BA, // Large 'kshift|lb'.
11939    0x257F67BA, // Large 'kshift|ld'.
11940    0x246267BA, // Large 'kshift|lq'.
11941    0x258267BA, // Large 'kshift|lw'.
11942    0x27C067BA, // Large 'kshift|rb'.
11943    0x122B77BA, // Large 'kshiftr|d'.
11944    0x121577BA, // Large 'kshiftr|q'.
11945    0x126477BA, // Large 'kshiftr|w'.
11946    0x8549968B, // Small 'ktestb'.
11947    0x8949968B, // Small 'ktestd'.
11948    0xA349968B, // Small 'ktestq'.
11949    0xAF49968B, // Small 'ktestw'.
11950    0x257867C2, // Large 'kunpck|bw'.
11951    0x23CF67C2, // Large 'kunpck|dq'.
11952    0x257A67C2, // Large 'kunpck|wd'.
11953    0x8527BB0B, // Small 'kxnorb'.
11954    0x8927BB0B, // Small 'kxnord'.
11955    0xA327BB0B, // Small 'kxnorq'.
11956    0xAF27BB0B, // Small 'kxnorw'.
11957    0x80293F0B, // Small 'kxorb'.
11958    0x80493F0B, // Small 'kxord'.
11959    0x81193F0B, // Small 'kxorq'.
11960    0x81793F0B, // Small 'kxorw'.
11961    0x8003202C, // Small 'lahf'.
11962    0x8000482C, // Small 'lar'.
11963    0x80C6046C, // Small 'lcall'.
11964    0x8158908C, // Small 'lddqu'.
11965    0x12286815, // Large 'ldmxcs|r'.
11966    0x80004C8C, // Small 'lds'.
11967    0x103185E3, // Large 'ldtilecf|g'.
11968    0x800004AC, // Small 'lea'.
11969    0x805B04AC, // Small 'leave'.
11970    0x80004CAC, // Small 'les'.
11971    0x8A3714CC, // Small 'lfence'.
11972    0x80004CCC, // Small 'lfs'.
11973    0x800A10EC, // Small 'lgdt'.
11974    0x80004CEC, // Small 'lgs'.
11975    0x800A112C, // Small 'lidt'.
11976    0x8008354C, // Small 'ljmp'.
11977    0x800A118C, // Small 'lldt'.
11978    0x84385D8C, // Small 'llwpcb'.
11979    0x800BCDAC, // Small 'lmsw'.
11980    0x800991EC, // Small 'lods'.
11981    0x80083DEC, // Small 'loop'.
11982    0x80583DEC, // Small 'loope'.
11983    0x8AE83DEC, // Small 'loopne'.
11984    0x8000326C, // Small 'lsl'.
11985    0x80004E6C, // Small 'lss'.
11986    0x80004A8C, // Small 'ltr'.
11987    0xA6E4C2EC, // Small 'lwpins'.
11988    0x981B42EC, // Small 'lwpval'.
11989    0x81470F4C, // Small 'lzcnt'.
11990    0x12A2941B, // Large 'maskmovdq|u'.
11991    0x1215741B, // Large 'maskmov|q'.
11992    0x8048602D, // Small 'maxpd'.
11993    0x8138602D, // Small 'maxps'.
11994    0x8049E02D, // Small 'maxsd'.
11995    0x8139E02D, // Small 'maxss'.
11996    0x236B5926, // Large 'mcomm|it'.
11997    0x8A3714CD, // Small 'mfence'.
11998    0x8048392D, // Small 'minpd'.
11999    0x8138392D, // Small 'minps'.
12000    0x8049B92D, // Small 'minsd'.
12001    0x8139B92D, // Small 'minss'.
12002    0x000077C8, // Large 'monitor'.
12003    0x123377C8, // Large 'monitor|x'.
12004    0x800059ED, // Small 'mov'.
12005    0xA620D9ED, // Small 'movabs'.
12006    0x8900D9ED, // Small 'movapd'.
12007    0xA700D9ED, // Small 'movaps'.
12008    0x805159ED, // Small 'movbe'.
12009    0x800259ED, // Small 'movd'.
12010    0x3821441F, // Large 'movd|dup'.
12011    0x100485EB, // Large 'movdir64|b'.
12012    0x120F65EB, // Large 'movdir|i'.
12013    0x24E4541F, // Large 'movdq|2q'.
12014    0x831259ED, // Small 'movdqa'.
12015    0xAB1259ED, // Small 'movdqu'.
12016    0x37664827, // Large 'movh|lps'.
12017    0x890459ED, // Small 'movhpd'.
12018    0xA70459ED, // Small 'movhps'.
12019    0x2282582C, // Large 'movlh|ps'.
12020    0x890659ED, // Small 'movlpd'.
12021    0xA70659ED, // Small 'movlps'.
12022    0x22AC669C, // Large 'movmsk|pd'.
12023    0x2282669C, // Large 'movmsk|ps'.
12024    0x23CF56A3, // Large 'movnt|dq'.
12025    0x368F56A3, // Large 'movnt|dqa'.
12026    0x934759ED, // Small 'movnti'.
12027    0x22AC56A3, // Large 'movnt|pd'.
12028    0x228256A3, // Large 'movnt|ps'.
12029    0xA34759ED, // Small 'movntq'.
12030    0x231D56A3, // Large 'movnt|sd'.
12031    0x222256A3, // Large 'movnt|ss'.
12032    0x8008D9ED, // Small 'movq'.
12033    0x34E1492B, // Large 'movq|2dq'.
12034    0x8009D9ED, // Small 'movs'.
12035    0x8049D9ED, // Small 'movsd'.
12036    0x240366A9, // Large 'movshd|up'.
12037    0x240366B0, // Large 'movsld|up'.
12038    0x8139D9ED, // Small 'movss'.
12039    0x8189D9ED, // Small 'movsx'.
12040    0x8989D9ED, // Small 'movsxd'.
12041    0x890AD9ED, // Small 'movupd'.
12042    0xA70AD9ED, // Small 'movups'.
12043    0x818D59ED, // Small 'movzx'.
12044    0x25785832, // Large 'mpsad|bw'.
12045    0x800032AD, // Small 'mul'.
12046    0x804832AD, // Small 'mulpd'.
12047    0x813832AD, // Small 'mulps'.
12048    0x8049B2AD, // Small 'mulsd'.
12049    0x8139B2AD, // Small 'mulss'.
12050    0x800C32AD, // Small 'mulx'.
12051    0x814486ED, // Small 'mwait'.
12052    0xB14486ED, // Small 'mwaitx'.
12053    0x80001CAE, // Small 'neg'.
12054    0x800041EE, // Small 'nop'.
12055    0x800051EE, // Small 'not'.
12056    0x8000024F, // Small 'or'.
12057    0x8002424F, // Small 'orpd'.
12058    0x8009C24F, // Small 'orps'.
12059    0x800052AF, // Small 'out'.
12060    0x8009D2AF, // Small 'outs'.
12061    0x80298830, // Small 'pabsb'.
12062    0x80498830, // Small 'pabsd'.
12063    0x81798830, // Small 'pabsw'.
12064    0x000086B7, // Large 'packssdw'.
12065    0x26BE66B7, // Large 'packss|wb'.
12066    0x26BD66C1, // Large 'packus|dw'.
12067    0x000086C1, // Large 'packuswb'.
12068    0x80221030, // Small 'paddb'.
12069    0x80421030, // Small 'paddd'.
12070    0x81121030, // Small 'paddq'.
12071    0x85321030, // Small 'paddsb'.
12072    0xAF321030, // Small 'paddsw'.
12073    0x2786583F, // Large 'paddu|sb'.
12074    0x2561583F, // Large 'paddu|sw'.
12075    0x81721030, // Small 'paddw'.
12076    0x12286845, // Large 'palign|r'.
12077    0x80023830, // Small 'pand'.
12078    0x80E23830, // Small 'pandn'.
12079    0x8059D430, // Small 'pause'.
12080    0x8023D830, // Small 'pavgb'.
12081    0x2786592F, // Large 'pavgu|sb'.
12082    0x8173D830, // Small 'pavgw'.
12083    0x200366CA, // Large 'pblend|vb'.
12084    0x126466CA, // Large 'pblend|w'.
12085    0x44625523, // Large 'pclmu|lqdq'.
12086    0x22155529, // Large 'pcmpe|qb'.
12087    0x24575529, // Large 'pcmpe|qd'.
12088    0x23D05529, // Large 'pcmpe|qq'.
12089    0x27255529, // Large 'pcmpe|qw'.
12090    0x120F8529, // Large 'pcmpestr|i'.
12091    0x10018529, // Large 'pcmpestr|m'.
12092    0x384B448E, // Large 'pcmp|gtb'.
12093    0x384E448E, // Large 'pcmp|gtd'.
12094    0x3851448E, // Large 'pcmp|gtq'.
12095    0x3854448E, // Large 'pcmp|gtw'.
12096    0x120F8532, // Large 'pcmpistr|i'.
12097    0x10018532, // Large 'pcmpistr|m'.
12098    0x2848542F, // Large 'pconf|ig'.
12099    0x80081490, // Small 'pdep'.
12100    0x800A60B0, // Small 'pext'.
12101    0x852A60B0, // Small 'pextrb'.
12102    0x892A60B0, // Small 'pextrd'.
12103    0xA32A60B0, // Small 'pextrq'.
12104    0xAF2A60B0, // Small 'pextrw'.
12105    0x8044F4D0, // Small 'pf2id'.
12106    0x8174F4D0, // Small 'pf2iw'.
12107    0x803184D0, // Small 'pfacc'.
12108    0x804204D0, // Small 'pfadd'.
12109    0x12156934, // Large 'pfcmpe|q'.
12110    0x20315934, // Large 'pfcmp|ge'.
12111    0x284B5934, // Large 'pfcmp|gt'.
12112    0x8180B4D0, // Small 'pfmax'.
12113    0x80E4B4D0, // Small 'pfmin'.
12114    0x80CAB4D0, // Small 'pfmul'.
12115    0x8630B8D0, // Small 'pfnacc'.
12116    0x2011593A, // Large 'pfpna|cc'.
12117    0x8101C8D0, // Small 'pfrcp'.
12118    0x238767CF, // Large 'pfrcpi|t1'.
12119    0x24A667CF, // Large 'pfrcpi|t2'.
12120    0xAD01C8D0, // Small 'pfrcpv'.
12121    0x238767D5, // Large 'pfrsqi|t1'.
12122    0x236157D5, // Large 'pfrsq|rt'.
12123    0x37DB57D5, // Large 'pfrsq|rtv'.
12124    0x802ACCD0, // Small 'pfsub'.
12125    0xA42ACCD0, // Small 'pfsubr'.
12126    0x88420510, // Small 'phaddd'.
12127    0x25615702, // Large 'phadd|sw'.
12128    0xAE420510, // Small 'phaddw'.
12129    0x12649439, // Large 'phminposu|w'.
12130    0x882ACD10, // Small 'phsubd'.
12131    0x2561585E, // Large 'phsub|sw'.
12132    0xAE2ACD10, // Small 'phsubw'.
12133    0x80437530, // Small 'pi2fd'.
12134    0x81737530, // Small 'pi2fw'.
12135    0x8529B930, // Small 'pinsrb'.
12136    0x8929B930, // Small 'pinsrd'.
12137    0xA329B930, // Small 'pinsrq'.
12138    0xAF29B930, // Small 'pinsrw'.
12139    0x45635443, // Large 'pmadd|ubsw'.
12140    0x257A5443, // Large 'pmadd|wd'.
12141    0x853C05B0, // Small 'pmaxsb'.
12142    0x893C05B0, // Small 'pmaxsd'.
12143    0xAF3C05B0, // Small 'pmaxsw'.
12144    0x855C05B0, // Small 'pmaxub'.
12145    0x895C05B0, // Small 'pmaxud'.
12146    0xAF5C05B0, // Small 'pmaxuw'.
12147    0x853725B0, // Small 'pminsb'.
12148    0x893725B0, // Small 'pminsd'.
12149    0xAF3725B0, // Small 'pminsw'.
12150    0x855725B0, // Small 'pminub'.
12151    0x895725B0, // Small 'pminud'.
12152    0xAF5725B0, // Small 'pminuw'.
12153    0x1004770F, // Large 'pmovmsk|b'.
12154    0x122B7717, // Large 'pmovsxb|d'.
12155    0x12157717, // Large 'pmovsxb|q'.
12156    0x12647717, // Large 'pmovsxb|w'.
12157    0x23CF6717, // Large 'pmovsx|dq'.
12158    0x257A6717, // Large 'pmovsx|wd'.
12159    0x27096717, // Large 'pmovsx|wq'.
12160    0x122B7728, // Large 'pmovzxb|d'.
12161    0x12157728, // Large 'pmovzxb|q'.
12162    0x12647728, // Large 'pmovzxb|w'.
12163    0x23CF6728, // Large 'pmovzx|dq'.
12164    0x257A6728, // Large 'pmovzx|wd'.
12165    0x27096728, // Large 'pmovzx|wq'.
12166    0xA24655B0, // Small 'pmuldq'.
12167    0x25616730, // Large 'pmulhr|sw'.
12168    0x12646730, // Large 'pmulhr|w'.
12169    0x264C5730, // Large 'pmulh|uw'.
12170    0xAE8655B0, // Small 'pmulhw'.
12171    0x88C655B0, // Small 'pmulld'.
12172    0xAEC655B0, // Small 'pmullw'.
12173    0x33CE42D4, // Large 'pmul|udq'.
12174    0x800041F0, // Small 'pop'.
12175    0x8000C1F0, // Small 'popa'.
12176    0x8040C1F0, // Small 'popad'.
12177    0xA8E1C1F0, // Small 'popcnt'.
12178    0x800341F0, // Small 'popf'.
12179    0x804341F0, // Small 'popfd'.
12180    0x811341F0, // Small 'popfq'.
12181    0x800049F0, // Small 'por'.
12182    0x00008378, // Large 'prefetch'.
12183    0x0000B378, // Large 'prefetchit0'.
12184    0x1270A378, // Large 'prefetchit|1'.
12185    0x33838378, // Large 'prefetch|nta'.
12186    0x23818378, // Large 'prefetch|t0'.
12187    0x23878378, // Large 'prefetch|t1'.
12188    0x24A68378, // Large 'prefetch|t2'.
12189    0x12648378, // Large 'prefetch|w'.
12190    0x33868378, // Large 'prefetch|wt1'.
12191    0xAE220670, // Small 'psadbw'.
12192    0x846AA270, // Small 'pshufb'.
12193    0x886AA270, // Small 'pshufd'.
12194    0x288B5365, // Large 'pshuf|hw'.
12195    0x25825365, // Large 'pshuf|lw'.
12196    0xAE6AA270, // Small 'pshufw'.
12197    0x84E3A670, // Small 'psignb'.
12198    0x88E3A670, // Small 'psignd'.
12199    0xAEE3A670, // Small 'psignw'.
12200    0x80463270, // Small 'pslld'.
12201    0xA2463270, // Small 'pslldq'.
12202    0x81163270, // Small 'psllq'.
12203    0x81763270, // Small 'psllw'.
12204    0x9130B670, // Small 'psmash'.
12205    0x8040CA70, // Small 'psrad'.
12206    0x8170CA70, // Small 'psraw'.
12207    0x80464A70, // Small 'psrld'.
12208    0xA2464A70, // Small 'psrldq'.
12209    0x81164A70, // Small 'psrlq'.
12210    0x81764A70, // Small 'psrlw'.
12211    0x80215670, // Small 'psubb'.
12212    0x80415670, // Small 'psubd'.
12213    0x81115670, // Small 'psubq'.
12214    0x85315670, // Small 'psubsb'.
12215    0xAF315670, // Small 'psubsw'.
12216    0x2786588E, // Large 'psubu|sb'.
12217    0x2561588E, // Large 'psubu|sw'.
12218    0x81715670, // Small 'psubw'.
12219    0x8900DE70, // Small 'pswapd'.
12220    0x81499690, // Small 'ptest'.
12221    0x22FD593F, // Large 'ptwri|te'.
12222    0x2578745A, // Large 'punpckh|bw'.
12223    0x23CF745A, // Large 'punpckh|dq'.
12224    0x23CF845A, // Large 'punpckhq|dq'.
12225    0x257A745A, // Large 'punpckh|wd'.
12226    0x357C645A, // Large 'punpck|lbw'.
12227    0x357F645A, // Large 'punpck|ldq'.
12228    0x4462645A, // Large 'punpck|lqdq'.
12229    0x3582645A, // Large 'punpck|lwd'.
12230    0x80044EB0, // Small 'push'.
12231    0x80144EB0, // Small 'pusha'.
12232    0x88144EB0, // Small 'pushad'.
12233    0x80644EB0, // Small 'pushf'.
12234    0x88644EB0, // Small 'pushfd'.
12235    0xA2644EB0, // Small 'pushfq'.
12236    0x81744EB0, // Small 'pushw'.
12237    0x22FD75F3, // Large 'pvalida|te'.
12238    0x80093F10, // Small 'pxor'.
12239    0x80003072, // Small 'rcl'.
12240    0x81384072, // Small 'rcpps'.
12241    0x8139C072, // Small 'rcpss'.
12242    0x80004872, // Small 'rcr'.
12243    0x317057DE, // Large 'rdfsb|ase'.
12244    0x317057E3, // Large 'rdgsb|ase'.
12245    0x8129B492, // Small 'rdmsr'.
12246    0x8044C092, // Small 'rdpid'.
12247    0xAB25C092, // Small 'rdpkru'.
12248    0x8036C092, // Small 'rdpmc'.
12249    0x81594092, // Small 'rdpru'.
12250    0x88E0C892, // Small 'rdrand'.
12251    0x8852CC92, // Small 'rdseed'.
12252    0x8909CC92, // Small 'rdsspd'.
12253    0xA309CC92, // Small 'rdsspq'.
12254    0x8039D092, // Small 'rdtsc'.
12255    0xA039D092, // Small 'rdtscp'.
12256    0x800050B2, // Small 'ret'.
12257    0x800350B2, // Small 'retf'.
12258    0x222E75FA, // Large 'rmpadju|st'.
12259    0x22FD7601, // Large 'rmpupda|te'.
12260    0x800031F2, // Small 'rol'.
12261    0x800049F2, // Small 'ror'.
12262    0x800C49F2, // Small 'rorx'.
12263    0x22AC58A0, // Large 'round|pd'.
12264    0x228258A0, // Large 'round|ps'.
12265    0x231D58A0, // Large 'round|sd'.
12266    0x222258A0, // Large 'round|ss'.
12267    0x80003672, // Small 'rsm'.
12268    0x22825586, // Large 'rsqrt|ps'.
12269    0x22225586, // Large 'rsqrt|ss'.
12270    0x37E855DE, // Large 'rstor|ssp'.
12271    0x80032033, // Small 'sahf'.
12272    0x80004833, // Small 'sar'.
12273    0x800C4833, // Small 'sarx'.
12274    0x1092A389, // Large 'saveprevss|p'.
12275    0x80000853, // Small 'sbb'.
12276    0x80098473, // Small 'scas'.
12277    0x102777EB, // Large 'seamcal|l'.
12278    0x22825944, // Large 'seamo|ps'.
12279    0x21535949, // Large 'seamr|et'.
12280    0x240467F2, // Large 'sendui|pi'.
12281    0x25997608, // Large 'seriali|ze'.
12282    0x0FFF4152, // Large 'setb' + 'set.b|nae|c'
12283    0x0FFF5162, // Large 'setbe' + 'set.be|na'
12284    0x0FFF4171, // Large 'setl' + 'set.l|nge'
12285    0x0FFF517F, // Large 'setle' + 'set.le|ng'
12286    0x0FFF518E, // Large 'setnb' + 'set.nb|ae|nc'
12287    0x0FFF61A0, // Large 'setnbe' + 'set.nbe|a'
12288    0x0FFF51B0, // Large 'setnl' + 'set.nl|ge'
12289    0x0FFF61BF, // Large 'setnle' + 'set.nle|g'
12290    0x80F750B3, // Small 'setno'.
12291    0x0FFF51CF, // Large 'setnp' + 'set.np|po'
12292    0x813750B3, // Small 'setns'.
12293    0x0FFF51DE, // Large 'setnz' + 'set.nz|ne'
12294    0x8007D0B3, // Small 'seto'.
12295    0x0FFF41ED, // Large 'setp' + 'set.p|pe'
12296    0x8009D0B3, // Small 'sets'.
12297    0x121D77F8, // Large 'setssbs|y'.
12298    0x0FFF41FA, // Large 'setz' + 'set.z|e'
12299    0x8A3714D3, // Small 'sfence'.
12300    0x800A10F3, // Small 'sgdt'.
12301    0x447E460F, // Large 'sha1|msg1'.
12302    0x4482460F, // Large 'sha1|msg2'.
12303    0x22FD760F, // Large 'sha1nex|te'.
12304    0x12348616, // Large 'sha1rnds|4'.
12305    0x447E6393, // Large 'sha256|msg1'.
12306    0x44826393, // Large 'sha256|msg2'.
12307    0x22839393, // Large 'sha256rnd|s2'.
12308    0x80003113, // Small 'shl'.
12309    0x80023113, // Small 'shld'.
12310    0x800C3113, // Small 'shlx'.
12311    0x80004913, // Small 'shr'.
12312    0x80024913, // Small 'shrd'.
12313    0x800C4913, // Small 'shrx'.
12314    0x89035513, // Small 'shufpd'.
12315    0xA7035513, // Small 'shufps'.
12316    0x800A1133, // Small 'sidt'.
12317    0xA8972573, // Small 'skinit'.
12318    0x800A1193, // Small 'sldt'.
12319    0x84385D93, // Small 'slwpcb'.
12320    0x800BCDB3, // Small 'smsw'.
12321    0x890A4A33, // Small 'sqrtpd'.
12322    0xA70A4A33, // Small 'sqrtps'.
12323    0x893A4A33, // Small 'sqrtsd'.
12324    0xA73A4A33, // Small 'sqrtss'.
12325    0x80018693, // Small 'stac'.
12326    0x80000E93, // Small 'stc'.
12327    0x80001293, // Small 'std'.
12328    0x80049E93, // Small 'stgi'.
12329    0x80002693, // Small 'sti'.
12330    0x122868AD, // Large 'stmxcs|r'.
12331    0x8009BE93, // Small 'stos'.
12332    0x80004A93, // Small 'str'.
12333    0x1031861E, // Large 'sttilecf|g'.
12334    0x8004D693, // Small 'stui'.
12335    0x80000AB3, // Small 'sub'.
12336    0x80480AB3, // Small 'subpd'.
12337    0x81380AB3, // Small 'subps'.
12338    0x80498AB3, // Small 'subsd'.
12339    0x81398AB3, // Small 'subss'.
12340    0xA67806F3, // Small 'swapgs'.
12341    0x38B9494E, // Large 'sysc|all'.
12342    0x42FC47FF, // Large 'syse|nter'.
12343    0x236B5803, // Large 'sysex|it'.
12344    0x336B5803, // Large 'sysex|itq'.
12345    0xA8594F33, // Small 'sysret'.
12346    0x236C5952, // Large 'sysre|tq'.
12347    0x86B9B794, // Small 't1mskc'.
12348    0x2282A304, // Large 'tcmmimfp16|ps'.
12349    0x2282A30E, // Large 'tcmmrlfp16|ps'.
12350    0x98C08C94, // Small 'tdcall'.
12351    0x22827626, // Large 'tdpbf16|ps'.
12352    0x331C4626, // Large 'tdpb|ssd'.
12353    0x36D84626, // Large 'tdpb|sud'.
12354    0x231D5957, // Large 'tdpbu|sd'.
12355    0x23CE5957, // Large 'tdpbu|ud'.
12356    0x2282762D, // Large 'tdpfp16|ps'.
12357    0x800A4CB4, // Small 'test'.
12358    0x935A4CB4, // Small 'testui'.
12359    0x0000939C, // Large 'tileloadd'.
12360    0x2387939C, // Large 'tileloadd|t1'.
12361    0x317083A5, // Large 'tilerele|ase'.
12362    0x122B94A8, // Large 'tilestore|d'.
12363    0x4599439C, // Large 'tile|zero'.
12364    0x2056595C, // Large 'tlbsy|nc'.
12365    0x8B3A8614, // Small 'tpause'.
12366    0x81470F54, // Small 'tzcnt'.
12367    0x80B9B754, // Small 'tzmsk'.
12368    0x231D58B4, // Large 'ucomi|sd'.
12369    0x222258B4, // Large 'ucomi|ss'.
12370    0x80006C95, // Small 'ud0'.
12371    0x80007095, // Small 'ud1'.
12372    0x80007495, // Small 'ud2'.
12373    0x8142C935, // Small 'uiret'.
12374    0x67C92808, // Large 'um|onitor'.
12375    0xA890DDB5, // Small 'umwait'.
12376    0x22AC645B, // Large 'unpckh|pd'.
12377    0x2282645B, // Large 'unpckh|ps'.
12378    0x3763545B, // Large 'unpck|lpd'.
12379    0x3766545B, // Large 'unpck|lps'.
12380    0x89021036, // Small 'vaddpd'.
12381    0x91021036, // Small 'vaddph'.
12382    0xA7021036, // Small 'vaddps'.
12383    0x89321036, // Small 'vaddsd'.
12384    0x91321036, // Small 'vaddsh'.
12385    0xA7321036, // Small 'vaddss'.
12386    0x22AC7634, // Large 'vaddsub|pd'.
12387    0x22827634, // Large 'vaddsub|ps'.
12388    0x000073AD, // Large 'vaesdec'.
12389    0x322D83AD, // Large 'vaesdecl|ast'.
12390    0x000073B5, // Large 'vaesenc'.
12391    0x322D83B5, // Large 'vaesencl|ast'.
12392    0x27EE5961, // Large 'vaesi|mc'.
12393    0x1154F217, // Large 'vaeskeygenassis|t'.
12394    0x23765966, // Large 'valig|nd'.
12395    0x28DF5966, // Large 'valig|nq'.
12396    0x22AC596B, // Large 'vandn|pd'.
12397    0x2282596B, // Large 'vandn|ps'.
12398    0x89023836, // Small 'vandpd'.
12399    0xA7023836, // Small 'vandps'.
12400    0x1152D267, // Large 'vbcstnebf162p|s'.
12401    0x53187267, // Large 'vbcstne|sh2ps'.
12402    0x22AC763B, // Large 'vblendm|pd'.
12403    0x2282763B, // Large 'vblendm|ps'.
12404    0x22AC663B, // Large 'vblend|pd'.
12405    0x2282663B, // Large 'vblend|ps'.
12406    0x3642663B, // Large 'vblend|vpd'.
12407    0x3364663B, // Large 'vblend|vps'.
12408    0x3274B226, // Large 'vbroadcastf|128'.
12409    0x1209E226, // Large 'vbroadcastf32x|2'.
12410    0x1234E226, // Large 'vbroadcastf32x|4'.
12411    0x120BE226, // Large 'vbroadcastf32x|8'.
12412    0x4235B226, // Large 'vbroadcastf|64x2'.
12413    0x4239B226, // Large 'vbroadcastf|64x4'.
12414    0x4277A226, // Large 'vbroadcast|i128'.
12415    0x523DA226, // Large 'vbroadcast|i32x2'.
12416    0x5242A226, // Large 'vbroadcast|i32x4'.
12417    0x5247A226, // Large 'vbroadcast|i32x8'.
12418    0x524CA226, // Large 'vbroadcast|i64x2'.
12419    0x5251A226, // Large 'vbroadcast|i64x4'.
12420    0x231DA226, // Large 'vbroadcast|sd'.
12421    0x2222A226, // Large 'vbroadcast|ss'.
12422    0x89083476, // Small 'vcmppd'.
12423    0x91083476, // Small 'vcmpph'.
12424    0xA7083476, // Small 'vcmpps'.
12425    0x89383476, // Small 'vcmpsd'.
12426    0x91383476, // Small 'vcmpsh'.
12427    0xA7383476, // Small 'vcmpss'.
12428    0x231D5970, // Large 'vcomi|sd'.
12429    0x22DA5970, // Large 'vcomi|sh'.
12430    0x22225970, // Large 'vcomi|ss'.
12431    0x22AC93BD, // Large 'vcompress|pd'.
12432    0x228293BD, // Large 'vcompress|ps'.
12433    0x22AC7645, // Large 'vcvtdq2|pd'.
12434    0x22A77645, // Large 'vcvtdq2|ph'.
12435    0x22827645, // Large 'vcvtdq2|ps'.
12436    0x426EA27B, // Large 'vcvtne2ps2|bf16'.
12437    0x3281B285, // Large 'vcvtneebf16|2ps'.
12438    0x531F7285, // Large 'vcvtnee|ph2ps'.
12439    0x3281B290, // Large 'vcvtneobf16|2ps'.
12440    0x531F7290, // Large 'vcvtneo|ph2ps'.
12441    0x426E92DF, // Large 'vcvtneps2|bf16'.
12442    0x34E164B1, // Large 'vcvtpd|2dq'.
12443    0x32A664B1, // Large 'vcvtpd|2ph'.
12444    0x328164B1, // Large 'vcvtpd|2ps'.
12445    0x34E464B1, // Large 'vcvtpd|2qq'.
12446    0x63CB427B, // Large 'vcvt|pd2udq'.
12447    0x43D964B1, // Large 'vcvtpd|2uqq'.
12448    0x23CF74B7, // Large 'vcvtph2|dq'.
12449    0x122B84B7, // Large 'vcvtph2p|d'.
12450    0x000094B7, // Large 'vcvtph2ps'.
12451    0x123394B7, // Large 'vcvtph2ps|x'.
12452    0x23D074B7, // Large 'vcvtph2|qq'.
12453    0x33CE74B7, // Large 'vcvtph2|udq'.
12454    0x33DA74B7, // Large 'vcvtph2|uqq'.
12455    0x264C74B7, // Large 'vcvtph2|uw'.
12456    0x126474B7, // Large 'vcvtph2|w'.
12457    0x23CF74C0, // Large 'vcvtps2|dq'.
12458    0x122B84C0, // Large 'vcvtps2p|d'.
12459    0x000094C0, // Large 'vcvtps2ph'.
12460    0x123394C0, // Large 'vcvtps2ph|x'.
12461    0x23D074C0, // Large 'vcvtps2|qq'.
12462    0x33CE74C0, // Large 'vcvtps2|udq'.
12463    0x33DA74C0, // Large 'vcvtps2|uqq'.
12464    0x22AC764E, // Large 'vcvtqq2|pd'.
12465    0x22A7764E, // Large 'vcvtqq2|ph'.
12466    0x2282764E, // Large 'vcvtqq2|ps'.
12467    0x22DA74C9, // Large 'vcvtsd2|sh'.
12468    0x222374C9, // Large 'vcvtsd2|si'.
12469    0x222274C9, // Large 'vcvtsd2|ss'.
12470    0x222384C9, // Large 'vcvtsd2u|si'.
12471    0x231D74D1, // Large 'vcvtsh2|sd'.
12472    0x222374D1, // Large 'vcvtsh2|si'.
12473    0x222274D1, // Large 'vcvtsh2|ss'.
12474    0x222384D1, // Large 'vcvtsh2u|si'.
12475    0x231D7655, // Large 'vcvtsi2|sd'.
12476    0x22DA7655, // Large 'vcvtsi2|sh'.
12477    0x22227655, // Large 'vcvtsi2|ss'.
12478    0x231D74D9, // Large 'vcvtss2|sd'.
12479    0x22DA74D9, // Large 'vcvtss2|sh'.
12480    0x222374D9, // Large 'vcvtss2|si'.
12481    0x222384D9, // Large 'vcvtss2u|si'.
12482    0x23CF83C6, // Large 'vcvttpd2|dq'.
12483    0x23D083C6, // Large 'vcvttpd2|qq'.
12484    0x1215A3C6, // Large 'vcvttpd2ud|q'.
12485    0x23D093C6, // Large 'vcvttpd2u|qq'.
12486    0x23CF83D2, // Large 'vcvttph2|dq'.
12487    0x23D083D2, // Large 'vcvttph2|qq'.
12488    0x43CD73D2, // Large 'vcvttph|2udq'.
12489    0x43D973D2, // Large 'vcvttph|2uqq'.
12490    0x126493D2, // Large 'vcvttph2u|w'.
12491    0x126483D2, // Large 'vcvttph2|w'.
12492    0x34E173DD, // Large 'vcvttps|2dq'.
12493    0x34E473DD, // Large 'vcvttps|2qq'.
12494    0x43CD73DD, // Large 'vcvttps|2udq'.
12495    0x43D973DD, // Large 'vcvttps|2uqq'.
12496    0x222383E4, // Large 'vcvttsd2|si'.
12497    0x222393E4, // Large 'vcvttsd2u|si'.
12498    0x222383ED, // Large 'vcvttsh2|si'.
12499    0x222393ED, // Large 'vcvttsh2u|si'.
12500    0x222383F6, // Large 'vcvttss2|si'.
12501    0x222393F6, // Large 'vcvttss2u|si'.
12502    0x22AC84E7, // Large 'vcvtudq2|pd'.
12503    0x22A784E7, // Large 'vcvtudq2|ph'.
12504    0x228284E7, // Large 'vcvtudq2|ps'.
12505    0x22AC84EF, // Large 'vcvtuqq2|pd'.
12506    0x22A784EF, // Large 'vcvtuqq2|ph'.
12507    0x228284EF, // Large 'vcvtuqq2|ps'.
12508    0x231D84F7, // Large 'vcvtusi2|sd'.
12509    0x22DA84F7, // Large 'vcvtusi2|sh'.
12510    0x222284F7, // Large 'vcvtusi2|ss'.
12511    0x32A6665C, // Large 'vcvtuw|2ph'.
12512    0x32A6580A, // Large 'vcvtw|2ph'.
12513    0x25787662, // Large 'vdbpsad|bw'.
12514    0x890B2496, // Small 'vdivpd'.
12515    0x910B2496, // Small 'vdivph'.
12516    0xA70B2496, // Small 'vdivps'.
12517    0x893B2496, // Small 'vdivsd'.
12518    0x913B2496, // Small 'vdivsh'.
12519    0xA73B2496, // Small 'vdivss'.
12520    0x22827669, // Large 'vdpbf16|ps'.
12521    0x80484096, // Small 'vdppd'.
12522    0x81384096, // Small 'vdpps'.
12523    0x800948B6, // Small 'verr'.
12524    0x800BC8B6, // Small 'verw'.
12525    0x22AC7670, // Large 'vexpand|pd'.
12526    0x22827670, // Large 'vexpand|ps'.
12527    0x327492EF, // Large 'vextractf|128'.
12528    0x622F72E8, // Large 'vextrac|tf32x4'.
12529    0x424892EF, // Large 'vextractf|32x8'.
12530    0x423592EF, // Large 'vextractf|64x2'.
12531    0x423992EF, // Large 'vextractf|64x4'.
12532    0x427782EF, // Large 'vextract|i128'.
12533    0x524282EF, // Large 'vextract|i32x4'.
12534    0x524782EF, // Large 'vextract|i32x8'.
12535    0x524C82EF, // Large 'vextract|i64x2'.
12536    0x525182EF, // Large 'vextract|i64x4'.
12537    0x228282EF, // Large 'vextract|ps'.
12538    0x22A784FF, // Large 'vfcmaddc|ph'.
12539    0x22DA84FF, // Large 'vfcmaddc|sh'.
12540    0x22A77677, // Large 'vfcmulc|ph'.
12541    0x22DA7677, // Large 'vfcmulc|sh'.
12542    0x22AC93FF, // Large 'vfixupimm|pd'.
12543    0x228293FF, // Large 'vfixupimm|ps'.
12544    0x231D93FF, // Large 'vfixupimm|sd'.
12545    0x222293FF, // Large 'vfixupimm|ss'.
12546    0x22AC9408, // Large 'vfmadd132|pd'.
12547    0x22A79408, // Large 'vfmadd132|ph'.
12548    0x22829408, // Large 'vfmadd132|ps'.
12549    0x231D9408, // Large 'vfmadd132|sd'.
12550    0x22DA9408, // Large 'vfmadd132|sh'.
12551    0x22229408, // Large 'vfmadd132|ss'.
12552    0x52A9629B, // Large 'vfmadd|213pd'.
12553    0x52AE629B, // Large 'vfmadd|213ph'.
12554    0x52B3629B, // Large 'vfmadd|213ps'.
12555    0x532E629B, // Large 'vfmadd|213sd'.
12556    0x5333629B, // Large 'vfmadd|213sh'.
12557    0x5338629B, // Large 'vfmadd|213ss'.
12558    0x52B8629B, // Large 'vfmadd|231pd'.
12559    0x52BD629B, // Large 'vfmadd|231ph'.
12560    0x52C2629B, // Large 'vfmadd|231ps'.
12561    0x533D629B, // Large 'vfmadd|231sd'.
12562    0x5342629B, // Large 'vfmadd|231sh'.
12563    0x5347629B, // Large 'vfmadd|231ss'.
12564    0x367E629B, // Large 'vfmadd|cph'.
12565    0x3681629B, // Large 'vfmadd|csh'.
12566    0x22AC629B, // Large 'vfmadd|pd'.
12567    0x2282629B, // Large 'vfmadd|ps'.
12568    0x122B729B, // Large 'vfmadds|d'.
12569    0x1152729B, // Large 'vfmadds|s'.
12570    0x122BD29B, // Large 'vfmaddsub132p|d'.
12571    0x12A8D29B, // Large 'vfmaddsub132p|h'.
12572    0x1152D29B, // Large 'vfmaddsub132p|s'.
12573    0x52A9929B, // Large 'vfmaddsub|213pd'.
12574    0x52AE929B, // Large 'vfmaddsub|213ph'.
12575    0x52B3929B, // Large 'vfmaddsub|213ps'.
12576    0x52B8929B, // Large 'vfmaddsub|231pd'.
12577    0x52BD929B, // Large 'vfmaddsub|231ph'.
12578    0x52C2929B, // Large 'vfmaddsub|231ps'.
12579    0x22AC929B, // Large 'vfmaddsub|pd'.
12580    0x2282929B, // Large 'vfmaddsub|ps'.
12581    0x22AC9411, // Large 'vfmsub132|pd'.
12582    0x22A79411, // Large 'vfmsub132|ph'.
12583    0x22829411, // Large 'vfmsub132|ps'.
12584    0x231D9411, // Large 'vfmsub132|sd'.
12585    0x22DA9411, // Large 'vfmsub132|sh'.
12586    0x22229411, // Large 'vfmsub132|ss'.
12587    0x52A962C7, // Large 'vfmsub|213pd'.
12588    0x52AE62C7, // Large 'vfmsub|213ph'.
12589    0x52B362C7, // Large 'vfmsub|213ps'.
12590    0x532E62C7, // Large 'vfmsub|213sd'.
12591    0x533362C7, // Large 'vfmsub|213sh'.
12592    0x533862C7, // Large 'vfmsub|213ss'.
12593    0x52B862C7, // Large 'vfmsub|231pd'.
12594    0x52BD62C7, // Large 'vfmsub|231ph'.
12595    0x52C262C7, // Large 'vfmsub|231ps'.
12596    0x533D62C7, // Large 'vfmsub|231sd'.
12597    0x534262C7, // Large 'vfmsub|231sh'.
12598    0x534762C7, // Large 'vfmsub|231ss'.
12599    0x22ACC2C7, // Large 'vfmsubadd132|pd'.
12600    0x22A7C2C7, // Large 'vfmsubadd132|ph'.
12601    0x2282C2C7, // Large 'vfmsubadd132|ps'.
12602    0x52A992C7, // Large 'vfmsubadd|213pd'.
12603    0x52AE92C7, // Large 'vfmsubadd|213ph'.
12604    0x52B392C7, // Large 'vfmsubadd|213ps'.
12605    0x52B892C7, // Large 'vfmsubadd|231pd'.
12606    0x52BD92C7, // Large 'vfmsubadd|231ph'.
12607    0x52C292C7, // Large 'vfmsubadd|231ps'.
12608    0x22AC92C7, // Large 'vfmsubadd|pd'.
12609    0x228292C7, // Large 'vfmsubadd|ps'.
12610    0x22AC62C7, // Large 'vfmsub|pd'.
12611    0x228262C7, // Large 'vfmsub|ps'.
12612    0x231D62C7, // Large 'vfmsub|sd'.
12613    0x222262C7, // Large 'vfmsub|ss'.
12614    0x367E580F, // Large 'vfmul|cph'.
12615    0x3681580F, // Large 'vfmul|csh'.
12616    0x22ACA324, // Large 'vfnmadd132|pd'.
12617    0x22A7A324, // Large 'vfnmadd132|ph'.
12618    0x2282A324, // Large 'vfnmadd132|ps'.
12619    0x231DA324, // Large 'vfnmadd132|sd'.
12620    0x22DAA324, // Large 'vfnmadd132|sh'.
12621    0x2222A324, // Large 'vfnmadd132|ss'.
12622    0x52A97324, // Large 'vfnmadd|213pd'.
12623    0x52AE7324, // Large 'vfnmadd|213ph'.
12624    0x52B37324, // Large 'vfnmadd|213ps'.
12625    0x532E7324, // Large 'vfnmadd|213sd'.
12626    0x53337324, // Large 'vfnmadd|213sh'.
12627    0x53387324, // Large 'vfnmadd|213ss'.
12628    0x52B87324, // Large 'vfnmadd|231pd'.
12629    0x52BD7324, // Large 'vfnmadd|231ph'.
12630    0x52C27324, // Large 'vfnmadd|231ps'.
12631    0x533D7324, // Large 'vfnmadd|231sd'.
12632    0x53427324, // Large 'vfnmadd|231sh'.
12633    0x53477324, // Large 'vfnmadd|231ss'.
12634    0x22AC7324, // Large 'vfnmadd|pd'.
12635    0x22827324, // Large 'vfnmadd|ps'.
12636    0x231D7324, // Large 'vfnmadd|sd'.
12637    0x22227324, // Large 'vfnmadd|ss'.
12638    0x22ACA34C, // Large 'vfnmsub132|pd'.
12639    0x22A7A34C, // Large 'vfnmsub132|ph'.
12640    0x2282A34C, // Large 'vfnmsub132|ps'.
12641    0x231DA34C, // Large 'vfnmsub132|sd'.
12642    0x22DAA34C, // Large 'vfnmsub132|sh'.
12643    0x2222A34C, // Large 'vfnmsub132|ss'.
12644    0x52A9734C, // Large 'vfnmsub|213pd'.
12645    0x52AE734C, // Large 'vfnmsub|213ph'.
12646    0x52B3734C, // Large 'vfnmsub|213ps'.
12647    0x532E734C, // Large 'vfnmsub|213sd'.
12648    0x5333734C, // Large 'vfnmsub|213sh'.
12649    0x5338734C, // Large 'vfnmsub|213ss'.
12650    0x52B8734C, // Large 'vfnmsub|231pd'.
12651    0x52BD734C, // Large 'vfnmsub|231ph'.
12652    0x52C2734C, // Large 'vfnmsub|231ps'.
12653    0x533D734C, // Large 'vfnmsub|231sd'.
12654    0x5342734C, // Large 'vfnmsub|231sh'.
12655    0x5347734C, // Large 'vfnmsub|231ss'.
12656    0x22AC734C, // Large 'vfnmsub|pd'.
12657    0x2282734C, // Large 'vfnmsub|ps'.
12658    0x231D734C, // Large 'vfnmsub|sd'.
12659    0x2222734C, // Large 'vfnmsub|ss'.
12660    0x22AC8507, // Large 'vfpclass|pd'.
12661    0x22A78507, // Large 'vfpclass|ph'.
12662    0x22828507, // Large 'vfpclass|ps'.
12663    0x231D8507, // Large 'vfpclass|sd'.
12664    0x22DA8507, // Large 'vfpclass|sh'.
12665    0x22228507, // Large 'vfpclass|ss'.
12666    0x22AC5975, // Large 'vfrcz|pd'.
12667    0x22825975, // Large 'vfrcz|ps'.
12668    0x231D5975, // Large 'vfrcz|sd'.
12669    0x22225975, // Large 'vfrcz|ss'.
12670    0x22AC850F, // Large 'vgatherd|pd'.
12671    0x2282850F, // Large 'vgatherd|ps'.
12672    0x3478750F, // Large 'vgather|qpd'.
12673    0x347B750F, // Large 'vgather|qps'.
12674    0x22AC7684, // Large 'vgetexp|pd'.
12675    0x22A77684, // Large 'vgetexp|ph'.
12676    0x22827684, // Large 'vgetexp|ps'.
12677    0x231D7684, // Large 'vgetexp|sd'.
12678    0x22DA7684, // Large 'vgetexp|sh'.
12679    0x22227684, // Large 'vgetexp|ss'.
12680    0x33CA7517, // Large 'vgetman|tpd'.
12681    0x33D67517, // Large 'vgetman|tph'.
12682    0x33E17517, // Large 'vgetman|tps'.
12683    0x33E87517, // Large 'vgetman|tsd'.
12684    0x33F17517, // Large 'vgetman|tsh'.
12685    0x33FA7517, // Large 'vgetman|tss'.
12686    0x2215F206, // Large 'vgf2p8affineinv|qb'.
12687    0x2215C206, // Large 'vgf2p8affine|qb'.
12688    0x451E6206, // Large 'vgf2p8|mulb'.
12689    0x22AC597A, // Large 'vhadd|pd'.
12690    0x2282597A, // Large 'vhadd|ps'.
12691    0x22AC597F, // Large 'vhsub|pd'.
12692    0x2282597F, // Large 'vhsub|ps'.
12693    0x3274835C, // Large 'vinsertf|128'.
12694    0x622F6356, // Large 'vinser|tf32x4'.
12695    0x4248835C, // Large 'vinsertf|32x8'.
12696    0x4235835C, // Large 'vinsertf|64x2'.
12697    0x4239835C, // Large 'vinsertf|64x4'.
12698    0x4277735C, // Large 'vinsert|i128'.
12699    0x5242735C, // Large 'vinsert|i32x4'.
12700    0x5247735C, // Large 'vinsert|i32x8'.
12701    0x524C735C, // Large 'vinsert|i64x2'.
12702    0x5251735C, // Large 'vinsert|i64x4'.
12703    0x2282735C, // Large 'vinsert|ps'.
12704    0xAB121196, // Small 'vlddqu'.
12705    0x12287814, // Large 'vldmxcs|r'.
12706    0x12A2A41A, // Large 'vmaskmovdq|u'.
12707    0x22AC841A, // Large 'vmaskmov|pd'.
12708    0x2282841A, // Large 'vmaskmov|ps'.
12709    0x890C05B6, // Small 'vmaxpd'.
12710    0x910C05B6, // Small 'vmaxph'.
12711    0xA70C05B6, // Small 'vmaxps'.
12712    0x893C05B6, // Small 'vmaxsd'.
12713    0x913C05B6, // Small 'vmaxsh'.
12714    0xA73C05B6, // Small 'vmaxss'.
12715    0x98C08DB6, // Small 'vmcall'.
12716    0x25F95984, // Large 'vmcle|ar'.
12717    0x86EA99B6, // Small 'vmfunc'.
12718    0x236B5989, // Large 'vmgex|it'.
12719    0x890725B6, // Small 'vminpd'.
12720    0x910725B6, // Small 'vminph'.
12721    0xA70725B6, // Small 'vminps'.
12722    0x893725B6, // Small 'vminsd'.
12723    0x913725B6, // Small 'vminsh'.
12724    0xA73725B6, // Small 'vminss'.
12725    0x237E681B, // Large 'vmlaun|ch'.
12726    0x8817B1B6, // Small 'vmload'.
12727    0x38B9498E, // Large 'vmmc|all'.
12728    0x22AC5992, // Large 'vmova|pd'.
12729    0x22825992, // Large 'vmova|ps'.
12730    0x804B3DB6, // Small 'vmovd'.
12731    0x3821568B, // Large 'vmovd|dup'.
12732    0x0000768B, // Large 'vmovdqa'.
12733    0x2231768B, // Large 'vmovdqa|32'.
12734    0x2235768B, // Large 'vmovdqa|64'.
12735    0x12A2668B, // Large 'vmovdq|u'.
12736    0x3692668B, // Large 'vmovdq|u16'.
12737    0x3695668B, // Large 'vmovdq|u32'.
12738    0x3698668B, // Large 'vmovdq|u64'.
12739    0x2824668B, // Large 'vmovdq|u8'.
12740    0x37665826, // Large 'vmovh|lps'.
12741    0x22AC5826, // Large 'vmovh|pd'.
12742    0x22825826, // Large 'vmovh|ps'.
12743    0x2282682B, // Large 'vmovlh|ps'.
12744    0x22AC582B, // Large 'vmovl|pd'.
12745    0x2282582B, // Large 'vmovl|ps'.
12746    0x22AC769B, // Large 'vmovmsk|pd'.
12747    0x2282769B, // Large 'vmovmsk|ps'.
12748    0x23CF66A2, // Large 'vmovnt|dq'.
12749    0x368F66A2, // Large 'vmovnt|dqa'.
12750    0x22AC66A2, // Large 'vmovnt|pd'.
12751    0x228266A2, // Large 'vmovnt|ps'.
12752    0x811B3DB6, // Small 'vmovq'.
12753    0x893B3DB6, // Small 'vmovsd'.
12754    0x913B3DB6, // Small 'vmovsh'.
12755    0x240376A8, // Large 'vmovshd|up'.
12756    0x240376AF, // Large 'vmovsld|up'.
12757    0xA73B3DB6, // Small 'vmovss'.
12758    0x3604468B, // Large 'vmov|upd'.
12759    0x22825997, // Large 'vmovu|ps'.
12760    0x817B3DB6, // Small 'vmovw'.
12761    0x25786831, // Large 'vmpsad|bw'.
12762    0x35E2499C, // Large 'vmpt|rld'.
12763    0x35DE499C, // Large 'vmpt|rst'.
12764    0x8812C9B6, // Small 'vmread'.
12765    0x100F7837, // Large 'vmresum|e'.
12766    0x80EAC9B6, // Small 'vmrun'.
12767    0x8B60CDB6, // Small 'vmsave'.
12768    0x890655B6, // Small 'vmulpd'.
12769    0x910655B6, // Small 'vmulph'.
12770    0xA70655B6, // Small 'vmulps'.
12771    0x893655B6, // Small 'vmulsd'.
12772    0x913655B6, // Small 'vmulsh'.
12773    0xA73655B6, // Small 'vmulss'.
12774    0x22FD59A0, // Large 'vmwri|te'.
12775    0x8C67E1B6, // Small 'vmxoff'.
12776    0x80E7E1B6, // Small 'vmxon'.
12777    0x804849F6, // Small 'vorpd'.
12778    0x813849F6, // Small 'vorps'.
12779    0x122BC2F8, // Large 'vp2intersect|d'.
12780    0x1215C2F8, // Large 'vp2intersect|q'.
12781    0x85310616, // Small 'vpabsb'.
12782    0x89310616, // Small 'vpabsd'.
12783    0xA3310616, // Small 'vpabsq'.
12784    0xAF310616, // Small 'vpabsw'.
12785    0x126486B6, // Large 'vpackssd|w'.
12786    0x26BE76B6, // Large 'vpackss|wb'.
12787    0x36BC66C0, // Large 'vpacku|sdw'.
12788    0x36C666C0, // Large 'vpacku|swb'.
12789    0x84420616, // Small 'vpaddb'.
12790    0x88420616, // Small 'vpaddd'.
12791    0xA2420616, // Small 'vpaddq'.
12792    0x2786583E, // Large 'vpadd|sb'.
12793    0x2561583E, // Large 'vpadd|sw'.
12794    0x2786683E, // Large 'vpaddu|sb'.
12795    0x2561683E, // Large 'vpaddu|sw'.
12796    0xAE420616, // Small 'vpaddw'.
12797    0x12287844, // Large 'vpalign|r'.
12798    0x80470616, // Small 'vpand'.
12799    0x88470616, // Small 'vpandd'.
12800    0x9C470616, // Small 'vpandn'.
12801    0x237659A5, // Large 'vpand|nd'.
12802    0x28DF59A5, // Large 'vpand|nq'.
12803    0xA2470616, // Small 'vpandq'.
12804    0x847B0616, // Small 'vpavgb'.
12805    0xAE7B0616, // Small 'vpavgw'.
12806    0x122B76C9, // Large 'vpblend|d'.
12807    0x226176C9, // Large 'vpblend|mb'.
12808    0x26D076C9, // Large 'vpblend|md'.
12809    0x121586C9, // Large 'vpblendm|q'.
12810    0x126486C9, // Large 'vpblendm|w'.
12811    0x200376C9, // Large 'vpblend|vb'.
12812    0x126476C9, // Large 'vpblend|w'.
12813    0x1004B256, // Large 'vpbroadcast|b'.
12814    0x122BB256, // Large 'vpbroadcast|d'.
12815    0x1215E256, // Large 'vpbroadcastmb2|q'.
12816    0x3264C256, // Large 'vpbroadcastm|w2d'.
12817    0x1215B256, // Large 'vpbroadcast|q'.
12818    0x1264B256, // Large 'vpbroadcast|w'.
12819    0x44626522, // Large 'vpclmu|lqdq'.
12820    0xACF68E16, // Small 'vpcmov'.
12821    0x85068E16, // Small 'vpcmpb'.
12822    0x89068E16, // Small 'vpcmpd'.
12823    0x22156528, // Large 'vpcmpe|qb'.
12824    0x24576528, // Large 'vpcmpe|qd'.
12825    0x23D06528, // Large 'vpcmpe|qq'.
12826    0x27256528, // Large 'vpcmpe|qw'.
12827    0x120F9528, // Large 'vpcmpestr|i'.
12828    0x10019528, // Large 'vpcmpestr|m'.
12829    0x384B5528, // Large 'vpcmp|gtb'.
12830    0x384E5528, // Large 'vpcmp|gtd'.
12831    0x38515528, // Large 'vpcmp|gtq'.
12832    0x38545528, // Large 'vpcmp|gtw'.
12833    0x120F9531, // Large 'vpcmpistr|i'.
12834    0x10019531, // Large 'vpcmpistr|m'.
12835    0xA3068E16, // Small 'vpcmpq'.
12836    0x22A25528, // Large 'vpcmp|ub'.
12837    0x23CE5528, // Large 'vpcmp|ud'.
12838    0x23DA5528, // Large 'vpcmp|uq'.
12839    0x264C5528, // Large 'vpcmp|uw'.
12840    0xAF068E16, // Small 'vpcmpw'.
12841    0x84D78E16, // Small 'vpcomb'.
12842    0x88D78E16, // Small 'vpcomd'.
12843    0x1004A424, // Large 'vpcompress|b'.
12844    0x122BA424, // Large 'vpcompress|d'.
12845    0x1215A424, // Large 'vpcompress|q'.
12846    0x1264A424, // Large 'vpcompress|w'.
12847    0xA2D78E16, // Small 'vpcomq'.
12848    0x22A25424, // Large 'vpcom|ub'.
12849    0x23CE5424, // Large 'vpcom|ud'.
12850    0x23DA5424, // Large 'vpcom|uq'.
12851    0x264C5424, // Large 'vpcom|uw'.
12852    0xAED78E16, // Small 'vpcomw'.
12853    0x122BA42E, // Large 'vpconflict|d'.
12854    0x1215A42E, // Large 'vpconflict|q'.
12855    0x122B76D2, // Large 'vpdpbss|d'.
12856    0x22A076D2, // Large 'vpdpbss|ds'.
12857    0x23CE66D2, // Large 'vpdpbs|ud'.
12858    0x36D966D2, // Large 'vpdpbs|uds'.
12859    0x122B76DC, // Large 'vpdpbus|d'.
12860    0x22A076DC, // Large 'vpdpbus|ds'.
12861    0x23CE66DC, // Large 'vpdpbu|ud'.
12862    0x36D966DC, // Large 'vpdpbu|uds'.
12863    0x122B76E3, // Large 'vpdpwss|d'.
12864    0x22A076E3, // Large 'vpdpwss|ds'.
12865    0x23CE66E3, // Large 'vpdpws|ud'.
12866    0x36D966E3, // Large 'vpdpws|uds'.
12867    0x122B76EA, // Large 'vpdpwus|d'.
12868    0x22A076EA, // Large 'vpdpwus|ds'.
12869    0x23CE66EA, // Large 'vpdpwu|ud'.
12870    0x36D966EA, // Large 'vpdpwu|uds'.
12871    0x3274753A, // Large 'vperm2f|128'.
12872    0x4277653A, // Large 'vperm2|i128'.
12873    0x84D91616, // Small 'vpermb'.
12874    0x88D91616, // Small 'vpermd'.
12875    0x28576541, // Large 'vpermi|2b'.
12876    0x22656541, // Large 'vpermi|2d'.
12877    0x36F16541, // Large 'vpermi|2pd'.
12878    0x32816541, // Large 'vpermi|2ps'.
12879    0x24E46541, // Large 'vpermi|2q'.
12880    0x22636541, // Large 'vpermi|2w'.
12881    0x22AC8541, // Large 'vpermil2|pd'.
12882    0x22828541, // Large 'vpermil2|ps'.
12883    0x22AC7541, // Large 'vpermil|pd'.
12884    0x22827541, // Large 'vpermil|ps'.
12885    0x22AC553A, // Large 'vperm|pd'.
12886    0x2282553A, // Large 'vperm|ps'.
12887    0xA2D91616, // Small 'vpermq'.
12888    0x285766F4, // Large 'vpermt|2b'.
12889    0x226566F4, // Large 'vpermt|2d'.
12890    0x36F166F4, // Large 'vpermt|2pd'.
12891    0x328166F4, // Large 'vpermt|2ps'.
12892    0x24E466F4, // Large 'vpermt|2q'.
12893    0x226366F4, // Large 'vpermt|2w'.
12894    0xAED91616, // Small 'vpermw'.
12895    0x266376FA, // Large 'vpexpan|db'.
12896    0x229F76FA, // Large 'vpexpan|dd'.
12897    0x23CF76FA, // Large 'vpexpan|dq'.
12898    0x26BD76FA, // Large 'vpexpan|dw'.
12899    0x37BF46FA, // Large 'vpex|trb'.
12900    0x247659AA, // Large 'vpext|rd'.
12901    0x245659AA, // Large 'vpext|rq'.
12902    0x29AF59AA, // Large 'vpext|rw'.
12903    0x229F8549, // Large 'vpgather|dd'.
12904    0x23CF8549, // Large 'vpgather|dq'.
12905    0x24578549, // Large 'vpgather|qd'.
12906    0x23D08549, // Large 'vpgather|qq'.
12907    0x28596701, // Large 'vphadd|bd'.
12908    0x285B6701, // Large 'vphadd|bq'.
12909    0x25786701, // Large 'vphadd|bw'.
12910    0x122B6701, // Large 'vphadd|d'.
12911    0x23CF6701, // Large 'vphadd|dq'.
12912    0x25616701, // Large 'vphadd|sw'.
12913    0x122B8701, // Large 'vphaddub|d'.
12914    0x12158701, // Large 'vphaddub|q'.
12915    0x12648701, // Large 'vphaddub|w'.
12916    0x23CF7701, // Large 'vphaddu|dq'.
12917    0x257A7701, // Large 'vphaddu|wd'.
12918    0x27097701, // Large 'vphaddu|wq'.
12919    0x12646701, // Large 'vphadd|w'.
12920    0x257A6701, // Large 'vphadd|wd'.
12921    0x27096701, // Large 'vphadd|wq'.
12922    0x1264A438, // Large 'vphminposu|w'.
12923    0x2578685D, // Large 'vphsub|bw'.
12924    0x122B685D, // Large 'vphsub|d'.
12925    0x23CF685D, // Large 'vphsub|dq'.
12926    0x2561685D, // Large 'vphsub|sw'.
12927    0x1264685D, // Large 'vphsub|w'.
12928    0x257A685D, // Large 'vphsub|wd'.
12929    0x27C059B1, // Large 'vpins|rb'.
12930    0x247659B1, // Large 'vpins|rd'.
12931    0x245659B1, // Large 'vpins|rq'.
12932    0x29AF59B1, // Large 'vpins|rw'.
12933    0x26266863, // Large 'vplzcn|td'.
12934    0x236C6863, // Large 'vplzcn|tq'.
12935    0x229F6551, // Large 'vpmacs|dd'.
12936    0x370B6551, // Large 'vpmacs|dqh'.
12937    0x35806551, // Large 'vpmacs|dql'.
12938    0x122B8551, // Large 'vpmacssd|d'.
12939    0x12A89551, // Large 'vpmacssdq|h'.
12940    0x10279551, // Large 'vpmacssdq|l'.
12941    0x257A7551, // Large 'vpmacss|wd'.
12942    0x25797551, // Large 'vpmacss|ww'.
12943    0x257A6551, // Large 'vpmacs|wd'.
12944    0x25796551, // Large 'vpmacs|ww'.
12945    0x122B955A, // Large 'vpmadcssw|d'.
12946    0x257A755A, // Large 'vpmadcs|wd'.
12947    0x23DA9442, // Large 'vpmadd52h|uq'.
12948    0x344B8442, // Large 'vpmadd52|luq'.
12949    0x45636442, // Large 'vpmadd|ubsw'.
12950    0x257A6442, // Large 'vpmadd|wd'.
12951    0x641D4442, // Large 'vpma|skmovd'.
12952    0x22148567, // Large 'vpmaskmo|vq'.
12953    0x278659B6, // Large 'vpmax|sb'.
12954    0x231D59B6, // Large 'vpmax|sd'.
12955    0x258759B6, // Large 'vpmax|sq'.
12956    0x256159B6, // Large 'vpmax|sw'.
12957    0x22A259B6, // Large 'vpmax|ub'.
12958    0x23CE59B6, // Large 'vpmax|ud'.
12959    0x23DA59B6, // Large 'vpmax|uq'.
12960    0x264C59B6, // Large 'vpmax|uw'.
12961    0x278659BB, // Large 'vpmin|sb'.
12962    0x231D59BB, // Large 'vpmin|sd'.
12963    0x258759BB, // Large 'vpmin|sq'.
12964    0x256159BB, // Large 'vpmin|sw'.
12965    0x22A259BB, // Large 'vpmin|ub'.
12966    0x23CE59BB, // Large 'vpmin|ud'.
12967    0x23DA59BB, // Large 'vpmin|uq'.
12968    0x264C59BB, // Large 'vpmin|uw'.
12969    0x3869570E, // Large 'vpmov|b2m'.
12970    0x386C570E, // Large 'vpmov|d2m'.
12971    0x2663570E, // Large 'vpmov|db'.
12972    0x26BD570E, // Large 'vpmov|dw'.
12973    0x2857670E, // Large 'vpmovm|2b'.
12974    0x2265670E, // Large 'vpmovm|2d'.
12975    0x24E4670E, // Large 'vpmovm|2q'.
12976    0x2263670E, // Large 'vpmovm|2w'.
12977    0x1004870E, // Large 'vpmovmsk|b'.
12978    0x386F570E, // Large 'vpmov|q2m'.
12979    0x2215570E, // Large 'vpmov|qb'.
12980    0x2457570E, // Large 'vpmov|qd'.
12981    0x2725570E, // Large 'vpmov|qw'.
12982    0x26636716, // Large 'vpmovs|db'.
12983    0x26BD6716, // Large 'vpmovs|dw'.
12984    0x22156716, // Large 'vpmovs|qb'.
12985    0x24576716, // Large 'vpmovs|qd'.
12986    0x27256716, // Large 'vpmovs|qw'.
12987    0x26BE6716, // Large 'vpmovs|wb'.
12988    0x122B8716, // Large 'vpmovsxb|d'.
12989    0x12158716, // Large 'vpmovsxb|q'.
12990    0x12648716, // Large 'vpmovsxb|w'.
12991    0x23CF7716, // Large 'vpmovsx|dq'.
12992    0x257A7716, // Large 'vpmovsx|wd'.
12993    0x27097716, // Large 'vpmovsx|wq'.
12994    0x2663771E, // Large 'vpmovus|db'.
12995    0x26BD771E, // Large 'vpmovus|dw'.
12996    0x2215771E, // Large 'vpmovus|qb'.
12997    0x2457771E, // Large 'vpmovus|qd'.
12998    0x2725771E, // Large 'vpmovus|qw'.
12999    0x26BE771E, // Large 'vpmovus|wb'.
13000    0x3872570E, // Large 'vpmov|w2m'.
13001    0x26BE570E, // Large 'vpmov|wb'.
13002    0x122B8727, // Large 'vpmovzxb|d'.
13003    0x12158727, // Large 'vpmovzxb|q'.
13004    0x12648727, // Large 'vpmovzxb|w'.
13005    0x23CF7727, // Large 'vpmovzx|dq'.
13006    0x257A7727, // Large 'vpmovzx|wd'.
13007    0x27097727, // Large 'vpmovzx|wq'.
13008    0x23CF52D3, // Large 'vpmul|dq'.
13009    0x2561772F, // Large 'vpmulhr|sw'.
13010    0x264C672F, // Large 'vpmulh|uw'.
13011    0x1264672F, // Large 'vpmulh|w'.
13012    0x257F52D3, // Large 'vpmul|ld'.
13013    0x246252D3, // Large 'vpmul|lq'.
13014    0x258252D3, // Large 'vpmul|lw'.
13015    0x2215C2D3, // Large 'vpmultishift|qb'.
13016    0x33CE52D3, // Large 'vpmul|udq'.
13017    0x21546875, // Large 'vpopcn|tb'.
13018    0x26266875, // Large 'vpopcn|td'.
13019    0x236C6875, // Large 'vpopcn|tq'.
13020    0x27B86875, // Large 'vpopcn|tw'.
13021    0x80093E16, // Small 'vpor'.
13022    0x80493E16, // Small 'vpord'.
13023    0x81193E16, // Small 'vporq'.
13024    0x9B22C216, // Small 'vpperm'.
13025    0x88C7CA16, // Small 'vprold'.
13026    0xA2C7CA16, // Small 'vprolq'.
13027    0x242159C0, // Large 'vprol|vd'.
13028    0x221459C0, // Large 'vprol|vq'.
13029    0x8927CA16, // Small 'vprord'.
13030    0xA327CA16, // Small 'vprorq'.
13031    0x242159C5, // Large 'vpror|vd'.
13032    0x221459C5, // Large 'vpror|vq'.
13033    0x8547CA16, // Small 'vprotb'.
13034    0x8947CA16, // Small 'vprotd'.
13035    0xA347CA16, // Small 'vprotq'.
13036    0xAF47CA16, // Small 'vprotw'.
13037    0x257859CA, // Large 'vpsad|bw'.
13038    0x229F944E, // Large 'vpscatter|dd'.
13039    0x23CF944E, // Large 'vpscatter|dq'.
13040    0x2457944E, // Large 'vpscatter|qd'.
13041    0x1215A44E, // Large 'vpscatterq|q'.
13042    0x84144E16, // Small 'vpshab'.
13043    0x88144E16, // Small 'vpshad'.
13044    0xA2144E16, // Small 'vpshaq'.
13045    0xAE144E16, // Small 'vpshaw'.
13046    0x84C44E16, // Small 'vpshlb'.
13047    0x88C44E16, // Small 'vpshld'.
13048    0x122B687B, // Large 'vpshld|d'.
13049    0x1215687B, // Large 'vpshld|q'.
13050    0x3668587B, // Large 'vpshl|dvd'.
13051    0x3880587B, // Large 'vpshl|dvq'.
13052    0x1264787B, // Large 'vpshldv|w'.
13053    0x1264687B, // Large 'vpshld|w'.
13054    0xA2C44E16, // Small 'vpshlq'.
13055    0xAEC44E16, // Small 'vpshlw'.
13056    0x122B6883, // Large 'vpshrd|d'.
13057    0x12156883, // Large 'vpshrd|q'.
13058    0x36685883, // Large 'vpshr|dvd'.
13059    0x38805883, // Large 'vpshr|dvq'.
13060    0x38885883, // Large 'vpshr|dvw'.
13061    0x12646883, // Large 'vpshrd|w'.
13062    0x00007364, // Large 'vpshufb'.
13063    0x2261A364, // Large 'vpshufbitq|mb'.
13064    0x122B6364, // Large 'vpshuf|d'.
13065    0x288B6364, // Large 'vpshuf|hw'.
13066    0x25826364, // Large 'vpshuf|lw'.
13067    0x204859CF, // Large 'vpsig|nb'.
13068    0x237659CF, // Large 'vpsig|nd'.
13069    0x28C159CF, // Large 'vpsig|nw'.
13070    0x88C64E16, // Small 'vpslld'.
13071    0x357F49D4, // Large 'vpsl|ldq'.
13072    0xA2C64E16, // Small 'vpsllq'.
13073    0x242159D8, // Large 'vpsll|vd'.
13074    0x221459D8, // Large 'vpsll|vq'.
13075    0x288959D8, // Large 'vpsll|vw'.
13076    0xAEC64E16, // Small 'vpsllw'.
13077    0x88194E16, // Small 'vpsrad'.
13078    0xA2194E16, // Small 'vpsraq'.
13079    0x242159DD, // Large 'vpsra|vd'.
13080    0x221459DD, // Large 'vpsra|vq'.
13081    0x288959DD, // Large 'vpsra|vw'.
13082    0xAE194E16, // Small 'vpsraw'.
13083    0x88C94E16, // Small 'vpsrld'.
13084    0x357F49DD, // Large 'vpsr|ldq'.
13085    0xA2C94E16, // Small 'vpsrlq'.
13086    0x242159E2, // Large 'vpsrl|vd'.
13087    0x221459E2, // Large 'vpsrl|vq'.
13088    0x288959E2, // Large 'vpsrl|vw'.
13089    0xAEC94E16, // Small 'vpsrlw'.
13090    0x842ACE16, // Small 'vpsubb'.
13091    0x882ACE16, // Small 'vpsubd'.
13092    0xA22ACE16, // Small 'vpsubq'.
13093    0x2786588D, // Large 'vpsub|sb'.
13094    0x2561588D, // Large 'vpsub|sw'.
13095    0x2786688D, // Large 'vpsubu|sb'.
13096    0x2561688D, // Large 'vpsubu|sw'.
13097    0xAE2ACE16, // Small 'vpsubw'.
13098    0x122B956F, // Large 'vpternlog|d'.
13099    0x1215956F, // Large 'vpternlog|q'.
13100    0xA932D216, // Small 'vptest'.
13101    0x22616736, // Large 'vptest|mb'.
13102    0x26D06736, // Large 'vptest|md'.
13103    0x273D6736, // Large 'vptest|mq'.
13104    0x28716736, // Large 'vptest|mw'.
13105    0x22617736, // Large 'vptestn|mb'.
13106    0x26D07736, // Large 'vptestn|md'.
13107    0x273D7736, // Large 'vptestn|mq'.
13108    0x12648736, // Large 'vptestnm|w'.
13109    0x25788459, // Large 'vpunpckh|bw'.
13110    0x23CF8459, // Large 'vpunpckh|dq'.
13111    0x23CF9459, // Large 'vpunpckhq|dq'.
13112    0x257A8459, // Large 'vpunpckh|wd'.
13113    0x357C7459, // Large 'vpunpck|lbw'.
13114    0x357F7459, // Large 'vpunpck|ldq'.
13115    0x44627459, // Large 'vpunpck|lqdq'.
13116    0x35827459, // Large 'vpunpck|lwd'.
13117    0x8127E216, // Small 'vpxor'.
13118    0x8927E216, // Small 'vpxord'.
13119    0xA327E216, // Small 'vpxorq'.
13120    0x22AC6893, // Large 'vrange|pd'.
13121    0x22826893, // Large 'vrange|ps'.
13122    0x231D6893, // Large 'vrange|sd'.
13123    0x22226893, // Large 'vrange|ss'.
13124    0x22AC6899, // Large 'vrcp14|pd'.
13125    0x22826899, // Large 'vrcp14|ps'.
13126    0x231D6899, // Large 'vrcp14|sd'.
13127    0x22226899, // Large 'vrcp14|ss'.
13128    0x91080E56, // Small 'vrcpph'.
13129    0xA7080E56, // Small 'vrcpps'.
13130    0x91380E56, // Small 'vrcpsh'.
13131    0xA7380E56, // Small 'vrcpss'.
13132    0x22AC773F, // Large 'vreduce|pd'.
13133    0x22A7773F, // Large 'vreduce|ph'.
13134    0x2282773F, // Large 'vreduce|ps'.
13135    0x231D773F, // Large 'vreduce|sd'.
13136    0x22DA773F, // Large 'vreduce|sh'.
13137    0x2222773F, // Large 'vreduce|ss'.
13138    0x22AC9466, // Large 'vrndscale|pd'.
13139    0x22A79466, // Large 'vrndscale|ph'.
13140    0x22829466, // Large 'vrndscale|ps'.
13141    0x231D9466, // Large 'vrndscale|sd'.
13142    0x22DA9466, // Large 'vrndscale|sh'.
13143    0x22229466, // Large 'vrndscale|ss'.
13144    0x22AC689F, // Large 'vround|pd'.
13145    0x2282689F, // Large 'vround|ps'.
13146    0x231D689F, // Large 'vround|sd'.
13147    0x2222689F, // Large 'vround|ss'.
13148    0x22AC8585, // Large 'vrsqrt14|pd'.
13149    0x22828585, // Large 'vrsqrt14|ps'.
13150    0x231D8585, // Large 'vrsqrt14|sd'.
13151    0x22228585, // Large 'vrsqrt14|ss'.
13152    0x22A76585, // Large 'vrsqrt|ph'.
13153    0x22826585, // Large 'vrsqrt|ps'.
13154    0x22DA6585, // Large 'vrsqrt|sh'.
13155    0x22226585, // Large 'vrsqrt|ss'.
13156    0x22AC7746, // Large 'vscalef|pd'.
13157    0x22A77746, // Large 'vscalef|ph'.
13158    0x22827746, // Large 'vscalef|ps'.
13159    0x231D7746, // Large 'vscalef|sd'.
13160    0x22DA7746, // Large 'vscalef|sh'.
13161    0x22227746, // Large 'vscalef|ss'.
13162    0x22AC946F, // Large 'vscatterd|pd'.
13163    0x2282946F, // Large 'vscatterd|ps'.
13164    0x3478846F, // Large 'vscatter|qpd'.
13165    0x347B846F, // Large 'vscatter|qps'.
13166    0x447E736E, // Large 'vsha512|msg1'.
13167    0x4482736E, // Large 'vsha512|msg2'.
13168    0x2283A36E, // Large 'vsha512rnd|s2'.
13169    0x5230558D, // Large 'vshuf|f32x4'.
13170    0x42356592, // Large 'vshuff|64x2'.
13171    0x5242558D, // Large 'vshuf|i32x4'.
13172    0x524C558D, // Large 'vshuf|i64x2'.
13173    0x22AC558D, // Large 'vshuf|pd'.
13174    0x2282558D, // Large 'vshuf|ps'.
13175    0x447E474D, // Large 'vsm3|msg1'.
13176    0x4482474D, // Large 'vsm3|msg2'.
13177    0x2283774D, // Large 'vsm3rnd|s2'.
13178    0x123478A5, // Large 'vsm4key|4'.
13179    0x12348754, // Large 'vsm4rnds|4'.
13180    0x33CA49E7, // Large 'vsqr|tpd'.
13181    0x33D649E7, // Large 'vsqr|tph'.
13182    0x33E149E7, // Large 'vsqr|tps'.
13183    0x33E849E7, // Large 'vsqr|tsd'.
13184    0x33F149E7, // Large 'vsqr|tsh'.
13185    0x33FA49E7, // Large 'vsqr|tss'.
13186    0x122878AC, // Large 'vstmxcs|r'.
13187    0x89015676, // Small 'vsubpd'.
13188    0x91015676, // Small 'vsubph'.
13189    0xA7015676, // Small 'vsubps'.
13190    0x89315676, // Small 'vsubsd'.
13191    0x91315676, // Small 'vsubsh'.
13192    0xA7315676, // Small 'vsubss'.
13193    0x33CA49EB, // Large 'vtes|tpd'.
13194    0x33E149EB, // Large 'vtes|tps'.
13195    0x231D68B3, // Large 'vucomi|sd'.
13196    0x22DA68B3, // Large 'vucomi|sh'.
13197    0x222268B3, // Large 'vucomi|ss'.
13198    0x22AC775C, // Large 'vunpckh|pd'.
13199    0x2282775C, // Large 'vunpckh|ps'.
13200    0x3763675C, // Large 'vunpck|lpd'.
13201    0x3766675C, // Large 'vunpck|lps'.
13202    0x89093F16, // Small 'vxorpd'.
13203    0xA7093F16, // Small 'vxorps'.
13204    0x38B95598, // Large 'vzero|all'.
13205    0x353B7598, // Large 'vzeroup|per'.
13206    0x89672457, // Small 'wbinvd'.
13207    0x242168BC, // Large 'wbnoin|vd'.
13208    0x317058C2, // Large 'wrfsb|ase'.
13209    0x317058C7, // Large 'wrgsb|ase'.
13210    0x8129B657, // Small 'wrmsr'.
13211    0x8049CE57, // Small 'wrssd'.
13212    0x8119CE57, // Small 'wrssq'.
13213    0x8939D657, // Small 'wrussd'.
13214    0xA339D657, // Small 'wrussq'.
13215    0xA9278838, // Small 'xabort'.
13216    0x80021038, // Small 'xadd'.
13217    0x9C939458, // Small 'xbegin'.
13218    0x8003A078, // Small 'xchg'.
13219    0x800238B8, // Small 'xend'.
13220    0xAC2A14F8, // Small 'xgetbv'.
13221    0x802A0598, // Small 'xlatb'.
13222    0x800049F8, // Small 'xor'.
13223    0x804849F8, // Small 'xorpd'.
13224    0x813849F8, // Small 'xorps'.
13225    0x121B8769, // Large 'xresldtr|k'.
13226    0xA4FA4E58, // Small 'xrstor'.
13227    0x223565DD, // Large 'xrstor|64'.
13228    0x115265DD, // Large 'xrstor|s'.
13229    0x377165DD, // Large 'xrstor|s64'.
13230    0x805B0678, // Small 'xsave'.
13231    0x2235559F, // Large 'xsave|64'.
13232    0x865B0678, // Small 'xsavec'.
13233    0x38CC559F, // Large 'xsave|c64'.
13234    0x0000859F, // Large 'xsaveopt'.
13235    0x2235859F, // Large 'xsaveopt|64'.
13236    0xA65B0678, // Small 'xsaves'.
13237    0x3771559F, // Large 'xsave|s64'.
13238    0xAC2A1678, // Small 'xsetbv'.
13239    0x121B8774, // Large 'xsusldtr|k'.
13240    0x81499698 // Small 'xtest'.
13241];
13242
13243pub static ALIAS_NAME_STRING_TABLE: &[u8] = b"cmovnaege";
13244
13245pub static ALIAS_NAME_INDEX_TABLE: &[u32] = &[
13246    0x801B3DA3, // Small 'cmova'.
13247    0x8A1B3DA3, // Small 'cmovae'.
13248    0x803B3DA3, // Small 'cmovc'.
13249    0x805B3DA3, // Small 'cmove'.
13250    0x807B3DA3, // Small 'cmovg'.
13251    0x8A7B3DA3, // Small 'cmovge'.
13252    0x82EB3DA3, // Small 'cmovna'.
13253    0x00007000, // Large 'cmovnae'.
13254    0x86EB3DA3, // Small 'cmovnc'.
13255    0x8AEB3DA3, // Small 'cmovne'.
13256    0x8EEB3DA3, // Small 'cmovng'.
13257    0x20075000, // Large 'cmovn|ge'.
13258    0x8B0B3DA3, // Small 'cmovpe'.
13259    0x9F0B3DA3, // Small 'cmovpo'.
13260    0x8000002A, // Small 'ja'.
13261    0x8000142A, // Small 'jae'.
13262    0x8000006A, // Small 'jc'.
13263    0x800000AA, // Small 'je'.
13264    0x800000EA, // Small 'jg'.
13265    0x800014EA, // Small 'jge'.
13266    0x800005CA, // Small 'jna'.
13267    0x800285CA, // Small 'jnae'.
13268    0x80000DCA, // Small 'jnc'.
13269    0x800015CA, // Small 'jne'.
13270    0x80001DCA, // Small 'jng'.
13271    0x80029DCA, // Small 'jnge'.
13272    0x8000160A, // Small 'jpe'.
13273    0x80003E0A, // Small 'jpo'.
13274    0x80003033, // Small 'sal'.
13275    0x8000D0B3, // Small 'seta'.
13276    0x8050D0B3, // Small 'setae'.
13277    0x8001D0B3, // Small 'setc'.
13278    0x8002D0B3, // Small 'sete'.
13279    0x8003D0B3, // Small 'setg'.
13280    0x8053D0B3, // Small 'setge'.
13281    0x801750B3, // Small 'setna'.
13282    0x8A1750B3, // Small 'setnae'.
13283    0x803750B3, // Small 'setnc'.
13284    0x805750B3, // Small 'setne'.
13285    0x807750B3, // Small 'setng'.
13286    0x8A7750B3, // Small 'setnge'.
13287    0x805850B3, // Small 'setpe'.
13288    0x80F850B3, // Small 'setpo'.
13289    0x800A2437, // Small 'wait'.
13290];
13291
13292pub static ALIAS_INDEX_TO_INST_ID_TABLE: &[u32] = &[
13293    InstId::Cmovnbe as u32, // #0
13294    InstId::Cmovnb as u32,  // #1
13295    InstId::Cmovb as u32,   // #2
13296    InstId::Cmovz as u32,   // #3
13297    InstId::Cmovnle as u32, // #4
13298    InstId::Cmovnl as u32,  // #5
13299    InstId::Cmovbe as u32,  // #6
13300    InstId::Cmovb as u32,   // #7
13301    InstId::Cmovnb as u32,  // #8
13302    InstId::Cmovnz as u32,  // #9
13303    InstId::Cmovle as u32,  // #10
13304    InstId::Cmovl as u32,   // #11
13305    InstId::Cmovp as u32,   // #12
13306    InstId::Cmovnp as u32,  // #13
13307    InstId::Jnbe as u32,    // #14
13308    InstId::Jnb as u32,     // #15
13309    InstId::Jb as u32,      // #16
13310    InstId::Jz as u32,      // #17
13311    InstId::Jnle as u32,    // #18
13312    InstId::Jnl as u32,     // #19
13313    InstId::Jbe as u32,     // #20
13314    InstId::Jb as u32,      // #21
13315    InstId::Jnb as u32,     // #22
13316    InstId::Jnz as u32,     // #23
13317    InstId::Jle as u32,     // #24
13318    InstId::Jl as u32,      // #25
13319    InstId::Jp as u32,      // #26
13320    InstId::Jnp as u32,     // #27
13321    InstId::Shl as u32,     // #28
13322    InstId::Setnbe as u32,  // #29
13323    InstId::Setnb as u32,   // #30
13324    InstId::Setb as u32,    // #31
13325    InstId::Setz as u32,    // #32
13326    InstId::Setnle as u32,  // #33
13327    InstId::Setnl as u32,   // #34
13328    InstId::Setbe as u32,   // #35
13329    InstId::Setb as u32,    // #36
13330    InstId::Setnb as u32,   // #37
13331    InstId::Setnz as u32,   // #38
13332    InstId::Setle as u32,   // #39
13333    InstId::Setl as u32,    // #40
13334    InstId::Setp as u32,    // #41
13335    InstId::Setnp as u32,   // #42
13336    InstId::Fwait as u32,   // #43
13337];
13338
13339pub const ALIAS_TABLE_SIZE: u32 = 44;
13340
13341/// Instruction signatures, see [`CommonInfo::signature_index`].
13342pub static INST_SIGNATURE_TABLE: &[InstSignature] = &[
13343    InstSignature::new(2, Mode::Any as u8, 0, 0, [1, 2, 0, 0, 0, 0]), // #0   {r8lo|r8hi|m8|mem, r8lo|r8hi}
13344    InstSignature::new(2, Mode::Any as u8, 0, 0, [3, 4, 0, 0, 0, 0]), // {r16|m16|mem|sreg, r16}
13345    InstSignature::new(2, Mode::Any as u8, 0, 0, [5, 6, 0, 0, 0, 0]), // {r32|m32|mem|sreg, r32}
13346    InstSignature::new(2, Mode::X64 as u8, 0, 0, [7, 8, 0, 0, 0, 0]), // {r64|m64|mem|sreg|creg|dreg, r64}
13347    InstSignature::new(2, Mode::Any as u8, 0, 0, [9, 10, 0, 0, 0, 0]), // {r8lo|r8hi|m8, i8|u8}
13348    InstSignature::new(2, Mode::Any as u8, 0, 0, [11, 12, 0, 0, 0, 0]), // {r16|m16, i16|u16}
13349    InstSignature::new(2, Mode::Any as u8, 0, 0, [13, 14, 0, 0, 0, 0]), // {r32|m32, i32|u32}
13350    InstSignature::new(2, Mode::X64 as u8, 0, 0, [15, 16, 0, 0, 0, 0]), // {r64|m64, i32}
13351    InstSignature::new(2, Mode::Any as u8, 0, 0, [2, 17, 0, 0, 0, 0]), // {r8lo|r8hi, m8|mem}
13352    InstSignature::new(2, Mode::Any as u8, 0, 0, [4, 18, 0, 0, 0, 0]), // {r16, m16|mem|sreg}
13353    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 19, 0, 0, 0, 0]), // {r32, m32|mem|sreg}
13354    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 20, 0, 0, 0, 0]), // {r64, m64|mem|i64|u64|sreg|creg|dreg}
13355    InstSignature::new(2, Mode::Any as u8, 0, 0, [21, 22, 0, 0, 0, 0]), // {m16|mem, sreg}
13356    InstSignature::new(2, Mode::Any as u8, 0, 0, [21, 22, 0, 0, 0, 0]), // {m16|mem, sreg}
13357    InstSignature::new(2, Mode::X64 as u8, 0, 0, [21, 22, 0, 0, 0, 0]), // {m16|mem, sreg}
13358    InstSignature::new(2, Mode::Any as u8, 0, 0, [22, 21, 0, 0, 0, 0]), // {sreg, m16|mem}
13359    InstSignature::new(2, Mode::Any as u8, 0, 0, [22, 21, 0, 0, 0, 0]), // {sreg, m16|mem}
13360    InstSignature::new(2, Mode::X64 as u8, 0, 0, [22, 21, 0, 0, 0, 0]), // {sreg, m16|mem}
13361    InstSignature::new(2, Mode::X86 as u8, 0, 0, [6, 23, 0, 0, 0, 0]), // {r32, creg|dreg}
13362    InstSignature::new(2, Mode::X86 as u8, 0, 0, [23, 6, 0, 0, 0, 0]), // {creg|dreg, r32}
13363    InstSignature::new(2, Mode::Any as u8, 0, 0, [1, 2, 0, 0, 0, 0]), // #20  {r8lo|r8hi|m8|mem, r8lo|r8hi}
13364    InstSignature::new(2, Mode::Any as u8, 0, 0, [24, 4, 0, 0, 0, 0]), // {r16|m16|mem, r16}
13365    InstSignature::new(2, Mode::Any as u8, 0, 0, [25, 6, 0, 0, 0, 0]), // {r32|m32|mem, r32}
13366    InstSignature::new(2, Mode::X64 as u8, 0, 0, [26, 8, 0, 0, 0, 0]), // {r64|m64|mem, r64}
13367    InstSignature::new(2, Mode::Any as u8, 0, 0, [9, 10, 0, 0, 0, 0]), // {r8lo|r8hi|m8, i8|u8}
13368    InstSignature::new(2, Mode::Any as u8, 0, 0, [27, 28, 0, 0, 0, 0]), // {r16|m16|r32|m32, i8}
13369    InstSignature::new(2, Mode::X64 as u8, 0, 0, [15, 29, 0, 0, 0, 0]), // {r64|m64, i8|i32}
13370    InstSignature::new(2, Mode::Any as u8, 0, 0, [11, 12, 0, 0, 0, 0]), // {r16|m16, i16|u16}
13371    InstSignature::new(2, Mode::Any as u8, 0, 0, [13, 14, 0, 0, 0, 0]), // {r32|m32, i32|u32}
13372    InstSignature::new(2, Mode::Any as u8, 0, 0, [2, 17, 0, 0, 0, 0]), // {r8lo|r8hi, m8|mem}
13373    InstSignature::new(2, Mode::Any as u8, 0, 0, [4, 21, 0, 0, 0, 0]), // {r16, m16|mem}
13374    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 30, 0, 0, 0, 0]), // {r32, m32|mem}
13375    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 31, 0, 0, 0, 0]), // {r64, m64|mem}
13376    InstSignature::new(2, Mode::Any as u8, 0, 0, [9, 10, 0, 0, 0, 0]), // #33  {r8lo|r8hi|m8, i8|u8}
13377    InstSignature::new(2, Mode::Any as u8, 0, 0, [11, 12, 0, 0, 0, 0]), // {r16|m16, i16|u16}
13378    InstSignature::new(2, Mode::Any as u8, 0, 0, [13, 14, 0, 0, 0, 0]), // {r32|m32, i32|u32}
13379    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 32, 0, 0, 0, 0]), // {r64, u32|i32|i8|r64|m64|mem}
13380    InstSignature::new(2, Mode::X64 as u8, 0, 0, [33, 29, 0, 0, 0, 0]), // {m64, i32|i8}
13381    InstSignature::new(2, Mode::Any as u8, 0, 0, [27, 28, 0, 0, 0, 0]), // {r16|m16|r32|m32, i8}
13382    InstSignature::new(2, Mode::Any as u8, 0, 0, [1, 2, 0, 0, 0, 0]), // {r8lo|r8hi|m8|mem, r8lo|r8hi}
13383    InstSignature::new(2, Mode::Any as u8, 0, 0, [24, 4, 0, 0, 0, 0]), // {r16|m16|mem, r16}
13384    InstSignature::new(2, Mode::Any as u8, 0, 0, [25, 6, 0, 0, 0, 0]), // {r32|m32|mem, r32}
13385    InstSignature::new(2, Mode::X64 as u8, 0, 0, [31, 8, 0, 0, 0, 0]), // #42  {m64|mem, r64}
13386    InstSignature::new(2, Mode::Any as u8, 0, 0, [2, 17, 0, 0, 0, 0]), // {r8lo|r8hi, m8|mem}
13387    InstSignature::new(2, Mode::Any as u8, 0, 0, [4, 21, 0, 0, 0, 0]), // {r16, m16|mem}
13388    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 30, 0, 0, 0, 0]), // {r32, m32|mem}
13389    InstSignature::new(2, Mode::Any as u8, 0, 0, [1, 2, 0, 0, 0, 0]), // #46  {r8lo|r8hi|m8|mem, r8lo|r8hi}
13390    InstSignature::new(2, Mode::Any as u8, 0, 0, [24, 4, 0, 0, 0, 0]), // {r16|m16|mem, r16}
13391    InstSignature::new(2, Mode::Any as u8, 0, 0, [25, 6, 0, 0, 0, 0]), // {r32|m32|mem, r32}
13392    InstSignature::new(2, Mode::X64 as u8, 0, 0, [26, 8, 0, 0, 0, 0]), // {r64|m64|mem, r64}
13393    InstSignature::new(2, Mode::Any as u8, 0, 0, [2, 34, 0, 0, 0, 0]), // {r8lo|r8hi, m8|mem|i8|u8}
13394    InstSignature::new(2, Mode::Any as u8, 0, 0, [4, 35, 0, 0, 0, 0]), // {r16, m16|mem|i8|i16|u16}
13395    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 36, 0, 0, 0, 0]), // {r32, m32|mem|i8|i32|u32}
13396    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 37, 0, 0, 0, 0]), // {r64, m64|mem|i8|i32}
13397    InstSignature::new(2, Mode::Any as u8, 0, 0, [38, 10, 0, 0, 0, 0]), // {m8, i8|u8}
13398    InstSignature::new(2, Mode::Any as u8, 0, 0, [39, 28, 0, 0, 0, 0]), // {m16|m32, i8}
13399    InstSignature::new(2, Mode::X64 as u8, 0, 0, [33, 29, 0, 0, 0, 0]), // {m64, i8|i32}
13400    InstSignature::new(2, Mode::Any as u8, 0, 0, [40, 12, 0, 0, 0, 0]), // {m16, i16|u16}
13401    InstSignature::new(2, Mode::Any as u8, 0, 0, [41, 14, 0, 0, 0, 0]), // {m32, i32|u32}
13402    InstSignature::new(2, Mode::Any as u8, 0, 0, [1, 2, 0, 0, 0, 0]), // #59  {r8lo|r8hi|m8|mem, r8lo|r8hi}
13403    InstSignature::new(2, Mode::Any as u8, 0, 0, [24, 4, 0, 0, 0, 0]), // {r16|m16|mem, r16}
13404    InstSignature::new(2, Mode::Any as u8, 0, 0, [25, 6, 0, 0, 0, 0]), // {r32|m32|mem, r32}
13405    InstSignature::new(2, Mode::X64 as u8, 0, 0, [26, 8, 0, 0, 0, 0]), // {r64|m64|mem, r64}
13406    InstSignature::new(2, Mode::Any as u8, 0, 0, [9, 10, 0, 0, 0, 0]), // {r8lo|r8hi|m8, i8|u8}
13407    InstSignature::new(2, Mode::Any as u8, 0, 0, [11, 12, 0, 0, 0, 0]), // {r16|m16, i16|u16}
13408    InstSignature::new(2, Mode::Any as u8, 0, 0, [13, 14, 0, 0, 0, 0]), // {r32|m32, i32|u32}
13409    InstSignature::new(2, Mode::X64 as u8, 0, 0, [15, 29, 0, 0, 0, 0]), // {r64|m64, i32|i8}
13410    InstSignature::new(2, Mode::Any as u8, 0, 0, [27, 28, 0, 0, 0, 0]), // {r16|m16|r32|m32, i8}
13411    InstSignature::new(2, Mode::Any as u8, 0, 0, [2, 17, 0, 0, 0, 0]), // {r8lo|r8hi, m8|mem}
13412    InstSignature::new(2, Mode::Any as u8, 0, 0, [4, 21, 0, 0, 0, 0]), // {r16, m16|mem}
13413    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 30, 0, 0, 0, 0]), // {r32, m32|mem}
13414    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 31, 0, 0, 0, 0]), // {r64, m64|mem}
13415    InstSignature::new(2, Mode::Any as u8, 1, 0, [42, 1, 0, 0, 0, 0]), // #72  {<ax>, r8lo|r8hi|m8|mem}
13416    InstSignature::new(3, Mode::Any as u8, 2, 0, [43, 42, 24, 0, 0, 0]), // {<dx>, <ax>, r16|m16|mem}
13417    InstSignature::new(3, Mode::Any as u8, 2, 0, [44, 45, 25, 0, 0, 0]), // {<edx>, <eax>, r32|m32|mem}
13418    InstSignature::new(3, Mode::X64 as u8, 2, 0, [46, 47, 26, 0, 0, 0]), // {<rdx>, <rax>, r64|m64|mem}
13419    InstSignature::new(2, Mode::Any as u8, 0, 0, [4, 24, 0, 0, 0, 0]),   // #76  {r16, r16|m16|mem}
13420    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 25, 0, 0, 0, 0]),   // #77  {r32, r32|m32|mem}
13421    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 26, 0, 0, 0, 0]),   // {r64, r64|m64|mem}
13422    InstSignature::new(3, Mode::Any as u8, 0, 0, [4, 24, 48, 0, 0, 0]), // {r16, r16|m16|mem, i8|i16|u16}
13423    InstSignature::new(3, Mode::Any as u8, 0, 0, [6, 25, 49, 0, 0, 0]), // {r32, r32|m32|mem, i8|i32|u32}
13424    InstSignature::new(3, Mode::X64 as u8, 0, 0, [8, 26, 29, 0, 0, 0]), // {r64, r64|m64|mem, i8|i32}
13425    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 50, 0, 0, 0, 0]),  // #82  {r64, i64|u64}
13426    InstSignature::new(2, Mode::Any as u8, 0, 0, [51, 17, 0, 0, 0, 0]), // {al, m8|mem}
13427    InstSignature::new(2, Mode::Any as u8, 0, 0, [52, 21, 0, 0, 0, 0]), // {ax, m16|mem}
13428    InstSignature::new(2, Mode::Any as u8, 0, 0, [53, 30, 0, 0, 0, 0]), // {eax, m32|mem}
13429    InstSignature::new(2, Mode::X64 as u8, 0, 0, [54, 31, 0, 0, 0, 0]), // {rax, m64|mem}
13430    InstSignature::new(2, Mode::Any as u8, 0, 0, [17, 51, 0, 0, 0, 0]), // {m8|mem, al}
13431    InstSignature::new(2, Mode::Any as u8, 0, 0, [21, 52, 0, 0, 0, 0]), // {m16|mem, ax}
13432    InstSignature::new(2, Mode::Any as u8, 0, 0, [30, 53, 0, 0, 0, 0]), // {m32|mem, eax}
13433    InstSignature::new(2, Mode::X64 as u8, 0, 0, [31, 54, 0, 0, 0, 0]), // {m64|mem, rax}
13434    InstSignature::new(2, Mode::Any as u8, 0, 0, [1, 2, 0, 0, 0, 0]), // #91  {r8lo|r8hi|m8|mem, r8lo|r8hi}
13435    InstSignature::new(2, Mode::Any as u8, 0, 0, [24, 4, 0, 0, 0, 0]), // {r16|m16|mem, r16}
13436    InstSignature::new(2, Mode::Any as u8, 0, 0, [25, 6, 0, 0, 0, 0]), // {r32|m32|mem, r32}
13437    InstSignature::new(2, Mode::X64 as u8, 0, 0, [26, 8, 0, 0, 0, 0]), // {r64|m64|mem, r64}
13438    InstSignature::new(2, Mode::Any as u8, 0, 0, [9, 10, 0, 0, 0, 0]), // {r8lo|r8hi|m8, i8|u8}
13439    InstSignature::new(2, Mode::Any as u8, 0, 0, [11, 12, 0, 0, 0, 0]), // {r16|m16, i16|u16}
13440    InstSignature::new(2, Mode::Any as u8, 0, 0, [13, 14, 0, 0, 0, 0]), // {r32|m32, i32|u32}
13441    InstSignature::new(2, Mode::X64 as u8, 0, 0, [15, 16, 0, 0, 0, 0]), // {r64|m64, i32}
13442    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 56, 0, 0, 0, 0]), // #99  {xmm, xmm|m128|mem}
13443    InstSignature::new(2, Mode::Any as u8, 0, 0, [57, 58, 0, 0, 0, 0]), // {ymm, ymm|m256|mem}
13444    InstSignature::new(2, Mode::Any as u8, 0, 0, [59, 55, 0, 0, 0, 0]), // #101 {m128|mem, xmm}
13445    InstSignature::new(2, Mode::Any as u8, 0, 0, [60, 57, 0, 0, 0, 0]), // {m256|mem, ymm}
13446    InstSignature::new(2, Mode::Any as u8, 0, 0, [61, 62, 0, 0, 0, 0]), // {zmm, zmm|m512|mem}
13447    InstSignature::new(2, Mode::Any as u8, 0, 0, [59, 55, 0, 0, 0, 0]), // {m128|mem, xmm}
13448    InstSignature::new(2, Mode::Any as u8, 0, 0, [60, 57, 0, 0, 0, 0]), // {m256|mem, ymm}
13449    InstSignature::new(2, Mode::Any as u8, 0, 0, [63, 61, 0, 0, 0, 0]), // {m512|mem, zmm}
13450    InstSignature::new(2, Mode::Any as u8, 0, 0, [31, 55, 0, 0, 0, 0]), // #107 {m64|mem, xmm}
13451    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 31, 0, 0, 0, 0]), // {xmm, m64|mem}
13452    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 55, 0, 0, 0]), // #109 {xmm, xmm, xmm}
13453    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 55, 0, 0, 0]), // {xmm, xmm, xmm}
13454    InstSignature::new(2, Mode::Any as u8, 0, 0, [31, 55, 0, 0, 0, 0]), // {m64|mem, xmm}
13455    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 31, 0, 0, 0, 0]), // {xmm, m64|mem}
13456    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 55, 0, 0, 0]), // {xmm, xmm, xmm}
13457    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 55, 0, 0, 0]), // {xmm, xmm, xmm}
13458    InstSignature::new(2, Mode::Any as u8, 0, 0, [30, 55, 0, 0, 0, 0]), // #115 {m32|mem, xmm}
13459    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 30, 0, 0, 0, 0]), // {xmm, m32|mem}
13460    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 55, 0, 0, 0]), // {xmm, xmm, xmm}
13461    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 55, 0, 0, 0]), // {xmm, xmm, xmm}
13462    InstSignature::new(2, Mode::Any as u8, 0, 0, [30, 55, 0, 0, 0, 0]), // {m32|mem, xmm}
13463    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 30, 0, 0, 0, 0]), // {xmm, m32|mem}
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, 55, 0, 0, 0]), // {xmm, xmm, xmm}
13466    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 64, 0, 0, 0]), // #123 {xmm, xmm, xmm|m128|mem|i8|u8}
13467    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 59, 10, 0, 0, 0]), // {xmm, m128|mem, i8|u8}
13468    InstSignature::new(3, Mode::Any as u8, 0, 0, [57, 57, 65, 0, 0, 0]), // {ymm, ymm, ymm|m256|mem|i8|u8}
13469    InstSignature::new(3, Mode::Any as u8, 0, 0, [57, 60, 10, 0, 0, 0]), // {ymm, m256|mem, i8|u8}
13470    InstSignature::new(3, Mode::Any as u8, 0, 0, [61, 61, 66, 0, 0, 0]), // {zmm, zmm, zmm|m512|mem|i8|u8}
13471    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 59, 10, 0, 0, 0]), // {xmm, m128|mem, i8|u8}
13472    InstSignature::new(3, Mode::Any as u8, 0, 0, [57, 60, 10, 0, 0, 0]), // {ymm, m256|mem, i8|u8}
13473    InstSignature::new(3, Mode::Any as u8, 0, 0, [61, 63, 10, 0, 0, 0]), // {zmm, m512|mem, i8|u8}
13474    InstSignature::new(2, Mode::Any as u8, 0, 0, [1, 2, 0, 0, 0, 0]), // #131 {r8lo|r8hi|m8|mem, r8lo|r8hi}
13475    InstSignature::new(2, Mode::Any as u8, 0, 0, [24, 4, 0, 0, 0, 0]), // {r16|m16|mem, r16}
13476    InstSignature::new(2, Mode::Any as u8, 0, 0, [25, 6, 0, 0, 0, 0]), // {r32|m32|mem, r32}
13477    InstSignature::new(2, Mode::X64 as u8, 0, 0, [26, 8, 0, 0, 0, 0]), // {r64|m64|mem, r64}
13478    InstSignature::new(2, Mode::Any as u8, 0, 0, [2, 17, 0, 0, 0, 0]), // {r8lo|r8hi, m8|mem}
13479    InstSignature::new(2, Mode::Any as u8, 0, 0, [4, 21, 0, 0, 0, 0]), // {r16, m16|mem}
13480    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 30, 0, 0, 0, 0]), // {r32, m32|mem}
13481    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 31, 0, 0, 0, 0]), // {r64, m64|mem}
13482    InstSignature::new(2, Mode::Any as u8, 0, 0, [4, 21, 0, 0, 0, 0]), // #139 {r16, m16|mem}
13483    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 30, 0, 0, 0, 0]), // {r32, m32|mem}
13484    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 31, 0, 0, 0, 0]), // {r64, m64|mem}
13485    InstSignature::new(2, Mode::Any as u8, 0, 0, [21, 4, 0, 0, 0, 0]), // {m16|mem, r16}
13486    InstSignature::new(2, Mode::Any as u8, 0, 0, [30, 6, 0, 0, 0, 0]), // #143 {m32|mem, r32}
13487    InstSignature::new(2, Mode::X64 as u8, 0, 0, [31, 8, 0, 0, 0, 0]), // {m64|mem, r64}
13488    InstSignature::new(0, Mode::Any as u8, 0, 0, [0, 0, 0, 0, 0, 0]), // #145 {}
13489    InstSignature::new(1, Mode::Any as u8, 0, 0, [27, 0, 0, 0, 0, 0]), // {r16|m16|r32|m32}
13490    InstSignature::new(1, Mode::X64 as u8, 0, 0, [15, 0, 0, 0, 0, 0]), // {r64|m64}
13491    InstSignature::new(2, Mode::Any as u8, 0, 0, [24, 4, 0, 0, 0, 0]), // {r16|m16|mem, r16}
13492    InstSignature::new(2, Mode::Any as u8, 0, 0, [25, 6, 0, 0, 0, 0]), // {r32|m32|mem, r32}
13493    InstSignature::new(2, Mode::X64 as u8, 0, 0, [26, 8, 0, 0, 0, 0]), // {r64|m64|mem, r64}
13494    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 56, 0, 0, 0, 0]), // #151 {xmm, xmm|m128|mem}
13495    InstSignature::new(2, Mode::Any as u8, 0, 0, [57, 58, 0, 0, 0, 0]), // {ymm, ymm|m256|mem}
13496    InstSignature::new(2, Mode::Any as u8, 0, 0, [61, 62, 0, 0, 0, 0]), // {zmm, zmm|m512|mem}
13497    InstSignature::new(2, Mode::Any as u8, 0, 0, [59, 55, 0, 0, 0, 0]), // {m128|mem, xmm}
13498    InstSignature::new(2, Mode::Any as u8, 0, 0, [60, 57, 0, 0, 0, 0]), // {m256|mem, ymm}
13499    InstSignature::new(2, Mode::Any as u8, 0, 0, [63, 61, 0, 0, 0, 0]), // {m512|mem, zmm}
13500    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 64, 0, 0, 0]), // #157 {xmm, xmm, xmm|m128|mem|i8|u8}
13501    InstSignature::new(3, Mode::Any as u8, 0, 0, [57, 57, 64, 0, 0, 0]), // {ymm, ymm, xmm|m128|mem|i8|u8}
13502    InstSignature::new(3, Mode::Any as u8, 0, 0, [61, 61, 64, 0, 0, 0]), // {zmm, zmm, xmm|m128|mem|i8|u8}
13503    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 59, 10, 0, 0, 0]), // {xmm, m128|mem, i8|u8}
13504    InstSignature::new(3, Mode::Any as u8, 0, 0, [57, 60, 10, 0, 0, 0]), // {ymm, m256|mem, i8|u8}
13505    InstSignature::new(3, Mode::Any as u8, 0, 0, [61, 63, 10, 0, 0, 0]), // {zmm, m512|mem, i8|u8}
13506    InstSignature::new(2, Mode::Any as u8, 0, 0, [24, 4, 0, 0, 0, 0]),   // #163 {r16|m16|mem, r16}
13507    InstSignature::new(2, Mode::Any as u8, 0, 0, [25, 6, 0, 0, 0, 0]),   // {r32|m32|mem, r32}
13508    InstSignature::new(2, Mode::X64 as u8, 0, 0, [26, 8, 0, 0, 0, 0]),   // {r64|m64|mem, r64}
13509    InstSignature::new(2, Mode::Any as u8, 0, 0, [27, 10, 0, 0, 0, 0]),  // {r16|m16|r32|m32, i8|u8}
13510    InstSignature::new(2, Mode::X64 as u8, 0, 0, [15, 10, 0, 0, 0, 0]),  // {r64|m64, i8|u8}
13511    InstSignature::new(2, Mode::Any as u8, 0, 0, [67, 68, 0, 0, 0, 0]),  // #168 {mm, mm|m64|mem}
13512    InstSignature::new(2, Mode::X64 as u8, 0, 0, [69, 26, 0, 0, 0, 0]),  // {mm|xmm, r64|m64|mem}
13513    InstSignature::new(2, Mode::Any as u8, 0, 0, [31, 69, 0, 0, 0, 0]),  // {m64|mem, mm|xmm}
13514    InstSignature::new(2, Mode::X64 as u8, 0, 0, [26, 69, 0, 0, 0, 0]),  // {r64|m64|mem, mm|xmm}
13515    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 70, 0, 0, 0, 0]),  // #172 {xmm, xmm|m64|mem}
13516    InstSignature::new(1, Mode::Any as u8, 0, 0, [11, 0, 0, 0, 0, 0]),   // #173 {r16|m16}
13517    InstSignature::new(1, Mode::X86 as u8, 0, 0, [13, 0, 0, 0, 0, 0]),   // {r32|m32}
13518    InstSignature::new(1, Mode::X64 as u8, 0, 0, [15, 0, 0, 0, 0, 0]),   // {r64|m64}
13519    InstSignature::new(1, Mode::X86 as u8, 0, 0, [71, 0, 0, 0, 0, 0]),   // {ds|es|ss}
13520    InstSignature::new(1, Mode::Any as u8, 0, 0, [72, 0, 0, 0, 0, 0]),   // {fs|gs}
13521    InstSignature::new(1, Mode::Any as u8, 0, 0, [73, 0, 0, 0, 0, 0]), // #178 {r16|m16|i8|u8|i16|u16}
13522    InstSignature::new(1, Mode::X86 as u8, 0, 0, [74, 0, 0, 0, 0, 0]), // {r32|m32|i32|u32}
13523    InstSignature::new(1, Mode::X64 as u8, 0, 0, [75, 0, 0, 0, 0, 0]), // {r64|m64|i32}
13524    InstSignature::new(1, Mode::X86 as u8, 0, 0, [76, 0, 0, 0, 0, 0]), // {cs|ss|ds|es}
13525    InstSignature::new(1, Mode::Any as u8, 0, 0, [72, 0, 0, 0, 0, 0]), // {fs|gs}
13526    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 77, 55, 0, 0, 0]), // #183 {xmm, vm32x, xmm}
13527    InstSignature::new(3, Mode::Any as u8, 0, 0, [57, 78, 57, 0, 0, 0]), // {ymm, vm32y, ymm}
13528    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 77, 0, 0, 0, 0]), // {xmm, vm32x}
13529    InstSignature::new(2, Mode::Any as u8, 0, 0, [57, 78, 0, 0, 0, 0]), // {ymm, vm32y}
13530    InstSignature::new(2, Mode::Any as u8, 0, 0, [61, 79, 0, 0, 0, 0]), // {zmm, vm32z}
13531    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 80, 55, 0, 0, 0]), // #188 {xmm, vm64x, xmm}
13532    InstSignature::new(3, Mode::Any as u8, 0, 0, [57, 81, 57, 0, 0, 0]), // {ymm, vm64y, ymm}
13533    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 80, 0, 0, 0, 0]), // {xmm, vm64x}
13534    InstSignature::new(2, Mode::Any as u8, 0, 0, [57, 81, 0, 0, 0, 0]), // {ymm, vm64y}
13535    InstSignature::new(2, Mode::Any as u8, 0, 0, [61, 82, 0, 0, 0, 0]), // {zmm, vm64z}
13536    InstSignature::new(2, Mode::Any as u8, 0, 0, [59, 55, 0, 0, 0, 0]), // #193 {m128|mem, xmm}
13537    InstSignature::new(2, Mode::Any as u8, 0, 0, [60, 57, 0, 0, 0, 0]), // {m256|mem, ymm}
13538    InstSignature::new(2, Mode::Any as u8, 0, 0, [59, 55, 0, 0, 0, 0]), // {m128|mem, xmm}
13539    InstSignature::new(2, Mode::Any as u8, 0, 0, [60, 57, 0, 0, 0, 0]), // {m256|mem, ymm}
13540    InstSignature::new(2, Mode::Any as u8, 0, 0, [63, 61, 0, 0, 0, 0]), // {m512|mem, zmm}
13541    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 59, 0, 0, 0, 0]), // #198 {xmm, m128|mem}
13542    InstSignature::new(2, Mode::Any as u8, 0, 0, [57, 60, 0, 0, 0, 0]), // {ymm, m256|mem}
13543    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 59, 0, 0, 0, 0]), // {xmm, m128|mem}
13544    InstSignature::new(2, Mode::Any as u8, 0, 0, [57, 60, 0, 0, 0, 0]), // {ymm, m256|mem}
13545    InstSignature::new(2, Mode::Any as u8, 0, 0, [61, 63, 0, 0, 0, 0]), // {zmm, m512|mem}
13546    InstSignature::new(2, Mode::X64 as u8, 0, 0, [26, 55, 0, 0, 0, 0]), // #203 {r64|m64|mem, xmm}
13547    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 70, 0, 0, 0, 0]), // {xmm, xmm|m64|mem}
13548    InstSignature::new(2, Mode::X64 as u8, 0, 0, [55, 26, 0, 0, 0, 0]), // {xmm, r64|m64|mem}
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, [31, 55, 0, 0, 0, 0]), // {m64|mem, xmm}
13551    InstSignature::new(2, Mode::Any as u8, 0, 0, [83, 84, 0, 0, 0, 0]), // #208 {ds:[memBase|zsi|m8], es:[memBase|zdi|m8]}
13552    InstSignature::new(2, Mode::Any as u8, 0, 0, [85, 86, 0, 0, 0, 0]), // {ds:[memBase|zsi|m16], es:[memBase|zdi|m16]}
13553    InstSignature::new(2, Mode::Any as u8, 0, 0, [87, 88, 0, 0, 0, 0]), // {ds:[memBase|zsi|m32], es:[memBase|zdi|m32]}
13554    InstSignature::new(2, Mode::X64 as u8, 0, 0, [89, 90, 0, 0, 0, 0]), // {ds:[memBase|zsi|m64], es:[memBase|zdi|m64]}
13555    InstSignature::new(3, Mode::Any as u8, 1, 0, [1, 2, 91, 0, 0, 0]), // #212 {r8lo|r8hi|m8|mem, r8lo|r8hi, <al>}
13556    InstSignature::new(3, Mode::Any as u8, 1, 0, [24, 4, 42, 0, 0, 0]), // {r16|m16|mem, r16, <ax>}
13557    InstSignature::new(3, Mode::Any as u8, 1, 0, [25, 6, 45, 0, 0, 0]), // {r32|m32|mem, r32, <eax>}
13558    InstSignature::new(3, Mode::X64 as u8, 1, 0, [26, 8, 47, 0, 0, 0]), // {r64|m64|mem, r64, <rax>}
13559    InstSignature::new(2, Mode::Any as u8, 0, 0, [92, 93, 0, 0, 0, 0]), // #216 {k, k|m64|mem}
13560    InstSignature::new(2, Mode::X64 as u8, 0, 0, [92, 8, 0, 0, 0, 0]), // {k, r64}
13561    InstSignature::new(2, Mode::Any as u8, 0, 0, [31, 92, 0, 0, 0, 0]), // {m64|mem, k}
13562    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 92, 0, 0, 0, 0]), // {r64, k}
13563    InstSignature::new(2, Mode::Any as u8, 0, 0, [51, 94, 0, 0, 0, 0]), // #220 {al, ds:[memBase|zsi|m8|mem]}
13564    InstSignature::new(2, Mode::Any as u8, 0, 0, [52, 95, 0, 0, 0, 0]), // {ax, ds:[memBase|zsi|m16|mem]}
13565    InstSignature::new(2, Mode::Any as u8, 0, 0, [53, 96, 0, 0, 0, 0]), // {eax, ds:[memBase|zsi|m32|mem]}
13566    InstSignature::new(2, Mode::X64 as u8, 0, 0, [54, 97, 0, 0, 0, 0]), // {rax, ds:[memBase|zsi|m64|mem]}
13567    InstSignature::new(2, Mode::Any as u8, 0, 0, [84, 83, 0, 0, 0, 0]), // #224 {es:[memBase|zdi|m8], ds:[memBase|zsi|m8]}
13568    InstSignature::new(2, Mode::Any as u8, 0, 0, [86, 85, 0, 0, 0, 0]), // {es:[memBase|zdi|m16], ds:[memBase|zsi|m16]}
13569    InstSignature::new(2, Mode::Any as u8, 0, 0, [88, 87, 0, 0, 0, 0]), // {es:[memBase|zdi|m32], ds:[memBase|zsi|m32]}
13570    InstSignature::new(2, Mode::X64 as u8, 0, 0, [90, 89, 0, 0, 0, 0]), // {es:[memBase|zdi|m64], ds:[memBase|zsi|m64]}
13571    InstSignature::new(2, Mode::Any as u8, 0, 0, [51, 98, 0, 0, 0, 0]), // #228 {al, es:[memBase|zdi|m8|mem]}
13572    InstSignature::new(2, Mode::Any as u8, 0, 0, [52, 99, 0, 0, 0, 0]), // {ax, es:[memBase|zdi|m16|mem]}
13573    InstSignature::new(2, Mode::Any as u8, 0, 0, [53, 100, 0, 0, 0, 0]), // {eax, es:[memBase|zdi|m32|mem]}
13574    InstSignature::new(2, Mode::X64 as u8, 0, 0, [54, 101, 0, 0, 0, 0]), // {rax, es:[memBase|zdi|m64|mem]}
13575    InstSignature::new(2, Mode::Any as u8, 0, 0, [98, 51, 0, 0, 0, 0]), // #232 {es:[memBase|zdi|m8|mem], al}
13576    InstSignature::new(2, Mode::Any as u8, 0, 0, [99, 52, 0, 0, 0, 0]), // {es:[memBase|zdi|m16|mem], ax}
13577    InstSignature::new(2, Mode::Any as u8, 0, 0, [100, 53, 0, 0, 0, 0]), // {es:[memBase|zdi|m32|mem], eax}
13578    InstSignature::new(2, Mode::X64 as u8, 0, 0, [101, 54, 0, 0, 0, 0]), // {es:[memBase|zdi|m64|mem], rax}
13579    InstSignature::new(4, Mode::Any as u8, 0, 0, [55, 55, 55, 56, 0, 0]), // #236 {xmm, xmm, xmm, xmm|m128|mem}
13580    InstSignature::new(4, Mode::Any as u8, 0, 0, [57, 57, 57, 58, 0, 0]), // {ymm, ymm, ymm, ymm|m256|mem}
13581    InstSignature::new(4, Mode::Any as u8, 0, 0, [55, 55, 59, 55, 0, 0]), // {xmm, xmm, m128|mem, xmm}
13582    InstSignature::new(4, Mode::Any as u8, 0, 0, [57, 57, 60, 57, 0, 0]), // {ymm, ymm, m256|mem, ymm}
13583    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 77, 55, 0, 0, 0]),  // #240 {xmm, vm32x, xmm}
13584    InstSignature::new(3, Mode::Any as u8, 0, 0, [57, 77, 57, 0, 0, 0]),  // {ymm, vm32x, ymm}
13585    InstSignature::new(2, Mode::Any as u8, 0, 0, [102, 77, 0, 0, 0, 0]),  // {xmm|ymm, vm32x}
13586    InstSignature::new(2, Mode::Any as u8, 0, 0, [61, 78, 0, 0, 0, 0]),   // {zmm, vm32y}
13587    InstSignature::new(3, Mode::Any as u8, 0, 0, [59, 55, 55, 0, 0, 0]), // #244 {m128|mem, xmm, xmm}
13588    InstSignature::new(3, Mode::Any as u8, 0, 0, [60, 57, 57, 0, 0, 0]), // {m256|mem, ymm, ymm}
13589    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 59, 0, 0, 0]), // {xmm, xmm, m128|mem}
13590    InstSignature::new(3, Mode::Any as u8, 0, 0, [57, 57, 60, 0, 0, 0]), // {ymm, ymm, m256|mem}
13591    InstSignature::new(2, Mode::Any as u8, 0, 0, [31, 55, 0, 0, 0, 0]),  // #248 {m64|mem, xmm}
13592    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 31, 0, 0, 0]), // {xmm, xmm, m64|mem}
13593    InstSignature::new(2, Mode::Any as u8, 0, 0, [31, 55, 0, 0, 0, 0]),  // {m64|mem, xmm}
13594    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 31, 0, 0, 0]), // {xmm, xmm, m64|mem}
13595    InstSignature::new(2, Mode::Any as u8, 0, 0, [21, 55, 0, 0, 0, 0]),  // #252 {m16|mem, xmm}
13596    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 21, 0, 0, 0, 0]),  // {xmm, m16|mem}
13597    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 55, 0, 0, 0]), // {xmm, xmm, xmm}
13598    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 55, 0, 0, 0]), // {xmm, xmm, xmm}
13599    InstSignature::new(4, Mode::Any as u8, 0, 0, [55, 55, 55, 56, 0, 0]), // #256 {xmm, xmm, xmm, xmm|m128|mem}
13600    InstSignature::new(4, Mode::Any as u8, 0, 0, [55, 55, 59, 55, 0, 0]), // {xmm, xmm, m128|mem, xmm}
13601    InstSignature::new(4, Mode::Any as u8, 0, 0, [57, 57, 57, 58, 0, 0]), // {ymm, ymm, ymm, ymm|m256|mem}
13602    InstSignature::new(4, Mode::Any as u8, 0, 0, [57, 57, 60, 57, 0, 0]), // {ymm, ymm, m256|mem, ymm}
13603    InstSignature::new(5, Mode::Any as u8, 0, 0, [55, 55, 56, 55, 103, 0]), // #260 {xmm, xmm, xmm|m128|mem, xmm, i4|u4}
13604    InstSignature::new(5, Mode::Any as u8, 0, 0, [55, 55, 55, 59, 103, 0]), // {xmm, xmm, xmm, m128|mem, i4|u4}
13605    InstSignature::new(5, Mode::Any as u8, 0, 0, [57, 57, 58, 57, 103, 0]), // {ymm, ymm, ymm|m256|mem, ymm, i4|u4}
13606    InstSignature::new(5, Mode::Any as u8, 0, 0, [57, 57, 57, 60, 103, 0]), // {ymm, ymm, ymm, m256|mem, i4|u4}
13607    InstSignature::new(3, Mode::Any as u8, 0, 0, [57, 58, 10, 0, 0, 0]), // #264 {ymm, ymm|m256|mem, i8|u8}
13608    InstSignature::new(3, Mode::Any as u8, 0, 0, [57, 57, 58, 0, 0, 0]), // {ymm, ymm, ymm|m256|mem}
13609    InstSignature::new(3, Mode::Any as u8, 0, 0, [61, 61, 66, 0, 0, 0]), // {zmm, zmm, zmm|m512|mem|i8|u8}
13610    InstSignature::new(3, Mode::Any as u8, 0, 0, [61, 63, 10, 0, 0, 0]), // {zmm, m512|mem, i8|u8}
13611    InstSignature::new(1, Mode::X86 as u8, 0, 0, [104, 0, 0, 0, 0, 0]), // #268 {rel16|r16|m16|mem|r32|m32}
13612    InstSignature::new(1, Mode::Any as u8, 0, 0, [105, 0, 0, 0, 0, 0]), // #269 {rel32}
13613    InstSignature::new(1, Mode::X64 as u8, 0, 0, [26, 0, 0, 0, 0, 0]),  // {r64|m64|mem}
13614    InstSignature::new(1, Mode::X86 as u8, 0, 0, [106, 0, 0, 0, 0, 0]), // #271 {r16|r32}
13615    InstSignature::new(1, Mode::Any as u8, 0, 0, [107, 0, 0, 0, 0, 0]), // #272 {r8lo|r8hi|m8|r16|m16|r32|m32}
13616    InstSignature::new(1, Mode::X64 as u8, 0, 0, [15, 0, 0, 0, 0, 0]),  // {r64|m64}
13617    InstSignature::new(1, Mode::Any as u8, 0, 0, [108, 0, 0, 0, 0, 0]), // #274 {m32|m64}
13618    InstSignature::new(2, Mode::Any as u8, 0, 0, [109, 110, 0, 0, 0, 0]), // {st0, st}
13619    InstSignature::new(2, Mode::Any as u8, 0, 0, [110, 109, 0, 0, 0, 0]), // {st, st0}
13620    InstSignature::new(1, Mode::Any as u8, 0, 0, [111, 0, 0, 0, 0, 0]), // #277 {rel8|rel32}
13621    InstSignature::new(1, Mode::X86 as u8, 0, 0, [112, 0, 0, 0, 0, 0]), // {rel16|r32|m32}
13622    InstSignature::new(1, Mode::X64 as u8, 0, 0, [15, 0, 0, 0, 0, 0]),  // {r64|m64}
13623    InstSignature::new(2, Mode::X86 as u8, 0, 0, [12, 113, 0, 0, 0, 0]), // #280 {i16|u16, i16|u16|i32|u32}
13624    InstSignature::new(1, Mode::Any as u8, 0, 0, [114, 0, 0, 0, 0, 0]),  // {m32|mem|m48}
13625    InstSignature::new(1, Mode::X64 as u8, 0, 0, [115, 0, 0, 0, 0, 0]),  // {m80|mem}
13626    InstSignature::new(2, Mode::Any as u8, 0, 0, [4, 30, 0, 0, 0, 0]),   // #283 {r16, m32|mem}
13627    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 116, 0, 0, 0, 0]),  // {r32, m48|mem}
13628    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 115, 0, 0, 0, 0]),  // {r64, m80|mem}
13629    InstSignature::new(2, Mode::Any as u8, 0, 0, [4, 24, 0, 0, 0, 0]),   // #286 {r16, r16|m16|mem}
13630    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 117, 0, 0, 0, 0]),  // {r32, r32|m16|mem}
13631    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 117, 0, 0, 0, 0]),  // {r64, r32|m16|mem}
13632    InstSignature::new(2, Mode::Any as u8, 0, 0, [4, 9, 0, 0, 0, 0]),    // #289 {r16, r8lo|r8hi|m8}
13633    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 118, 0, 0, 0, 0]), // {r32, r8lo|r8hi|m8|r16|m16}
13634    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 118, 0, 0, 0, 0]), // {r64, r8lo|r8hi|m8|r16|m16}
13635    InstSignature::new(3, Mode::Any as u8, 0, 0, [24, 4, 119, 0, 0, 0]), // #292 {r16|m16|mem, r16, cl|i8|u8}
13636    InstSignature::new(3, Mode::Any as u8, 0, 0, [25, 6, 119, 0, 0, 0]), // {r32|m32|mem, r32, cl|i8|u8}
13637    InstSignature::new(3, Mode::X64 as u8, 0, 0, [26, 8, 119, 0, 0, 0]), // {r64|m64|mem, r64, cl|i8|u8}
13638    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 56, 0, 0, 0]), // #295 {xmm, xmm, xmm|m128|mem}
13639    InstSignature::new(3, Mode::Any as u8, 0, 0, [57, 57, 58, 0, 0, 0]), // #296 {ymm, ymm, ymm|m256|mem}
13640    InstSignature::new(3, Mode::Any as u8, 0, 0, [61, 61, 62, 0, 0, 0]), // {zmm, zmm, zmm|m512|mem}
13641    InstSignature::new(4, Mode::Any as u8, 0, 0, [55, 55, 56, 10, 0, 0]), // #298 {xmm, xmm, xmm|m128|mem, i8|u8}
13642    InstSignature::new(4, Mode::Any as u8, 0, 0, [57, 57, 58, 10, 0, 0]), // #299 {ymm, ymm, ymm|m256|mem, i8|u8}
13643    InstSignature::new(4, Mode::Any as u8, 0, 0, [61, 61, 62, 10, 0, 0]), // {zmm, zmm, zmm|m512|mem, i8|u8}
13644    InstSignature::new(4, Mode::Any as u8, 0, 0, [120, 55, 56, 10, 0, 0]), // #301 {xmm|k, xmm, xmm|m128|mem, i8|u8}
13645    InstSignature::new(4, Mode::Any as u8, 0, 0, [121, 57, 58, 10, 0, 0]), // {ymm|k, ymm, ymm|m256|mem, i8|u8}
13646    InstSignature::new(4, Mode::Any as u8, 0, 0, [92, 61, 62, 10, 0, 0]), // {k, zmm, zmm|m512|mem, i8|u8}
13647    InstSignature::new(4, Mode::Any as u8, 0, 0, [92, 55, 56, 10, 0, 0]), // #304 {k, xmm, xmm|m128|mem, i8|u8}
13648    InstSignature::new(4, Mode::Any as u8, 0, 0, [92, 57, 58, 10, 0, 0]), // {k, ymm, ymm|m256|mem, i8|u8}
13649    InstSignature::new(4, Mode::Any as u8, 0, 0, [92, 61, 62, 10, 0, 0]), // {k, zmm, zmm|m512|mem, i8|u8}
13650    InstSignature::new(2, Mode::Any as u8, 0, 0, [56, 55, 0, 0, 0, 0]), // #307 {xmm|m128|mem, xmm}
13651    InstSignature::new(2, Mode::Any as u8, 0, 0, [58, 57, 0, 0, 0, 0]), // {ymm|m256|mem, ymm}
13652    InstSignature::new(2, Mode::Any as u8, 0, 0, [62, 61, 0, 0, 0, 0]), // {zmm|m512|mem, zmm}
13653    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 70, 0, 0, 0, 0]), // #310 {xmm, xmm|m64|mem}
13654    InstSignature::new(2, Mode::Any as u8, 0, 0, [57, 56, 0, 0, 0, 0]), // {ymm, xmm|m128|mem}
13655    InstSignature::new(2, Mode::Any as u8, 0, 0, [61, 58, 0, 0, 0, 0]), // {zmm, ymm|m256|mem}
13656    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 122, 0, 0, 0, 0]), // #313 {xmm, xmm|m32|mem}
13657    InstSignature::new(2, Mode::Any as u8, 0, 0, [57, 70, 0, 0, 0, 0]), // {ymm, xmm|m64|mem}
13658    InstSignature::new(2, Mode::Any as u8, 0, 0, [61, 56, 0, 0, 0, 0]), // {zmm, xmm|m128|mem}
13659    InstSignature::new(3, Mode::Any as u8, 0, 0, [70, 55, 10, 0, 0, 0]), // #316 {xmm|m64|mem, xmm, i8|u8}
13660    InstSignature::new(3, Mode::Any as u8, 0, 0, [56, 57, 10, 0, 0, 0]), // #317 {xmm|m128|mem, ymm, i8|u8}
13661    InstSignature::new(3, Mode::Any as u8, 0, 0, [58, 61, 10, 0, 0, 0]), // #318 {ymm|m256|mem, zmm, i8|u8}
13662    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 123, 55, 0, 0, 0]), // #319 {xmm, vm64x|vm64y, xmm}
13663    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 123, 0, 0, 0, 0]),  // {xmm, vm64x|vm64y}
13664    InstSignature::new(2, Mode::Any as u8, 0, 0, [57, 82, 0, 0, 0, 0]),   // {ymm, vm64z}
13665    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 56, 10, 0, 0, 0]), // #322 {xmm, xmm|m128|mem, i8|u8}
13666    InstSignature::new(3, Mode::Any as u8, 0, 0, [57, 58, 10, 0, 0, 0]), // {ymm, ymm|m256|mem, i8|u8}
13667    InstSignature::new(3, Mode::Any as u8, 0, 0, [61, 62, 10, 0, 0, 0]), // {zmm, zmm|m512|mem, i8|u8}
13668    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 70, 0, 0, 0, 0]),  // #325 {xmm, xmm|m64|mem}
13669    InstSignature::new(2, Mode::Any as u8, 0, 0, [57, 58, 0, 0, 0, 0]),  // {ymm, ymm|m256|mem}
13670    InstSignature::new(2, Mode::Any as u8, 0, 0, [61, 62, 0, 0, 0, 0]),  // {zmm, zmm|m512|mem}
13671    InstSignature::new(4, Mode::Any as u8, 0, 0, [92, 92, 55, 56, 0, 0]), // #328 {k, k, xmm, xmm|m128|mem}
13672    InstSignature::new(4, Mode::Any as u8, 0, 0, [92, 92, 57, 58, 0, 0]), // {k, k, ymm, ymm|m256|mem}
13673    InstSignature::new(4, Mode::Any as u8, 0, 0, [92, 92, 61, 62, 0, 0]), // {k, k, zmm, zmm|m512|mem}
13674    InstSignature::new(3, Mode::Any as u8, 0, 0, [120, 55, 56, 0, 0, 0]), // #331 {xmm|k, xmm, xmm|m128|mem}
13675    InstSignature::new(3, Mode::Any as u8, 0, 0, [121, 57, 58, 0, 0, 0]), // {ymm|k, ymm, ymm|m256|mem}
13676    InstSignature::new(3, Mode::Any as u8, 0, 0, [92, 61, 62, 0, 0, 0]),  // {k, zmm, zmm|m512|mem}
13677    InstSignature::new(2, Mode::Any as u8, 0, 0, [122, 55, 0, 0, 0, 0]),  // #334 {xmm|m32|mem, xmm}
13678    InstSignature::new(2, Mode::Any as u8, 0, 0, [70, 57, 0, 0, 0, 0]),   // {xmm|m64|mem, ymm}
13679    InstSignature::new(2, Mode::Any as u8, 0, 0, [56, 61, 0, 0, 0, 0]),   // {xmm|m128|mem, zmm}
13680    InstSignature::new(2, Mode::Any as u8, 0, 0, [70, 55, 0, 0, 0, 0]),   // #337 {xmm|m64|mem, xmm}
13681    InstSignature::new(2, Mode::Any as u8, 0, 0, [56, 57, 0, 0, 0, 0]),   // {xmm|m128|mem, ymm}
13682    InstSignature::new(2, Mode::Any as u8, 0, 0, [58, 61, 0, 0, 0, 0]),   // {ymm|m256|mem, zmm}
13683    InstSignature::new(2, Mode::Any as u8, 0, 0, [124, 55, 0, 0, 0, 0]),  // #340 {xmm|m16|mem, xmm}
13684    InstSignature::new(2, Mode::Any as u8, 0, 0, [122, 57, 0, 0, 0, 0]),  // {xmm|m32|mem, ymm}
13685    InstSignature::new(2, Mode::Any as u8, 0, 0, [70, 61, 0, 0, 0, 0]),   // {xmm|m64|mem, zmm}
13686    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 124, 0, 0, 0, 0]),  // #343 {xmm, xmm|m16|mem}
13687    InstSignature::new(2, Mode::Any as u8, 0, 0, [57, 122, 0, 0, 0, 0]),  // {ymm, xmm|m32|mem}
13688    InstSignature::new(2, Mode::Any as u8, 0, 0, [61, 70, 0, 0, 0, 0]),   // {zmm, xmm|m64|mem}
13689    InstSignature::new(2, Mode::Any as u8, 0, 0, [77, 55, 0, 0, 0, 0]),   // #346 {vm32x, xmm}
13690    InstSignature::new(2, Mode::Any as u8, 0, 0, [78, 57, 0, 0, 0, 0]),   // {vm32y, ymm}
13691    InstSignature::new(2, Mode::Any as u8, 0, 0, [79, 61, 0, 0, 0, 0]),   // {vm32z, zmm}
13692    InstSignature::new(2, Mode::Any as u8, 0, 0, [80, 55, 0, 0, 0, 0]),   // #349 {vm64x, xmm}
13693    InstSignature::new(2, Mode::Any as u8, 0, 0, [81, 57, 0, 0, 0, 0]),   // {vm64y, ymm}
13694    InstSignature::new(2, Mode::Any as u8, 0, 0, [82, 61, 0, 0, 0, 0]),   // {vm64z, zmm}
13695    InstSignature::new(3, Mode::Any as u8, 0, 0, [92, 55, 56, 0, 0, 0]), // #352 {k, xmm, xmm|m128|mem}
13696    InstSignature::new(3, Mode::Any as u8, 0, 0, [92, 57, 58, 0, 0, 0]), // {k, ymm, ymm|m256|mem}
13697    InstSignature::new(3, Mode::Any as u8, 0, 0, [92, 61, 62, 0, 0, 0]), // {k, zmm, zmm|m512|mem}
13698    InstSignature::new(3, Mode::Any as u8, 0, 0, [6, 6, 25, 0, 0, 0]), // #355 {r32, r32, r32|m32|mem}
13699    InstSignature::new(3, Mode::X64 as u8, 0, 0, [8, 8, 26, 0, 0, 0]), // {r64, r64, r64|m64|mem}
13700    InstSignature::new(3, Mode::Any as u8, 0, 0, [6, 25, 6, 0, 0, 0]), // #357 {r32, r32|m32|mem, r32}
13701    InstSignature::new(3, Mode::X64 as u8, 0, 0, [8, 26, 8, 0, 0, 0]), // {r64, r64|m64|mem, r64}
13702    InstSignature::new(2, Mode::X86 as u8, 0, 0, [125, 25, 0, 0, 0, 0]), // #359 {bnd, r32|m32|mem}
13703    InstSignature::new(2, Mode::X64 as u8, 0, 0, [125, 26, 0, 0, 0, 0]), // {bnd, r64|m64|mem}
13704    InstSignature::new(2, Mode::Any as u8, 0, 0, [125, 126, 0, 0, 0, 0]), // #361 {bnd, bnd|mem}
13705    InstSignature::new(2, Mode::Any as u8, 0, 0, [127, 125, 0, 0, 0, 0]), // {mem, bnd}
13706    InstSignature::new(2, Mode::X86 as u8, 0, 0, [4, 30, 0, 0, 0, 0]), // #363 {r16, m32|mem}
13707    InstSignature::new(2, Mode::X86 as u8, 0, 0, [6, 31, 0, 0, 0, 0]), // {r32, m64|mem}
13708    InstSignature::new(1, Mode::Any as u8, 0, 0, [106, 0, 0, 0, 0, 0]), // #365 {r16|r32}
13709    InstSignature::new(1, Mode::X64 as u8, 0, 0, [8, 0, 0, 0, 0, 0]),  // #366 {r64}
13710    InstSignature::new(3, Mode::Any as u8, 0, 0, [30, 6, 6, 0, 0, 0]), // #367 {m32|mem, r32, r32}
13711    InstSignature::new(3, Mode::X64 as u8, 0, 0, [31, 8, 8, 0, 0, 0]), // {m64|mem, r64, r64}
13712    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 107, 0, 0, 0, 0]), // #369 {r32, r8lo|r8hi|m8|r16|m16|r32|m32}
13713    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 128, 0, 0, 0, 0]), // {r64, r8lo|r8hi|m8|r64|m64}
13714    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 70, 0, 0, 0, 0]),  // #371 {r32, xmm|m64|mem}
13715    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 70, 0, 0, 0, 0]),  // {r64, xmm|m64|mem}
13716    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 25, 0, 0, 0, 0]), // #373 {xmm, r32|m32|mem}
13717    InstSignature::new(2, Mode::X64 as u8, 0, 0, [55, 26, 0, 0, 0, 0]), // {xmm, r64|m64|mem}
13718    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 122, 0, 0, 0, 0]), // #375 {r32, xmm|m32|mem}
13719    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 122, 0, 0, 0, 0]), // {r64, xmm|m32|mem}
13720    InstSignature::new(2, Mode::X86 as u8, 0, 0, [129, 63, 0, 0, 0, 0]), // #377 {es:[mem|m512|memBase], m512|mem}
13721    InstSignature::new(2, Mode::X64 as u8, 0, 0, [129, 63, 0, 0, 0, 0]), // {es:[mem|m512|memBase], m512|mem}
13722    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 10, 10, 0, 0, 0]), // #379 {xmm, i8|u8, i8|u8}
13723    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 55, 0, 0, 0, 0]),  // #380 {xmm, xmm}
13724    InstSignature::new(0, Mode::Any as u8, 0, 0, [0, 0, 0, 0, 0, 0]),    // #381 {}
13725    InstSignature::new(1, Mode::Any as u8, 0, 0, [110, 0, 0, 0, 0, 0]),  // #382 {st}
13726    InstSignature::new(0, Mode::Any as u8, 0, 0, [0, 0, 0, 0, 0, 0]),    // #383 {}
13727    InstSignature::new(1, Mode::Any as u8, 0, 0, [130, 0, 0, 0, 0, 0]),  // #384 {m32|m64|st}
13728    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 55, 0, 0, 0, 0]),  // #385 {xmm, xmm}
13729    InstSignature::new(4, Mode::Any as u8, 0, 0, [55, 55, 10, 10, 0, 0]), // {xmm, xmm, i8|u8, i8|u8}
13730    InstSignature::new(2, Mode::X86 as u8, 0, 0, [6, 59, 0, 0, 0, 0]),    // #387 {r32, m128|mem}
13731    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 59, 0, 0, 0, 0]),    // {r64, m128|mem}
13732    InstSignature::new(2, Mode::X86 as u8, 2, 0, [45, 131, 0, 0, 0, 0]),  // #389 {<eax>, <ecx>}
13733    InstSignature::new(2, Mode::X64 as u8, 2, 0, [132, 131, 0, 0, 0, 0]), // {<eax|rax>, <ecx>}
13734    InstSignature::new(3, Mode::X86 as u8, 3, 0, [45, 44, 131, 0, 0, 0]), // #391 {<eax>, <edx>, <ecx>}
13735    InstSignature::new(3, Mode::X64 as u8, 3, 0, [132, 44, 131, 0, 0, 0]), // {<eax|rax>, <edx>, <ecx>}
13736    InstSignature::new(1, Mode::Any as u8, 0, 0, [111, 0, 0, 0, 0, 0]),    // #393 {rel8|rel32}
13737    InstSignature::new(1, Mode::X86 as u8, 0, 0, [105, 0, 0, 0, 0, 0]),    // {rel16}
13738    InstSignature::new(2, Mode::X86 as u8, 1, 0, [133, 134, 0, 0, 0, 0]),  // #395 {<cx|ecx>, rel8}
13739    InstSignature::new(2, Mode::X64 as u8, 1, 0, [135, 134, 0, 0, 0, 0]),  // {<ecx|rcx>, rel8}
13740    InstSignature::new(2, Mode::Any as u8, 0, 0, [92, 136, 0, 0, 0, 0]),   // #397 {k, k|m8|mem|r32}
13741    InstSignature::new(2, Mode::Any as u8, 0, 0, [137, 92, 0, 0, 0, 0]),   // {m8|mem|r32, k}
13742    InstSignature::new(2, Mode::Any as u8, 0, 0, [92, 138, 0, 0, 0, 0]), // #399 {k, k|m32|mem|r32}
13743    InstSignature::new(2, Mode::Any as u8, 0, 0, [25, 92, 0, 0, 0, 0]),  // {m32|mem|r32, k}
13744    InstSignature::new(2, Mode::Any as u8, 0, 0, [92, 139, 0, 0, 0, 0]), // #401 {k, k|m16|mem|r32}
13745    InstSignature::new(2, Mode::Any as u8, 0, 0, [117, 92, 0, 0, 0, 0]), // {m16|mem|r32, k}
13746    InstSignature::new(2, Mode::X86 as u8, 0, 0, [4, 30, 0, 0, 0, 0]),   // #403 {r16, m32|mem}
13747    InstSignature::new(2, Mode::X86 as u8, 0, 0, [6, 116, 0, 0, 0, 0]),  // {r32, m48|mem}
13748    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}
13749    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}
13750    InstSignature::new(1, Mode::Any as u8, 0, 0, [6, 0, 0, 0, 0, 0]),   // #407 {r32}
13751    InstSignature::new(1, Mode::X64 as u8, 0, 0, [8, 0, 0, 0, 0, 0]),   // {r64}
13752    InstSignature::new(3, Mode::Any as u8, 0, 0, [6, 25, 14, 0, 0, 0]), // #409 {r32, r32|m32|mem, i32|u32}
13753    InstSignature::new(3, Mode::X64 as u8, 0, 0, [8, 25, 14, 0, 0, 0]), // {r64, r32|m32|mem, i32|u32}
13754    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 56, 0, 0, 0, 0]), // #411 {xmm, xmm|m128|mem}
13755    InstSignature::new(2, Mode::Any as u8, 0, 0, [59, 55, 0, 0, 0, 0]), // {m128|mem, xmm}
13756    InstSignature::new(2, Mode::Any as u8, 0, 0, [69, 25, 0, 0, 0, 0]), // #413 {mm|xmm, r32|m32|mem}
13757    InstSignature::new(2, Mode::Any as u8, 0, 0, [25, 69, 0, 0, 0, 0]), // {r32|m32|mem, mm|xmm}
13758    InstSignature::new(2, Mode::Any as u8, 0, 0, [129, 63, 0, 0, 0, 0]), // #415 {es:[mem|m512|memBase], m512|mem}
13759    InstSignature::new(2, Mode::Any as u8, 0, 0, [129, 63, 0, 0, 0, 0]), // {es:[mem|m512|memBase], m512|mem}
13760    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 70, 0, 0, 0, 0]),  // #417 {xmm, xmm|m64|mem}
13761    InstSignature::new(2, Mode::Any as u8, 0, 0, [31, 55, 0, 0, 0, 0]),  // {m64|mem, xmm}
13762    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 122, 0, 0, 0, 0]), // #419 {xmm, xmm|m32|mem}
13763    InstSignature::new(2, Mode::Any as u8, 0, 0, [30, 55, 0, 0, 0, 0]),  // {m32|mem, xmm}
13764    InstSignature::new(2, Mode::X64 as u8, 0, 0, [4, 24, 0, 0, 0, 0]),   // #421 {r16, r16|m16|mem}
13765    InstSignature::new(2, Mode::X64 as u8, 0, 0, [141, 25, 0, 0, 0, 0]), // {r32|r64, r32|m32|mem}
13766    InstSignature::new(4, Mode::Any as u8, 1, 0, [6, 6, 25, 44, 0, 0]), // #423 {r32, r32, r32|m32|mem, <edx>}
13767    InstSignature::new(4, Mode::X64 as u8, 1, 0, [8, 8, 26, 46, 0, 0]), // {r64, r64, r64|m64|mem, <rdx>}
13768    InstSignature::new(2, Mode::Any as u8, 0, 0, [67, 68, 0, 0, 0, 0]), // #425 {mm, mm|m64|mem}
13769    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 56, 0, 0, 0, 0]), // {xmm, xmm|m128|mem}
13770    InstSignature::new(3, Mode::Any as u8, 0, 0, [67, 68, 10, 0, 0, 0]), // #427 {mm, mm|m64|mem, i8|u8}
13771    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 56, 10, 0, 0, 0]), // {xmm, xmm|m128|mem, i8|u8}
13772    InstSignature::new(3, Mode::Any as u8, 0, 0, [6, 69, 10, 0, 0, 0]), // #429 {r32, mm|xmm, i8|u8}
13773    InstSignature::new(3, Mode::Any as u8, 0, 0, [21, 55, 10, 0, 0, 0]), // {m16|mem, xmm, i8|u8}
13774    InstSignature::new(2, Mode::Any as u8, 0, 0, [67, 142, 0, 0, 0, 0]), // #431 {mm, mm|m64|mem|i8|u8}
13775    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 64, 0, 0, 0, 0]), // {xmm, xmm|m128|mem|i8|u8}
13776    InstSignature::new(1, Mode::Any as u8, 0, 0, [25, 0, 0, 0, 0, 0]),  // #433 {r32|m32|mem}
13777    InstSignature::new(1, Mode::X64 as u8, 0, 0, [26, 0, 0, 0, 0, 0]),  // {r64|m64|mem}
13778    InstSignature::new(2, Mode::Any as u8, 0, 0, [67, 143, 0, 0, 0, 0]), // #435 {mm, mm|m32|mem}
13779    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 56, 0, 0, 0, 0]), // {xmm, xmm|m128|mem}
13780    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}
13781    InstSignature::new(2, Mode::X64 as u8, 0, 0, [15, 119, 0, 0, 0, 0]),  // {r64|m64, cl|i8|u8}
13782    InstSignature::new(3, Mode::Any as u8, 3, 0, [44, 45, 131, 0, 0, 0]), // #439 {<edx>, <eax>, <ecx>}
13783    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 14, 0, 0, 0, 0]),    // {r64, i32|u32}
13784    InstSignature::new(1, Mode::X86 as u8, 0, 0, [6, 0, 0, 0, 0, 0]),     // #441 {r32}
13785    InstSignature::new(1, Mode::X64 as u8, 0, 0, [8, 0, 0, 0, 0, 0]),     // {r64}
13786    InstSignature::new(0, Mode::Any as u8, 0, 0, [0, 0, 0, 0, 0, 0]),     // #443 {}
13787    InstSignature::new(1, Mode::Any as u8, 0, 0, [144, 0, 0, 0, 0, 0]),   // {u16}
13788    InstSignature::new(3, Mode::Any as u8, 0, 0, [6, 25, 10, 0, 0, 0]), // #445 {r32, r32|m32|mem, i8|u8}
13789    InstSignature::new(3, Mode::X64 as u8, 0, 0, [8, 26, 10, 0, 0, 0]), // {r64, r64|m64|mem, i8|u8}
13790    InstSignature::new(1, Mode::Any as u8, 0, 0, [145, 0, 0, 0, 0, 0]), // #447 {r16|m16|mem|r32}
13791    InstSignature::new(1, Mode::X64 as u8, 0, 0, [146, 0, 0, 0, 0, 0]), // {r64|m16|mem}
13792    InstSignature::new(1, Mode::X86 as u8, 0, 0, [147, 0, 0, 0, 0, 0]), // #449 {ds:[mem|memBase]}
13793    InstSignature::new(1, Mode::X64 as u8, 0, 0, [147, 0, 0, 0, 0, 0]), // {ds:[mem|memBase]}
13794    InstSignature::new(4, Mode::Any as u8, 0, 0, [55, 55, 56, 55, 0, 0]), // #451 {xmm, xmm, xmm|m128|mem, xmm}
13795    InstSignature::new(4, Mode::Any as u8, 0, 0, [57, 57, 58, 57, 0, 0]), // {ymm, ymm, ymm|m256|mem, ymm}
13796    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 148, 0, 0, 0, 0]), // #453 {xmm, xmm|m128|ymm|m256}
13797    InstSignature::new(2, Mode::Any as u8, 0, 0, [57, 62, 0, 0, 0, 0]),  // {ymm, zmm|m512|mem}
13798    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 124, 0, 0, 0, 0]),  // #455 {r32, xmm|m16|mem}
13799    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 124, 0, 0, 0, 0]),  // {r64, xmm|m16|mem}
13800    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 25, 0, 0, 0]), // #457 {xmm, xmm, r32|m32|mem}
13801    InstSignature::new(3, Mode::X64 as u8, 0, 0, [55, 55, 26, 0, 0, 0]), // {xmm, xmm, r64|m64|mem}
13802    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 13, 0, 0, 0]), // #459 {xmm, xmm, r32|m32}
13803    InstSignature::new(3, Mode::X64 as u8, 0, 0, [55, 55, 15, 0, 0, 0]), // {xmm, xmm, r64|m64}
13804    InstSignature::new(4, Mode::Any as u8, 0, 0, [55, 55, 55, 70, 0, 0]), // #461 {xmm, xmm, xmm, xmm|m64|mem}
13805    InstSignature::new(4, Mode::Any as u8, 0, 0, [55, 55, 31, 55, 0, 0]), // {xmm, xmm, m64|mem, xmm}
13806    InstSignature::new(4, Mode::Any as u8, 0, 0, [55, 55, 55, 122, 0, 0]), // #463 {xmm, xmm, xmm, xmm|m32|mem}
13807    InstSignature::new(4, Mode::Any as u8, 0, 0, [55, 55, 30, 55, 0, 0]), // {xmm, xmm, m32|mem, xmm}
13808    InstSignature::new(4, Mode::Any as u8, 0, 0, [57, 57, 56, 10, 0, 0]), // #465 {ymm, ymm, xmm|m128|mem, i8|u8}
13809    InstSignature::new(4, Mode::Any as u8, 0, 0, [61, 61, 56, 10, 0, 0]), // {zmm, zmm, xmm|m128|mem, i8|u8}
13810    InstSignature::new(1, Mode::X86 as u8, 1, 0, [45, 0, 0, 0, 0, 0]),    // #467 {<eax>}
13811    InstSignature::new(1, Mode::X64 as u8, 1, 0, [47, 0, 0, 0, 0, 0]),    // #468 {<rax>}
13812    InstSignature::new(2, Mode::Any as u8, 0, 0, [25, 55, 0, 0, 0, 0]),   // #469 {r32|m32|mem, xmm}
13813    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 25, 0, 0, 0, 0]),   // {xmm, r32|m32|mem}
13814    InstSignature::new(2, Mode::Any as u8, 0, 0, [117, 55, 0, 0, 0, 0]),  // #471 {r32|m16|mem, xmm}
13815    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 117, 0, 0, 0, 0]),  // {xmm, r32|m16|mem}
13816    InstSignature::new(2, Mode::X86 as u8, 0, 0, [25, 6, 0, 0, 0, 0]),    // #473 {r32|m32|mem, r32}
13817    InstSignature::new(2, Mode::X64 as u8, 0, 0, [26, 8, 0, 0, 0, 0]),    // {r64|m64|mem, r64}
13818    InstSignature::new(2, Mode::X86 as u8, 0, 0, [6, 25, 0, 0, 0, 0]),    // #475 {r32, r32|m32|mem}
13819    InstSignature::new(2, Mode::X64 as u8, 0, 0, [8, 26, 0, 0, 0, 0]),    // {r64, r64|m64|mem}
13820    InstSignature::new(2, Mode::Any as u8, 0, 0, [149, 70, 0, 0, 0, 0]), // #477 {xmm|ymm|zmm, xmm|m64|mem}
13821    InstSignature::new(2, Mode::X64 as u8, 0, 0, [149, 8, 0, 0, 0, 0]),  // {xmm|ymm|zmm, r64}
13822    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 64, 0, 0, 0]), // #479 {xmm, xmm, xmm|m128|mem|i8|u8}
13823    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 59, 150, 0, 0, 0]), // {xmm, m128|mem, i8|u8|xmm}
13824    InstSignature::new(2, Mode::Any as u8, 0, 0, [77, 102, 0, 0, 0, 0]),  // #481 {vm32x, xmm|ymm}
13825    InstSignature::new(2, Mode::Any as u8, 0, 0, [78, 61, 0, 0, 0, 0]),   // {vm32y, zmm}
13826    InstSignature::new(2, Mode::Any as u8, 0, 0, [123, 55, 0, 0, 0, 0]),  // #483 {vm64x|vm64y, xmm}
13827    InstSignature::new(2, Mode::Any as u8, 0, 0, [82, 57, 0, 0, 0, 0]),   // {vm64z, ymm}
13828    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 56, 0, 0, 0]), // #485 {xmm, xmm, xmm|m128|mem}
13829    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 59, 55, 0, 0, 0]), // {xmm, m128|mem, xmm}
13830    InstSignature::new(1, Mode::X86 as u8, 1, 0, [42, 0, 0, 0, 0, 0]),   // #487 {<ax>}
13831    InstSignature::new(2, Mode::X86 as u8, 1, 0, [42, 10, 0, 0, 0, 0]),  // #488 {<ax>, i8|u8}
13832    InstSignature::new(2, Mode::X86 as u8, 0, 0, [24, 4, 0, 0, 0, 0]),   // #489 {r16|m16|mem, r16}
13833    InstSignature::new(3, Mode::Any as u8, 1, 0, [55, 56, 151, 0, 0, 0]), // #490 {xmm, xmm|m128|mem, <xmm0>}
13834    InstSignature::new(2, Mode::Any as u8, 0, 0, [125, 152, 0, 0, 0, 0]), // #491 {bnd, mib}
13835    InstSignature::new(2, Mode::Any as u8, 0, 0, [125, 127, 0, 0, 0, 0]), // #492 {bnd, mem}
13836    InstSignature::new(2, Mode::Any as u8, 0, 0, [152, 125, 0, 0, 0, 0]), // #493 {mib, bnd}
13837    InstSignature::new(1, Mode::Any as u8, 1, 0, [42, 0, 0, 0, 0, 0]),    // #494 {<ax>}
13838    InstSignature::new(2, Mode::Any as u8, 2, 0, [44, 45, 0, 0, 0, 0]),   // #495 {<edx>, <eax>}
13839    InstSignature::new(1, Mode::Any as u8, 0, 0, [127, 0, 0, 0, 0, 0]),   // #496 {mem}
13840    InstSignature::new(1, Mode::Any as u8, 0, 0, [31, 0, 0, 0, 0, 0]),    // #497 {m64|mem}
13841    InstSignature::new(0, Mode::X64 as u8, 0, 0, [0, 0, 0, 0, 0, 0]),     // #498 {}
13842    InstSignature::new(1, Mode::Any as u8, 1, 0, [153, 0, 0, 0, 0, 0]), // #499 {<ds:[mem|m512|memBase|zax]>}
13843    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 70, 10, 0, 0, 0]), // #500 {xmm, xmm|m64|mem, i8|u8}
13844    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 122, 10, 0, 0, 0]), // #501 {xmm, xmm|m32|mem, i8|u8}
13845    InstSignature::new(5, Mode::X64 as u8, 4, 0, [59, 46, 47, 154, 155, 0]), // #502 {m128|mem, <rdx>, <rax>, <rcx>, <rbx>}
13846    InstSignature::new(5, Mode::Any as u8, 4, 0, [31, 44, 45, 131, 156, 0]), // #503 {m64|mem, <edx>, <eax>, <ecx>, <ebx>}
13847    InstSignature::new(4, Mode::Any as u8, 4, 0, [45, 156, 131, 44, 0, 0]), // #504 {<eax>, <ebx>, <ecx>, <edx>}
13848    InstSignature::new(2, Mode::X64 as u8, 2, 0, [46, 47, 0, 0, 0, 0]),     // #505 {<rdx>, <rax>}
13849    InstSignature::new(2, Mode::Any as u8, 0, 0, [67, 56, 0, 0, 0, 0]), // #506 {mm, xmm|m128|mem}
13850    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 68, 0, 0, 0, 0]), // #507 {xmm, mm|m64|mem}
13851    InstSignature::new(2, Mode::Any as u8, 0, 0, [67, 70, 0, 0, 0, 0]), // #508 {mm, xmm|m64|mem}
13852    InstSignature::new(2, Mode::Any as u8, 2, 0, [43, 42, 0, 0, 0, 0]), // #509 {<dx>, <ax>}
13853    InstSignature::new(1, Mode::Any as u8, 1, 0, [45, 0, 0, 0, 0, 0]),  // #510 {<eax>}
13854    InstSignature::new(2, Mode::Any as u8, 0, 0, [12, 10, 0, 0, 0, 0]), // #511 {i16|u16, i8|u8}
13855    InstSignature::new(3, Mode::Any as u8, 0, 0, [25, 55, 10, 0, 0, 0]), // #512 {r32|m32|mem, xmm, i8|u8}
13856    InstSignature::new(1, Mode::Any as u8, 0, 0, [115, 0, 0, 0, 0, 0]),  // #513 {m80|mem}
13857    InstSignature::new(1, Mode::Any as u8, 0, 0, [39, 0, 0, 0, 0, 0]),   // #514 {m16|m32}
13858    InstSignature::new(1, Mode::Any as u8, 0, 0, [157, 0, 0, 0, 0, 0]),  // #515 {m16|m32|m64}
13859    InstSignature::new(1, Mode::Any as u8, 0, 0, [158, 0, 0, 0, 0, 0]),  // #516 {m32|m64|m80|st}
13860    InstSignature::new(1, Mode::Any as u8, 0, 0, [21, 0, 0, 0, 0, 0]),   // #517 {m16|mem}
13861    InstSignature::new(1, Mode::Any as u8, 0, 0, [159, 0, 0, 0, 0, 0]),  // #518 {ax|m16|mem}
13862    InstSignature::new(1, Mode::X64 as u8, 0, 0, [127, 0, 0, 0, 0, 0]),  // #519 {mem}
13863    InstSignature::new(2, Mode::Any as u8, 2, 0, [45, 156, 0, 0, 0, 0]), // #520 {<eax>, <ebx>}
13864    InstSignature::new(2, Mode::Any as u8, 1, 0, [10, 45, 0, 0, 0, 0]),  // #521 {i8|u8, <eax>}
13865    InstSignature::new(2, Mode::Any as u8, 0, 0, [160, 161, 0, 0, 0, 0]), // #522 {al|ax|eax, i8|u8|dx}
13866    InstSignature::new(2, Mode::Any as u8, 0, 0, [162, 163, 0, 0, 0, 0]), // #523 {es:[memBase|zdi|m8|m16|m32], dx}
13867    InstSignature::new(1, Mode::Any as u8, 0, 0, [10, 0, 0, 0, 0, 0]),    // #524 {i8|u8}
13868    InstSignature::new(0, Mode::X86 as u8, 0, 0, [0, 0, 0, 0, 0, 0]),     // #525 {}
13869    InstSignature::new(3, Mode::Any as u8, 0, 0, [92, 92, 92, 0, 0, 0]),  // #526 {k, k, k}
13870    InstSignature::new(2, Mode::Any as u8, 0, 0, [92, 92, 0, 0, 0, 0]),   // #527 {k, k}
13871    InstSignature::new(3, Mode::Any as u8, 0, 0, [92, 92, 10, 0, 0, 0]),  // #528 {k, k, i8|u8}
13872    InstSignature::new(1, Mode::Any as u8, 1, 0, [164, 0, 0, 0, 0, 0]),   // #529 {<ah>}
13873    InstSignature::new(1, Mode::Any as u8, 0, 0, [30, 0, 0, 0, 0, 0]),    // #530 {m32|mem}
13874    InstSignature::new(1, Mode::X64 as u8, 0, 0, [63, 0, 0, 0, 0, 0]),    // #531 {m512|mem}
13875    InstSignature::new(1, Mode::Any as u8, 0, 0, [24, 0, 0, 0, 0, 0]),    // #532 {r16|m16|mem}
13876    InstSignature::new(3, Mode::Any as u8, 1, 0, [55, 55, 165, 0, 0, 0]), // #533 {xmm, xmm, <ds:[mem|m128|memBase|zdi]>}
13877    InstSignature::new(3, Mode::Any as u8, 1, 0, [67, 67, 166, 0, 0, 0]), // #534 {mm, mm, <ds:[mem|m64|memBase|zdi]>}
13878    InstSignature::new(3, Mode::Any as u8, 3, 0, [167, 131, 44, 0, 0, 0]), // #535 {<ds:[mem|memBase|zax]>, <ecx>, <edx>}
13879    InstSignature::new(2, Mode::Any as u8, 0, 0, [67, 55, 0, 0, 0, 0]),    // #536 {mm, xmm}
13880    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 55, 0, 0, 0, 0]),     // #537 {r32, xmm}
13881    InstSignature::new(2, Mode::Any as u8, 0, 0, [31, 67, 0, 0, 0, 0]),    // #538 {m64|mem, mm}
13882    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 67, 0, 0, 0, 0]),    // #539 {xmm, mm}
13883    InstSignature::new(2, Mode::Any as u8, 2, 0, [45, 131, 0, 0, 0, 0]),   // #540 {<eax>, <ecx>}
13884    InstSignature::new(3, Mode::Any as u8, 3, 0, [45, 131, 156, 0, 0, 0]), // #541 {<eax>, <ecx>, <ebx>}
13885    InstSignature::new(2, Mode::Any as u8, 0, 0, [161, 160, 0, 0, 0, 0]), // #542 {i8|u8|dx, al|ax|eax}
13886    InstSignature::new(2, Mode::Any as u8, 0, 0, [163, 168, 0, 0, 0, 0]), // #543 {dx, ds:[memBase|zsi|m8|m16|m32]}
13887    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>}
13888    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>}
13889    InstSignature::new(4, Mode::Any as u8, 1, 0, [55, 56, 10, 131, 0, 0]), // #546 {xmm, xmm|m128|mem, i8|u8, <ecx>}
13890    InstSignature::new(4, Mode::Any as u8, 1, 0, [55, 56, 10, 151, 0, 0]), // #547 {xmm, xmm|m128|mem, i8|u8, <xmm0>}
13891    InstSignature::new(3, Mode::Any as u8, 0, 0, [137, 55, 10, 0, 0, 0]), // #548 {r32|m8|mem, xmm, i8|u8}
13892    InstSignature::new(3, Mode::X64 as u8, 0, 0, [26, 55, 10, 0, 0, 0]), // #549 {r64|m64|mem, xmm, i8|u8}
13893    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 137, 10, 0, 0, 0]), // #550 {xmm, r32|m8|mem, i8|u8}
13894    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 25, 10, 0, 0, 0]), // #551 {xmm, r32|m32|mem, i8|u8}
13895    InstSignature::new(3, Mode::X64 as u8, 0, 0, [55, 26, 10, 0, 0, 0]), // #552 {xmm, r64|m64|mem, i8|u8}
13896    InstSignature::new(3, Mode::Any as u8, 0, 0, [69, 117, 10, 0, 0, 0]), // #553 {mm|xmm, r32|m16|mem, i8|u8}
13897    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 69, 0, 0, 0, 0]),    // #554 {r32, mm|xmm}
13898    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 10, 0, 0, 0, 0]),   // #555 {xmm, i8|u8}
13899    InstSignature::new(1, Mode::Any as u8, 0, 0, [12, 0, 0, 0, 0, 0]),    // #556 {i16|u16}
13900    InstSignature::new(1, Mode::X64 as u8, 0, 0, [141, 0, 0, 0, 0, 0]),   // #557 {r32|r64}
13901    InstSignature::new(1, Mode::Any as u8, 0, 0, [1, 0, 0, 0, 0, 0]),     // #558 {r8lo|r8hi|m8|mem}
13902    InstSignature::new(3, Mode::X64 as u8, 0, 0, [169, 169, 169, 0, 0, 0]), // #559 {tmm, tmm, tmm}
13903    InstSignature::new(2, Mode::X64 as u8, 0, 0, [169, 170, 0, 0, 0, 0]), // #560 {tmm, tmem}
13904    InstSignature::new(2, Mode::X64 as u8, 0, 0, [170, 169, 0, 0, 0, 0]), // #561 {tmem, tmm}
13905    InstSignature::new(1, Mode::X64 as u8, 0, 0, [169, 0, 0, 0, 0, 0]),   // #562 {tmm}
13906    InstSignature::new(3, Mode::Any as u8, 2, 0, [6, 44, 45, 0, 0, 0]), // #563 {r32, <edx>, <eax>}
13907    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 70, 0, 0, 0]), // #564 {xmm, xmm, xmm|m64|mem}
13908    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 124, 0, 0, 0]), // #565 {xmm, xmm, xmm|m16|mem}
13909    InstSignature::new(3, Mode::Any as u8, 0, 0, [55, 55, 122, 0, 0, 0]), // #566 {xmm, xmm, xmm|m32|mem}
13910    InstSignature::new(2, Mode::Any as u8, 0, 0, [102, 21, 0, 0, 0, 0]),  // #567 {xmm|ymm, m16|mem}
13911    InstSignature::new(2, Mode::Any as u8, 0, 0, [57, 59, 0, 0, 0, 0]),   // #568 {ymm, m128|mem}
13912    InstSignature::new(2, Mode::Any as u8, 0, 0, [171, 70, 0, 0, 0, 0]), // #569 {ymm|zmm, xmm|m64|mem}
13913    InstSignature::new(2, Mode::Any as u8, 0, 0, [171, 59, 0, 0, 0, 0]), // #570 {ymm|zmm, m128|mem}
13914    InstSignature::new(2, Mode::Any as u8, 0, 0, [61, 60, 0, 0, 0, 0]),  // #571 {zmm, m256|mem}
13915    InstSignature::new(2, Mode::Any as u8, 0, 0, [149, 122, 0, 0, 0, 0]), // #572 {xmm|ymm|zmm, m32|mem|xmm}
13916    InstSignature::new(4, Mode::Any as u8, 0, 0, [120, 55, 70, 10, 0, 0]), // #573 {xmm|k, xmm, xmm|m64|mem, i8|u8}
13917    InstSignature::new(4, Mode::Any as u8, 0, 0, [92, 55, 124, 10, 0, 0]), // #574 {k, xmm, xmm|m16|mem, i8|u8}
13918    InstSignature::new(4, Mode::Any as u8, 0, 0, [120, 55, 122, 10, 0, 0]), // #575 {xmm|k, xmm, xmm|m32|mem, i8|u8}
13919    InstSignature::new(2, Mode::Any as u8, 0, 0, [55, 172, 0, 0, 0, 0]), // #576 {xmm, xmm|m128|ymm|m256|zmm|m512}
13920    InstSignature::new(3, Mode::Any as u8, 0, 0, [56, 171, 10, 0, 0, 0]), // #577 {xmm|m128|mem, ymm|zmm, i8|u8}
13921    InstSignature::new(4, Mode::Any as u8, 0, 0, [55, 55, 70, 10, 0, 0]), // #578 {xmm, xmm, xmm|m64|mem, i8|u8}
13922    InstSignature::new(4, Mode::Any as u8, 0, 0, [55, 55, 122, 10, 0, 0]), // #579 {xmm, xmm, xmm|m32|mem, i8|u8}
13923    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}
13924    InstSignature::new(3, Mode::Any as u8, 0, 0, [92, 70, 10, 0, 0, 0]), // #581 {k, xmm|m64|mem, i8|u8}
13925    InstSignature::new(3, Mode::Any as u8, 0, 0, [92, 124, 10, 0, 0, 0]), // #582 {k, xmm|m16|mem, i8|u8}
13926    InstSignature::new(3, Mode::Any as u8, 0, 0, [92, 122, 10, 0, 0, 0]), // #583 {k, xmm|m32|mem, i8|u8}
13927    InstSignature::new(4, Mode::Any as u8, 0, 0, [55, 55, 124, 10, 0, 0]), // #584 {xmm, xmm, xmm|m16|mem, i8|u8}
13928    InstSignature::new(4, Mode::Any as u8, 0, 0, [61, 61, 58, 10, 0, 0]), // #585 {zmm, zmm, ymm|m256|mem, i8|u8}
13929    InstSignature::new(2, Mode::Any as u8, 0, 0, [6, 102, 0, 0, 0, 0]),   // #586 {r32, xmm|ymm}
13930    InstSignature::new(2, Mode::Any as u8, 0, 0, [149, 173, 0, 0, 0, 0]), // #587 {xmm|ymm|zmm, xmm|m8|mem|r32}
13931    InstSignature::new(2, Mode::Any as u8, 0, 0, [149, 174, 0, 0, 0, 0]), // #588 {xmm|ymm|zmm, xmm|m32|mem|r32}
13932    InstSignature::new(2, Mode::Any as u8, 0, 0, [149, 92, 0, 0, 0, 0]),  // #589 {xmm|ymm|zmm, k}
13933    InstSignature::new(2, Mode::Any as u8, 0, 0, [149, 175, 0, 0, 0, 0]), // #590 {xmm|ymm|zmm, xmm|m16|mem|r32}
13934    InstSignature::new(3, Mode::Any as u8, 0, 0, [117, 55, 10, 0, 0, 0]), // #591 {r32|m16|mem, xmm, i8|u8}
13935    InstSignature::new(4, Mode::Any as u8, 0, 0, [55, 55, 137, 10, 0, 0]), // #592 {xmm, xmm, r32|m8|mem, i8|u8}
13936    InstSignature::new(4, Mode::Any as u8, 0, 0, [55, 55, 25, 10, 0, 0]), // #593 {xmm, xmm, r32|m32|mem, i8|u8}
13937    InstSignature::new(4, Mode::X64 as u8, 0, 0, [55, 55, 26, 10, 0, 0]), // #594 {xmm, xmm, r64|m64|mem, i8|u8}
13938    InstSignature::new(4, Mode::Any as u8, 0, 0, [55, 55, 117, 10, 0, 0]), // #595 {xmm, xmm, r32|m16|mem, i8|u8}
13939    InstSignature::new(2, Mode::Any as u8, 0, 0, [92, 149, 0, 0, 0, 0]),   // #596 {k, xmm|ymm|zmm}
13940    InstSignature::new(2, Mode::Any as u8, 0, 0, [57, 55, 0, 0, 0, 0]),    // #597 {ymm, xmm}
13941    InstSignature::new(2, Mode::Any as u8, 0, 0, [57, 57, 0, 0, 0, 0]),    // #598 {ymm, ymm}
13942    InstSignature::new(3, Mode::Any as u8, 0, 0, [57, 57, 55, 0, 0, 0]),   // #599 {ymm, ymm, xmm}
13943    InstSignature::new(3, Mode::Any as u8, 2, 0, [127, 44, 45, 0, 0, 0]), // #600 {mem, <edx>, <eax>}
13944    InstSignature::new(3, Mode::X64 as u8, 2, 0, [127, 44, 45, 0, 0, 0]), // #601 {mem, <edx>, <eax>}
13945];
13946
13947/// Operand signatures, indexed by [`InstSignature::op_signature_indexes`].
13948pub static OP_SIGNATURE_TABLE: &[OpSignature] = &[
13949    OpSignature::new(0, 0xFF),
13950    OpSignature::new(
13951        OpFlags::REG_GPB_LO.bits()
13952            | OpFlags::REG_GPB_HI.bits()
13953            | OpFlags::MEM_UNSPECIFIED.bits()
13954            | OpFlags::MEM8.bits(),
13955        0x00,
13956    ),
13957    OpSignature::new(
13958        OpFlags::REG_GPB_LO.bits() | OpFlags::REG_GPB_HI.bits(),
13959        0x00,
13960    ),
13961    OpSignature::new(
13962        OpFlags::REG_GPW.bits()
13963            | OpFlags::REG_S_REG.bits()
13964            | OpFlags::MEM_UNSPECIFIED.bits()
13965            | OpFlags::MEM16.bits(),
13966        0x00,
13967    ),
13968    OpSignature::new(OpFlags::REG_GPW.bits(), 0x00),
13969    OpSignature::new(
13970        OpFlags::REG_GPD.bits()
13971            | OpFlags::REG_S_REG.bits()
13972            | OpFlags::MEM_UNSPECIFIED.bits()
13973            | OpFlags::MEM32.bits(),
13974        0x00,
13975    ),
13976    OpSignature::new(OpFlags::REG_GPD.bits(), 0x00),
13977    OpSignature::new(
13978        OpFlags::REG_GPQ.bits()
13979            | OpFlags::REG_S_REG.bits()
13980            | OpFlags::REG_C_REG.bits()
13981            | OpFlags::REG_D_REG.bits()
13982            | OpFlags::MEM_UNSPECIFIED.bits()
13983            | OpFlags::MEM64.bits(),
13984        0x00,
13985    ),
13986    OpSignature::new(OpFlags::REG_GPQ.bits(), 0x00),
13987    OpSignature::new(
13988        OpFlags::REG_GPB_LO.bits() | OpFlags::REG_GPB_HI.bits() | OpFlags::MEM8.bits(),
13989        0x00,
13990    ),
13991    OpSignature::new(OpFlags::IMM_I8.bits() | OpFlags::IMM_U8.bits(), 0x00),
13992    OpSignature::new(OpFlags::REG_GPW.bits() | OpFlags::MEM16.bits(), 0x00),
13993    OpSignature::new(OpFlags::IMM_I16.bits() | OpFlags::IMM_U16.bits(), 0x00),
13994    OpSignature::new(OpFlags::REG_GPD.bits() | OpFlags::MEM32.bits(), 0x00),
13995    OpSignature::new(OpFlags::IMM_I32.bits() | OpFlags::IMM_U32.bits(), 0x00),
13996    OpSignature::new(OpFlags::REG_GPQ.bits() | OpFlags::MEM64.bits(), 0x00),
13997    OpSignature::new(OpFlags::IMM_I32.bits(), 0x00),
13998    OpSignature::new(OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM8.bits(), 0x00),
13999    OpSignature::new(
14000        OpFlags::REG_S_REG.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM16.bits(),
14001        0x00,
14002    ),
14003    OpSignature::new(
14004        OpFlags::REG_S_REG.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM32.bits(),
14005        0x00,
14006    ),
14007    OpSignature::new(
14008        OpFlags::REG_S_REG.bits()
14009            | OpFlags::REG_C_REG.bits()
14010            | OpFlags::REG_D_REG.bits()
14011            | OpFlags::MEM_UNSPECIFIED.bits()
14012            | OpFlags::MEM64.bits()
14013            | OpFlags::IMM_I64.bits()
14014            | OpFlags::IMM_U64.bits(),
14015        0x00,
14016    ),
14017    OpSignature::new(
14018        OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM16.bits(),
14019        0x00,
14020    ),
14021    OpSignature::new(OpFlags::REG_S_REG.bits(), 0x00),
14022    OpSignature::new(OpFlags::REG_C_REG.bits() | OpFlags::REG_D_REG.bits(), 0x00),
14023    OpSignature::new(
14024        OpFlags::REG_GPW.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM16.bits(),
14025        0x00,
14026    ),
14027    OpSignature::new(
14028        OpFlags::REG_GPD.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM32.bits(),
14029        0x00,
14030    ),
14031    OpSignature::new(
14032        OpFlags::REG_GPQ.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM64.bits(),
14033        0x00,
14034    ),
14035    OpSignature::new(
14036        OpFlags::REG_GPW.bits()
14037            | OpFlags::REG_GPD.bits()
14038            | OpFlags::MEM16.bits()
14039            | OpFlags::MEM32.bits(),
14040        0x00,
14041    ),
14042    OpSignature::new(OpFlags::IMM_I8.bits(), 0x00),
14043    OpSignature::new(OpFlags::IMM_I8.bits() | OpFlags::IMM_I32.bits(), 0x00),
14044    OpSignature::new(
14045        OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM32.bits(),
14046        0x00,
14047    ),
14048    OpSignature::new(
14049        OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM64.bits(),
14050        0x00,
14051    ),
14052    OpSignature::new(
14053        OpFlags::REG_GPQ.bits()
14054            | OpFlags::MEM_UNSPECIFIED.bits()
14055            | OpFlags::MEM64.bits()
14056            | OpFlags::IMM_I8.bits()
14057            | OpFlags::IMM_I32.bits()
14058            | OpFlags::IMM_U32.bits(),
14059        0x00,
14060    ),
14061    OpSignature::new(OpFlags::MEM64.bits(), 0x00),
14062    OpSignature::new(
14063        OpFlags::MEM_UNSPECIFIED.bits()
14064            | OpFlags::MEM8.bits()
14065            | OpFlags::IMM_I8.bits()
14066            | OpFlags::IMM_U8.bits(),
14067        0x00,
14068    ),
14069    OpSignature::new(
14070        OpFlags::MEM_UNSPECIFIED.bits()
14071            | OpFlags::MEM16.bits()
14072            | OpFlags::IMM_I8.bits()
14073            | OpFlags::IMM_I16.bits()
14074            | OpFlags::IMM_U16.bits(),
14075        0x00,
14076    ),
14077    OpSignature::new(
14078        OpFlags::MEM_UNSPECIFIED.bits()
14079            | OpFlags::MEM32.bits()
14080            | OpFlags::IMM_I8.bits()
14081            | OpFlags::IMM_I32.bits()
14082            | OpFlags::IMM_U32.bits(),
14083        0x00,
14084    ),
14085    OpSignature::new(
14086        OpFlags::MEM_UNSPECIFIED.bits()
14087            | OpFlags::MEM64.bits()
14088            | OpFlags::IMM_I8.bits()
14089            | OpFlags::IMM_I32.bits(),
14090        0x00,
14091    ),
14092    OpSignature::new(OpFlags::MEM8.bits(), 0x00),
14093    OpSignature::new(OpFlags::MEM16.bits() | OpFlags::MEM32.bits(), 0x00),
14094    OpSignature::new(OpFlags::MEM16.bits(), 0x00),
14095    OpSignature::new(OpFlags::MEM32.bits(), 0x00),
14096    OpSignature::new(
14097        OpFlags::REG_GPW.bits() | OpFlags::FLAG_IMPLICIT.bits(),
14098        0x01,
14099    ),
14100    OpSignature::new(
14101        OpFlags::REG_GPW.bits() | OpFlags::FLAG_IMPLICIT.bits(),
14102        0x04,
14103    ),
14104    OpSignature::new(
14105        OpFlags::REG_GPD.bits() | OpFlags::FLAG_IMPLICIT.bits(),
14106        0x04,
14107    ),
14108    OpSignature::new(
14109        OpFlags::REG_GPD.bits() | OpFlags::FLAG_IMPLICIT.bits(),
14110        0x01,
14111    ),
14112    OpSignature::new(
14113        OpFlags::REG_GPQ.bits() | OpFlags::FLAG_IMPLICIT.bits(),
14114        0x04,
14115    ),
14116    OpSignature::new(
14117        OpFlags::REG_GPQ.bits() | OpFlags::FLAG_IMPLICIT.bits(),
14118        0x01,
14119    ),
14120    OpSignature::new(
14121        OpFlags::IMM_I8.bits() | OpFlags::IMM_I16.bits() | OpFlags::IMM_U16.bits(),
14122        0x00,
14123    ),
14124    OpSignature::new(
14125        OpFlags::IMM_I8.bits() | OpFlags::IMM_I32.bits() | OpFlags::IMM_U32.bits(),
14126        0x00,
14127    ),
14128    OpSignature::new(OpFlags::IMM_I64.bits() | OpFlags::IMM_U64.bits(), 0x00),
14129    OpSignature::new(OpFlags::REG_GPB_LO.bits(), 0x01),
14130    OpSignature::new(OpFlags::REG_GPW.bits(), 0x01),
14131    OpSignature::new(OpFlags::REG_GPD.bits(), 0x01),
14132    OpSignature::new(OpFlags::REG_GPQ.bits(), 0x01),
14133    OpSignature::new(OpFlags::REG_XMM.bits(), 0x00),
14134    OpSignature::new(
14135        OpFlags::REG_XMM.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM128.bits(),
14136        0x00,
14137    ),
14138    OpSignature::new(OpFlags::REG_YMM.bits(), 0x00),
14139    OpSignature::new(
14140        OpFlags::REG_YMM.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM256.bits(),
14141        0x00,
14142    ),
14143    OpSignature::new(
14144        OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM128.bits(),
14145        0x00,
14146    ),
14147    OpSignature::new(
14148        OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM256.bits(),
14149        0x00,
14150    ),
14151    OpSignature::new(OpFlags::REG_ZMM.bits(), 0x00),
14152    OpSignature::new(
14153        OpFlags::REG_ZMM.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM512.bits(),
14154        0x00,
14155    ),
14156    OpSignature::new(
14157        OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM512.bits(),
14158        0x00,
14159    ),
14160    OpSignature::new(
14161        OpFlags::REG_XMM.bits()
14162            | OpFlags::MEM_UNSPECIFIED.bits()
14163            | OpFlags::MEM128.bits()
14164            | OpFlags::IMM_I8.bits()
14165            | OpFlags::IMM_U8.bits(),
14166        0x00,
14167    ),
14168    OpSignature::new(
14169        OpFlags::REG_YMM.bits()
14170            | OpFlags::MEM_UNSPECIFIED.bits()
14171            | OpFlags::MEM256.bits()
14172            | OpFlags::IMM_I8.bits()
14173            | OpFlags::IMM_U8.bits(),
14174        0x00,
14175    ),
14176    OpSignature::new(
14177        OpFlags::REG_ZMM.bits()
14178            | OpFlags::MEM_UNSPECIFIED.bits()
14179            | OpFlags::MEM512.bits()
14180            | OpFlags::IMM_I8.bits()
14181            | OpFlags::IMM_U8.bits(),
14182        0x00,
14183    ),
14184    OpSignature::new(OpFlags::REG_MM.bits(), 0x00),
14185    OpSignature::new(
14186        OpFlags::REG_MM.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM64.bits(),
14187        0x00,
14188    ),
14189    OpSignature::new(OpFlags::REG_XMM.bits() | OpFlags::REG_MM.bits(), 0x00),
14190    OpSignature::new(
14191        OpFlags::REG_XMM.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM64.bits(),
14192        0x00,
14193    ),
14194    OpSignature::new(OpFlags::REG_S_REG.bits(), 0x1A),
14195    OpSignature::new(OpFlags::REG_S_REG.bits(), 0x60),
14196    OpSignature::new(
14197        OpFlags::REG_GPW.bits()
14198            | OpFlags::MEM16.bits()
14199            | OpFlags::IMM_I8.bits()
14200            | OpFlags::IMM_U8.bits()
14201            | OpFlags::IMM_I16.bits()
14202            | OpFlags::IMM_U16.bits(),
14203        0x00,
14204    ),
14205    OpSignature::new(
14206        OpFlags::REG_GPD.bits()
14207            | OpFlags::MEM32.bits()
14208            | OpFlags::IMM_I32.bits()
14209            | OpFlags::IMM_U32.bits(),
14210        0x00,
14211    ),
14212    OpSignature::new(
14213        OpFlags::REG_GPQ.bits() | OpFlags::MEM64.bits() | OpFlags::IMM_I32.bits(),
14214        0x00,
14215    ),
14216    OpSignature::new(OpFlags::REG_S_REG.bits(), 0x1E),
14217    OpSignature::new(OpFlags::VM32X.bits(), 0x00),
14218    OpSignature::new(OpFlags::VM32Y.bits(), 0x00),
14219    OpSignature::new(OpFlags::VM32Z.bits(), 0x00),
14220    OpSignature::new(OpFlags::VM64X.bits(), 0x00),
14221    OpSignature::new(OpFlags::VM64Y.bits(), 0x00),
14222    OpSignature::new(OpFlags::VM64Z.bits(), 0x00),
14223    OpSignature::new(
14224        OpFlags::MEM8.bits() | OpFlags::FLAG_MEM_BASE.bits() | OpFlags::FLAG_MEM_DS.bits(),
14225        0x40,
14226    ),
14227    OpSignature::new(
14228        OpFlags::MEM8.bits() | OpFlags::FLAG_MEM_BASE.bits() | OpFlags::FLAG_MEM_ES.bits(),
14229        0x80,
14230    ),
14231    OpSignature::new(
14232        OpFlags::MEM16.bits() | OpFlags::FLAG_MEM_BASE.bits() | OpFlags::FLAG_MEM_DS.bits(),
14233        0x40,
14234    ),
14235    OpSignature::new(
14236        OpFlags::MEM16.bits() | OpFlags::FLAG_MEM_BASE.bits() | OpFlags::FLAG_MEM_ES.bits(),
14237        0x80,
14238    ),
14239    OpSignature::new(
14240        OpFlags::MEM32.bits() | OpFlags::FLAG_MEM_BASE.bits() | OpFlags::FLAG_MEM_DS.bits(),
14241        0x40,
14242    ),
14243    OpSignature::new(
14244        OpFlags::MEM32.bits() | OpFlags::FLAG_MEM_BASE.bits() | OpFlags::FLAG_MEM_ES.bits(),
14245        0x80,
14246    ),
14247    OpSignature::new(
14248        OpFlags::MEM64.bits() | OpFlags::FLAG_MEM_BASE.bits() | OpFlags::FLAG_MEM_DS.bits(),
14249        0x40,
14250    ),
14251    OpSignature::new(
14252        OpFlags::MEM64.bits() | OpFlags::FLAG_MEM_BASE.bits() | OpFlags::FLAG_MEM_ES.bits(),
14253        0x80,
14254    ),
14255    OpSignature::new(
14256        OpFlags::REG_GPB_LO.bits() | OpFlags::FLAG_IMPLICIT.bits(),
14257        0x01,
14258    ),
14259    OpSignature::new(OpFlags::REG_K_REG.bits(), 0x00),
14260    OpSignature::new(
14261        OpFlags::REG_K_REG.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM64.bits(),
14262        0x00,
14263    ),
14264    OpSignature::new(
14265        OpFlags::MEM_UNSPECIFIED.bits()
14266            | OpFlags::MEM8.bits()
14267            | OpFlags::FLAG_MEM_BASE.bits()
14268            | OpFlags::FLAG_MEM_DS.bits(),
14269        0x40,
14270    ),
14271    OpSignature::new(
14272        OpFlags::MEM_UNSPECIFIED.bits()
14273            | OpFlags::MEM16.bits()
14274            | OpFlags::FLAG_MEM_BASE.bits()
14275            | OpFlags::FLAG_MEM_DS.bits(),
14276        0x40,
14277    ),
14278    OpSignature::new(
14279        OpFlags::MEM_UNSPECIFIED.bits()
14280            | OpFlags::MEM32.bits()
14281            | OpFlags::FLAG_MEM_BASE.bits()
14282            | OpFlags::FLAG_MEM_DS.bits(),
14283        0x40,
14284    ),
14285    OpSignature::new(
14286        OpFlags::MEM_UNSPECIFIED.bits()
14287            | OpFlags::MEM64.bits()
14288            | OpFlags::FLAG_MEM_BASE.bits()
14289            | OpFlags::FLAG_MEM_DS.bits(),
14290        0x40,
14291    ),
14292    OpSignature::new(
14293        OpFlags::MEM_UNSPECIFIED.bits()
14294            | OpFlags::MEM8.bits()
14295            | OpFlags::FLAG_MEM_BASE.bits()
14296            | OpFlags::FLAG_MEM_ES.bits(),
14297        0x80,
14298    ),
14299    OpSignature::new(
14300        OpFlags::MEM_UNSPECIFIED.bits()
14301            | OpFlags::MEM16.bits()
14302            | OpFlags::FLAG_MEM_BASE.bits()
14303            | OpFlags::FLAG_MEM_ES.bits(),
14304        0x80,
14305    ),
14306    OpSignature::new(
14307        OpFlags::MEM_UNSPECIFIED.bits()
14308            | OpFlags::MEM32.bits()
14309            | OpFlags::FLAG_MEM_BASE.bits()
14310            | OpFlags::FLAG_MEM_ES.bits(),
14311        0x80,
14312    ),
14313    OpSignature::new(
14314        OpFlags::MEM_UNSPECIFIED.bits()
14315            | OpFlags::MEM64.bits()
14316            | OpFlags::FLAG_MEM_BASE.bits()
14317            | OpFlags::FLAG_MEM_ES.bits(),
14318        0x80,
14319    ),
14320    OpSignature::new(OpFlags::REG_XMM.bits() | OpFlags::REG_YMM.bits(), 0x00),
14321    OpSignature::new(OpFlags::IMM_I4.bits() | OpFlags::IMM_U4.bits(), 0x00),
14322    OpSignature::new(
14323        OpFlags::REG_GPW.bits()
14324            | OpFlags::REG_GPD.bits()
14325            | OpFlags::MEM_UNSPECIFIED.bits()
14326            | OpFlags::MEM16.bits()
14327            | OpFlags::MEM32.bits()
14328            | OpFlags::IMM_I32.bits()
14329            | OpFlags::IMM_I64.bits()
14330            | OpFlags::REL32.bits(),
14331        0x00,
14332    ),
14333    OpSignature::new(
14334        OpFlags::IMM_I32.bits() | OpFlags::IMM_I64.bits() | OpFlags::REL32.bits(),
14335        0x00,
14336    ),
14337    OpSignature::new(OpFlags::REG_GPW.bits() | OpFlags::REG_GPD.bits(), 0x00),
14338    OpSignature::new(
14339        OpFlags::REG_GPB_LO.bits()
14340            | OpFlags::REG_GPB_HI.bits()
14341            | OpFlags::REG_GPW.bits()
14342            | OpFlags::REG_GPD.bits()
14343            | OpFlags::MEM8.bits()
14344            | OpFlags::MEM16.bits()
14345            | OpFlags::MEM32.bits(),
14346        0x00,
14347    ),
14348    OpSignature::new(OpFlags::MEM32.bits() | OpFlags::MEM64.bits(), 0x00),
14349    OpSignature::new(OpFlags::REG_ST.bits(), 0x01),
14350    OpSignature::new(OpFlags::REG_ST.bits(), 0x00),
14351    OpSignature::new(
14352        OpFlags::IMM_I32.bits()
14353            | OpFlags::IMM_I64.bits()
14354            | OpFlags::REL8.bits()
14355            | OpFlags::REL32.bits(),
14356        0x00,
14357    ),
14358    OpSignature::new(
14359        OpFlags::REG_GPD.bits()
14360            | OpFlags::MEM32.bits()
14361            | OpFlags::IMM_I32.bits()
14362            | OpFlags::IMM_I64.bits()
14363            | OpFlags::REL32.bits(),
14364        0x00,
14365    ),
14366    OpSignature::new(
14367        OpFlags::IMM_I16.bits()
14368            | OpFlags::IMM_U16.bits()
14369            | OpFlags::IMM_I32.bits()
14370            | OpFlags::IMM_U32.bits(),
14371        0x00,
14372    ),
14373    OpSignature::new(
14374        OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM32.bits() | OpFlags::MEM48.bits(),
14375        0x00,
14376    ),
14377    OpSignature::new(
14378        OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM80.bits(),
14379        0x00,
14380    ),
14381    OpSignature::new(
14382        OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM48.bits(),
14383        0x00,
14384    ),
14385    OpSignature::new(
14386        OpFlags::REG_GPD.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM16.bits(),
14387        0x00,
14388    ),
14389    OpSignature::new(
14390        OpFlags::REG_GPB_LO.bits()
14391            | OpFlags::REG_GPB_HI.bits()
14392            | OpFlags::REG_GPW.bits()
14393            | OpFlags::MEM8.bits()
14394            | OpFlags::MEM16.bits(),
14395        0x00,
14396    ),
14397    OpSignature::new(
14398        OpFlags::REG_GPB_LO.bits() | OpFlags::IMM_I8.bits() | OpFlags::IMM_U8.bits(),
14399        0x02,
14400    ),
14401    OpSignature::new(OpFlags::REG_XMM.bits() | OpFlags::REG_K_REG.bits(), 0x00),
14402    OpSignature::new(OpFlags::REG_YMM.bits() | OpFlags::REG_K_REG.bits(), 0x00),
14403    OpSignature::new(
14404        OpFlags::REG_XMM.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM32.bits(),
14405        0x00,
14406    ),
14407    OpSignature::new(OpFlags::VM64X.bits() | OpFlags::VM64Y.bits(), 0x00),
14408    OpSignature::new(
14409        OpFlags::REG_XMM.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM16.bits(),
14410        0x00,
14411    ),
14412    OpSignature::new(OpFlags::REG_BND.bits(), 0x00),
14413    OpSignature::new(
14414        OpFlags::REG_BND.bits() | OpFlags::MEM_UNSPECIFIED.bits(),
14415        0x00,
14416    ),
14417    OpSignature::new(OpFlags::MEM_UNSPECIFIED.bits(), 0x00),
14418    OpSignature::new(
14419        OpFlags::REG_GPB_LO.bits()
14420            | OpFlags::REG_GPB_HI.bits()
14421            | OpFlags::REG_GPQ.bits()
14422            | OpFlags::MEM8.bits()
14423            | OpFlags::MEM64.bits(),
14424        0x00,
14425    ),
14426    OpSignature::new(
14427        OpFlags::MEM_UNSPECIFIED.bits()
14428            | OpFlags::MEM512.bits()
14429            | OpFlags::FLAG_MEM_BASE.bits()
14430            | OpFlags::FLAG_MEM_ES.bits(),
14431        0x00,
14432    ),
14433    OpSignature::new(
14434        OpFlags::REG_ST.bits() | OpFlags::MEM32.bits() | OpFlags::MEM64.bits(),
14435        0x00,
14436    ),
14437    OpSignature::new(
14438        OpFlags::REG_GPD.bits() | OpFlags::FLAG_IMPLICIT.bits(),
14439        0x02,
14440    ),
14441    OpSignature::new(
14442        OpFlags::REG_GPD.bits() | OpFlags::REG_GPQ.bits() | OpFlags::FLAG_IMPLICIT.bits(),
14443        0x01,
14444    ),
14445    OpSignature::new(
14446        OpFlags::REG_GPW.bits() | OpFlags::REG_GPD.bits() | OpFlags::FLAG_IMPLICIT.bits(),
14447        0x02,
14448    ),
14449    OpSignature::new(
14450        OpFlags::IMM_I32.bits() | OpFlags::IMM_I64.bits() | OpFlags::REL8.bits(),
14451        0x00,
14452    ),
14453    OpSignature::new(
14454        OpFlags::REG_GPD.bits() | OpFlags::REG_GPQ.bits() | OpFlags::FLAG_IMPLICIT.bits(),
14455        0x02,
14456    ),
14457    OpSignature::new(
14458        OpFlags::REG_GPD.bits()
14459            | OpFlags::REG_K_REG.bits()
14460            | OpFlags::MEM_UNSPECIFIED.bits()
14461            | OpFlags::MEM8.bits(),
14462        0x00,
14463    ),
14464    OpSignature::new(
14465        OpFlags::REG_GPD.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM8.bits(),
14466        0x00,
14467    ),
14468    OpSignature::new(
14469        OpFlags::REG_GPD.bits()
14470            | OpFlags::REG_K_REG.bits()
14471            | OpFlags::MEM_UNSPECIFIED.bits()
14472            | OpFlags::MEM32.bits(),
14473        0x00,
14474    ),
14475    OpSignature::new(
14476        OpFlags::REG_GPD.bits()
14477            | OpFlags::REG_K_REG.bits()
14478            | OpFlags::MEM_UNSPECIFIED.bits()
14479            | OpFlags::MEM16.bits(),
14480        0x00,
14481    ),
14482    OpSignature::new(
14483        OpFlags::MEM_UNSPECIFIED.bits()
14484            | OpFlags::MEM8.bits()
14485            | OpFlags::MEM16.bits()
14486            | OpFlags::MEM32.bits()
14487            | OpFlags::MEM48.bits()
14488            | OpFlags::MEM64.bits()
14489            | OpFlags::MEM80.bits()
14490            | OpFlags::MEM128.bits()
14491            | OpFlags::MEM256.bits()
14492            | OpFlags::MEM512.bits()
14493            | OpFlags::MEM1024.bits(),
14494        0x00,
14495    ),
14496    OpSignature::new(OpFlags::REG_GPD.bits() | OpFlags::REG_GPQ.bits(), 0x00),
14497    OpSignature::new(
14498        OpFlags::REG_MM.bits()
14499            | OpFlags::MEM_UNSPECIFIED.bits()
14500            | OpFlags::MEM64.bits()
14501            | OpFlags::IMM_I8.bits()
14502            | OpFlags::IMM_U8.bits(),
14503        0x00,
14504    ),
14505    OpSignature::new(
14506        OpFlags::REG_MM.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM32.bits(),
14507        0x00,
14508    ),
14509    OpSignature::new(OpFlags::IMM_U16.bits(), 0x00),
14510    OpSignature::new(
14511        OpFlags::REG_GPW.bits()
14512            | OpFlags::REG_GPD.bits()
14513            | OpFlags::MEM_UNSPECIFIED.bits()
14514            | OpFlags::MEM16.bits(),
14515        0x00,
14516    ),
14517    OpSignature::new(
14518        OpFlags::REG_GPQ.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM16.bits(),
14519        0x00,
14520    ),
14521    OpSignature::new(
14522        OpFlags::MEM_UNSPECIFIED.bits()
14523            | OpFlags::FLAG_MEM_BASE.bits()
14524            | OpFlags::FLAG_MEM_DS.bits(),
14525        0x00,
14526    ),
14527    OpSignature::new(
14528        OpFlags::REG_XMM.bits()
14529            | OpFlags::REG_YMM.bits()
14530            | OpFlags::MEM128.bits()
14531            | OpFlags::MEM256.bits(),
14532        0x00,
14533    ),
14534    OpSignature::new(
14535        OpFlags::REG_XMM.bits() | OpFlags::REG_YMM.bits() | OpFlags::REG_ZMM.bits(),
14536        0x00,
14537    ),
14538    OpSignature::new(
14539        OpFlags::REG_XMM.bits() | OpFlags::IMM_I8.bits() | OpFlags::IMM_U8.bits(),
14540        0x00,
14541    ),
14542    OpSignature::new(
14543        OpFlags::REG_XMM.bits() | OpFlags::FLAG_IMPLICIT.bits(),
14544        0x01,
14545    ),
14546    OpSignature::new(
14547        OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::FLAG_MIB.bits(),
14548        0x00,
14549    ),
14550    OpSignature::new(
14551        OpFlags::MEM_UNSPECIFIED.bits()
14552            | OpFlags::MEM512.bits()
14553            | OpFlags::FLAG_MEM_BASE.bits()
14554            | OpFlags::FLAG_MEM_DS.bits()
14555            | OpFlags::FLAG_IMPLICIT.bits(),
14556        0x01,
14557    ),
14558    OpSignature::new(
14559        OpFlags::REG_GPQ.bits() | OpFlags::FLAG_IMPLICIT.bits(),
14560        0x02,
14561    ),
14562    OpSignature::new(
14563        OpFlags::REG_GPQ.bits() | OpFlags::FLAG_IMPLICIT.bits(),
14564        0x08,
14565    ),
14566    OpSignature::new(
14567        OpFlags::REG_GPD.bits() | OpFlags::FLAG_IMPLICIT.bits(),
14568        0x08,
14569    ),
14570    OpSignature::new(
14571        OpFlags::MEM16.bits() | OpFlags::MEM32.bits() | OpFlags::MEM64.bits(),
14572        0x00,
14573    ),
14574    OpSignature::new(
14575        OpFlags::REG_ST.bits()
14576            | OpFlags::MEM32.bits()
14577            | OpFlags::MEM64.bits()
14578            | OpFlags::MEM80.bits(),
14579        0x00,
14580    ),
14581    OpSignature::new(
14582        OpFlags::REG_GPW.bits() | OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::MEM16.bits(),
14583        0x01,
14584    ),
14585    OpSignature::new(
14586        OpFlags::REG_GPB_LO.bits() | OpFlags::REG_GPW.bits() | OpFlags::REG_GPD.bits(),
14587        0x01,
14588    ),
14589    OpSignature::new(
14590        OpFlags::REG_GPW.bits() | OpFlags::IMM_I8.bits() | OpFlags::IMM_U8.bits(),
14591        0x04,
14592    ),
14593    OpSignature::new(
14594        OpFlags::MEM8.bits()
14595            | OpFlags::MEM16.bits()
14596            | OpFlags::MEM32.bits()
14597            | OpFlags::FLAG_MEM_BASE.bits()
14598            | OpFlags::FLAG_MEM_ES.bits(),
14599        0x80,
14600    ),
14601    OpSignature::new(OpFlags::REG_GPW.bits(), 0x04),
14602    OpSignature::new(
14603        OpFlags::REG_GPB_HI.bits() | OpFlags::FLAG_IMPLICIT.bits(),
14604        0x01,
14605    ),
14606    OpSignature::new(
14607        OpFlags::MEM_UNSPECIFIED.bits()
14608            | OpFlags::MEM128.bits()
14609            | OpFlags::FLAG_MEM_BASE.bits()
14610            | OpFlags::FLAG_MEM_DS.bits()
14611            | OpFlags::FLAG_IMPLICIT.bits(),
14612        0x80,
14613    ),
14614    OpSignature::new(
14615        OpFlags::MEM_UNSPECIFIED.bits()
14616            | OpFlags::MEM64.bits()
14617            | OpFlags::FLAG_MEM_BASE.bits()
14618            | OpFlags::FLAG_MEM_DS.bits()
14619            | OpFlags::FLAG_IMPLICIT.bits(),
14620        0x80,
14621    ),
14622    OpSignature::new(
14623        OpFlags::MEM_UNSPECIFIED.bits()
14624            | OpFlags::FLAG_MEM_BASE.bits()
14625            | OpFlags::FLAG_MEM_DS.bits()
14626            | OpFlags::FLAG_IMPLICIT.bits(),
14627        0x01,
14628    ),
14629    OpSignature::new(
14630        OpFlags::MEM8.bits()
14631            | OpFlags::MEM16.bits()
14632            | OpFlags::MEM32.bits()
14633            | OpFlags::FLAG_MEM_BASE.bits()
14634            | OpFlags::FLAG_MEM_DS.bits(),
14635        0x40,
14636    ),
14637    OpSignature::new(OpFlags::REG_TMM.bits(), 0x00),
14638    OpSignature::new(
14639        OpFlags::MEM_UNSPECIFIED.bits() | OpFlags::FLAG_T_MEM.bits(),
14640        0x00,
14641    ),
14642    OpSignature::new(OpFlags::REG_YMM.bits() | OpFlags::REG_ZMM.bits(), 0x00),
14643    OpSignature::new(
14644        OpFlags::REG_XMM.bits()
14645            | OpFlags::REG_YMM.bits()
14646            | OpFlags::REG_ZMM.bits()
14647            | OpFlags::MEM128.bits()
14648            | OpFlags::MEM256.bits()
14649            | OpFlags::MEM512.bits(),
14650        0x00,
14651    ),
14652    OpSignature::new(
14653        OpFlags::REG_GPD.bits()
14654            | OpFlags::REG_XMM.bits()
14655            | OpFlags::MEM_UNSPECIFIED.bits()
14656            | OpFlags::MEM8.bits(),
14657        0x00,
14658    ),
14659    OpSignature::new(
14660        OpFlags::REG_GPD.bits()
14661            | OpFlags::REG_XMM.bits()
14662            | OpFlags::MEM_UNSPECIFIED.bits()
14663            | OpFlags::MEM32.bits(),
14664        0x00,
14665    ),
14666    OpSignature::new(
14667        OpFlags::REG_GPD.bits()
14668            | OpFlags::REG_XMM.bits()
14669            | OpFlags::MEM_UNSPECIFIED.bits()
14670            | OpFlags::MEM16.bits(),
14671        0x00,
14672    ),
14673];
14674
14675pub static RW_INFO_INDEX_A_TABLE: &[u8] = &[
14676    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,
14677    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,
14678    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,
14679    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,
14680    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,
14681    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,
14682    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,
14683    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,
14684    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,
14685    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,
14686    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,
14687    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,
14688    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,
14689    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,
14690    65, 66, 67, 67, 68, 49, 25, 37, 68, 54, 67, 67, 69, 70, 70, 71, 72, 72, 73, 73, 61, 61, 68, 61,
14691    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,
14692    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,
14693    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,
14694    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,
14695    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,
14696    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,
14697    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,
14698    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,
14699    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,
14700    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,
14701    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,
14702    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,
14703    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,
14704    0, 0, 0, 0, 102, 29, 103, 104, 103, 104, 102, 29, 103, 104, 103, 104, 105, 106, 0, 0, 0, 0, 0,
14705    0, 21, 107, 22, 108, 108, 109, 110, 10, 0, 68, 68, 68, 68, 110, 110, 111, 110, 10, 110, 10,
14706    109, 112, 109, 109, 112, 109, 112, 10, 10, 10, 109, 0, 110, 109, 10, 109, 10, 113, 110, 0, 29,
14707    0, 29, 0, 114, 0, 114, 0, 0, 0, 0, 0, 34, 34, 110, 10, 110, 10, 109, 112, 109, 112, 10, 10, 10,
14708    109, 10, 109, 29, 29, 114, 114, 34, 34, 109, 110, 10, 10, 111, 110, 0, 0, 0, 10, 10, 0, 0, 0,
14709    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,
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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
14713    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,
14714    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,
14715    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,
14716    117, 117, 117, 117, 117, 117, 117, 117, 0, 119, 119, 0, 72, 72, 120, 121, 68, 68, 68, 68, 122,
14717    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,
14718    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,
14719    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,
14720    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,
14721    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,
14722    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,
14723    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,
14724    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 127, 128, 129, 126, 126, 126, 126, 86, 127, 130, 129,
14725    128, 128, 129, 130, 129, 128, 129, 112, 131, 109, 109, 109, 112, 128, 129, 130, 129, 128, 129,
14726    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,
14727    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,
14728    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,
14729    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,
14730    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,
14731    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,
14732    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,
14733    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,
14734    0, 0, 0, 0, 0, 0, 0, 0, 0,
14735];
14736
14737pub static RW_INFO_INDEX_B_TABLE: &[u8] = &[
14738    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,
14739    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,
14740    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,
14741    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,
14742    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,
14743    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,
14744    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,
14745    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,
14746    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,
14747    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,
14748    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,
14749    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,
14750    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,
14751    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,
14752    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,
14753    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,
14754    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,
14755    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,
14756    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,
14757    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,
14758    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,
14759    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,
14760    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,
14761    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,
14762    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,
14763    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,
14764    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,
14765    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,
14766    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,
14767    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,
14768    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,
14769    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,
14770    111, 0, 0, 3, 3, 3, 3, 98, 99, 100, 3, 114, 3, 56, 56, 0, 0, 115, 116, 117, 116, 117, 115, 116,
14771    117, 116, 117, 23, 118, 119, 118, 119, 120, 120, 121, 122, 120, 120, 120, 123, 124, 125, 120,
14772    120, 120, 123, 124, 125, 120, 120, 120, 123, 124, 125, 118, 119, 126, 126, 127, 128, 120, 120,
14773    120, 120, 120, 120, 120, 120, 120, 126, 126, 120, 120, 120, 123, 129, 125, 120, 120, 120, 123,
14774    129, 125, 120, 120, 120, 123, 129, 125, 120, 120, 120, 120, 120, 120, 120, 120, 120, 126, 126,
14775    126, 126, 127, 128, 118, 130, 120, 120, 120, 123, 124, 125, 120, 120, 120, 123, 124, 125, 120,
14776    120, 120, 123, 124, 125, 126, 126, 127, 128, 120, 120, 120, 123, 129, 125, 120, 120, 120, 123,
14777    129, 125, 120, 120, 120, 131, 129, 132, 126, 126, 127, 128, 133, 133, 133, 79, 134, 135, 0, 0,
14778    0, 0, 136, 137, 137, 138, 0, 0, 0, 139, 140, 141, 85, 85, 85, 139, 140, 141, 3, 3, 3, 3, 3, 3,
14779    3, 142, 143, 144, 143, 144, 142, 143, 144, 143, 144, 100, 0, 54, 59, 145, 145, 3, 3, 3, 98, 99,
14780    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,
14781    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,
14782    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,
14783    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,
14784    102, 3, 3, 3, 3, 68, 69, 3, 3, 3, 3, 70, 71, 102, 102, 102, 102, 102, 102, 114, 114, 0, 0, 0,
14785    0, 114, 114, 114, 114, 114, 114, 0, 0, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
14786    120, 120, 120, 120, 120, 157, 157, 3, 3, 120, 120, 3, 3, 120, 120, 126, 126, 158, 158, 158, 3,
14787    158, 120, 120, 120, 120, 120, 120, 3, 0, 0, 0, 0, 72, 23, 73, 159, 137, 136, 138, 137, 0, 0, 0,
14788    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,
14789    161, 161, 161, 161, 161, 161, 161, 161, 161, 120, 120, 3, 3, 145, 145, 3, 3, 3, 3, 3, 3, 3, 3,
14790    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,
14791    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,
14792    162, 85, 85, 3, 3, 85, 85, 3, 3, 163, 163, 163, 163, 3, 0, 0, 0, 0, 163, 163, 163, 163, 163,
14793    163, 3, 3, 120, 120, 120, 3, 163, 163, 3, 3, 120, 120, 120, 3, 3, 102, 85, 85, 85, 3, 3, 3,
14794    164, 165, 164, 3, 3, 3, 166, 164, 167, 3, 3, 3, 166, 164, 165, 164, 3, 3, 3, 166, 3, 3, 3, 3,
14795    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,
14796    3, 3, 3, 139, 141, 0, 0, 139, 141, 0, 0, 140, 141, 85, 85, 85, 139, 140, 141, 85, 85, 85, 139,
14797    140, 141, 85, 85, 139, 141, 0, 0, 139, 141, 0, 0, 140, 141, 3, 3, 3, 98, 99, 100, 0, 0, 0, 0,
14798    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,
14799    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,
14800    0, 0, 0, 0, 0, 172, 172, 172, 172, 173, 173, 173, 173, 173, 173, 173, 173, 171, 0, 0,
14801];
14802
14803pub static RW_INFO_A_TABLE: &[RwInfo] = &[
14804    RwInfo::new(RwInfoCategory::Generic, 0, [0, 0, 0, 0, 0, 0]), // #0 [ref=999x]
14805    RwInfo::new(RwInfoCategory::Generic, 0, [1, 0, 0, 0, 0, 0]), // #1 [ref=2x]
14806    RwInfo::new(RwInfoCategory::Generic, 0, [2, 3, 0, 0, 0, 0]), // #2 [ref=15x]
14807    RwInfo::new(RwInfoCategory::Generic, 1, [2, 3, 0, 0, 0, 0]), // #3 [ref=7x]
14808    RwInfo::new(RwInfoCategory::Generic, 2, [2, 3, 0, 0, 0, 0]), // #4 [ref=82x]
14809    RwInfo::new(RwInfoCategory::Generic, 3, [4, 5, 0, 0, 0, 0]), // #5 [ref=55x]
14810    RwInfo::new(RwInfoCategory::Generic, 4, [6, 7, 0, 0, 0, 0]), // #6 [ref=6x]
14811    RwInfo::new(RwInfoCategory::Generic, 5, [8, 9, 0, 0, 0, 0]), // #7 [ref=6x]
14812    RwInfo::new(RwInfoCategory::Generic, 3, [10, 5, 0, 0, 0, 0]), // #8 [ref=26x]
14813    RwInfo::new(RwInfoCategory::Generic, 7, [12, 13, 0, 0, 0, 0]), // #9 [ref=1x]
14814    RwInfo::new(RwInfoCategory::Generic, 2, [11, 3, 0, 0, 0, 0]), // #10 [ref=75x]
14815    RwInfo::new(RwInfoCategory::Generic, 2, [5, 3, 0, 0, 0, 0]), // #11 [ref=3x]
14816    RwInfo::new(RwInfoCategory::Generic, 8, [10, 3, 0, 0, 0, 0]), // #12 [ref=2x]
14817    RwInfo::new(RwInfoCategory::Generic, 9, [10, 5, 0, 0, 0, 0]), // #13 [ref=1x]
14818    RwInfo::new(RwInfoCategory::Generic, 8, [15, 5, 0, 0, 0, 0]), // #14 [ref=1x]
14819    RwInfo::new(RwInfoCategory::Generic, 0, [3, 3, 0, 0, 0, 0]), // #15 [ref=1x]
14820    RwInfo::new(RwInfoCategory::Generic, 10, [3, 3, 0, 0, 0, 0]), // #16 [ref=2x]
14821    RwInfo::new(RwInfoCategory::Generic, 10, [2, 3, 0, 0, 0, 0]), // #17 [ref=3x]
14822    RwInfo::new(RwInfoCategory::Generic, 0, [16, 17, 0, 0, 0, 0]), // #18 [ref=1x]
14823    RwInfo::new(RwInfoCategory::Generic, 1, [3, 3, 0, 0, 0, 0]), // #19 [ref=1x]
14824    RwInfo::new(RwInfoCategory::Generic, 14, [20, 21, 0, 0, 0, 0]), // #20 [ref=1x]
14825    RwInfo::new(RwInfoCategory::Generic, 4, [7, 7, 0, 0, 0, 0]), // #21 [ref=4x]
14826    RwInfo::new(RwInfoCategory::Generic, 5, [9, 9, 0, 0, 0, 0]), // #22 [ref=4x]
14827    RwInfo::new(RwInfoCategory::Generic, 0, [33, 34, 0, 0, 0, 0]), // #23 [ref=1x]
14828    RwInfo::new(RwInfoCategory::Generic, 16, [2, 3, 0, 0, 0, 0]), // #24 [ref=1x]
14829    RwInfo::new(RwInfoCategory::Generic, 4, [10, 7, 0, 0, 0, 0]), // #25 [ref=10x]
14830    RwInfo::new(RwInfoCategory::Generic, 3, [35, 5, 0, 0, 0, 0]), // #26 [ref=5x]
14831    RwInfo::new(RwInfoCategory::Generic, 4, [36, 7, 0, 0, 0, 0]), // #27 [ref=2x]
14832    RwInfo::new(RwInfoCategory::Generic, 4, [35, 7, 0, 0, 0, 0]), // #28 [ref=11x]
14833    RwInfo::new(RwInfoCategory::Generic, 4, [11, 7, 0, 0, 0, 0]), // #29 [ref=9x]
14834    RwInfo::new(RwInfoCategory::Generic, 4, [37, 7, 0, 0, 0, 0]), // #30 [ref=1x]
14835    RwInfo::new(RwInfoCategory::Generic, 16, [36, 3, 0, 0, 0, 0]), // #31 [ref=1x]
14836    RwInfo::new(RwInfoCategory::Generic, 16, [37, 3, 0, 0, 0, 0]), // #32 [ref=1x]
14837    RwInfo::new(RwInfoCategory::Generic, 5, [36, 9, 0, 0, 0, 0]), // #33 [ref=1x]
14838    RwInfo::new(RwInfoCategory::Generic, 5, [11, 9, 0, 0, 0, 0]), // #34 [ref=7x]
14839    RwInfo::new(RwInfoCategory::Generic, 0, [38, 39, 0, 0, 0, 0]), // #35 [ref=1x]
14840    RwInfo::new(RwInfoCategory::Generic, 17, [1, 40, 0, 0, 0, 0]), // #36 [ref=3x]
14841    RwInfo::new(RwInfoCategory::Generic, 13, [43, 44, 0, 0, 0, 0]), // #37 [ref=3x]
14842    RwInfo::new(RwInfoCategory::Generic, 0, [4, 5, 0, 0, 0, 0]), // #38 [ref=2x]
14843    RwInfo::new(RwInfoCategory::Generic, 0, [46, 47, 0, 0, 0, 0]), // #39 [ref=6x]
14844    RwInfo::new(RwInfoCategory::Generic, 0, [51, 30, 0, 0, 0, 0]), // #40 [ref=1x]
14845    RwInfo::new(RwInfoCategory::Generic, 0, [0, 51, 0, 0, 0, 0]), // #41 [ref=1x]
14846    RwInfo::new(RwInfoCategory::Imul, 2, [0, 0, 0, 0, 0, 0]),    // #42 [ref=1x]
14847    RwInfo::new(RwInfoCategory::Generic, 0, [52, 53, 0, 0, 0, 0]), // #43 [ref=1x]
14848    RwInfo::new(RwInfoCategory::Generic, 14, [54, 53, 0, 0, 0, 0]), // #44 [ref=1x]
14849    RwInfo::new(RwInfoCategory::Generic, 15, [3, 5, 0, 0, 0, 0]), // #45 [ref=3x]
14850    RwInfo::new(RwInfoCategory::Generic, 0, [22, 29, 0, 0, 0, 0]), // #46 [ref=1x]
14851    RwInfo::new(RwInfoCategory::Generic, 0, [56, 0, 0, 0, 0, 0]), // #47 [ref=1x]
14852    RwInfo::new(RwInfoCategory::Generic, 23, [57, 40, 0, 0, 0, 0]), // #48 [ref=1x]
14853    RwInfo::new(RwInfoCategory::Generic, 24, [45, 9, 0, 0, 0, 0]), // #49 [ref=3x]
14854    RwInfo::new(RwInfoCategory::Generic, 25, [35, 7, 0, 0, 0, 0]), // #50 [ref=2x]
14855    RwInfo::new(RwInfoCategory::Generic, 26, [49, 13, 0, 0, 0, 0]), // #51 [ref=2x]
14856    RwInfo::new(RwInfoCategory::Generic, 0, [57, 40, 0, 0, 0, 0]), // #52 [ref=1x]
14857    RwInfo::new(RwInfoCategory::Generic, 0, [45, 9, 0, 0, 0, 0]), // #53 [ref=1x]
14858    RwInfo::new(RwInfoCategory::Generic, 0, [35, 7, 0, 0, 0, 0]), // #54 [ref=3x]
14859    RwInfo::new(RwInfoCategory::Generic, 0, [49, 13, 0, 0, 0, 0]), // #55 [ref=1x]
14860    RwInfo::new(RwInfoCategory::Generic, 0, [40, 40, 0, 0, 0, 0]), // #56 [ref=2x]
14861    RwInfo::new(RwInfoCategory::Generic, 0, [9, 9, 0, 0, 0, 0]), // #57 [ref=2x]
14862    RwInfo::new(RwInfoCategory::Generic, 0, [7, 7, 0, 0, 0, 0]), // #58 [ref=2x]
14863    RwInfo::new(RwInfoCategory::Generic, 0, [13, 13, 0, 0, 0, 0]), // #59 [ref=2x]
14864    RwInfo::new(RwInfoCategory::Generic, 27, [11, 3, 0, 0, 0, 0]), // #60 [ref=2x]
14865    RwInfo::new(RwInfoCategory::Generic, 15, [10, 5, 0, 0, 0, 0]), // #61 [ref=5x]
14866    RwInfo::new(RwInfoCategory::Generic, 8, [11, 3, 0, 0, 0, 0]), // #62 [ref=1x]
14867    RwInfo::new(RwInfoCategory::Generic, 0, [52, 20, 0, 0, 0, 0]), // #63 [ref=1x]
14868    RwInfo::new(RwInfoCategory::Generic, 0, [59, 0, 0, 0, 0, 0]), // #64 [ref=3x]
14869    RwInfo::new(RwInfoCategory::Mov, 29, [0, 0, 0, 0, 0, 0]),    // #65 [ref=1x]
14870    RwInfo::new(RwInfoCategory::Movabs, 0, [0, 0, 0, 0, 0, 0]),  // #66 [ref=1x]
14871    RwInfo::new(RwInfoCategory::Generic, 30, [10, 5, 0, 0, 0, 0]), // #67 [ref=6x]
14872    RwInfo::new(RwInfoCategory::Generic, 0, [11, 3, 0, 0, 0, 0]), // #68 [ref=18x]
14873    RwInfo::new(RwInfoCategory::Generic, 0, [36, 63, 0, 0, 0, 0]), // #69 [ref=1x]
14874    RwInfo::new(RwInfoCategory::Movh64, 12, [0, 0, 0, 0, 0, 0]), // #70 [ref=2x]
14875    RwInfo::new(RwInfoCategory::Generic, 0, [64, 7, 0, 0, 0, 0]), // #71 [ref=1x]
14876    RwInfo::new(RwInfoCategory::Generic, 12, [35, 7, 0, 0, 0, 0]), // #72 [ref=9x]
14877    RwInfo::new(RwInfoCategory::Generic, 0, [57, 5, 0, 0, 0, 0]), // #73 [ref=2x]
14878    RwInfo::new(RwInfoCategory::Generic, 28, [45, 9, 0, 0, 0, 0]), // #74 [ref=4x]
14879    RwInfo::new(RwInfoCategory::Generic, 14, [65, 20, 0, 0, 0, 0]), // #75 [ref=1x]
14880    RwInfo::new(RwInfoCategory::Generic, 31, [35, 7, 0, 0, 0, 0]), // #76 [ref=1x]
14881    RwInfo::new(RwInfoCategory::Generic, 33, [45, 9, 0, 0, 0, 0]), // #77 [ref=1x]
14882    RwInfo::new(RwInfoCategory::Generic, 16, [11, 3, 0, 0, 0, 0]), // #78 [ref=2x]
14883    RwInfo::new(RwInfoCategory::Generic, 0, [17, 29, 0, 0, 0, 0]), // #79 [ref=1x]
14884    RwInfo::new(RwInfoCategory::Generic, 11, [3, 3, 0, 0, 0, 0]), // #80 [ref=1x]
14885    RwInfo::new(RwInfoCategory::Generic, 0, [53, 22, 0, 0, 0, 0]), // #81 [ref=1x]
14886    RwInfo::new(RwInfoCategory::Generic, 14, [53, 68, 0, 0, 0, 0]), // #82 [ref=1x]
14887    RwInfo::new(RwInfoCategory::Generic, 4, [26, 7, 0, 0, 0, 0]), // #83 [ref=18x]
14888    RwInfo::new(RwInfoCategory::Generic, 36, [0, 0, 0, 0, 0, 0]), // #84 [ref=1x]
14889    RwInfo::new(RwInfoCategory::Generic, 3, [71, 5, 0, 0, 0, 0]), // #85 [ref=2x]
14890    RwInfo::new(RwInfoCategory::Vmov1_8, 0, [0, 0, 0, 0, 0, 0]), // #86 [ref=2x]
14891    RwInfo::new(RwInfoCategory::Generic, 5, [10, 9, 0, 0, 0, 0]), // #87 [ref=4x]
14892    RwInfo::new(RwInfoCategory::Generic, 27, [10, 13, 0, 0, 0, 0]), // #88 [ref=2x]
14893    RwInfo::new(RwInfoCategory::Generic, 0, [4, 0, 0, 0, 0, 0]), // #89 [ref=2x]
14894    RwInfo::new(RwInfoCategory::Generic, 3, [5, 5, 0, 0, 0, 0]), // #90 [ref=1x]
14895    RwInfo::new(RwInfoCategory::Punpcklxx, 38, [0, 0, 0, 0, 0, 0]), // #91 [ref=3x]
14896    RwInfo::new(RwInfoCategory::Generic, 10, [2, 72, 0, 0, 0, 0]), // #92 [ref=7x]
14897    RwInfo::new(RwInfoCategory::Generic, 5, [37, 9, 0, 0, 0, 0]), // #93 [ref=3x]
14898    RwInfo::new(RwInfoCategory::Generic, 0, [35, 0, 0, 0, 0, 0]), // #94 [ref=1x]
14899    RwInfo::new(RwInfoCategory::Generic, 0, [16, 51, 0, 0, 0, 0]), // #95 [ref=1x]
14900    RwInfo::new(RwInfoCategory::Generic, 0, [22, 21, 0, 0, 0, 0]), // #96 [ref=1x]
14901    RwInfo::new(RwInfoCategory::Generic, 0, [65, 22, 0, 0, 0, 0]), // #97 [ref=1x]
14902    RwInfo::new(RwInfoCategory::Generic, 8, [43, 3, 0, 0, 0, 0]), // #98 [ref=2x]
14903    RwInfo::new(RwInfoCategory::Generic, 8, [11, 44, 0, 0, 0, 0]), // #99 [ref=1x]
14904    RwInfo::new(RwInfoCategory::Generic, 5, [76, 9, 0, 0, 0, 0]), // #100 [ref=2x]
14905    RwInfo::new(RwInfoCategory::Generic, 21, [11, 13, 0, 0, 0, 0]), // #101 [ref=2x]
14906    RwInfo::new(RwInfoCategory::Generic, 15, [77, 5, 0, 0, 0, 0]), // #102 [ref=2x]
14907    RwInfo::new(RwInfoCategory::Generic, 15, [11, 5, 0, 0, 0, 0]), // #103 [ref=4x]
14908    RwInfo::new(RwInfoCategory::Generic, 43, [43, 78, 0, 0, 0, 0]), // #104 [ref=4x]
14909    RwInfo::new(RwInfoCategory::Generic, 44, [11, 7, 0, 0, 0, 0]), // #105 [ref=1x]
14910    RwInfo::new(RwInfoCategory::Generic, 45, [11, 9, 0, 0, 0, 0]), // #106 [ref=1x]
14911    RwInfo::new(RwInfoCategory::Generic, 27, [13, 13, 0, 0, 0, 0]), // #107 [ref=2x]
14912    RwInfo::new(RwInfoCategory::Generic, 11, [11, 3, 0, 0, 0, 0]), // #108 [ref=7x]
14913    RwInfo::new(RwInfoCategory::Vmov2_1, 46, [0, 0, 0, 0, 0, 0]), // #109 [ref=19x]
14914    RwInfo::new(RwInfoCategory::Vmov1_2, 16, [0, 0, 0, 0, 0, 0]), // #110 [ref=11x]
14915    RwInfo::new(RwInfoCategory::Vmov1_4, 16, [0, 0, 0, 0, 0, 0]), // #111 [ref=2x]
14916    RwInfo::new(RwInfoCategory::Vmov4_1, 47, [0, 0, 0, 0, 0, 0]), // #112 [ref=9x]
14917    RwInfo::new(RwInfoCategory::Generic, 16, [10, 3, 0, 0, 0, 0]), // #113 [ref=1x]
14918    RwInfo::new(RwInfoCategory::Generic, 27, [11, 13, 0, 0, 0, 0]), // #114 [ref=5x]
14919    RwInfo::new(RwInfoCategory::Generic, 5, [45, 9, 0, 0, 0, 0]), // #115 [ref=1x]
14920    RwInfo::new(RwInfoCategory::Generic, 14, [2, 3, 0, 0, 0, 0]), // #116 [ref=2x]
14921    RwInfo::new(RwInfoCategory::Generic, 57, [11, 3, 0, 0, 0, 0]), // #117 [ref=12x]
14922    RwInfo::new(RwInfoCategory::Vmovddup, 38, [0, 0, 0, 0, 0, 0]), // #118 [ref=1x]
14923    RwInfo::new(RwInfoCategory::Generic, 12, [35, 63, 0, 0, 0, 0]), // #119 [ref=2x]
14924    RwInfo::new(RwInfoCategory::Vmovmskpd, 0, [0, 0, 0, 0, 0, 0]), // #120 [ref=1x]
14925    RwInfo::new(RwInfoCategory::Vmovmskps, 0, [0, 0, 0, 0, 0, 0]), // #121 [ref=1x]
14926    RwInfo::new(RwInfoCategory::Generic, 58, [35, 7, 0, 0, 0, 0]), // #122 [ref=1x]
14927    RwInfo::new(RwInfoCategory::Generic, 21, [49, 13, 0, 0, 0, 0]), // #123 [ref=1x]
14928    RwInfo::new(RwInfoCategory::Generic, 2, [3, 3, 0, 0, 0, 0]), // #124 [ref=4x]
14929    RwInfo::new(RwInfoCategory::Generic, 17, [11, 40, 0, 0, 0, 0]), // #125 [ref=1x]
14930    RwInfo::new(RwInfoCategory::Generic, 0, [11, 7, 0, 0, 0, 0]), // #126 [ref=6x]
14931    RwInfo::new(RwInfoCategory::Generic, 0, [35, 3, 0, 0, 0, 0]), // #127 [ref=4x]
14932    RwInfo::new(RwInfoCategory::Vmov1_4, 61, [0, 0, 0, 0, 0, 0]), // #128 [ref=6x]
14933    RwInfo::new(RwInfoCategory::Vmov1_2, 48, [0, 0, 0, 0, 0, 0]), // #129 [ref=9x]
14934    RwInfo::new(RwInfoCategory::Vmov1_8, 62, [0, 0, 0, 0, 0, 0]), // #130 [ref=3x]
14935    RwInfo::new(RwInfoCategory::Vmov8_1, 63, [0, 0, 0, 0, 0, 0]), // #131 [ref=2x]
14936    RwInfo::new(RwInfoCategory::Generic, 14, [11, 3, 0, 0, 0, 0]), // #132 [ref=2x]
14937    RwInfo::new(RwInfoCategory::Generic, 0, [87, 5, 0, 0, 0, 0]), // #133 [ref=1x]
14938    RwInfo::new(RwInfoCategory::Generic, 0, [87, 78, 0, 0, 0, 0]), // #134 [ref=1x]
14939    RwInfo::new(RwInfoCategory::Generic, 11, [2, 2, 0, 0, 0, 0]), // #135 [ref=1x]
14940    RwInfo::new(RwInfoCategory::Generic, 57, [2, 2, 0, 0, 0, 0]), // #136 [ref=1x]
14941];
14942
14943pub static RW_INFO_B_TABLE: &[RwInfo] = &[
14944    RwInfo::new(RwInfoCategory::Generic, 0, [0, 0, 0, 0, 0, 0]), // #0 [ref=758x]
14945    RwInfo::new(RwInfoCategory::Generic, 0, [1, 0, 0, 0, 0, 0]), // #1 [ref=5x]
14946    RwInfo::new(RwInfoCategory::Generic, 3, [10, 5, 0, 0, 0, 0]), // #2 [ref=7x]
14947    RwInfo::new(RwInfoCategory::Generic, 6, [11, 3, 3, 0, 0, 0]), // #3 [ref=193x]
14948    RwInfo::new(RwInfoCategory::Generic, 2, [11, 3, 3, 0, 0, 0]), // #4 [ref=5x]
14949    RwInfo::new(RwInfoCategory::Generic, 3, [4, 5, 0, 0, 0, 0]), // #5 [ref=14x]
14950    RwInfo::new(RwInfoCategory::Generic, 3, [4, 5, 14, 0, 0, 0]), // #6 [ref=4x]
14951    RwInfo::new(RwInfoCategory::Generic, 0, [2, 0, 0, 0, 0, 0]), // #7 [ref=1x]
14952    RwInfo::new(RwInfoCategory::Generic, 11, [3, 0, 0, 0, 0, 0]), // #8 [ref=2x]
14953    RwInfo::new(RwInfoCategory::Generic, 0, [18, 0, 0, 0, 0, 0]), // #9 [ref=1x]
14954    RwInfo::new(RwInfoCategory::Generic, 8, [3, 0, 0, 0, 0, 0]), // #10 [ref=21x]
14955    RwInfo::new(RwInfoCategory::Generic, 12, [7, 0, 0, 0, 0, 0]), // #11 [ref=5x]
14956    RwInfo::new(RwInfoCategory::Generic, 13, [19, 0, 0, 0, 0, 0]), // #12 [ref=1x]
14957    RwInfo::new(RwInfoCategory::Generic, 0, [2, 2, 3, 0, 0, 0]), // #13 [ref=16x]
14958    RwInfo::new(RwInfoCategory::Generic, 4, [6, 7, 0, 0, 0, 0]), // #14 [ref=1x]
14959    RwInfo::new(RwInfoCategory::Generic, 5, [8, 9, 0, 0, 0, 0]), // #15 [ref=1x]
14960    RwInfo::new(RwInfoCategory::Generic, 11, [2, 3, 22, 0, 0, 0]), // #16 [ref=1x]
14961    RwInfo::new(RwInfoCategory::Generic, 15, [4, 23, 18, 24, 25, 0]), // #17 [ref=1x]
14962    RwInfo::new(RwInfoCategory::Generic, 12, [26, 27, 28, 29, 30, 0]), // #18 [ref=1x]
14963    RwInfo::new(RwInfoCategory::Generic, 0, [28, 31, 32, 16, 0, 0]), // #19 [ref=1x]
14964    RwInfo::new(RwInfoCategory::Generic, 0, [28, 0, 0, 0, 0, 0]), // #20 [ref=2x]
14965    RwInfo::new(RwInfoCategory::Generic, 10, [2, 0, 0, 0, 0, 0]), // #21 [ref=4x]
14966    RwInfo::new(RwInfoCategory::Generic, 6, [41, 42, 3, 0, 0, 0]), // #22 [ref=2x]
14967    RwInfo::new(RwInfoCategory::Generic, 18, [45, 5, 0, 0, 0, 0]), // #23 [ref=4x]
14968    RwInfo::new(RwInfoCategory::Generic, 0, [4, 0, 0, 0, 0, 0]), // #24 [ref=1x]
14969    RwInfo::new(RwInfoCategory::Generic, 14, [3, 0, 0, 0, 0, 0]), // #25 [ref=17x]
14970    RwInfo::new(RwInfoCategory::Generic, 0, [46, 0, 0, 0, 0, 0]), // #26 [ref=16x]
14971    RwInfo::new(RwInfoCategory::Generic, 19, [47, 0, 0, 0, 0, 0]), // #27 [ref=1x]
14972    RwInfo::new(RwInfoCategory::Generic, 19, [48, 0, 0, 0, 0, 0]), // #28 [ref=1x]
14973    RwInfo::new(RwInfoCategory::Generic, 20, [3, 0, 0, 0, 0, 0]), // #29 [ref=3x]
14974    RwInfo::new(RwInfoCategory::Generic, 0, [47, 0, 0, 0, 0, 0]), // #30 [ref=6x]
14975    RwInfo::new(RwInfoCategory::Generic, 14, [11, 0, 0, 0, 0, 0]), // #31 [ref=3x]
14976    RwInfo::new(RwInfoCategory::Generic, 21, [13, 0, 0, 0, 0, 0]), // #32 [ref=1x]
14977    RwInfo::new(RwInfoCategory::Generic, 8, [11, 0, 0, 0, 0, 0]), // #33 [ref=8x]
14978    RwInfo::new(RwInfoCategory::Generic, 21, [49, 0, 0, 0, 0, 0]), // #34 [ref=2x]
14979    RwInfo::new(RwInfoCategory::Generic, 7, [50, 0, 0, 0, 0, 0]), // #35 [ref=2x]
14980    RwInfo::new(RwInfoCategory::Generic, 20, [11, 0, 0, 0, 0, 0]), // #36 [ref=2x]
14981    RwInfo::new(RwInfoCategory::Imul, 22, [0, 0, 0, 0, 0, 0]),   // #37 [ref=1x]
14982    RwInfo::new(RwInfoCategory::Generic, 0, [40, 0, 0, 0, 0, 0]), // #38 [ref=2x]
14983    RwInfo::new(RwInfoCategory::Generic, 5, [4, 9, 0, 0, 0, 0]), // #39 [ref=2x]
14984    RwInfo::new(RwInfoCategory::Generic, 0, [4, 5, 0, 0, 0, 0]), // #40 [ref=1x]
14985    RwInfo::new(RwInfoCategory::Generic, 0, [22, 55, 56, 0, 0, 0]), // #41 [ref=1x]
14986    RwInfo::new(RwInfoCategory::Generic, 0, [57, 40, 40, 0, 0, 0]), // #42 [ref=6x]
14987    RwInfo::new(RwInfoCategory::Generic, 0, [45, 9, 9, 0, 0, 0]), // #43 [ref=6x]
14988    RwInfo::new(RwInfoCategory::Generic, 0, [35, 7, 7, 0, 0, 0]), // #44 [ref=6x]
14989    RwInfo::new(RwInfoCategory::Generic, 0, [49, 13, 13, 0, 0, 0]), // #45 [ref=6x]
14990    RwInfo::new(RwInfoCategory::Generic, 0, [57, 40, 0, 0, 0, 0]), // #46 [ref=2x]
14991    RwInfo::new(RwInfoCategory::Generic, 0, [45, 9, 0, 0, 0, 0]), // #47 [ref=2x]
14992    RwInfo::new(RwInfoCategory::Generic, 0, [35, 7, 0, 0, 0, 0]), // #48 [ref=2x]
14993    RwInfo::new(RwInfoCategory::Generic, 0, [49, 13, 0, 0, 0, 0]), // #49 [ref=2x]
14994    RwInfo::new(RwInfoCategory::Generic, 0, [49, 40, 40, 0, 0, 0]), // #50 [ref=1x]
14995    RwInfo::new(RwInfoCategory::Generic, 0, [35, 9, 9, 0, 0, 0]), // #51 [ref=1x]
14996    RwInfo::new(RwInfoCategory::Generic, 0, [45, 13, 13, 0, 0, 0]), // #52 [ref=1x]
14997    RwInfo::new(RwInfoCategory::Generic, 0, [58, 0, 0, 0, 0, 0]), // #53 [ref=1x]
14998    RwInfo::new(RwInfoCategory::Generic, 28, [9, 0, 0, 0, 0, 0]), // #54 [ref=2x]
14999    RwInfo::new(RwInfoCategory::Generic, 13, [44, 0, 0, 0, 0, 0]), // #55 [ref=1x]
15000    RwInfo::new(RwInfoCategory::Generic, 7, [13, 0, 0, 0, 0, 0]), // #56 [ref=5x]
15001    RwInfo::new(RwInfoCategory::Generic, 0, [3, 0, 0, 0, 0, 0]), // #57 [ref=3x]
15002    RwInfo::new(RwInfoCategory::Generic, 5, [3, 9, 0, 0, 0, 0]), // #58 [ref=2x]
15003    RwInfo::new(RwInfoCategory::Generic, 15, [5, 5, 60, 0, 0, 0]), // #59 [ref=2x]
15004    RwInfo::new(RwInfoCategory::Generic, 12, [7, 7, 61, 0, 0, 0]), // #60 [ref=1x]
15005    RwInfo::new(RwInfoCategory::Generic, 8, [62, 29, 55, 0, 0, 0]), // #61 [ref=2x]
15006    RwInfo::new(RwInfoCategory::Generic, 32, [0, 0, 0, 0, 0, 0]), // #62 [ref=2x]
15007    RwInfo::new(RwInfoCategory::Generic, 6, [66, 42, 3, 0, 0, 0]), // #63 [ref=1x]
15008    RwInfo::new(RwInfoCategory::Generic, 6, [11, 11, 3, 67, 0, 0]), // #64 [ref=1x]
15009    RwInfo::new(RwInfoCategory::Generic, 0, [17, 29, 30, 0, 0, 0]), // #65 [ref=1x]
15010    RwInfo::new(RwInfoCategory::Generic, 10, [3, 0, 0, 0, 0, 0]), // #66 [ref=3x]
15011    RwInfo::new(RwInfoCategory::Generic, 2, [2, 3, 0, 0, 0, 0]), // #67 [ref=1x]
15012    RwInfo::new(RwInfoCategory::Generic, 3, [5, 5, 0, 69, 17, 55]), // #68 [ref=2x]
15013    RwInfo::new(RwInfoCategory::Generic, 3, [5, 5, 0, 70, 17, 55]), // #69 [ref=2x]
15014    RwInfo::new(RwInfoCategory::Generic, 3, [5, 5, 0, 69, 0, 0]), // #70 [ref=2x]
15015    RwInfo::new(RwInfoCategory::Generic, 3, [5, 5, 0, 70, 0, 0]), // #71 [ref=2x]
15016    RwInfo::new(RwInfoCategory::Generic, 34, [57, 5, 0, 0, 0, 0]), // #72 [ref=2x]
15017    RwInfo::new(RwInfoCategory::Generic, 35, [35, 5, 0, 0, 0, 0]), // #73 [ref=2x]
15018    RwInfo::new(RwInfoCategory::Generic, 37, [49, 3, 0, 0, 0, 0]), // #74 [ref=1x]
15019    RwInfo::new(RwInfoCategory::Generic, 17, [4, 40, 0, 0, 0, 0]), // #75 [ref=1x]
15020    RwInfo::new(RwInfoCategory::Generic, 4, [4, 7, 0, 0, 0, 0]), // #76 [ref=1x]
15021    RwInfo::new(RwInfoCategory::Generic, 27, [2, 13, 0, 0, 0, 0]), // #77 [ref=1x]
15022    RwInfo::new(RwInfoCategory::Generic, 10, [11, 0, 0, 0, 0, 0]), // #78 [ref=1x]
15023    RwInfo::new(RwInfoCategory::Generic, 4, [35, 7, 0, 0, 0, 0]), // #79 [ref=2x]
15024    RwInfo::new(RwInfoCategory::Generic, 0, [11, 0, 0, 0, 0, 0]), // #80 [ref=6x]
15025    RwInfo::new(RwInfoCategory::Generic, 0, [16, 51, 29, 0, 0, 0]), // #81 [ref=5x]
15026    RwInfo::new(RwInfoCategory::Generic, 0, [45, 0, 0, 0, 0, 0]), // #82 [ref=1x]
15027    RwInfo::new(RwInfoCategory::Generic, 0, [35, 0, 0, 0, 0, 0]), // #83 [ref=1x]
15028    RwInfo::new(RwInfoCategory::Generic, 0, [16, 51, 69, 0, 0, 0]), // #84 [ref=1x]
15029    RwInfo::new(RwInfoCategory::Generic, 2, [11, 3, 0, 0, 0, 0]), // #85 [ref=19x]
15030    RwInfo::new(RwInfoCategory::Generic, 4, [36, 7, 0, 0, 0, 0]), // #86 [ref=1x]
15031    RwInfo::new(RwInfoCategory::Generic, 5, [37, 9, 0, 0, 0, 0]), // #87 [ref=1x]
15032    RwInfo::new(RwInfoCategory::Generic, 0, [73, 0, 0, 0, 0, 0]), // #88 [ref=1x]
15033    RwInfo::new(RwInfoCategory::Generic, 0, [7, 0, 0, 0, 0, 0]), // #89 [ref=1x]
15034    RwInfo::new(RwInfoCategory::Generic, 34, [74, 0, 0, 0, 0, 0]), // #90 [ref=16x]
15035    RwInfo::new(RwInfoCategory::Generic, 11, [2, 3, 72, 0, 0, 0]), // #91 [ref=2x]
15036    RwInfo::new(RwInfoCategory::Generic, 39, [11, 0, 0, 0, 0, 0]), // #92 [ref=3x]
15037    RwInfo::new(RwInfoCategory::Generic, 28, [45, 0, 0, 0, 0, 0]), // #93 [ref=2x]
15038    RwInfo::new(RwInfoCategory::Generic, 13, [43, 0, 0, 0, 0, 0]), // #94 [ref=1x]
15039    RwInfo::new(RwInfoCategory::Generic, 0, [75, 44, 44, 0, 0, 0]), // #95 [ref=8x]
15040    RwInfo::new(RwInfoCategory::Generic, 0, [43, 0, 0, 0, 0, 0]), // #96 [ref=1x]
15041    RwInfo::new(RwInfoCategory::Generic, 0, [9, 55, 17, 0, 0, 0]), // #97 [ref=2x]
15042    RwInfo::new(RwInfoCategory::Generic, 40, [10, 5, 7, 0, 0, 0]), // #98 [ref=9x]
15043    RwInfo::new(RwInfoCategory::Generic, 41, [10, 5, 13, 0, 0, 0]), // #99 [ref=9x]
15044    RwInfo::new(RwInfoCategory::Generic, 42, [10, 5, 9, 0, 0, 0]), // #100 [ref=9x]
15045    RwInfo::new(RwInfoCategory::Generic, 6, [11, 3, 3, 3, 0, 0]), // #101 [ref=3x]
15046    RwInfo::new(RwInfoCategory::Generic, 6, [35, 3, 3, 0, 0, 0]), // #102 [ref=18x]
15047    RwInfo::new(RwInfoCategory::Generic, 40, [11, 5, 7, 0, 0, 0]), // #103 [ref=1x]
15048    RwInfo::new(RwInfoCategory::Generic, 41, [35, 13, 13, 0, 0, 0]), // #104 [ref=1x]
15049    RwInfo::new(RwInfoCategory::Generic, 42, [11, 5, 9, 0, 0, 0]), // #105 [ref=1x]
15050    RwInfo::new(RwInfoCategory::Vmov1_2, 48, [0, 0, 0, 0, 0, 0]), // #106 [ref=1x]
15051    RwInfo::new(RwInfoCategory::Generic, 40, [10, 79, 7, 0, 0, 0]), // #107 [ref=1x]
15052    RwInfo::new(RwInfoCategory::Generic, 41, [10, 5, 5, 0, 0, 0]), // #108 [ref=1x]
15053    RwInfo::new(RwInfoCategory::Generic, 49, [10, 63, 3, 0, 0, 0]), // #109 [ref=2x]
15054    RwInfo::new(RwInfoCategory::Generic, 49, [10, 3, 3, 0, 0, 0]), // #110 [ref=2x]
15055    RwInfo::new(RwInfoCategory::Generic, 49, [10, 79, 3, 0, 0, 0]), // #111 [ref=2x]
15056    RwInfo::new(RwInfoCategory::Generic, 42, [10, 63, 9, 0, 0, 0]), // #112 [ref=1x]
15057    RwInfo::new(RwInfoCategory::Generic, 42, [10, 5, 5, 0, 0, 0]), // #113 [ref=1x]
15058    RwInfo::new(RwInfoCategory::Generic, 50, [10, 5, 5, 0, 0, 0]), // #114 [ref=9x]
15059    RwInfo::new(RwInfoCategory::Generic, 51, [10, 78, 0, 0, 0, 0]), // #115 [ref=2x]
15060    RwInfo::new(RwInfoCategory::Generic, 51, [10, 3, 0, 0, 0, 0]), // #116 [ref=4x]
15061    RwInfo::new(RwInfoCategory::Generic, 52, [77, 44, 0, 0, 0, 0]), // #117 [ref=4x]
15062    RwInfo::new(RwInfoCategory::Generic, 6, [80, 3, 3, 0, 0, 0]), // #118 [ref=4x]
15063    RwInfo::new(RwInfoCategory::Generic, 42, [81, 5, 5, 0, 0, 0]), // #119 [ref=3x]
15064    RwInfo::new(RwInfoCategory::Generic, 6, [2, 3, 3, 0, 0, 0]), // #120 [ref=90x]
15065    RwInfo::new(RwInfoCategory::Generic, 40, [4, 63, 7, 0, 0, 0]), // #121 [ref=1x]
15066    RwInfo::new(RwInfoCategory::Generic, 42, [4, 79, 9, 0, 0, 0]), // #122 [ref=1x]
15067    RwInfo::new(RwInfoCategory::Generic, 40, [6, 7, 7, 0, 0, 0]), // #123 [ref=11x]
15068    RwInfo::new(RwInfoCategory::Generic, 41, [82, 5, 5, 0, 0, 0]), // #124 [ref=6x]
15069    RwInfo::new(RwInfoCategory::Generic, 42, [8, 9, 9, 0, 0, 0]), // #125 [ref=11x]
15070    RwInfo::new(RwInfoCategory::Generic, 53, [11, 3, 3, 3, 0, 0]), // #126 [ref=15x]
15071    RwInfo::new(RwInfoCategory::Generic, 54, [35, 7, 7, 7, 0, 0]), // #127 [ref=4x]
15072    RwInfo::new(RwInfoCategory::Generic, 55, [45, 9, 9, 9, 0, 0]), // #128 [ref=4x]
15073    RwInfo::new(RwInfoCategory::Generic, 41, [82, 5, 13, 0, 0, 0]), // #129 [ref=6x]
15074    RwInfo::new(RwInfoCategory::Generic, 42, [83, 5, 5, 0, 0, 0]), // #130 [ref=1x]
15075    RwInfo::new(RwInfoCategory::Generic, 40, [26, 7, 7, 0, 0, 0]), // #131 [ref=1x]
15076    RwInfo::new(RwInfoCategory::Generic, 42, [76, 9, 9, 0, 0, 0]), // #132 [ref=1x]
15077    RwInfo::new(RwInfoCategory::Generic, 16, [35, 3, 0, 0, 0, 0]), // #133 [ref=3x]
15078    RwInfo::new(RwInfoCategory::Generic, 27, [35, 13, 0, 0, 0, 0]), // #134 [ref=1x]
15079    RwInfo::new(RwInfoCategory::Generic, 5, [35, 9, 0, 0, 0, 0]), // #135 [ref=1x]
15080    RwInfo::new(RwInfoCategory::Generic, 8, [2, 3, 2, 0, 0, 0]), // #136 [ref=2x]
15081    RwInfo::new(RwInfoCategory::Generic, 0, [2, 3, 2, 0, 0, 0]), // #137 [ref=4x]
15082    RwInfo::new(RwInfoCategory::Generic, 14, [4, 3, 4, 0, 0, 0]), // #138 [ref=2x]
15083    RwInfo::new(RwInfoCategory::Generic, 40, [10, 63, 7, 0, 0, 0]), // #139 [ref=9x]
15084    RwInfo::new(RwInfoCategory::Generic, 41, [10, 84, 13, 0, 0, 0]), // #140 [ref=7x]
15085    RwInfo::new(RwInfoCategory::Generic, 42, [10, 79, 9, 0, 0, 0]), // #141 [ref=11x]
15086    RwInfo::new(RwInfoCategory::Generic, 50, [77, 78, 5, 0, 0, 0]), // #142 [ref=2x]
15087    RwInfo::new(RwInfoCategory::Generic, 50, [11, 3, 5, 0, 0, 0]), // #143 [ref=4x]
15088    RwInfo::new(RwInfoCategory::Generic, 56, [43, 44, 78, 0, 0, 0]), // #144 [ref=4x]
15089    RwInfo::new(RwInfoCategory::Vmaskmov, 0, [0, 0, 0, 0, 0, 0]), // #145 [ref=4x]
15090    RwInfo::new(RwInfoCategory::Generic, 0, [22, 0, 0, 0, 0, 0]), // #146 [ref=2x]
15091    RwInfo::new(RwInfoCategory::Generic, 0, [10, 63, 63, 0, 0, 0]), // #147 [ref=1x]
15092    RwInfo::new(RwInfoCategory::Generic, 12, [10, 7, 7, 0, 0, 0]), // #148 [ref=2x]
15093    RwInfo::new(RwInfoCategory::Generic, 0, [10, 7, 7, 0, 0, 0]), // #149 [ref=1x]
15094    RwInfo::new(RwInfoCategory::Generic, 12, [10, 63, 7, 0, 0, 0]), // #150 [ref=2x]
15095    RwInfo::new(RwInfoCategory::Generic, 0, [10, 63, 7, 0, 0, 0]), // #151 [ref=1x]
15096    RwInfo::new(RwInfoCategory::Generic, 0, [10, 84, 13, 0, 0, 0]), // #152 [ref=1x]
15097    RwInfo::new(RwInfoCategory::Generic, 0, [10, 79, 9, 0, 0, 0]), // #153 [ref=1x]
15098    RwInfo::new(RwInfoCategory::Generic, 12, [35, 0, 0, 0, 0, 0]), // #154 [ref=1x]
15099    RwInfo::new(RwInfoCategory::Generic, 0, [85, 0, 0, 0, 0, 0]), // #155 [ref=1x]
15100    RwInfo::new(RwInfoCategory::Generic, 59, [35, 86, 3, 3, 0, 0]), // #156 [ref=2x]
15101    RwInfo::new(RwInfoCategory::Generic, 56, [77, 78, 78, 0, 0, 0]), // #157 [ref=2x]
15102    RwInfo::new(RwInfoCategory::Generic, 22, [11, 3, 3, 0, 0, 0]), // #158 [ref=4x]
15103    RwInfo::new(RwInfoCategory::Generic, 7, [49, 5, 0, 0, 0, 0]), // #159 [ref=1x]
15104    RwInfo::new(RwInfoCategory::Generic, 60, [10, 5, 40, 0, 0, 0]), // #160 [ref=1x]
15105    RwInfo::new(RwInfoCategory::Generic, 50, [10, 5, 5, 5, 0, 0]), // #161 [ref=12x]
15106    RwInfo::new(RwInfoCategory::Generic, 64, [10, 5, 5, 5, 0, 0]), // #162 [ref=1x]
15107    RwInfo::new(RwInfoCategory::Generic, 65, [10, 5, 5, 0, 0, 0]), // #163 [ref=12x]
15108    RwInfo::new(RwInfoCategory::Generic, 66, [11, 3, 5, 0, 0, 0]), // #164 [ref=5x]
15109    RwInfo::new(RwInfoCategory::Generic, 67, [11, 3, 0, 0, 0, 0]), // #165 [ref=2x]
15110    RwInfo::new(RwInfoCategory::Generic, 68, [11, 3, 5, 0, 0, 0]), // #166 [ref=3x]
15111    RwInfo::new(RwInfoCategory::Generic, 22, [11, 3, 5, 0, 0, 0]), // #167 [ref=1x]
15112    RwInfo::new(RwInfoCategory::GenericEx, 6, [2, 3, 3, 0, 0, 0]), // #168 [ref=2x]
15113    RwInfo::new(RwInfoCategory::Generic, 0, [87, 78, 5, 0, 0, 0]), // #169 [ref=1x]
15114    RwInfo::new(RwInfoCategory::Generic, 50, [4, 5, 5, 0, 0, 0]), // #170 [ref=3x]
15115    RwInfo::new(RwInfoCategory::Generic, 0, [55, 17, 29, 0, 0, 0]), // #171 [ref=2x]
15116    RwInfo::new(RwInfoCategory::Generic, 8, [3, 55, 17, 0, 0, 0]), // #172 [ref=4x]
15117    RwInfo::new(RwInfoCategory::Generic, 8, [11, 55, 17, 0, 0, 0]), // #173 [ref=8x]
15118];
15119
15120pub static RW_INFO_OP_TABLE: &[RwInfoOp] = &[
15121    RwInfoOp::new(
15122        0x0000000000000000,
15123        0x0000000000000000,
15124        0xFF,
15125        0,
15126        OpRwFlags::NONE.bits(),
15127    ), // #0 [ref=16348x]
15128    RwInfoOp::new(
15129        0x0000000000000003,
15130        0x0000000000000003,
15131        0x00,
15132        0,
15133        OpRwFlags::RW.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15134    ), // #1 [ref=10x]
15135    RwInfoOp::new(
15136        0x0000000000000000,
15137        0x0000000000000000,
15138        0xFF,
15139        0,
15140        OpRwFlags::RW.bits() | OpRwFlags::ZEXT.bits(),
15141    ), // #2 [ref=267x]
15142    RwInfoOp::new(
15143        0x0000000000000000,
15144        0x0000000000000000,
15145        0xFF,
15146        0,
15147        OpRwFlags::READ.bits(),
15148    ), // #3 [ref=1091x]
15149    RwInfoOp::new(
15150        0x000000000000FFFF,
15151        0x000000000000FFFF,
15152        0xFF,
15153        0,
15154        OpRwFlags::RW.bits() | OpRwFlags::ZEXT.bits(),
15155    ), // #4 [ref=93x]
15156    RwInfoOp::new(
15157        0x000000000000FFFF,
15158        0x0000000000000000,
15159        0xFF,
15160        0,
15161        OpRwFlags::READ.bits(),
15162    ), // #5 [ref=338x]
15163    RwInfoOp::new(
15164        0x00000000000000FF,
15165        0x00000000000000FF,
15166        0xFF,
15167        0,
15168        OpRwFlags::RW.bits(),
15169    ), // #6 [ref=18x]
15170    RwInfoOp::new(
15171        0x00000000000000FF,
15172        0x0000000000000000,
15173        0xFF,
15174        0,
15175        OpRwFlags::READ.bits(),
15176    ), // #7 [ref=186x]
15177    RwInfoOp::new(
15178        0x000000000000000F,
15179        0x000000000000000F,
15180        0xFF,
15181        0,
15182        OpRwFlags::RW.bits(),
15183    ), // #8 [ref=18x]
15184    RwInfoOp::new(
15185        0x000000000000000F,
15186        0x0000000000000000,
15187        0xFF,
15188        0,
15189        OpRwFlags::READ.bits(),
15190    ), // #9 [ref=133x]
15191    RwInfoOp::new(
15192        0x0000000000000000,
15193        0x000000000000FFFF,
15194        0xFF,
15195        0,
15196        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits(),
15197    ), // #10 [ref=178x]
15198    RwInfoOp::new(
15199        0x0000000000000000,
15200        0x0000000000000000,
15201        0xFF,
15202        0,
15203        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits(),
15204    ), // #11 [ref=445x]
15205    RwInfoOp::new(
15206        0x0000000000000003,
15207        0x0000000000000003,
15208        0xFF,
15209        0,
15210        OpRwFlags::RW.bits(),
15211    ), // #12 [ref=1x]
15212    RwInfoOp::new(
15213        0x0000000000000003,
15214        0x0000000000000000,
15215        0xFF,
15216        0,
15217        OpRwFlags::READ.bits(),
15218    ), // #13 [ref=71x]
15219    RwInfoOp::new(
15220        0x000000000000FFFF,
15221        0x0000000000000000,
15222        0x00,
15223        0,
15224        OpRwFlags::READ.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15225    ), // #14 [ref=4x]
15226    RwInfoOp::new(
15227        0x0000000000000000,
15228        0x0000000000000000,
15229        0xFF,
15230        0,
15231        OpRwFlags::WRITE.bits()
15232            | OpRwFlags::ZEXT.bits()
15233            | OpRwFlags::MEM_BASE_WRITE.bits()
15234            | OpRwFlags::MEM_INDEX_WRITE.bits(),
15235    ), // #15 [ref=1x]
15236    RwInfoOp::new(
15237        0x0000000000000000,
15238        0x000000000000000F,
15239        0x02,
15240        0,
15241        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15242    ), // #16 [ref=9x]
15243    RwInfoOp::new(
15244        0x000000000000000F,
15245        0x0000000000000000,
15246        0x00,
15247        0,
15248        OpRwFlags::READ.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15249    ), // #17 [ref=23x]
15250    RwInfoOp::new(
15251        0x00000000000000FF,
15252        0x00000000000000FF,
15253        0x00,
15254        0,
15255        OpRwFlags::RW.bits() | OpRwFlags::ZEXT.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15256    ), // #18 [ref=2x]
15257    RwInfoOp::new(
15258        0xFFFFFFFFFFFFFFFF,
15259        0x0000000000000000,
15260        0x00,
15261        0,
15262        OpRwFlags::READ.bits() | OpRwFlags::MEM_PHYS_ID.bits(),
15263    ), // #19 [ref=1x]
15264    RwInfoOp::new(
15265        0x0000000000000000,
15266        0x0000000000000000,
15267        0x06,
15268        0,
15269        OpRwFlags::READ.bits()
15270            | OpRwFlags::MEM_BASE_RW.bits()
15271            | OpRwFlags::MEM_BASE_POST_MODIFY.bits()
15272            | OpRwFlags::MEM_PHYS_ID.bits(),
15273    ), // #20 [ref=3x]
15274    RwInfoOp::new(
15275        0x0000000000000000,
15276        0x0000000000000000,
15277        0x07,
15278        0,
15279        OpRwFlags::READ.bits()
15280            | OpRwFlags::MEM_BASE_RW.bits()
15281            | OpRwFlags::MEM_BASE_POST_MODIFY.bits()
15282            | OpRwFlags::MEM_PHYS_ID.bits(),
15283    ), // #21 [ref=2x]
15284    RwInfoOp::new(
15285        0x0000000000000000,
15286        0x0000000000000000,
15287        0x00,
15288        0,
15289        OpRwFlags::READ.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15290    ), // #22 [ref=8x]
15291    RwInfoOp::new(
15292        0x00000000000000FF,
15293        0x00000000000000FF,
15294        0x02,
15295        0,
15296        OpRwFlags::RW.bits() | OpRwFlags::ZEXT.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15297    ), // #23 [ref=1x]
15298    RwInfoOp::new(
15299        0x00000000000000FF,
15300        0x0000000000000000,
15301        0x01,
15302        0,
15303        OpRwFlags::READ.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15304    ), // #24 [ref=1x]
15305    RwInfoOp::new(
15306        0x00000000000000FF,
15307        0x0000000000000000,
15308        0x03,
15309        0,
15310        OpRwFlags::READ.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15311    ), // #25 [ref=1x]
15312    RwInfoOp::new(
15313        0x00000000000000FF,
15314        0x00000000000000FF,
15315        0xFF,
15316        0,
15317        OpRwFlags::RW.bits() | OpRwFlags::ZEXT.bits(),
15318    ), // #26 [ref=20x]
15319    RwInfoOp::new(
15320        0x000000000000000F,
15321        0x000000000000000F,
15322        0x02,
15323        0,
15324        OpRwFlags::RW.bits() | OpRwFlags::ZEXT.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15325    ), // #27 [ref=1x]
15326    RwInfoOp::new(
15327        0x000000000000000F,
15328        0x000000000000000F,
15329        0x00,
15330        0,
15331        OpRwFlags::RW.bits() | OpRwFlags::ZEXT.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15332    ), // #28 [ref=4x]
15333    RwInfoOp::new(
15334        0x000000000000000F,
15335        0x0000000000000000,
15336        0x01,
15337        0,
15338        OpRwFlags::READ.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15339    ), // #29 [ref=13x]
15340    RwInfoOp::new(
15341        0x000000000000000F,
15342        0x0000000000000000,
15343        0x03,
15344        0,
15345        OpRwFlags::READ.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15346    ), // #30 [ref=3x]
15347    RwInfoOp::new(
15348        0x0000000000000000,
15349        0x000000000000000F,
15350        0x03,
15351        0,
15352        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15353    ), // #31 [ref=1x]
15354    RwInfoOp::new(
15355        0x000000000000000F,
15356        0x000000000000000F,
15357        0x01,
15358        0,
15359        OpRwFlags::RW.bits() | OpRwFlags::ZEXT.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15360    ), // #32 [ref=1x]
15361    RwInfoOp::new(
15362        0x0000000000000000,
15363        0x00000000000000FF,
15364        0x02,
15365        0,
15366        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15367    ), // #33 [ref=1x]
15368    RwInfoOp::new(
15369        0x00000000000000FF,
15370        0x0000000000000000,
15371        0x00,
15372        0,
15373        OpRwFlags::READ.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15374    ), // #34 [ref=1x]
15375    RwInfoOp::new(
15376        0x0000000000000000,
15377        0x00000000000000FF,
15378        0xFF,
15379        0,
15380        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits(),
15381    ), // #35 [ref=84x]
15382    RwInfoOp::new(
15383        0x0000000000000000,
15384        0x00000000000000FF,
15385        0xFF,
15386        0,
15387        OpRwFlags::WRITE.bits(),
15388    ), // #36 [ref=6x]
15389    RwInfoOp::new(
15390        0x0000000000000000,
15391        0x000000000000000F,
15392        0xFF,
15393        0,
15394        OpRwFlags::WRITE.bits(),
15395    ), // #37 [ref=6x]
15396    RwInfoOp::new(
15397        0x0000000000000000,
15398        0x0000000000000003,
15399        0x02,
15400        0,
15401        OpRwFlags::WRITE.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15402    ), // #38 [ref=1x]
15403    RwInfoOp::new(
15404        0x0000000000000003,
15405        0x0000000000000000,
15406        0x00,
15407        0,
15408        OpRwFlags::READ.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15409    ), // #39 [ref=1x]
15410    RwInfoOp::new(
15411        0x0000000000000001,
15412        0x0000000000000000,
15413        0xFF,
15414        0,
15415        OpRwFlags::READ.bits(),
15416    ), // #40 [ref=30x]
15417    RwInfoOp::new(
15418        0x0000000000000000,
15419        0x0000000000000000,
15420        0x02,
15421        0,
15422        OpRwFlags::RW.bits() | OpRwFlags::REG_PHYS_ID.bits() | OpRwFlags::ZEXT.bits(),
15423    ), // #41 [ref=2x]
15424    RwInfoOp::new(
15425        0x0000000000000000,
15426        0x0000000000000000,
15427        0x00,
15428        0,
15429        OpRwFlags::RW.bits() | OpRwFlags::REG_PHYS_ID.bits() | OpRwFlags::ZEXT.bits(),
15430    ), // #42 [ref=3x]
15431    RwInfoOp::new(
15432        0x0000000000000000,
15433        0xFFFFFFFFFFFFFFFF,
15434        0xFF,
15435        0,
15436        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits(),
15437    ), // #43 [ref=15x]
15438    RwInfoOp::new(
15439        0xFFFFFFFFFFFFFFFF,
15440        0x0000000000000000,
15441        0xFF,
15442        0,
15443        OpRwFlags::READ.bits(),
15444    ), // #44 [ref=29x]
15445    RwInfoOp::new(
15446        0x0000000000000000,
15447        0x000000000000000F,
15448        0xFF,
15449        0,
15450        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits(),
15451    ), // #45 [ref=30x]
15452    RwInfoOp::new(
15453        0x00000000000003FF,
15454        0x00000000000003FF,
15455        0xFF,
15456        0,
15457        OpRwFlags::RW.bits() | OpRwFlags::ZEXT.bits(),
15458    ), // #46 [ref=22x]
15459    RwInfoOp::new(
15460        0x00000000000003FF,
15461        0x0000000000000000,
15462        0xFF,
15463        0,
15464        OpRwFlags::READ.bits(),
15465    ), // #47 [ref=13x]
15466    RwInfoOp::new(
15467        0x0000000000000000,
15468        0x00000000000003FF,
15469        0xFF,
15470        0,
15471        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits(),
15472    ), // #48 [ref=1x]
15473    RwInfoOp::new(
15474        0x0000000000000000,
15475        0x0000000000000003,
15476        0xFF,
15477        0,
15478        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits(),
15479    ), // #49 [ref=17x]
15480    RwInfoOp::new(
15481        0x0000000000000000,
15482        0x0000000000000003,
15483        0x00,
15484        0,
15485        OpRwFlags::WRITE.bits() | OpRwFlags::REG_PHYS_ID.bits() | OpRwFlags::ZEXT.bits(),
15486    ), // #50 [ref=2x]
15487    RwInfoOp::new(
15488        0x0000000000000000,
15489        0x000000000000000F,
15490        0x00,
15491        0,
15492        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15493    ), // #51 [ref=9x]
15494    RwInfoOp::new(
15495        0x0000000000000000,
15496        0x0000000000000000,
15497        0x00,
15498        0,
15499        OpRwFlags::WRITE.bits() | OpRwFlags::REG_PHYS_ID.bits() | OpRwFlags::ZEXT.bits(),
15500    ), // #52 [ref=2x]
15501    RwInfoOp::new(
15502        0x0000000000000003,
15503        0x0000000000000000,
15504        0x02,
15505        0,
15506        OpRwFlags::READ.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15507    ), // #53 [ref=4x]
15508    RwInfoOp::new(
15509        0x0000000000000000,
15510        0x0000000000000000,
15511        0x07,
15512        0,
15513        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits() | OpRwFlags::MEM_PHYS_ID.bits(),
15514    ), // #54 [ref=1x]
15515    RwInfoOp::new(
15516        0x000000000000000F,
15517        0x0000000000000000,
15518        0x02,
15519        0,
15520        OpRwFlags::READ.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15521    ), // #55 [ref=23x]
15522    RwInfoOp::new(
15523        0x0000000000000000,
15524        0x0000000000000000,
15525        0x01,
15526        0,
15527        OpRwFlags::READ.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15528    ), // #56 [ref=2x]
15529    RwInfoOp::new(
15530        0x0000000000000000,
15531        0x0000000000000001,
15532        0xFF,
15533        0,
15534        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits(),
15535    ), // #57 [ref=14x]
15536    RwInfoOp::new(
15537        0x0000000000000000,
15538        0x0000000000000001,
15539        0x00,
15540        0,
15541        OpRwFlags::WRITE.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15542    ), // #58 [ref=1x]
15543    RwInfoOp::new(
15544        0x0000000000000000,
15545        0x0000000000000000,
15546        0x01,
15547        0,
15548        OpRwFlags::RW.bits() | OpRwFlags::REG_PHYS_ID.bits() | OpRwFlags::ZEXT.bits(),
15549    ), // #59 [ref=3x]
15550    RwInfoOp::new(
15551        0x000000000000FFFF,
15552        0x000000000000FFFF,
15553        0x07,
15554        0,
15555        OpRwFlags::RW.bits() | OpRwFlags::ZEXT.bits() | OpRwFlags::MEM_PHYS_ID.bits(),
15556    ), // #60 [ref=2x]
15557    RwInfoOp::new(
15558        0x00000000000000FF,
15559        0x00000000000000FF,
15560        0x07,
15561        0,
15562        OpRwFlags::RW.bits() | OpRwFlags::ZEXT.bits() | OpRwFlags::MEM_PHYS_ID.bits(),
15563    ), // #61 [ref=1x]
15564    RwInfoOp::new(
15565        0x0000000000000000,
15566        0x0000000000000000,
15567        0x00,
15568        0,
15569        OpRwFlags::READ.bits() | OpRwFlags::MEM_PHYS_ID.bits(),
15570    ), // #62 [ref=2x]
15571    RwInfoOp::new(
15572        0x000000000000FF00,
15573        0x0000000000000000,
15574        0xFF,
15575        0,
15576        OpRwFlags::READ.bits(),
15577    ), // #63 [ref=21x]
15578    RwInfoOp::new(
15579        0x0000000000000000,
15580        0x000000000000FF00,
15581        0xFF,
15582        0,
15583        OpRwFlags::WRITE.bits(),
15584    ), // #64 [ref=1x]
15585    RwInfoOp::new(
15586        0x0000000000000000,
15587        0x0000000000000000,
15588        0x07,
15589        0,
15590        OpRwFlags::WRITE.bits()
15591            | OpRwFlags::ZEXT.bits()
15592            | OpRwFlags::MEM_BASE_RW.bits()
15593            | OpRwFlags::MEM_BASE_POST_MODIFY.bits()
15594            | OpRwFlags::MEM_PHYS_ID.bits(),
15595    ), // #65 [ref=2x]
15596    RwInfoOp::new(
15597        0x0000000000000000,
15598        0x0000000000000000,
15599        0x02,
15600        0,
15601        OpRwFlags::WRITE.bits() | OpRwFlags::REG_PHYS_ID.bits() | OpRwFlags::ZEXT.bits(),
15602    ), // #66 [ref=1x]
15603    RwInfoOp::new(
15604        0x0000000000000000,
15605        0x0000000000000000,
15606        0x02,
15607        0,
15608        OpRwFlags::READ.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15609    ), // #67 [ref=1x]
15610    RwInfoOp::new(
15611        0x0000000000000000,
15612        0x0000000000000000,
15613        0x06,
15614        0,
15615        OpRwFlags::READ.bits() | OpRwFlags::MEM_PHYS_ID.bits(),
15616    ), // #68 [ref=1x]
15617    RwInfoOp::new(
15618        0x0000000000000000,
15619        0x000000000000000F,
15620        0x01,
15621        0,
15622        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15623    ), // #69 [ref=5x]
15624    RwInfoOp::new(
15625        0x0000000000000000,
15626        0x000000000000FFFF,
15627        0x00,
15628        0,
15629        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15630    ), // #70 [ref=4x]
15631    RwInfoOp::new(
15632        0x0000000000000000,
15633        0x0000000000000007,
15634        0xFF,
15635        0,
15636        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits(),
15637    ), // #71 [ref=2x]
15638    RwInfoOp::new(
15639        0x0000000000000001,
15640        0x0000000000000000,
15641        0x01,
15642        0,
15643        OpRwFlags::READ.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15644    ), // #72 [ref=9x]
15645    RwInfoOp::new(
15646        0x0000000000000001,
15647        0x0000000000000000,
15648        0x00,
15649        0,
15650        OpRwFlags::READ.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15651    ), // #73 [ref=1x]
15652    RwInfoOp::new(
15653        0x0000000000000000,
15654        0x0000000000000001,
15655        0xFF,
15656        0,
15657        OpRwFlags::WRITE.bits(),
15658    ), // #74 [ref=16x]
15659    RwInfoOp::new(
15660        0xFFFFFFFFFFFFFFFF,
15661        0xFFFFFFFFFFFFFFFF,
15662        0xFF,
15663        0,
15664        OpRwFlags::RW.bits() | OpRwFlags::ZEXT.bits(),
15665    ), // #75 [ref=8x]
15666    RwInfoOp::new(
15667        0x000000000000000F,
15668        0x000000000000000F,
15669        0xFF,
15670        0,
15671        OpRwFlags::RW.bits() | OpRwFlags::ZEXT.bits(),
15672    ), // #76 [ref=3x]
15673    RwInfoOp::new(
15674        0x0000000000000000,
15675        0x00000000FFFFFFFF,
15676        0xFF,
15677        0,
15678        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits(),
15679    ), // #77 [ref=10x]
15680    RwInfoOp::new(
15681        0x00000000FFFFFFFF,
15682        0x0000000000000000,
15683        0xFF,
15684        0,
15685        OpRwFlags::READ.bits(),
15686    ), // #78 [ref=18x]
15687    RwInfoOp::new(
15688        0x000000000000FFF0,
15689        0x0000000000000000,
15690        0xFF,
15691        0,
15692        OpRwFlags::READ.bits(),
15693    ), // #79 [ref=16x]
15694    RwInfoOp::new(
15695        0x0000000000000000,
15696        0x0000000000000000,
15697        0xFF,
15698        0,
15699        OpRwFlags::RW.bits() | OpRwFlags::UNIQUE.bits() | OpRwFlags::ZEXT.bits(),
15700    ), // #80 [ref=4x]
15701    RwInfoOp::new(
15702        0x000000000000FFFF,
15703        0x000000000000FFFF,
15704        0xFF,
15705        0,
15706        OpRwFlags::RW.bits() | OpRwFlags::UNIQUE.bits(),
15707    ), // #81 [ref=3x]
15708    RwInfoOp::new(
15709        0x000000000000FFFF,
15710        0x000000000000FFFF,
15711        0xFF,
15712        0,
15713        OpRwFlags::RW.bits(),
15714    ), // #82 [ref=12x]
15715    RwInfoOp::new(
15716        0x000000000000FFFF,
15717        0x000000000000FFFF,
15718        0xFF,
15719        0,
15720        OpRwFlags::RW.bits() | OpRwFlags::UNIQUE.bits() | OpRwFlags::ZEXT.bits(),
15721    ), // #83 [ref=1x]
15722    RwInfoOp::new(
15723        0x000000000000FFFC,
15724        0x0000000000000000,
15725        0xFF,
15726        0,
15727        OpRwFlags::READ.bits(),
15728    ), // #84 [ref=8x]
15729    RwInfoOp::new(
15730        0x0000000000000000,
15731        0x0000000000000000,
15732        0x00,
15733        0,
15734        OpRwFlags::RW.bits() | OpRwFlags::ZEXT.bits() | OpRwFlags::REG_PHYS_ID.bits(),
15735    ), // #85 [ref=1x]
15736    RwInfoOp::new(
15737        0x0000000000000000,
15738        0x0000000000000000,
15739        0xFF,
15740        0,
15741        OpRwFlags::WRITE.bits() | OpRwFlags::ZEXT.bits() | OpRwFlags::CONSECUTIVE.bits(),
15742    ), // #86 [ref=2x]
15743    RwInfoOp::new(
15744        0x00000000FFFFFFFF,
15745        0x00000000FFFFFFFF,
15746        0xFF,
15747        0,
15748        OpRwFlags::RW.bits() | OpRwFlags::ZEXT.bits(),
15749    ), // #87 [ref=3x]
15750];
15751
15752pub static RW_INFO_RM_TABLE: &[RwInfoRm] = &[
15753    RwInfoRm::new(RwInfoRmCategory::None, 0x00, 0, 0, 0), // #0 [ref=1996x]
15754    RwInfoRm::new(
15755        RwInfoRmCategory::Consistent,
15756        0x03,
15757        0,
15758        RwInfoRmFlags::AMBIGUOUS.bits(),
15759        0,
15760    ), // #1 [ref=8x]
15761    RwInfoRm::new(RwInfoRmCategory::Consistent, 0x02, 0, 0, 0), // #2 [ref=190x]
15762    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x02, 16, 0, 0), // #3 [ref=122x]
15763    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x02, 8, 0, 0), // #4 [ref=66x]
15764    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x02, 4, 0, 0), // #5 [ref=35x]
15765    RwInfoRm::new(RwInfoRmCategory::Consistent, 0x04, 0, 0, 0), // #6 [ref=314x]
15766    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x01, 2, 0, 0), // #7 [ref=9x]
15767    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x00, 0, 0, 0), // #8 [ref=52x]
15768    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x03, 0, 0, 0), // #9 [ref=1x]
15769    RwInfoRm::new(
15770        RwInfoRmCategory::Consistent,
15771        0x01,
15772        0,
15773        RwInfoRmFlags::AMBIGUOUS.bits(),
15774        0,
15775    ), // #10 [ref=20x]
15776    RwInfoRm::new(RwInfoRmCategory::Consistent, 0x01, 0, 0, 0), // #11 [ref=14x]
15777    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x00, 8, 0, 0), // #12 [ref=25x]
15778    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x00, 64, 0, 0), // #13 [ref=6x]
15779    RwInfoRm::new(
15780        RwInfoRmCategory::None,
15781        0x00,
15782        0,
15783        RwInfoRmFlags::AMBIGUOUS.bits(),
15784        0,
15785    ), // #14 [ref=30x]
15786    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x00, 16, 0, 0), // #15 [ref=17x]
15787    RwInfoRm::new(
15788        RwInfoRmCategory::Consistent,
15789        0x02,
15790        0,
15791        RwInfoRmFlags::AMBIGUOUS.bits(),
15792        0,
15793    ), // #16 [ref=22x]
15794    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x02, 1, 0, 0), // #17 [ref=5x]
15795    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x01, 4, 0, 0), // #18 [ref=4x]
15796    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x00, 10, 0, 0), // #19 [ref=2x]
15797    RwInfoRm::new(
15798        RwInfoRmCategory::None,
15799        0x01,
15800        0,
15801        RwInfoRmFlags::AMBIGUOUS.bits(),
15802        0,
15803    ), // #20 [ref=5x]
15804    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x00, 2, 0, 0), // #21 [ref=6x]
15805    RwInfoRm::new(RwInfoRmCategory::Consistent, 0x06, 0, 0, 0), // #22 [ref=6x]
15806    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x03, 1, 0, 0), // #23 [ref=1x]
15807    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x03, 4, 0, 0), // #24 [ref=3x]
15808    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x03, 8, 0, 0), // #25 [ref=2x]
15809    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x03, 2, 0, 0), // #26 [ref=2x]
15810    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x02, 2, 0, 0), // #27 [ref=13x]
15811    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x00, 4, 0, 0), // #28 [ref=8x]
15812    RwInfoRm::new(
15813        RwInfoRmCategory::None,
15814        0x03,
15815        0,
15816        RwInfoRmFlags::AMBIGUOUS.bits(),
15817        0,
15818    ), // #29 [ref=1x]
15819    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x03, 16, 0, 0), // #30 [ref=6x]
15820    RwInfoRm::new(
15821        RwInfoRmCategory::Fixed,
15822        0x03,
15823        8,
15824        RwInfoRmFlags::MOVSS_MOVSD.bits(),
15825        0,
15826    ), // #31 [ref=1x]
15827    RwInfoRm::new(
15828        RwInfoRmCategory::None,
15829        0x00,
15830        0,
15831        RwInfoRmFlags::MOVSS_MOVSD.bits(),
15832        0,
15833    ), // #32 [ref=2x]
15834    RwInfoRm::new(
15835        RwInfoRmCategory::Fixed,
15836        0x03,
15837        4,
15838        RwInfoRmFlags::MOVSS_MOVSD.bits(),
15839        0,
15840    ), // #33 [ref=1x]
15841    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x01, 1, 0, 0), // #34 [ref=18x]
15842    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x01, 8, 0, 0), // #35 [ref=2x]
15843    RwInfoRm::new(
15844        RwInfoRmCategory::None,
15845        0x00,
15846        0,
15847        RwInfoRmFlags::PEXTRW.bits(),
15848        0,
15849    ), // #36 [ref=1x]
15850    RwInfoRm::new(
15851        RwInfoRmCategory::Fixed,
15852        0x01,
15853        2,
15854        RwInfoRmFlags::PEXTRW.bits(),
15855        CpuFeature::SSE4_1 as u8,
15856    ), // #37 [ref=1x]
15857    RwInfoRm::new(RwInfoRmCategory::None, 0x02, 0, 0, 0), // #38 [ref=4x]
15858    RwInfoRm::new(
15859        RwInfoRmCategory::Fixed,
15860        0x01,
15861        2,
15862        RwInfoRmFlags::AMBIGUOUS.bits(),
15863        0,
15864    ), // #39 [ref=3x]
15865    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x04, 8, 0, 0), // #40 [ref=33x]
15866    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x04, 2, 0, 0), // #41 [ref=30x]
15867    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x04, 4, 0, 0), // #42 [ref=40x]
15868    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x00, 32, 0, 0), // #43 [ref=4x]
15869    RwInfoRm::new(
15870        RwInfoRmCategory::Fixed,
15871        0x02,
15872        8,
15873        RwInfoRmFlags::AMBIGUOUS.bits(),
15874        0,
15875    ), // #44 [ref=1x]
15876    RwInfoRm::new(
15877        RwInfoRmCategory::Fixed,
15878        0x02,
15879        4,
15880        RwInfoRmFlags::AMBIGUOUS.bits(),
15881        0,
15882    ), // #45 [ref=1x]
15883    RwInfoRm::new(RwInfoRmCategory::Half, 0x02, 0, 0, 0), // #46 [ref=19x]
15884    RwInfoRm::new(RwInfoRmCategory::Quarter, 0x02, 0, 0, 0), // #47 [ref=9x]
15885    RwInfoRm::new(RwInfoRmCategory::Half, 0x01, 0, 0, 0), // #48 [ref=10x]
15886    RwInfoRm::new(
15887        RwInfoRmCategory::Consistent,
15888        0x04,
15889        0,
15890        RwInfoRmFlags::AMBIGUOUS.bits(),
15891        0,
15892    ), // #49 [ref=6x]
15893    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x04, 16, 0, 0), // #50 [ref=30x]
15894    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x01, 16, 0, 0), // #51 [ref=6x]
15895    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x01, 32, 0, 0), // #52 [ref=4x]
15896    RwInfoRm::new(RwInfoRmCategory::Consistent, 0x0C, 0, 0, 0), // #53 [ref=15x]
15897    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x0C, 8, 0, 0), // #54 [ref=4x]
15898    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x0C, 4, 0, 0), // #55 [ref=4x]
15899    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x04, 32, 0, 0), // #56 [ref=6x]
15900    RwInfoRm::new(RwInfoRmCategory::Consistent, 0x03, 0, 0, 0), // #57 [ref=13x]
15901    RwInfoRm::new(
15902        RwInfoRmCategory::Fixed,
15903        0x03,
15904        8,
15905        RwInfoRmFlags::AMBIGUOUS.bits(),
15906        0,
15907    ), // #58 [ref=1x]
15908    RwInfoRm::new(RwInfoRmCategory::Consistent, 0x08, 0, 0, 0), // #59 [ref=2x]
15909    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x04, 1, 0, 0), // #60 [ref=1x]
15910    RwInfoRm::new(RwInfoRmCategory::Quarter, 0x01, 0, 0, 0), // #61 [ref=6x]
15911    RwInfoRm::new(RwInfoRmCategory::Eighth, 0x01, 0, 0, 0), // #62 [ref=3x]
15912    RwInfoRm::new(RwInfoRmCategory::Eighth, 0x02, 0, 0, 0), // #63 [ref=2x]
15913    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x0C, 16, 0, 0), // #64 [ref=1x]
15914    RwInfoRm::new(RwInfoRmCategory::Fixed, 0x06, 16, 0, 0), // #65 [ref=12x]
15915    RwInfoRm::new(
15916        RwInfoRmCategory::Consistent,
15917        0x06,
15918        0,
15919        RwInfoRmFlags::FEATURE_IF_RMI.bits(),
15920        CpuFeature::AVX512_F as u8,
15921    ), // #66 [ref=5x]
15922    RwInfoRm::new(
15923        RwInfoRmCategory::Consistent,
15924        0x02,
15925        0,
15926        RwInfoRmFlags::FEATURE_IF_RMI.bits(),
15927        CpuFeature::AVX512_BW as u8,
15928    ), // #67 [ref=2x]
15929    RwInfoRm::new(
15930        RwInfoRmCategory::Consistent,
15931        0x06,
15932        0,
15933        RwInfoRmFlags::FEATURE_IF_RMI.bits(),
15934        CpuFeature::AVX512_BW as u8,
15935    ), // #68 [ref=3x]
15936];