require 'ffi'

module Evoasm
  module Libevoasm
    enum :x64_feature, [
      :adx, 0,
      :sse2, 1,
      :avx, 2,
      :sse, 3,
      :sse3, 4,
      :aes, 5,
      :bmi1, 6,
      :sse4_1, 7,
      :bmi2, 8,
      :clflsh, 9,
      :clflushopt, 10,
      :cmov, 11,
      :cx8, 12,
      :cx16, 13,
      :sse4_2, 14,
      :lahf_lm, 15,
      :lzcnt, 16,
      :movbe, 17,
      :mmx, 18,
      :avx2, 19,
      :ssse3, 20,
      :pclmulqdq, 21,
      :popcnt, 22,
      :prfchw, 23,
      :prefetchwt1, 24,
      :rdrand, 25,
      :rdseed, 26,
      :sha, 27,
      :f16c, 28,
      :fma, 29,
      :rtm, 30,
      :hle_rtm, 31,
      :none
    ]

    enum :x64_inst_flag, [
      :gp, 1 << 0,
      :rflags, 1 << 1,
      :xmm, 1 << 2,
      :ip, 1 << 3,
      :mem, 1 << 4,
      :mm, 1 << 5,
      :sp, 1 << 6,
    ]

    enum :x64_exception, [
      :ssx, 0,
      :gpx, 1,
      :pf, 2,
      :ac, 3,
      :ud, 4,
      :gps, 5,
      :pfs, 6,
      :xfss, 7,
      :gp, 8,
      :acs, 9,
      :xfs, 10,
      :udx, 11,
      :ss, 12,
      :ts, 13,
      :npx, 14,
      :ssxxx, 15,
      :pfxx, 16,
      :de, 17,
      :ssxx, 18,
      :nm, 19,
      :nms, 20,
      :udcpuid, 21,
      :xf, 22,
      :pfx, 23,
      :none
    ]

    enum :x64_reg_type, [
      :ip, 0,
      :rflags, 1,
      :mxcsr, 2,
      :gp, 3,
      :mm, 4,
      :xmm, 5,
      :zmm, 6,
      :none
    ]

    enum :x64_reg_id, [
      :ip, 0,
      :rflags, 1,
      :mxcsr, 2,
      :a, 3,
      :c, 4,
      :d, 5,
      :b, 6,
      :sp, 7,
      :bp, 8,
      :si, 9,
      :di, 10,
      :r8, 11,
      :r9, 12,
      :r10, 13,
      :r11, 14,
      :r12, 15,
      :r13, 16,
      :r14, 17,
      :r15, 18,
      :mm0, 19,
      :mm1, 20,
      :mm2, 21,
      :mm3, 22,
      :mm4, 23,
      :mm5, 24,
      :mm6, 25,
      :mm7, 26,
      :xmm0, 27,
      :xmm1, 28,
      :xmm2, 29,
      :xmm3, 30,
      :xmm4, 31,
      :xmm5, 32,
      :xmm6, 33,
      :xmm7, 34,
      :xmm8, 35,
      :xmm9, 36,
      :xmm10, 37,
      :xmm11, 38,
      :xmm12, 39,
      :xmm13, 40,
      :xmm14, 41,
      :xmm15, 42,
      :zmm16, 43,
      :zmm17, 44,
      :zmm18, 45,
      :zmm19, 46,
      :zmm20, 47,
      :zmm21, 48,
      :zmm22, 49,
      :zmm23, 50,
      :zmm24, 51,
      :zmm25, 52,
      :zmm26, 53,
      :zmm27, 54,
      :zmm28, 55,
      :zmm29, 56,
      :zmm30, 57,
      :zmm31, 58,
      :none
    ]

    enum :x64_param_id, [
      :reg0, 0,
      :reg1, 1,
      :reg2, 2,
      :reg3, 3,
      :imm0, 4,
      :force_rex?, 5,
      :rex_r, 6,
      :rex_x, 7,
      :rex_b, 8,
      :legacy_prefix_order, 9,
      :lock?, 10,
      :addr_size, 11,
      :reg_base, 12,
      :reg_index, 13,
      :rex_w, 14,
      :disp, 15,
      :scale, 16,
      :force_sib?, 17,
      :force_disp32?, 18,
      :reg0_high_byte?, 19,
      :reg1_high_byte?, 20,
      :force_long_vex?, 21,
      :rel, 22,
      :imm1, 23,
      :moffs, 24,
      :vex_l, 25,
      :modrm_reg, 26,
      :vex_v, 27,
      :none
    ]

    enum :x64_basic_param_id, [
      :reg0, 0,
      :reg1, 1,
      :reg2, 2,
      :reg3, 3,
      :imm0, 4,
      :reg0_high_byte?, 5,
      :reg1_high_byte?, 6,
      :rel, 7,
      :none
    ]

    enum :x64_operand_type, [
      :reg, 0,
      :rm, 1,
      :vsib, 2,
      :mem, 3,
      :imm, 4,
      :none
    ]

    enum :x64_scale, [
      :scale1, 0,
      :scale2, 1,
      :scale4, 2,
      :scale8, 3,
      :none
    ]

    enum :x64_addr_size, [
      :addr_size64, 0,
      :addr_size32, 1,
      :none
    ]

    enum :x64_inst_id, [
      :adc_al_imm8, 0,
      :adc_ax_imm16, 1,
      :adc_eax_imm32, 2,
      :adc_rax_imm32, 3,
      :adc_rm8_imm8, 4,
      :adc_rm16_imm16, 5,
      :adc_rm32_imm32, 6,
      :adc_rm64_imm32, 7,
      :adc_rm16_imm8, 8,
      :adc_rm32_imm8, 9,
      :adc_rm64_imm8, 10,
      :adc_rm8_r8, 11,
      :adc_rm16_r16, 12,
      :adc_rm32_r32, 13,
      :adc_rm64_r64, 14,
      :adc_r8_rm8, 15,
      :adc_r16_rm16, 16,
      :adc_r32_rm32, 17,
      :adc_r64_rm64, 18,
      :adcx_r32_rm32, 19,
      :adcx_r64_rm64, 20,
      :add_al_imm8, 21,
      :add_ax_imm16, 22,
      :add_eax_imm32, 23,
      :add_rax_imm32, 24,
      :add_rm8_imm8, 25,
      :add_rm16_imm16, 26,
      :add_rm32_imm32, 27,
      :add_rm64_imm32, 28,
      :add_rm16_imm8, 29,
      :add_rm32_imm8, 30,
      :add_rm64_imm8, 31,
      :add_rm8_r8, 32,
      :add_rm16_r16, 33,
      :add_rm32_r32, 34,
      :add_rm64_r64, 35,
      :add_r8_rm8, 36,
      :add_r16_rm16, 37,
      :add_r32_rm32, 38,
      :add_r64_rm64, 39,
      :addpd_xmm_xmmm128, 40,
      :vaddpd_xmm_xmm_xmmm128, 41,
      :vaddpd_ymm_ymm_ymmm256, 42,
      :addps_xmm_xmmm128, 43,
      :vaddps_xmm_xmm_xmmm128, 44,
      :vaddps_ymm_ymm_ymmm256, 45,
      :addsd_xmm_xmmm64, 46,
      :vaddsd_xmm_xmm_xmmm64, 47,
      :addss_xmm_xmmm32, 48,
      :vaddss_xmm_xmm_xmmm32, 49,
      :addsubpd_xmm_xmmm128, 50,
      :vaddsubpd_xmm_xmm_xmmm128, 51,
      :vaddsubpd_ymm_ymm_ymmm256, 52,
      :addsubps_xmm_xmmm128, 53,
      :vaddsubps_xmm_xmm_xmmm128, 54,
      :vaddsubps_ymm_ymm_ymmm256, 55,
      :adox_r32_rm32, 56,
      :adox_r64_rm64, 57,
      :aesdec_xmm_xmmm128, 58,
      :vaesdec_xmm_xmm_xmmm128, 59,
      :aesdeclast_xmm_xmmm128, 60,
      :vaesdeclast_xmm_xmm_xmmm128, 61,
      :aesenc_xmm_xmmm128, 62,
      :vaesenc_xmm_xmm_xmmm128, 63,
      :aesenclast_xmm_xmmm128, 64,
      :vaesenclast_xmm_xmm_xmmm128, 65,
      :aesimc_xmm_xmmm128, 66,
      :vaesimc_xmm_xmmm128, 67,
      :aeskeygenassist_xmm_xmmm128_imm8, 68,
      :vaeskeygenassist_xmm_xmmm128_imm8, 69,
      :and_al_imm8, 70,
      :and_ax_imm16, 71,
      :and_eax_imm32, 72,
      :and_rax_imm32, 73,
      :and_rm8_imm8, 74,
      :and_rm16_imm16, 75,
      :and_rm32_imm32, 76,
      :and_rm64_imm32, 77,
      :and_rm16_imm8, 78,
      :and_rm32_imm8, 79,
      :and_rm64_imm8, 80,
      :and_rm8_r8, 81,
      :and_rm16_r16, 82,
      :and_rm32_r32, 83,
      :and_rm64_r64, 84,
      :and_r8_rm8, 85,
      :and_r16_rm16, 86,
      :and_r32_rm32, 87,
      :and_r64_rm64, 88,
      :andn_r32_r32_rm32, 89,
      :andn_r64_r64_rm64, 90,
      :andpd_xmm_xmmm128, 91,
      :vandpd_xmm_xmm_xmmm128, 92,
      :vandpd_ymm_ymm_ymmm256, 93,
      :andps_xmm_xmmm128, 94,
      :vandps_xmm_xmm_xmmm128, 95,
      :vandps_ymm_ymm_ymmm256, 96,
      :andnpd_xmm_xmmm128, 97,
      :vandnpd_xmm_xmm_xmmm128, 98,
      :vandnpd_ymm_ymm_ymmm256, 99,
      :andnps_xmm_xmmm128, 100,
      :vandnps_xmm_xmm_xmmm128, 101,
      :vandnps_ymm_ymm_ymmm256, 102,
      :blendpd_xmm_xmmm128_imm8, 103,
      :vblendpd_xmm_xmm_xmmm128_imm8, 104,
      :vblendpd_ymm_ymm_ymmm256_imm8, 105,
      :bextr_r32_rm32_r32, 106,
      :bextr_r64_rm64_r64, 107,
      :blendps_xmm_xmmm128_imm8, 108,
      :vblendps_xmm_xmm_xmmm128_imm8, 109,
      :vblendps_ymm_ymm_ymmm256_imm8, 110,
      :blendvpd_xmm_xmmm128_xmm0, 111,
      :vblendvpd_xmm_xmm_xmmm128_xmm, 112,
      :vblendvpd_ymm_ymm_ymmm256_ymm, 113,
      :blendvps_xmm_xmmm128_xmm0, 114,
      :vblendvps_xmm_xmm_xmmm128_xmm, 115,
      :vblendvps_ymm_ymm_ymmm256_ymm, 116,
      :blsi_r32_rm32, 117,
      :blsi_r64_rm64, 118,
      :blsmsk_r32_rm32, 119,
      :blsmsk_r64_rm64, 120,
      :blsr_r32_rm32, 121,
      :blsr_r64_rm64, 122,
      :bsf_r16_rm16, 123,
      :bsf_r32_rm32, 124,
      :bsf_r64_rm64, 125,
      :bsr_r16_rm16, 126,
      :bsr_r32_rm32, 127,
      :bsr_r64_rm64, 128,
      :bswap_r32, 129,
      :bswap_r64, 130,
      :bt_rm16_r16, 131,
      :bt_rm32_r32, 132,
      :bt_rm64_r64, 133,
      :bt_rm16_imm8, 134,
      :bt_rm32_imm8, 135,
      :bt_rm64_imm8, 136,
      :btc_rm16_r16, 137,
      :btc_rm32_r32, 138,
      :btc_rm64_r64, 139,
      :btc_rm16_imm8, 140,
      :btc_rm32_imm8, 141,
      :btc_rm64_imm8, 142,
      :btr_rm16_r16, 143,
      :btr_rm32_r32, 144,
      :btr_rm64_r64, 145,
      :btr_rm16_imm8, 146,
      :btr_rm32_imm8, 147,
      :btr_rm64_imm8, 148,
      :bts_rm16_r16, 149,
      :bts_rm32_r32, 150,
      :bts_rm64_r64, 151,
      :bts_rm16_imm8, 152,
      :bts_rm32_imm8, 153,
      :bts_rm64_imm8, 154,
      :bzhi_r32_rm32_r32, 155,
      :bzhi_r64_rm64_r64, 156,
      :call_rel32, 157,
      :call_rm64, 158,
      :cbw, 159,
      :cwde, 160,
      :cdqe, 161,
      :clc, 162,
      :cld, 163,
      :clflush_m8, 164,
      :clflushopt_m8, 165,
      :cmc, 166,
      :cmova_r16_rm16, 167,
      :cmova_r32_rm32, 168,
      :cmova_r64_rm64, 169,
      :cmovae_r16_rm16, 170,
      :cmovae_r32_rm32, 171,
      :cmovae_r64_rm64, 172,
      :cmovc_r16_rm16, 173,
      :cmovc_r32_rm32, 174,
      :cmovc_r64_rm64, 175,
      :cmovbe_r16_rm16, 176,
      :cmovbe_r32_rm32, 177,
      :cmovbe_r64_rm64, 178,
      :cmove_r16_rm16, 179,
      :cmove_r32_rm32, 180,
      :cmove_r64_rm64, 181,
      :cmovg_r16_rm16, 182,
      :cmovg_r32_rm32, 183,
      :cmovg_r64_rm64, 184,
      :cmovge_r16_rm16, 185,
      :cmovge_r32_rm32, 186,
      :cmovge_r64_rm64, 187,
      :cmovl_r16_rm16, 188,
      :cmovl_r32_rm32, 189,
      :cmovl_r64_rm64, 190,
      :cmovle_r16_rm16, 191,
      :cmovle_r32_rm32, 192,
      :cmovle_r64_rm64, 193,
      :cmovne_r16_rm16, 194,
      :cmovne_r32_rm32, 195,
      :cmovne_r64_rm64, 196,
      :cmovno_r16_rm16, 197,
      :cmovno_r32_rm32, 198,
      :cmovno_r64_rm64, 199,
      :cmovnp_r16_rm16, 200,
      :cmovnp_r32_rm32, 201,
      :cmovnp_r64_rm64, 202,
      :cmovns_r16_rm16, 203,
      :cmovns_r32_rm32, 204,
      :cmovns_r64_rm64, 205,
      :cmovo_r16_rm16, 206,
      :cmovo_r32_rm32, 207,
      :cmovo_r64_rm64, 208,
      :cmovp_r16_rm16, 209,
      :cmovp_r32_rm32, 210,
      :cmovp_r64_rm64, 211,
      :cmovs_r16_rm16, 212,
      :cmovs_r32_rm32, 213,
      :cmovs_r64_rm64, 214,
      :cmp_al_imm8, 215,
      :cmp_ax_imm16, 216,
      :cmp_eax_imm32, 217,
      :cmp_rax_imm32, 218,
      :cmp_rm8_imm8, 219,
      :cmp_rm16_imm16, 220,
      :cmp_rm32_imm32, 221,
      :cmp_rm64_imm32, 222,
      :cmp_rm16_imm8, 223,
      :cmp_rm32_imm8, 224,
      :cmp_rm64_imm8, 225,
      :cmp_rm8_r8, 226,
      :cmp_rm16_r16, 227,
      :cmp_rm32_r32, 228,
      :cmp_rm64_r64, 229,
      :cmp_r8_rm8, 230,
      :cmp_r16_rm16, 231,
      :cmp_r32_rm32, 232,
      :cmp_r64_rm64, 233,
      :cmppd_xmm_xmmm128_imm8, 234,
      :vcmppd_xmm_xmm_xmmm128_imm8, 235,
      :vcmppd_ymm_ymm_ymmm256_imm8, 236,
      :cmpps_xmm_xmmm128_imm8, 237,
      :vcmpps_xmm_xmm_xmmm128_imm8, 238,
      :vcmpps_ymm_ymm_ymmm256_imm8, 239,
      :cmpsb, 240,
      :cmpsw, 241,
      :cmpsd, 242,
      :cmpsq, 243,
      :cmpsd_xmm_xmmm64_imm8, 244,
      :vcmpsd_xmm_xmm_xmmm64_imm8, 245,
      :cmpss_xmm_xmmm32_imm8, 246,
      :vcmpss_xmm_xmm_xmmm32_imm8, 247,
      :cmpxchg_rm8_r8, 248,
      :cmpxchg_rm16_r16, 249,
      :cmpxchg_rm32_r32, 250,
      :cmpxchg_rm64_r64, 251,
      :cmpxchg8b_m64, 252,
      :cmpxchg16b_m128, 253,
      :comisd_xmm_xmmm64, 254,
      :vcomisd_xmm_xmmm64, 255,
      :comiss_xmm_xmmm32, 256,
      :vcomiss_xmm_xmmm32, 257,
      :cpuid, 258,
      :crc32_r32_rm8, 259,
      :crc32_r32_rm16, 260,
      :crc32_r32_rm32, 261,
      :crc32_r64_rm8, 262,
      :crc32_r64_rm64, 263,
      :cvtdq2pd_xmm_xmmm64, 264,
      :vcvtdq2pd_xmm_xmmm64, 265,
      :vcvtdq2pd_ymm_xmmm128, 266,
      :cvtdq2ps_xmm_xmmm128, 267,
      :vcvtdq2ps_xmm_xmmm128, 268,
      :vcvtdq2ps_ymm_ymmm256, 269,
      :cvtpd2dq_xmm_xmmm128, 270,
      :vcvtpd2dq_xmm_xmmm128, 271,
      :vcvtpd2dq_xmm_ymmm256, 272,
      :cvtpd2pi_mm_xmmm128, 273,
      :cvtpd2ps_xmm_xmmm128, 274,
      :vcvtpd2ps_xmm_xmmm128, 275,
      :vcvtpd2ps_xmm_ymmm256, 276,
      :cvtpi2pd_xmm_mmm64, 277,
      :cvtpi2ps_xmm_mmm64, 278,
      :cvtps2dq_xmm_xmmm128, 279,
      :vcvtps2dq_xmm_xmmm128, 280,
      :vcvtps2dq_ymm_ymmm256, 281,
      :cvtps2pd_xmm_xmmm64, 282,
      :vcvtps2pd_xmm_xmmm64, 283,
      :vcvtps2pd_ymm_xmmm128, 284,
      :cvtps2pi_mm_xmmm64, 285,
      :cvtsd2si_r32_xmmm64, 286,
      :cvtsd2si_r64_xmmm64, 287,
      :vcvtsd2si_r32_xmmm64, 288,
      :vcvtsd2si_r64_xmmm64, 289,
      :cvtsd2ss_xmm_xmmm64, 290,
      :vcvtsd2ss_xmm_xmm_xmmm64, 291,
      :cvtsi2sd_xmm_rm32, 292,
      :cvtsi2sd_xmm_rm64, 293,
      :vcvtsi2sd_xmm_xmm_rm32, 294,
      :vcvtsi2sd_xmm_xmm_rm64, 295,
      :cvtsi2ss_xmm_rm32, 296,
      :cvtsi2ss_xmm_rm64, 297,
      :vcvtsi2ss_xmm_xmm_rm32, 298,
      :vcvtsi2ss_xmm_xmm_rm64, 299,
      :cvtss2sd_xmm_xmmm32, 300,
      :vcvtss2sd_xmm_xmm_xmmm32, 301,
      :cvtss2si_r32_xmmm32, 302,
      :cvtss2si_r64_xmmm32, 303,
      :vcvtss2si_r32_xmmm32, 304,
      :vcvtss2si_r64_xmmm32, 305,
      :cvttpd2dq_xmm_xmmm128, 306,
      :vcvttpd2dq_xmm_xmmm128, 307,
      :vcvttpd2dq_xmm_ymmm256, 308,
      :cvttpd2pi_mm_xmmm128, 309,
      :cvttps2dq_xmm_xmmm128, 310,
      :vcvttps2dq_xmm_xmmm128, 311,
      :vcvttps2dq_ymm_ymmm256, 312,
      :cvttps2pi_mm_xmmm64, 313,
      :cvttsd2si_r32_xmmm64, 314,
      :cvttsd2si_r64_xmmm64, 315,
      :vcvttsd2si_r32_xmmm64, 316,
      :vcvttsd2si_r64_xmmm64, 317,
      :cvttss2si_r32_xmmm32, 318,
      :cvttss2si_r64_xmmm32, 319,
      :vcvttss2si_r32_xmmm32, 320,
      :vcvttss2si_r64_xmmm32, 321,
      :cwd, 322,
      :cdq, 323,
      :cqo, 324,
      :dec_rm8, 325,
      :dec_rm16, 326,
      :dec_rm32, 327,
      :dec_rm64, 328,
      :div_rm8, 329,
      :div_rm16, 330,
      :div_rm32, 331,
      :div_rm64, 332,
      :divpd_xmm_xmmm128, 333,
      :vdivpd_xmm_xmm_xmmm128, 334,
      :vdivpd_ymm_ymm_ymmm256, 335,
      :divps_xmm_xmmm128, 336,
      :vdivps_xmm_xmm_xmmm128, 337,
      :vdivps_ymm_ymm_ymmm256, 338,
      :divsd_xmm_xmmm64, 339,
      :vdivsd_xmm_xmm_xmmm64, 340,
      :divss_xmm_xmmm32, 341,
      :vdivss_xmm_xmm_xmmm32, 342,
      :dppd_xmm_xmmm128_imm8, 343,
      :vdppd_xmm_xmm_xmmm128_imm8, 344,
      :dpps_xmm_xmmm128_imm8, 345,
      :vdpps_xmm_xmm_xmmm128_imm8, 346,
      :vdpps_ymm_ymm_ymmm256_imm8, 347,
      :enterq_imm16_imm8, 348,
      :enterw_imm16_imm8, 349,
      :extractps_rm32_xmm_imm8, 350,
      :vextractps_rm32_xmm_imm8, 351,
      :haddpd_xmm_xmmm128, 352,
      :vhaddpd_xmm_xmm_xmmm128, 353,
      :vhaddpd_ymm_ymm_ymmm256, 354,
      :haddps_xmm_xmmm128, 355,
      :vhaddps_xmm_xmm_xmmm128, 356,
      :vhaddps_ymm_ymm_ymmm256, 357,
      :hsubpd_xmm_xmmm128, 358,
      :vhsubpd_xmm_xmm_xmmm128, 359,
      :vhsubpd_ymm_ymm_ymmm256, 360,
      :hsubps_xmm_xmmm128, 361,
      :vhsubps_xmm_xmm_xmmm128, 362,
      :vhsubps_ymm_ymm_ymmm256, 363,
      :idiv_rm8, 364,
      :idiv_rm16, 365,
      :idiv_rm32, 366,
      :idiv_rm64, 367,
      :imul_rm8, 368,
      :imul_rm16, 369,
      :imul_rm32, 370,
      :imul_rm64, 371,
      :imul_r16_rm16, 372,
      :imul_r32_rm32, 373,
      :imul_r64_rm64, 374,
      :imul_r16_rm16_imm8, 375,
      :imul_r32_rm32_imm8, 376,
      :imul_r64_rm64_imm8, 377,
      :imul_r16_rm16_imm16, 378,
      :imul_r32_rm32_imm32, 379,
      :imul_r64_rm64_imm32, 380,
      :inc_rm8, 381,
      :inc_rm16, 382,
      :inc_rm32, 383,
      :inc_rm64, 384,
      :insertps_xmm_xmmm32_imm8, 385,
      :vinsertps_xmm_xmm_xmmm32_imm8, 386,
      :ja_rel8, 387,
      :jae_rel8, 388,
      :jb_rel8, 389,
      :jbe_rel8, 390,
      :jecxz_rel8, 391,
      :je_rel8, 392,
      :jg_rel8, 393,
      :jge_rel8, 394,
      :jl_rel8, 395,
      :jle_rel8, 396,
      :jne_rel8, 397,
      :jno_rel8, 398,
      :jnp_rel8, 399,
      :jns_rel8, 400,
      :jo_rel8, 401,
      :jp_rel8, 402,
      :js_rel8, 403,
      :ja_rel32, 404,
      :jae_rel32, 405,
      :jb_rel32, 406,
      :jbe_rel32, 407,
      :je_rel32, 408,
      :jg_rel32, 409,
      :jge_rel32, 410,
      :jl_rel32, 411,
      :jle_rel32, 412,
      :jne_rel32, 413,
      :jno_rel32, 414,
      :jnp_rel32, 415,
      :jns_rel32, 416,
      :jo_rel32, 417,
      :jp_rel32, 418,
      :js_rel32, 419,
      :jmp_rel8, 420,
      :jmp_rel32, 421,
      :jmp_rm64, 422,
      :lahf, 423,
      :lddqu_xmm_m128, 424,
      :vlddqu_xmm_m128, 425,
      :vlddqu_ymm_m256, 426,
      :ldmxcsr_m32, 427,
      :vldmxcsr_m32, 428,
      :lea_r16_m16, 429,
      :lea_r32_m32, 430,
      :lea_r64_m64, 431,
      :leavew, 432,
      :leaveq, 433,
      :lfence, 434,
      :lodsb, 435,
      :lodsw, 436,
      :lodsd, 437,
      :lodsq, 438,
      :loop_rel8, 439,
      :loope_rel8, 440,
      :loopne_rel8, 441,
      :lzcnt_r16_rm16, 442,
      :lzcnt_r32_rm32, 443,
      :lzcnt_r64_rm64, 444,
      :maskmovdqu_xmm_xmm, 445,
      :vmaskmovdqu_xmm_xmm, 446,
      :maskmovq_mm_mm, 447,
      :maxpd_xmm_xmmm128, 448,
      :vmaxpd_xmm_xmm_xmmm128, 449,
      :vmaxpd_ymm_ymm_ymmm256, 450,
      :maxps_xmm_xmmm128, 451,
      :vmaxps_xmm_xmm_xmmm128, 452,
      :vmaxps_ymm_ymm_ymmm256, 453,
      :maxsd_xmm_xmmm64, 454,
      :vmaxsd_xmm_xmm_xmmm64, 455,
      :maxss_xmm_xmmm32, 456,
      :vmaxss_xmm_xmm_xmmm32, 457,
      :mfence, 458,
      :minpd_xmm_xmmm128, 459,
      :vminpd_xmm_xmm_xmmm128, 460,
      :vminpd_ymm_ymm_ymmm256, 461,
      :minps_xmm_xmmm128, 462,
      :vminps_xmm_xmm_xmmm128, 463,
      :vminps_ymm_ymm_ymmm256, 464,
      :minsd_xmm_xmmm64, 465,
      :vminsd_xmm_xmm_xmmm64, 466,
      :minss_xmm_xmmm32, 467,
      :vminss_xmm_xmm_xmmm32, 468,
      :mov_rm8_r8, 469,
      :mov_rm16_r16, 470,
      :mov_rm32_r32, 471,
      :mov_rm64_r64, 472,
      :mov_r8_rm8, 473,
      :mov_r16_rm16, 474,
      :mov_r32_rm32, 475,
      :mov_r64_rm64, 476,
      :mov_al_moffs8, 477,
      :mov_ax_moffs16, 478,
      :mov_eax_moffs32, 479,
      :mov_rax_moffs64, 480,
      :mov_moffs8_al, 481,
      :mov_moffs16_ax, 482,
      :mov_moffs32_eax, 483,
      :mov_moffs64_rax, 484,
      :mov_r8_imm8, 485,
      :mov_r16_imm16, 486,
      :mov_r32_imm32, 487,
      :mov_r64_imm64, 488,
      :mov_rm8_imm8, 489,
      :mov_rm16_imm16, 490,
      :mov_rm32_imm32, 491,
      :mov_rm64_imm32, 492,
      :movapd_xmm_xmmm128, 493,
      :movapd_xmmm128_xmm, 494,
      :vmovapd_xmm_xmmm128, 495,
      :vmovapd_xmmm128_xmm, 496,
      :vmovapd_ymm_ymmm256, 497,
      :vmovapd_ymmm256_ymm, 498,
      :movaps_xmm_xmmm128, 499,
      :movaps_xmmm128_xmm, 500,
      :vmovaps_xmm_xmmm128, 501,
      :vmovaps_xmmm128_xmm, 502,
      :vmovaps_ymm_ymmm256, 503,
      :vmovaps_ymmm256_ymm, 504,
      :movbe_r16_m16, 505,
      :movbe_r32_m32, 506,
      :movbe_r64_m64, 507,
      :movbe_m16_r16, 508,
      :movbe_m32_r32, 509,
      :movbe_m64_r64, 510,
      :movd_mm_rm32, 511,
      :movq_mm_rm64, 512,
      :movd_rm32_mm, 513,
      :movq_rm64_mm, 514,
      :movd_xmm_rm32, 515,
      :movq_xmm_rm64, 516,
      :movd_rm32_xmm, 517,
      :movq_rm64_xmm, 518,
      :vmovd_xmm_rm32, 519,
      :vmovq_xmm_rm64, 520,
      :vmovd_rm32_xmm, 521,
      :vmovq_rm64_xmm, 522,
      :movddup_xmm_xmmm64, 523,
      :vmovddup_xmm_xmmm64, 524,
      :vmovddup_ymm_ymmm256, 525,
      :movdqa_xmm_xmmm128, 526,
      :movdqa_xmmm128_xmm, 527,
      :vmovdqa_xmm_xmmm128, 528,
      :vmovdqa_xmmm128_xmm, 529,
      :vmovdqa_ymm_ymmm256, 530,
      :vmovdqa_ymmm256_ymm, 531,
      :movdqu_xmm_xmmm128, 532,
      :movdqu_xmmm128_xmm, 533,
      :vmovdqu_xmm_xmmm128, 534,
      :vmovdqu_xmmm128_xmm, 535,
      :vmovdqu_ymm_ymmm256, 536,
      :vmovdqu_ymmm256_ymm, 537,
      :movdq2q_mm_xmm, 538,
      :movhlps_xmm_xmm, 539,
      :vmovhlps_xmm_xmm_xmm, 540,
      :movhpd_xmm_m64, 541,
      :vmovhpd_xmm_xmm_m64, 542,
      :movhpd_m64_xmm, 543,
      :vmovhpd_m64_xmm, 544,
      :movhps_xmm_m64, 545,
      :vmovhps_xmm_xmm_m64, 546,
      :movhps_m64_xmm, 547,
      :vmovhps_m64_xmm, 548,
      :movlhps_xmm_xmm, 549,
      :vmovlhps_xmm_xmm_xmm, 550,
      :movlpd_xmm_m64, 551,
      :vmovlpd_xmm_xmm_m64, 552,
      :movlpd_m64_xmm, 553,
      :vmovlpd_m64_xmm, 554,
      :movlps_xmm_m64, 555,
      :vmovlps_xmm_xmm_m64, 556,
      :movlps_m64_xmm, 557,
      :vmovlps_m64_xmm, 558,
      :movmskpd_r32_xmm, 559,
      :vmovmskpd_r32_xmm, 560,
      :vmovmskpd_r32_ymm, 561,
      :movmskps_r32_xmm, 562,
      :vmovmskps_r32_xmm, 563,
      :vmovmskps_r32_ymm, 564,
      :movntdqa_xmm_m128, 565,
      :vmovntdqa_xmm_m128, 566,
      :vmovntdqa_ymm_m256, 567,
      :movntdq_m128_xmm, 568,
      :vmovntdq_m128_xmm, 569,
      :vmovntdq_m256_ymm, 570,
      :movnti_m32_r32, 571,
      :movnti_m64_r64, 572,
      :movntpd_m128_xmm, 573,
      :vmovntpd_m128_xmm, 574,
      :vmovntpd_m256_ymm, 575,
      :movntps_m128_xmm, 576,
      :vmovntps_m128_xmm, 577,
      :vmovntps_m256_ymm, 578,
      :movntq_m64_mm, 579,
      :movq_mm_mmm64, 580,
      :movq_mmm64_mm, 581,
      :movq_xmm_xmmm64, 582,
      :vmovq_xmm_xmmm64, 583,
      :movq_xmmm64_xmm, 584,
      :vmovq_xmmm64_xmm, 585,
      :movq2dq_xmm_mm, 586,
      :movsb, 587,
      :movsw, 588,
      :movsd, 589,
      :movsq, 590,
      :movsd_xmm_xmmm64, 591,
      :movsd_xmmm64_xmm, 592,
      :vmovsd0_xmm_xmm_xmm, 593,
      :vmovsd_xmm_m64, 594,
      :vmovsd1_xmm_xmm_xmm, 595,
      :vmovsd_m64_xmm, 596,
      :movshdup_xmm_xmmm128, 597,
      :vmovshdup_xmm_xmmm128, 598,
      :vmovshdup_ymm_ymmm256, 599,
      :movsldup_xmm_xmmm128, 600,
      :vmovsldup_xmm_xmmm128, 601,
      :vmovsldup_ymm_ymmm256, 602,
      :movss_xmm_xmmm32, 603,
      :vmovss0_xmm_xmm_xmm, 604,
      :vmovss_xmm_m32, 605,
      :movss_xmmm32_xmm, 606,
      :vmovss1_xmm_xmm_xmm, 607,
      :vmovss_m32_xmm, 608,
      :movsx_r16_rm8, 609,
      :movsx_r32_rm8, 610,
      :movsx_r64_rm8, 611,
      :movsx_r32_rm16, 612,
      :movsx_r64_rm16, 613,
      :movsxd_r64_rm32, 614,
      :movupd_xmm_xmmm128, 615,
      :movupd_xmmm128_xmm, 616,
      :vmovupd_xmm_xmmm128, 617,
      :vmovupd_xmmm128_xmm, 618,
      :vmovupd_ymm_ymmm256, 619,
      :vmovupd_ymmm256_ymm, 620,
      :movups_xmm_xmmm128, 621,
      :movups_xmmm128_xmm, 622,
      :vmovups_xmm_xmmm128, 623,
      :vmovups_xmmm128_xmm, 624,
      :vmovups_ymm_ymmm256, 625,
      :vmovups_ymmm256_ymm, 626,
      :movzx_r16_rm8, 627,
      :movzx_r32_rm8, 628,
      :movzx_r64_rm8, 629,
      :movzx_r32_rm16, 630,
      :movzx_r64_rm16, 631,
      :mpsadbw_xmm_xmmm128_imm8, 632,
      :vmpsadbw_xmm_xmm_xmmm128_imm8, 633,
      :vmpsadbw_ymm_ymm_ymmm256_imm8, 634,
      :mul_rm8, 635,
      :mul_rm16, 636,
      :mul_rm32, 637,
      :mul_rm64, 638,
      :mulpd_xmm_xmmm128, 639,
      :vmulpd_xmm_xmm_xmmm128, 640,
      :vmulpd_ymm_ymm_ymmm256, 641,
      :mulps_xmm_xmmm128, 642,
      :vmulps_xmm_xmm_xmmm128, 643,
      :vmulps_ymm_ymm_ymmm256, 644,
      :mulsd_xmm_xmmm64, 645,
      :vmulsd_xmm_xmm_xmmm64, 646,
      :mulss_xmm_xmmm32, 647,
      :vmulss_xmm_xmm_xmmm32, 648,
      :mulx_r32_r32_rm32, 649,
      :mulx_r64_r64_rm64, 650,
      :neg_rm8, 651,
      :neg_rm16, 652,
      :neg_rm32, 653,
      :neg_rm64, 654,
      :nop, 655,
      :nop_rm16, 656,
      :nop_rm32, 657,
      :not_rm8, 658,
      :not_rm16, 659,
      :not_rm32, 660,
      :not_rm64, 661,
      :or_al_imm8, 662,
      :or_ax_imm16, 663,
      :or_eax_imm32, 664,
      :or_rax_imm32, 665,
      :or_rm8_imm8, 666,
      :or_rm16_imm16, 667,
      :or_rm32_imm32, 668,
      :or_rm64_imm32, 669,
      :or_rm16_imm8, 670,
      :or_rm32_imm8, 671,
      :or_rm64_imm8, 672,
      :or_rm8_r8, 673,
      :or_rm16_r16, 674,
      :or_rm32_r32, 675,
      :or_rm64_r64, 676,
      :or_r8_rm8, 677,
      :or_r16_rm16, 678,
      :or_r32_rm32, 679,
      :or_r64_rm64, 680,
      :orpd_xmm_xmmm128, 681,
      :vorpd_xmm_xmm_xmmm128, 682,
      :vorpd_ymm_ymm_ymmm256, 683,
      :orps_xmm_xmmm128, 684,
      :vorps_xmm_xmm_xmmm128, 685,
      :vorps_ymm_ymm_ymmm256, 686,
      :pabsb_mm_mmm64, 687,
      :pabsb_xmm_xmmm128, 688,
      :pabsw_mm_mmm64, 689,
      :pabsw_xmm_xmmm128, 690,
      :pabsd_mm_mmm64, 691,
      :pabsd_xmm_xmmm128, 692,
      :vpabsb_xmm_xmmm128, 693,
      :vpabsw_xmm_xmmm128, 694,
      :vpabsd_xmm_xmmm128, 695,
      :vpabsb_ymm_ymmm256, 696,
      :vpabsw_ymm_ymmm256, 697,
      :vpabsd_ymm_ymmm256, 698,
      :packsswb_mm_mmm64, 699,
      :packsswb_xmm_xmmm128, 700,
      :packssdw_mm_mmm64, 701,
      :packssdw_xmm_xmmm128, 702,
      :vpacksswb_xmm_xmm_xmmm128, 703,
      :vpackssdw_xmm_xmm_xmmm128, 704,
      :vpacksswb_ymm_ymm_ymmm256, 705,
      :vpackssdw_ymm_ymm_ymmm256, 706,
      :packusdw_xmm_xmmm128, 707,
      :vpackusdw_xmm_xmm_xmmm128, 708,
      :vpackusdw_ymm_ymm_ymmm256, 709,
      :packuswb_mm_mmm64, 710,
      :packuswb_xmm_xmmm128, 711,
      :vpackuswb_xmm_xmm_xmmm128, 712,
      :vpackuswb_ymm_ymm_ymmm256, 713,
      :paddb_mm_mmm64, 714,
      :paddw_mm_mmm64, 715,
      :paddb_xmm_xmmm128, 716,
      :paddw_xmm_xmmm128, 717,
      :paddd_xmm_xmmm128, 718,
      :paddq_xmm_xmmm128, 719,
      :vpaddb_xmm_xmm_xmmm128, 720,
      :vpaddw_xmm_xmm_xmmm128, 721,
      :vpaddd_xmm_xmm_xmmm128, 722,
      :vpaddq_xmm_xmm_xmmm128, 723,
      :vpaddb_ymm_ymm_ymmm256, 724,
      :vpaddw_ymm_ymm_ymmm256, 725,
      :vpaddd_ymm_ymm_ymmm256, 726,
      :vpaddq_ymm_ymm_ymmm256, 727,
      :paddsb_mm_mmm64, 728,
      :paddsb_xmm_xmmm128, 729,
      :paddsw_mm_mmm64, 730,
      :paddsw_xmm_xmmm128, 731,
      :vpaddsb_xmm_xmm_xmmm128, 732,
      :vpaddsw_xmm_xmm_xmmm128, 733,
      :vpaddsb_ymm_ymm_ymmm256, 734,
      :vpaddsw_ymm_ymm_ymmm256, 735,
      :paddusb_mm_mmm64, 736,
      :paddusb_xmm_xmmm128, 737,
      :paddusw_mm_mmm64, 738,
      :paddusw_xmm_xmmm128, 739,
      :vpaddusb_xmm_xmm_xmmm128, 740,
      :vpaddusw_xmm_xmm_xmmm128, 741,
      :vpaddusb_ymm_ymm_ymmm256, 742,
      :vpaddusw_ymm_ymm_ymmm256, 743,
      :palignr_mm_mmm64_imm8, 744,
      :palignr_xmm_xmmm128_imm8, 745,
      :vpalignr_xmm_xmm_xmmm128_imm8, 746,
      :vpalignr_ymm_ymm_ymmm256_imm8, 747,
      :pand_mm_mmm64, 748,
      :pand_xmm_xmmm128, 749,
      :vpand_xmm_xmm_xmmm128, 750,
      :vpand_ymm_ymm_ymmm256, 751,
      :pandn_mm_mmm64, 752,
      :pandn_xmm_xmmm128, 753,
      :vpandn_xmm_xmm_xmmm128, 754,
      :vpandn_ymm_ymm_ymmm256, 755,
      :pause, 756,
      :pavgb_mm_mmm64, 757,
      :pavgb_xmm_xmmm128, 758,
      :pavgw_mm_mmm64, 759,
      :pavgw_xmm_xmmm128, 760,
      :vpavgb_xmm_xmm_xmmm128, 761,
      :vpavgw_xmm_xmm_xmmm128, 762,
      :vpavgb_ymm_ymm_ymmm256, 763,
      :vpavgw_ymm_ymm_ymmm256, 764,
      :pblendvb_xmm_xmmm128_xmm0, 765,
      :vpblendvb_xmm_xmm_xmmm128_xmm, 766,
      :vpblendvb_ymm_ymm_ymmm256_ymm, 767,
      :pblendw_xmm_xmmm128_imm8, 768,
      :vpblendw_xmm_xmm_xmmm128_imm8, 769,
      :vpblendw_ymm_ymm_ymmm256_imm8, 770,
      :pclmulqdq_xmm_xmmm128_imm8, 771,
      :vpclmulqdq_xmm_xmm_xmmm128_imm8, 772,
      :pcmpeqb_mm_mmm64, 773,
      :pcmpeqb_xmm_xmmm128, 774,
      :pcmpeqw_mm_mmm64, 775,
      :pcmpeqw_xmm_xmmm128, 776,
      :pcmpeqd_mm_mmm64, 777,
      :pcmpeqd_xmm_xmmm128, 778,
      :vpcmpeqb_xmm_xmm_xmmm128, 779,
      :vpcmpeqw_xmm_xmm_xmmm128, 780,
      :vpcmpeqd_xmm_xmm_xmmm128, 781,
      :vpcmpeqb_ymm_ymm_ymmm256, 782,
      :vpcmpeqw_ymm_ymm_ymmm256, 783,
      :vpcmpeqd_ymm_ymm_ymmm256, 784,
      :pcmpeqq_xmm_xmmm128, 785,
      :vpcmpeqq_xmm_xmm_xmmm128, 786,
      :vpcmpeqq_ymm_ymm_ymmm256, 787,
      :pcmpestri_xmm_xmmm128_imm8, 788,
      :vpcmpestri_xmm_xmmm128_imm8, 789,
      :pcmpestrm_xmm_xmmm128_imm8, 790,
      :vpcmpestrm_xmm_xmmm128_imm8, 791,
      :pcmpgtb_mm_mmm64, 792,
      :pcmpgtb_xmm_xmmm128, 793,
      :pcmpgtw_mm_mmm64, 794,
      :pcmpgtw_xmm_xmmm128, 795,
      :pcmpgtd_mm_mmm64, 796,
      :pcmpgtd_xmm_xmmm128, 797,
      :vpcmpgtb_xmm_xmm_xmmm128, 798,
      :vpcmpgtw_xmm_xmm_xmmm128, 799,
      :vpcmpgtd_xmm_xmm_xmmm128, 800,
      :vpcmpgtb_ymm_ymm_ymmm256, 801,
      :vpcmpgtw_ymm_ymm_ymmm256, 802,
      :vpcmpgtd_ymm_ymm_ymmm256, 803,
      :pcmpgtq_xmm_xmmm128, 804,
      :vpcmpgtq_xmm_xmm_xmmm128, 805,
      :vpcmpgtq_ymm_ymm_ymmm256, 806,
      :pcmpistri_xmm_xmmm128_imm8, 807,
      :vpcmpistri_xmm_xmmm128_imm8, 808,
      :pcmpistrm_xmm_xmmm128_imm8, 809,
      :vpcmpistrm_xmm_xmmm128_imm8, 810,
      :pdep_r32_r32_rm32, 811,
      :pdep_r64_r64_rm64, 812,
      :pext_r32_r32_rm32, 813,
      :pext_r64_r64_rm64, 814,
      :pextrb_r32m8_xmm_imm8, 815,
      :pextrd_rm32_xmm_imm8, 816,
      :pextrq_rm64_xmm_imm8, 817,
      :vpextrb_r32m8_xmm_imm8, 818,
      :vpextrd_rm32_xmm_imm8, 819,
      :vpextrq_rm64_xmm_imm8, 820,
      :pextrw_r32_mm_imm8, 821,
      :pextrw_r32_xmm_imm8, 822,
      :pextrw_r32m16_xmm_imm8, 823,
      :vpextrw_r32_xmm_imm8, 824,
      :vpextrw_r32m16_xmm_imm8, 825,
      :phaddw_mm_mmm64, 826,
      :phaddw_xmm_xmmm128, 827,
      :phaddd_mm_mmm64, 828,
      :phaddd_xmm_xmmm128, 829,
      :vphaddw_xmm_xmm_xmmm128, 830,
      :vphaddd_xmm_xmm_xmmm128, 831,
      :vphaddw_ymm_ymm_ymmm256, 832,
      :vphaddd_ymm_ymm_ymmm256, 833,
      :phaddsw_mm_mmm64, 834,
      :phaddsw_xmm_xmmm128, 835,
      :vphaddsw_xmm_xmm_xmmm128, 836,
      :vphaddsw_ymm_ymm_ymmm256, 837,
      :phminposuw_xmm_xmmm128, 838,
      :vphminposuw_xmm_xmmm128, 839,
      :phsubw_mm_mmm64, 840,
      :phsubw_xmm_xmmm128, 841,
      :phsubd_mm_mmm64, 842,
      :phsubd_xmm_xmmm128, 843,
      :vphsubw_xmm_xmm_xmmm128, 844,
      :vphsubd_xmm_xmm_xmmm128, 845,
      :vphsubw_ymm_ymm_ymmm256, 846,
      :vphsubd_ymm_ymm_ymmm256, 847,
      :phsubsw_mm_mmm64, 848,
      :phsubsw_xmm_xmmm128, 849,
      :vphsubsw_xmm_xmm_xmmm128, 850,
      :vphsubsw_ymm_ymm_ymmm256, 851,
      :pinsrb_xmm_r32m8_imm8, 852,
      :pinsrd_xmm_rm32_imm8, 853,
      :pinsrq_xmm_rm64_imm8, 854,
      :vpinsrb_xmm_xmm_r32m8_imm8, 855,
      :vpinsrd_xmm_xmm_rm32_imm8, 856,
      :vpinsrq_xmm_xmm_rm64_imm8, 857,
      :pinsrw_mm_r32m16_imm8, 858,
      :pinsrw_xmm_r32m16_imm8, 859,
      :vpinsrw_xmm_xmm_r32m16_imm8, 860,
      :pmaddubsw_mm_mmm64, 861,
      :pmaddubsw_xmm_xmmm128, 862,
      :vpmaddubsw_xmm_xmm_xmmm128, 863,
      :vpmaddubsw_ymm_ymm_ymmm256, 864,
      :pmaddwd_mm_mmm64, 865,
      :pmaddwd_xmm_xmmm128, 866,
      :vpmaddwd_xmm_xmm_xmmm128, 867,
      :vpmaddwd_ymm_ymm_ymmm256, 868,
      :pmaxsw_mm_mmm64, 869,
      :pmaxsb_xmm_xmmm128, 870,
      :pmaxsw_xmm_xmmm128, 871,
      :pmaxsd_xmm_xmmm128, 872,
      :vpmaxsb_xmm_xmm_xmmm128, 873,
      :vpmaxsw_xmm_xmm_xmmm128, 874,
      :vpmaxsd_xmm_xmm_xmmm128, 875,
      :vpmaxsb_ymm_ymm_ymmm256, 876,
      :vpmaxsw_ymm_ymm_ymmm256, 877,
      :vpmaxsd_ymm_ymm_ymmm256, 878,
      :pmaxub_mm_mmm64, 879,
      :pmaxub_xmm_xmmm128, 880,
      :pmaxuw_xmm_xmmm128, 881,
      :vpmaxub_xmm_xmm_xmmm128, 882,
      :vpmaxuw_xmm_xmm_xmmm128, 883,
      :vpmaxub_ymm_ymm_ymmm256, 884,
      :vpmaxuw_ymm_ymm_ymmm256, 885,
      :pmaxud_xmm_xmmm128, 886,
      :vpmaxud_xmm_xmm_xmmm128, 887,
      :vpmaxud_ymm_ymm_ymmm256, 888,
      :pminsw_mm_mmm64, 889,
      :pminsb_xmm_xmmm128, 890,
      :pminsw_xmm_xmmm128, 891,
      :vpminsb_xmm_xmm_xmmm128, 892,
      :vpminsw_xmm_xmm_xmmm128, 893,
      :vpminsb_ymm_ymm_ymmm256, 894,
      :vpminsw_ymm_ymm_ymmm256, 895,
      :pminsd_xmm_xmmm128, 896,
      :vpminsd_xmm_xmm_xmmm128, 897,
      :vpminsd_ymm_ymm_ymmm256, 898,
      :pminub_mm_mmm64, 899,
      :pminub_xmm_xmmm128, 900,
      :pminuw_xmm_xmmm128, 901,
      :vpminub_xmm_xmm_xmmm128, 902,
      :vpminuw_xmm_xmm_xmmm128, 903,
      :vpminub_ymm_ymm_ymmm256, 904,
      :vpminuw_ymm_ymm_ymmm256, 905,
      :pminud_xmm_xmmm128, 906,
      :vpminud_xmm_xmm_xmmm128, 907,
      :vpminud_ymm_ymm_ymmm256, 908,
      :pmovmskb_r32_mm, 909,
      :pmovmskb_r32_xmm, 910,
      :vpmovmskb_r32_xmm, 911,
      :vpmovmskb_r32_ymm, 912,
      :pmovsxbw_xmm_xmmm64, 913,
      :pmovsxbd_xmm_xmmm32, 914,
      :pmovsxbq_xmm_xmmm16, 915,
      :pmovsxwd_xmm_xmmm64, 916,
      :pmovsxwq_xmm_xmmm32, 917,
      :pmovsxdq_xmm_xmmm64, 918,
      :vpmovsxbw_xmm_xmmm64, 919,
      :vpmovsxbd_xmm_xmmm32, 920,
      :vpmovsxbq_xmm_xmmm16, 921,
      :vpmovsxwd_xmm_xmmm64, 922,
      :vpmovsxwq_xmm_xmmm32, 923,
      :vpmovsxdq_xmm_xmmm64, 924,
      :vpmovsxbw_ymm_xmmm128, 925,
      :vpmovsxbd_ymm_xmmm64, 926,
      :vpmovsxbq_ymm_xmmm32, 927,
      :vpmovsxwd_ymm_xmmm128, 928,
      :vpmovsxwq_ymm_xmmm64, 929,
      :vpmovsxdq_ymm_xmmm128, 930,
      :pmovzxbw_xmm_xmmm64, 931,
      :pmovzxbd_xmm_xmmm32, 932,
      :pmovzxbq_xmm_xmmm16, 933,
      :pmovzxwd_xmm_xmmm64, 934,
      :pmovzxwq_xmm_xmmm32, 935,
      :pmovzxdq_xmm_xmmm64, 936,
      :vpmovzxbw_xmm_xmmm64, 937,
      :vpmovzxbd_xmm_xmmm32, 938,
      :vpmovzxbq_xmm_xmmm16, 939,
      :vpmovzxwd_xmm_xmmm64, 940,
      :vpmovzxwq_xmm_xmmm32, 941,
      :vpmovzxdq_xmm_xmmm64, 942,
      :vpmovzxbw_ymm_xmmm128, 943,
      :vpmovzxbd_ymm_xmmm64, 944,
      :vpmovzxbq_ymm_xmmm32, 945,
      :vpmovzxwd_ymm_xmmm128, 946,
      :vpmovzxwq_ymm_xmmm64, 947,
      :vpmovzxdq_ymm_xmmm128, 948,
      :pmuldq_xmm_xmmm128, 949,
      :vpmuldq_xmm_xmm_xmmm128, 950,
      :vpmuldq_ymm_ymm_ymmm256, 951,
      :pmulhrsw_mm_mmm64, 952,
      :pmulhrsw_xmm_xmmm128, 953,
      :vpmulhrsw_xmm_xmm_xmmm128, 954,
      :vpmulhrsw_ymm_ymm_ymmm256, 955,
      :pmulhuw_mm_mmm64, 956,
      :pmulhuw_xmm_xmmm128, 957,
      :vpmulhuw_xmm_xmm_xmmm128, 958,
      :vpmulhuw_ymm_ymm_ymmm256, 959,
      :pmulhw_mm_mmm64, 960,
      :pmulhw_xmm_xmmm128, 961,
      :vpmulhw_xmm_xmm_xmmm128, 962,
      :vpmulhw_ymm_ymm_ymmm256, 963,
      :pmulld_xmm_xmmm128, 964,
      :vpmulld_xmm_xmm_xmmm128, 965,
      :vpmulld_ymm_ymm_ymmm256, 966,
      :pmullw_mm_mmm64, 967,
      :pmullw_xmm_xmmm128, 968,
      :vpmullw_xmm_xmm_xmmm128, 969,
      :vpmullw_ymm_ymm_ymmm256, 970,
      :pmuludq_mm_mmm64, 971,
      :pmuludq_xmm_xmmm128, 972,
      :vpmuludq_xmm_xmm_xmmm128, 973,
      :vpmuludq_ymm_ymm_ymmm256, 974,
      :pop_rm16, 975,
      :pop_rm64, 976,
      :pop_r16, 977,
      :pop_r64, 978,
      :popcnt_r16_rm16, 979,
      :popcnt_r32_rm32, 980,
      :popcnt_r64_rm64, 981,
      :popf, 982,
      :popfq, 983,
      :por_mm_mmm64, 984,
      :por_xmm_xmmm128, 985,
      :vpor_xmm_xmm_xmmm128, 986,
      :vpor_ymm_ymm_ymmm256, 987,
      :prefetcht0_m8, 988,
      :prefetcht1_m8, 989,
      :prefetcht2_m8, 990,
      :prefetchnta_m8, 991,
      :prefetchw_m8, 992,
      :prefetchwt1_m8, 993,
      :psadbw_mm_mmm64, 994,
      :psadbw_xmm_xmmm128, 995,
      :vpsadbw_xmm_xmm_xmmm128, 996,
      :vpsadbw_ymm_ymm_ymmm256, 997,
      :pshufb_mm_mmm64, 998,
      :pshufb_xmm_xmmm128, 999,
      :vpshufb_xmm_xmm_xmmm128, 1000,
      :vpshufb_ymm_ymm_ymmm256, 1001,
      :pshufd_xmm_xmmm128_imm8, 1002,
      :vpshufd_xmm_xmmm128_imm8, 1003,
      :vpshufd_ymm_ymmm256_imm8, 1004,
      :pshufhw_xmm_xmmm128_imm8, 1005,
      :vpshufhw_xmm_xmmm128_imm8, 1006,
      :vpshufhw_ymm_ymmm256_imm8, 1007,
      :pshuflw_xmm_xmmm128_imm8, 1008,
      :vpshuflw_xmm_xmmm128_imm8, 1009,
      :vpshuflw_ymm_ymmm256_imm8, 1010,
      :pshufw_mm_mmm64_imm8, 1011,
      :psignb_mm_mmm64, 1012,
      :psignb_xmm_xmmm128, 1013,
      :psignw_mm_mmm64, 1014,
      :psignw_xmm_xmmm128, 1015,
      :psignd_mm_mmm64, 1016,
      :psignd_xmm_xmmm128, 1017,
      :vpsignb_xmm_xmm_xmmm128, 1018,
      :vpsignw_xmm_xmm_xmmm128, 1019,
      :vpsignd_xmm_xmm_xmmm128, 1020,
      :vpsignb_ymm_ymm_ymmm256, 1021,
      :vpsignw_ymm_ymm_ymmm256, 1022,
      :vpsignd_ymm_ymm_ymmm256, 1023,
      :pslldq_xmm_imm8, 1024,
      :vpslldq_xmm_xmm_imm8, 1025,
      :vpslldq_ymm_ymm_imm8, 1026,
      :psllw_mm_mmm64, 1027,
      :psllw_xmm_xmmm128, 1028,
      :psllw_mm_imm8, 1029,
      :psllw_xmm_imm8, 1030,
      :pslld_mm_mmm64, 1031,
      :pslld_xmm_xmmm128, 1032,
      :pslld_mm_imm8, 1033,
      :pslld_xmm_imm8, 1034,
      :psllq_mm_mmm64, 1035,
      :psllq_xmm_xmmm128, 1036,
      :psllq_mm_imm8, 1037,
      :psllq_xmm_imm8, 1038,
      :vpsllw_xmm_xmm_xmmm128, 1039,
      :vpsllw_xmm_xmm_imm8, 1040,
      :vpslld_xmm_xmm_xmmm128, 1041,
      :vpslld_xmm_xmm_imm8, 1042,
      :vpsllq_xmm_xmm_xmmm128, 1043,
      :vpsllq_xmm_xmm_imm8, 1044,
      :vpsllw_ymm_ymm_xmmm128, 1045,
      :vpsllw_ymm_ymm_imm8, 1046,
      :vpslld_ymm_ymm_xmmm128, 1047,
      :vpslld_ymm_ymm_imm8, 1048,
      :vpsllq_ymm_ymm_xmmm128, 1049,
      :vpsllq_ymm_ymm_imm8, 1050,
      :psraw_mm_mmm64, 1051,
      :psraw_xmm_xmmm128, 1052,
      :psraw_mm_imm8, 1053,
      :psraw_xmm_imm8, 1054,
      :psrad_mm_mmm64, 1055,
      :psrad_xmm_xmmm128, 1056,
      :psrad_mm_imm8, 1057,
      :psrad_xmm_imm8, 1058,
      :vpsraw_xmm_xmm_xmmm128, 1059,
      :vpsraw_xmm_xmm_imm8, 1060,
      :vpsrad_xmm_xmm_xmmm128, 1061,
      :vpsrad_xmm_xmm_imm8, 1062,
      :vpsraw_ymm_ymm_xmmm128, 1063,
      :vpsraw_ymm_ymm_imm8, 1064,
      :vpsrad_ymm_ymm_xmmm128, 1065,
      :vpsrad_ymm_ymm_imm8, 1066,
      :psrldq_xmm_imm8, 1067,
      :vpsrldq_xmm_xmm_imm8, 1068,
      :vpsrldq_ymm_ymm_imm8, 1069,
      :psrlw_mm_mmm64, 1070,
      :psrlw_xmm_xmmm128, 1071,
      :psrlw_mm_imm8, 1072,
      :psrlw_xmm_imm8, 1073,
      :psrld_mm_mmm64, 1074,
      :psrld_xmm_xmmm128, 1075,
      :psrld_mm_imm8, 1076,
      :psrld_xmm_imm8, 1077,
      :psrlq_mm_mmm64, 1078,
      :psrlq_xmm_xmmm128, 1079,
      :psrlq_mm_imm8, 1080,
      :psrlq_xmm_imm8, 1081,
      :vpsrlw_xmm_xmm_xmmm128, 1082,
      :vpsrlw_xmm_xmm_imm8, 1083,
      :vpsrld_xmm_xmm_xmmm128, 1084,
      :vpsrld_xmm_xmm_imm8, 1085,
      :vpsrlq_xmm_xmm_xmmm128, 1086,
      :vpsrlq_xmm_xmm_imm8, 1087,
      :vpsrlw_ymm_ymm_xmmm128, 1088,
      :vpsrlw_ymm_ymm_imm8, 1089,
      :vpsrld_ymm_ymm_xmmm128, 1090,
      :vpsrld_ymm_ymm_imm8, 1091,
      :vpsrlq_ymm_ymm_xmmm128, 1092,
      :vpsrlq_ymm_ymm_imm8, 1093,
      :psubb_mm_mmm64, 1094,
      :psubb_xmm_xmmm128, 1095,
      :psubw_mm_mmm64, 1096,
      :psubw_xmm_xmmm128, 1097,
      :psubd_mm_mmm64, 1098,
      :psubd_xmm_xmmm128, 1099,
      :vpsubb_xmm_xmm_xmmm128, 1100,
      :vpsubw_xmm_xmm_xmmm128, 1101,
      :vpsubd_xmm_xmm_xmmm128, 1102,
      :vpsubb_ymm_ymm_ymmm256, 1103,
      :vpsubw_ymm_ymm_ymmm256, 1104,
      :vpsubd_ymm_ymm_ymmm256, 1105,
      :psubq_mm_mmm64, 1106,
      :psubq_xmm_xmmm128, 1107,
      :vpsubq_xmm_xmm_xmmm128, 1108,
      :vpsubq_ymm_ymm_ymmm256, 1109,
      :psubsb_mm_mmm64, 1110,
      :psubsb_xmm_xmmm128, 1111,
      :psubsw_mm_mmm64, 1112,
      :psubsw_xmm_xmmm128, 1113,
      :vpsubsb_xmm_xmm_xmmm128, 1114,
      :vpsubsw_xmm_xmm_xmmm128, 1115,
      :vpsubsb_ymm_ymm_ymmm256, 1116,
      :vpsubsw_ymm_ymm_ymmm256, 1117,
      :psubusb_mm_mmm64, 1118,
      :psubusb_xmm_xmmm128, 1119,
      :psubusw_mm_mmm64, 1120,
      :psubusw_xmm_xmmm128, 1121,
      :vpsubusb_xmm_xmm_xmmm128, 1122,
      :vpsubusw_xmm_xmm_xmmm128, 1123,
      :vpsubusb_ymm_ymm_ymmm256, 1124,
      :vpsubusw_ymm_ymm_ymmm256, 1125,
      :ptest_xmm_xmmm128, 1126,
      :vptest_xmm_xmmm128, 1127,
      :vptest_ymm_ymmm256, 1128,
      :punpckhbw_mm_mmm64, 1129,
      :punpckhbw_xmm_xmmm128, 1130,
      :punpckhwd_mm_mmm64, 1131,
      :punpckhwd_xmm_xmmm128, 1132,
      :punpckhdq_mm_mmm64, 1133,
      :punpckhdq_xmm_xmmm128, 1134,
      :punpckhqdq_xmm_xmmm128, 1135,
      :vpunpckhbw_xmm_xmm_xmmm128, 1136,
      :vpunpckhwd_xmm_xmm_xmmm128, 1137,
      :vpunpckhdq_xmm_xmm_xmmm128, 1138,
      :vpunpckhqdq_xmm_xmm_xmmm128, 1139,
      :vpunpckhbw_ymm_ymm_ymmm256, 1140,
      :vpunpckhwd_ymm_ymm_ymmm256, 1141,
      :vpunpckhdq_ymm_ymm_ymmm256, 1142,
      :vpunpckhqdq_ymm_ymm_ymmm256, 1143,
      :punpcklbw_mm_mmm32, 1144,
      :punpcklbw_xmm_xmmm128, 1145,
      :punpcklwd_mm_mmm32, 1146,
      :punpcklwd_xmm_xmmm128, 1147,
      :punpckldq_mm_mmm32, 1148,
      :punpckldq_xmm_xmmm128, 1149,
      :punpcklqdq_xmm_xmmm128, 1150,
      :vpunpcklbw_xmm_xmm_xmmm128, 1151,
      :vpunpcklwd_xmm_xmm_xmmm128, 1152,
      :vpunpckldq_xmm_xmm_xmmm128, 1153,
      :vpunpcklqdq_xmm_xmm_xmmm128, 1154,
      :vpunpcklbw_ymm_ymm_ymmm256, 1155,
      :vpunpcklwd_ymm_ymm_ymmm256, 1156,
      :vpunpckldq_ymm_ymm_ymmm256, 1157,
      :vpunpcklqdq_ymm_ymm_ymmm256, 1158,
      :push_rm16, 1159,
      :push_rm64, 1160,
      :push_r16, 1161,
      :push_r64, 1162,
      :push_imm8, 1163,
      :push_imm16, 1164,
      :push_imm32, 1165,
      :pushf, 1166,
      :pushfq, 1167,
      :pxor_mm_mmm64, 1168,
      :pxor_xmm_xmmm128, 1169,
      :vpxor_xmm_xmm_xmmm128, 1170,
      :vpxor_ymm_ymm_ymmm256, 1171,
      :rcl_rm8_1, 1172,
      :rcl_rm8_cl, 1173,
      :rcl_rm8_imm8, 1174,
      :rcl_rm16_1, 1175,
      :rcl_rm16_cl, 1176,
      :rcl_rm16_imm8, 1177,
      :rcl_rm32_1, 1178,
      :rcl_rm64_1, 1179,
      :rcl_rm32_cl, 1180,
      :rcl_rm64_cl, 1181,
      :rcl_rm32_imm8, 1182,
      :rcl_rm64_imm8, 1183,
      :rcr_rm8_1, 1184,
      :rcr_rm8_cl, 1185,
      :rcr_rm8_imm8, 1186,
      :rcr_rm16_1, 1187,
      :rcr_rm16_cl, 1188,
      :rcr_rm16_imm8, 1189,
      :rcr_rm32_1, 1190,
      :rcr_rm64_1, 1191,
      :rcr_rm32_cl, 1192,
      :rcr_rm64_cl, 1193,
      :rcr_rm32_imm8, 1194,
      :rcr_rm64_imm8, 1195,
      :rol_rm8_1, 1196,
      :rol_rm8_cl, 1197,
      :rol_rm8_imm8, 1198,
      :rol_rm16_1, 1199,
      :rol_rm16_cl, 1200,
      :rol_rm16_imm8, 1201,
      :rol_rm32_1, 1202,
      :rol_rm64_1, 1203,
      :rol_rm32_cl, 1204,
      :rol_rm64_cl, 1205,
      :rol_rm32_imm8, 1206,
      :rol_rm64_imm8, 1207,
      :ror_rm8_1, 1208,
      :ror_rm8_cl, 1209,
      :ror_rm8_imm8, 1210,
      :ror_rm16_1, 1211,
      :ror_rm16_cl, 1212,
      :ror_rm16_imm8, 1213,
      :ror_rm32_1, 1214,
      :ror_rm64_1, 1215,
      :ror_rm32_cl, 1216,
      :ror_rm64_cl, 1217,
      :ror_rm32_imm8, 1218,
      :ror_rm64_imm8, 1219,
      :rcpps_xmm_xmmm128, 1220,
      :vrcpps_xmm_xmmm128, 1221,
      :vrcpps_ymm_ymmm256, 1222,
      :rcpss_xmm_xmmm32, 1223,
      :vrcpss_xmm_xmm_xmmm32, 1224,
      :rdrand_r16, 1225,
      :rdrand_r32, 1226,
      :rdrand_r64, 1227,
      :rdseed_r16, 1228,
      :rdseed_r32, 1229,
      :rdseed_r64, 1230,
      :rep_movsb, 1231,
      :rep_movsw, 1232,
      :rep_movsd, 1233,
      :rep_movsq, 1234,
      :rep_lodsb, 1235,
      :rep_lodsw, 1236,
      :rep_lodsd, 1237,
      :rep_lodsq, 1238,
      :rep_stosb, 1239,
      :rep_stosw, 1240,
      :rep_stosd, 1241,
      :rep_stosq, 1242,
      :repe_cmpsb, 1243,
      :repe_cmpsw, 1244,
      :repe_cmpsd, 1245,
      :repe_cmpsq, 1246,
      :repe_scasb, 1247,
      :repe_scasw, 1248,
      :repe_scasd, 1249,
      :repe_scasq, 1250,
      :repne_cmpsb, 1251,
      :repne_cmpsw, 1252,
      :repne_cmpsd, 1253,
      :repne_cmpsq, 1254,
      :repne_scasb, 1255,
      :repne_scasw, 1256,
      :repne_scasd, 1257,
      :repne_scasq, 1258,
      :ret, 1259,
      :ret_imm16, 1260,
      :rorx_r32_rm32_imm8, 1261,
      :rorx_r64_rm64_imm8, 1262,
      :roundpd_xmm_xmmm128_imm8, 1263,
      :vroundpd_xmm_xmmm128_imm8, 1264,
      :vroundpd_ymm_ymmm256_imm8, 1265,
      :roundps_xmm_xmmm128_imm8, 1266,
      :vroundps_xmm_xmmm128_imm8, 1267,
      :vroundps_ymm_ymmm256_imm8, 1268,
      :roundsd_xmm_xmmm64_imm8, 1269,
      :vroundsd_xmm_xmm_xmmm64_imm8, 1270,
      :roundss_xmm_xmmm32_imm8, 1271,
      :vroundss_xmm_xmm_xmmm32_imm8, 1272,
      :rsqrtps_xmm_xmmm128, 1273,
      :vrsqrtps_xmm_xmmm128, 1274,
      :vrsqrtps_ymm_ymmm256, 1275,
      :rsqrtss_xmm_xmmm32, 1276,
      :vrsqrtss_xmm_xmm_xmmm32, 1277,
      :sahf, 1278,
      :sal_rm8_1, 1279,
      :sal_rm8_cl, 1280,
      :sal_rm8_imm8, 1281,
      :sal0_rm16_1, 1282,
      :sal0_rm16_cl, 1283,
      :sal_rm16_imm8, 1284,
      :sal0_rm32_1, 1285,
      :sal0_rm64_1, 1286,
      :sal0_rm32_cl, 1287,
      :sal0_rm64_cl, 1288,
      :sal_rm32_imm8, 1289,
      :sal_rm64_imm8, 1290,
      :sar_rm8_1, 1291,
      :sar_rm8_cl, 1292,
      :sar_rm8_imm8, 1293,
      :sar_rm16_1, 1294,
      :sar_rm16_cl, 1295,
      :sar_rm16_imm8, 1296,
      :sar_rm32_1, 1297,
      :sar_rm64_1, 1298,
      :sar_rm32_cl, 1299,
      :sar_rm64_cl, 1300,
      :sar_rm32_imm8, 1301,
      :sar_rm64_imm8, 1302,
      :sal1_rm16_1, 1303,
      :sal1_rm16_cl, 1304,
      :sal1_rm32_1, 1305,
      :sal1_rm64_1, 1306,
      :sal1_rm32_cl, 1307,
      :sal1_rm64_cl, 1308,
      :shr_rm8_1, 1309,
      :shr_rm8_cl, 1310,
      :shr_rm8_imm8, 1311,
      :shr_rm16_1, 1312,
      :shr_rm16_cl, 1313,
      :shr_rm16_imm8, 1314,
      :shr_rm32_1, 1315,
      :shr_rm64_1, 1316,
      :shr_rm32_cl, 1317,
      :shr_rm64_cl, 1318,
      :shr_rm32_imm8, 1319,
      :shr_rm64_imm8, 1320,
      :sarx_r32_rm32_r32, 1321,
      :shlx_r32_rm32_r32, 1322,
      :shrx_r32_rm32_r32, 1323,
      :sarx_r64_rm64_r64, 1324,
      :shlx_r64_rm64_r64, 1325,
      :shrx_r64_rm64_r64, 1326,
      :sbb_al_imm8, 1327,
      :sbb_ax_imm16, 1328,
      :sbb_eax_imm32, 1329,
      :sbb_rax_imm32, 1330,
      :sbb_rm8_imm8, 1331,
      :sbb_rm16_imm16, 1332,
      :sbb_rm32_imm32, 1333,
      :sbb_rm64_imm32, 1334,
      :sbb_rm16_imm8, 1335,
      :sbb_rm32_imm8, 1336,
      :sbb_rm64_imm8, 1337,
      :sbb_rm8_r8, 1338,
      :sbb_rm16_r16, 1339,
      :sbb_rm32_r32, 1340,
      :sbb_rm64_r64, 1341,
      :sbb_r8_rm8, 1342,
      :sbb_r16_rm16, 1343,
      :sbb_r32_rm32, 1344,
      :sbb_r64_rm64, 1345,
      :scasb, 1346,
      :scasw, 1347,
      :scasd, 1348,
      :scasq, 1349,
      :seta_rm8, 1350,
      :setae_rm8, 1351,
      :setb_rm8, 1352,
      :setbe_rm8, 1353,
      :sete_rm8, 1354,
      :setg_rm8, 1355,
      :setge_rm8, 1356,
      :setnge_rm8, 1357,
      :setle_rm8, 1358,
      :setne_rm8, 1359,
      :setno_rm8, 1360,
      :setpo_rm8, 1361,
      :setns_rm8, 1362,
      :seto_rm8, 1363,
      :setp_rm8, 1364,
      :sets_rm8, 1365,
      :sfence, 1366,
      :sha1rnds4_xmm_xmmm128_imm8, 1367,
      :sha1nexte_xmm_xmmm128, 1368,
      :sha1msg1_xmm_xmmm128, 1369,
      :sha1msg2_xmm_xmmm128, 1370,
      :sha256rnds2_xmm_xmmm128_xmm0, 1371,
      :sha256msg1_xmm_xmmm128, 1372,
      :sha256msg2_xmm_xmmm128, 1373,
      :shld_rm16_r16_imm8, 1374,
      :shld_rm16_r16_cl, 1375,
      :shld_rm32_r32_imm8, 1376,
      :shld_rm64_r64_imm8, 1377,
      :shld_rm32_r32_cl, 1378,
      :shld_rm64_r64_cl, 1379,
      :shrd_rm16_r16_imm8, 1380,
      :shrd_rm16_r16_cl, 1381,
      :shrd_rm32_r32_imm8, 1382,
      :shrd_rm64_r64_imm8, 1383,
      :shrd_rm32_r32_cl, 1384,
      :shrd_rm64_r64_cl, 1385,
      :shufpd_xmm_xmmm128_imm8, 1386,
      :vshufpd_xmm_xmm_xmmm128_imm8, 1387,
      :vshufpd_ymm_ymm_ymmm256_imm8, 1388,
      :shufps_xmm_xmmm128_imm8, 1389,
      :vshufps_xmm_xmm_xmmm128_imm8, 1390,
      :vshufps_ymm_ymm_ymmm256_imm8, 1391,
      :sqrtpd_xmm_xmmm128, 1392,
      :vsqrtpd_xmm_xmmm128, 1393,
      :vsqrtpd_ymm_ymmm256, 1394,
      :sqrtps_xmm_xmmm128, 1395,
      :vsqrtps_xmm_xmmm128, 1396,
      :vsqrtps_ymm_ymmm256, 1397,
      :sqrtsd_xmm_xmmm64, 1398,
      :vsqrtsd_xmm_xmm_xmmm64, 1399,
      :sqrtss_xmm_xmmm32, 1400,
      :vsqrtss_xmm_xmm_xmmm32, 1401,
      :stc, 1402,
      :std, 1403,
      :stmxcsr_m32, 1404,
      :vstmxcsr_m32, 1405,
      :stosb, 1406,
      :stosw, 1407,
      :stosd, 1408,
      :stosq, 1409,
      :sub_al_imm8, 1410,
      :sub_ax_imm16, 1411,
      :sub_eax_imm32, 1412,
      :sub_rax_imm32, 1413,
      :sub_rm8_imm8, 1414,
      :sub_rm16_imm16, 1415,
      :sub_rm32_imm32, 1416,
      :sub_rm64_imm32, 1417,
      :sub_rm16_imm8, 1418,
      :sub_rm32_imm8, 1419,
      :sub_rm64_imm8, 1420,
      :sub_rm8_r8, 1421,
      :sub_rm16_r16, 1422,
      :sub_rm32_r32, 1423,
      :sub_rm64_r64, 1424,
      :sub_r8_rm8, 1425,
      :sub_r16_rm16, 1426,
      :sub_r32_rm32, 1427,
      :sub_r64_rm64, 1428,
      :subpd_xmm_xmmm128, 1429,
      :vsubpd_xmm_xmm_xmmm128, 1430,
      :vsubpd_ymm_ymm_ymmm256, 1431,
      :subps_xmm_xmmm128, 1432,
      :vsubps_xmm_xmm_xmmm128, 1433,
      :vsubps_ymm_ymm_ymmm256, 1434,
      :subsd_xmm_xmmm64, 1435,
      :vsubsd_xmm_xmm_xmmm64, 1436,
      :subss_xmm_xmmm32, 1437,
      :vsubss_xmm_xmm_xmmm32, 1438,
      :test_al_imm8, 1439,
      :test_ax_imm16, 1440,
      :test_eax_imm32, 1441,
      :test_rax_imm32, 1442,
      :test_rm8_imm8, 1443,
      :test_rm16_imm16, 1444,
      :test_rm32_imm32, 1445,
      :test_rm64_imm32, 1446,
      :test_rm8_r8, 1447,
      :test_rm16_r16, 1448,
      :test_rm32_r32, 1449,
      :test_rm64_r64, 1450,
      :tzcnt_r16_rm16, 1451,
      :tzcnt_r32_rm32, 1452,
      :tzcnt_r64_rm64, 1453,
      :ucomisd_xmm_xmmm64, 1454,
      :vucomisd_xmm_xmmm64, 1455,
      :ucomiss_xmm_xmmm32, 1456,
      :vucomiss_xmm_xmmm32, 1457,
      :ud2, 1458,
      :unpckhpd_xmm_xmmm128, 1459,
      :vunpckhpd_xmm_xmm_xmmm128, 1460,
      :vunpckhpd_ymm_ymm_ymmm256, 1461,
      :unpckhps_xmm_xmmm128, 1462,
      :vunpckhps_xmm_xmm_xmmm128, 1463,
      :vunpckhps_ymm_ymm_ymmm256, 1464,
      :unpcklpd_xmm_xmmm128, 1465,
      :vunpcklpd_xmm_xmm_xmmm128, 1466,
      :vunpcklpd_ymm_ymm_ymmm256, 1467,
      :unpcklps_xmm_xmmm128, 1468,
      :vunpcklps_xmm_xmm_xmmm128, 1469,
      :vunpcklps_ymm_ymm_ymmm256, 1470,
      :vbroadcastss_xmm_m32, 1471,
      :vbroadcastss_ymm_m32, 1472,
      :vbroadcastsd_ymm_m64, 1473,
      :vbroadcastf128_ymm_m128, 1474,
      :vcvtph2ps_xmm_xmmm64, 1475,
      :vcvtph2ps_ymm_xmmm128, 1476,
      :vcvtps2ph_xmmm64_xmm_imm8, 1477,
      :vcvtps2ph_xmmm128_ymm_imm8, 1478,
      :vextractf128_xmmm128_ymm_imm8, 1479,
      :vextracti128_xmmm128_ymm_imm8, 1480,
      :vfmadd132pd_xmm_xmm_xmmm128, 1481,
      :vfmadd213pd_xmm_xmm_xmmm128, 1482,
      :vfmadd231pd_xmm_xmm_xmmm128, 1483,
      :vfmadd132pd_ymm_ymm_ymmm256, 1484,
      :vfmadd213pd_ymm_ymm_ymmm256, 1485,
      :vfmadd231pd_ymm_ymm_ymmm256, 1486,
      :vfmadd132ps_xmm_xmm_xmmm128, 1487,
      :vfmadd213ps_xmm_xmm_xmmm128, 1488,
      :vfmadd231ps_xmm_xmm_xmmm128, 1489,
      :vfmadd132ps_ymm_ymm_ymmm256, 1490,
      :vfmadd213ps_ymm_ymm_ymmm256, 1491,
      :vfmadd231ps_ymm_ymm_ymmm256, 1492,
      :vfmadd132sd_xmm_xmm_xmmm64, 1493,
      :vfmadd213sd_xmm_xmm_xmmm64, 1494,
      :vfmadd231sd_xmm_xmm_xmmm64, 1495,
      :vfmadd132ss_xmm_xmm_xmmm32, 1496,
      :vfmadd213ss_xmm_xmm_xmmm32, 1497,
      :vfmadd231ss_xmm_xmm_xmmm32, 1498,
      :vfmaddsub132pd_xmm_xmm_xmmm128, 1499,
      :vfmaddsub213pd_xmm_xmm_xmmm128, 1500,
      :vfmaddsub231pd_xmm_xmm_xmmm128, 1501,
      :vfmaddsub132pd_ymm_ymm_ymmm256, 1502,
      :vfmaddsub213pd_ymm_ymm_ymmm256, 1503,
      :vfmaddsub231pd_ymm_ymm_ymmm256, 1504,
      :vfmaddsub132ps_xmm_xmm_xmmm128, 1505,
      :vfmaddsub213ps_xmm_xmm_xmmm128, 1506,
      :vfmaddsub231ps_xmm_xmm_xmmm128, 1507,
      :vfmaddsub132ps_ymm_ymm_ymmm256, 1508,
      :vfmaddsub213ps_ymm_ymm_ymmm256, 1509,
      :vfmaddsub231ps_ymm_ymm_ymmm256, 1510,
      :vfmsubadd132pd_xmm_xmm_xmmm128, 1511,
      :vfmsubadd213pd_xmm_xmm_xmmm128, 1512,
      :vfmsubadd231pd_xmm_xmm_xmmm128, 1513,
      :vfmsubadd132pd_ymm_ymm_ymmm256, 1514,
      :vfmsubadd213pd_ymm_ymm_ymmm256, 1515,
      :vfmsubadd231pd_ymm_ymm_ymmm256, 1516,
      :vfmsubadd132ps_xmm_xmm_xmmm128, 1517,
      :vfmsubadd213ps_xmm_xmm_xmmm128, 1518,
      :vfmsubadd231ps_xmm_xmm_xmmm128, 1519,
      :vfmsubadd132ps_ymm_ymm_ymmm256, 1520,
      :vfmsubadd213ps_ymm_ymm_ymmm256, 1521,
      :vfmsubadd231ps_ymm_ymm_ymmm256, 1522,
      :vfmsub132pd_xmm_xmm_xmmm128, 1523,
      :vfmsub213pd_xmm_xmm_xmmm128, 1524,
      :vfmsub231pd_xmm_xmm_xmmm128, 1525,
      :vfmsub132pd_ymm_ymm_ymmm256, 1526,
      :vfmsub213pd_ymm_ymm_ymmm256, 1527,
      :vfmsub231pd_ymm_ymm_ymmm256, 1528,
      :vfmsub132ps_xmm_xmm_xmmm128, 1529,
      :vfmsub213ps_xmm_xmm_xmmm128, 1530,
      :vfmsub231ps_xmm_xmm_xmmm128, 1531,
      :vfmsub132ps_ymm_ymm_ymmm256, 1532,
      :vfmsub213ps_ymm_ymm_ymmm256, 1533,
      :vfmsub231ps_ymm_ymm_ymmm256, 1534,
      :vfmsub132sd_xmm_xmm_xmmm64, 1535,
      :vfmsub213sd_xmm_xmm_xmmm64, 1536,
      :vfmsub231sd_xmm_xmm_xmmm64, 1537,
      :vfmsub132ss_xmm_xmm_xmmm32, 1538,
      :vfmsub213ss_xmm_xmm_xmmm32, 1539,
      :vfmsub231ss_xmm_xmm_xmmm32, 1540,
      :vfnmadd132pd_xmm_xmm_xmmm128, 1541,
      :vfnmadd213pd_xmm_xmm_xmmm128, 1542,
      :vfnmadd231pd_xmm_xmm_xmmm128, 1543,
      :vfnmadd132pd_ymm_ymm_ymmm256, 1544,
      :vfnmadd213pd_ymm_ymm_ymmm256, 1545,
      :vfnmadd231pd_ymm_ymm_ymmm256, 1546,
      :vfnmadd132ps_xmm_xmm_xmmm128, 1547,
      :vfnmadd213ps_xmm_xmm_xmmm128, 1548,
      :vfnmadd231ps_xmm_xmm_xmmm128, 1549,
      :vfnmadd132ps_ymm_ymm_ymmm256, 1550,
      :vfnmadd213ps_ymm_ymm_ymmm256, 1551,
      :vfnmadd231ps_ymm_ymm_ymmm256, 1552,
      :vfnmadd132sd_xmm_xmm_xmmm64, 1553,
      :vfnmadd213sd_xmm_xmm_xmmm64, 1554,
      :vfnmadd231sd_xmm_xmm_xmmm64, 1555,
      :vfnmadd132ss_xmm_xmm_xmmm32, 1556,
      :vfnmadd213ss_xmm_xmm_xmmm32, 1557,
      :vfnmadd231ss_xmm_xmm_xmmm32, 1558,
      :vfnmsub132pd_xmm_xmm_xmmm128, 1559,
      :vfnmsub213pd_xmm_xmm_xmmm128, 1560,
      :vfnmsub231pd_xmm_xmm_xmmm128, 1561,
      :vfnmsub132pd_ymm_ymm_ymmm256, 1562,
      :vfnmsub213pd_ymm_ymm_ymmm256, 1563,
      :vfnmsub231pd_ymm_ymm_ymmm256, 1564,
      :vfnmsub132ps_xmm_xmm_xmmm128, 1565,
      :vfnmsub213ps_xmm_xmm_xmmm128, 1566,
      :vfnmsub231ps_xmm_xmm_xmmm128, 1567,
      :vfnmsub132ps_ymm_ymm_ymmm256, 1568,
      :vfnmsub213ps_ymm_ymm_ymmm256, 1569,
      :vfnmsub231ps_ymm_ymm_ymmm256, 1570,
      :vfnmsub132sd_xmm_xmm_xmmm64, 1571,
      :vfnmsub213sd_xmm_xmm_xmmm64, 1572,
      :vfnmsub231sd_xmm_xmm_xmmm64, 1573,
      :vfnmsub132ss_xmm_xmm_xmmm32, 1574,
      :vfnmsub213ss_xmm_xmm_xmmm32, 1575,
      :vfnmsub231ss_xmm_xmm_xmmm32, 1576,
      :vgatherdpd_xmm_vm32x64_xmm, 1577,
      :vgatherqpd_xmm_vm64x64_xmm, 1578,
      :vgatherdpd_ymm_vm32x64_ymm, 1579,
      :vgatherqpd_ymm_vm64y64_ymm, 1580,
      :vgatherdps_xmm_vm32x32_xmm, 1581,
      :vgatherqps_xmm_vm64x32_xmm, 1582,
      :vgatherdps_ymm_vm32y32_ymm, 1583,
      :vgatherqps_xmm_vm64y32_xmm, 1584,
      :vpgatherdd_xmm_vm32x32_xmm, 1585,
      :vpgatherqd_xmm_vm64x32_xmm, 1586,
      :vpgatherdd_ymm_vm32y32_ymm, 1587,
      :vpgatherqd_xmm_vm64y32_xmm, 1588,
      :vpgatherdq_xmm_vm32x64_xmm, 1589,
      :vpgatherqq_xmm_vm64x64_xmm, 1590,
      :vpgatherdq_ymm_vm32x64_ymm, 1591,
      :vpgatherqq_ymm_vm64y64_ymm, 1592,
      :vinsertf128_ymm_ymm_xmmm128_imm8, 1593,
      :vinserti128_ymm_ymm_xmmm128_imm8, 1594,
      :vmaskmovps_xmm_xmm_m128, 1595,
      :vmaskmovps_ymm_ymm_m256, 1596,
      :vmaskmovpd_xmm_xmm_m128, 1597,
      :vmaskmovpd_ymm_ymm_m256, 1598,
      :vmaskmovps_m128_xmm_xmm, 1599,
      :vmaskmovps_m256_ymm_ymm, 1600,
      :vmaskmovpd_m128_xmm_xmm, 1601,
      :vmaskmovpd_m256_ymm_ymm, 1602,
      :vpblendd_xmm_xmm_xmmm128_imm8, 1603,
      :vpblendd_ymm_ymm_ymmm256_imm8, 1604,
      :vpbroadcastq_xmm_xmmm64, 1605,
      :vpbroadcastq_ymm_xmmm64, 1606,
      :vbroadcasti128_ymm_m128, 1607,
      :vperm2f128_ymm_ymm_ymmm256_imm8, 1608,
      :vperm2i128_ymm_ymm_ymmm256_imm8, 1609,
      :vpermd_ymm_ymm_ymmm256, 1610,
      :vpermilpd_xmm_xmm_xmmm128, 1611,
      :vpermilpd_ymm_ymm_ymmm256, 1612,
      :vpermilpd_xmm_xmmm128_imm8, 1613,
      :vpermilpd_ymm_ymmm256_imm8, 1614,
      :vpermilps_xmm_xmm_xmmm128, 1615,
      :vpermilps_xmm_xmmm128_imm8, 1616,
      :vpermilps_ymm_ymm_ymmm256, 1617,
      :vpermilps_ymm_ymmm256_imm8, 1618,
      :vpermpd_ymm_ymmm256_imm8, 1619,
      :vpermps_ymm_ymm_ymmm256, 1620,
      :vpermq_ymm_ymmm256_imm8, 1621,
      :vpmaskmovd_xmm_xmm_m128, 1622,
      :vpmaskmovd_ymm_ymm_m256, 1623,
      :vpmaskmovq_xmm_xmm_m128, 1624,
      :vpmaskmovq_ymm_ymm_m256, 1625,
      :vpmaskmovd_m128_xmm_xmm, 1626,
      :vpmaskmovd_m256_ymm_ymm, 1627,
      :vpmaskmovq_m128_xmm_xmm, 1628,
      :vpmaskmovq_m256_ymm_ymm, 1629,
      :vpsllvd_xmm_xmm_xmmm128, 1630,
      :vpsllvq_xmm_xmm_xmmm128, 1631,
      :vpsllvd_ymm_ymm_ymmm256, 1632,
      :vpsllvq_ymm_ymm_ymmm256, 1633,
      :vpsravd_xmm_xmm_xmmm128, 1634,
      :vpsravd_ymm_ymm_ymmm256, 1635,
      :vpsrlvd_xmm_xmm_xmmm128, 1636,
      :vpsrlvq_xmm_xmm_xmmm128, 1637,
      :vpsrlvd_ymm_ymm_ymmm256, 1638,
      :vpsrlvq_ymm_ymm_ymmm256, 1639,
      :vtestps_xmm_xmmm128, 1640,
      :vtestps_ymm_ymmm256, 1641,
      :vtestpd_xmm_xmmm128, 1642,
      :vtestpd_ymm_ymmm256, 1643,
      :vzeroall, 1644,
      :vzeroupper, 1645,
      :xabort_imm8, 1646,
      :xadd_rm8_r8, 1647,
      :xadd_rm16_r16, 1648,
      :xadd_rm32_r32, 1649,
      :xadd_rm64_r64, 1650,
      :xbegin_rel16, 1651,
      :xbegin_rel32, 1652,
      :xchg_ax_r16, 1653,
      :xchg_eax_r32, 1654,
      :xchg_rax_r64, 1655,
      :xchg_rm8_r8, 1656,
      :xchg_rm16_r16, 1657,
      :xchg_rm32_r32, 1658,
      :xchg_rm64_r64, 1659,
      :xend, 1660,
      :xlatb, 1661,
      :xor_al_imm8, 1662,
      :xor_ax_imm16, 1663,
      :xor_eax_imm32, 1664,
      :xor_rax_imm32, 1665,
      :xor_rm8_imm8, 1666,
      :xor_rm16_imm16, 1667,
      :xor_rm32_imm32, 1668,
      :xor_rm64_imm32, 1669,
      :xor_rm16_imm8, 1670,
      :xor_rm32_imm8, 1671,
      :xor_rm64_imm8, 1672,
      :xor_rm8_r8, 1673,
      :xor_rm16_r16, 1674,
      :xor_rm32_r32, 1675,
      :xor_rm64_r64, 1676,
      :xor_r8_rm8, 1677,
      :xor_r16_rm16, 1678,
      :xor_r32_rm32, 1679,
      :xor_r64_rm64, 1680,
      :xorpd_xmm_xmmm128, 1681,
      :vxorpd_xmm_xmm_xmmm128, 1682,
      :vxorpd_ymm_ymm_ymmm256, 1683,
      :xorps_xmm_xmmm128, 1684,
      :vxorps_xmm_xmm_xmmm128, 1685,
      :vxorps_ymm_ymm_ymmm256, 1686,
      :xtest, 1687,
      :none
    ]

    enum :x64_rflags_flag, [
      :of, 0,
      :sf, 1,
      :zf, 2,
      :pf, 3,
      :cf, 4,
      :none
    ]

    enum :x64_mxcsr_flag, [
      :fz, 0,
      :rc, 1,
      :daz, 2,
      :none
    ]

    enum :x64_param_type, [
      :bool, 0,
      :uint1, 1,
      :int3, 2,
      :int4, 3,
      :int8, 4,
      :int32, 5,
      :int64, 6,
      :reg, 7,
      :addr_size, 8,
      :scale, 9,
      :none
    ]


  end
end
