structstd.Target.x86.cpu[src]

Values

Constantalderlake[src]

Source Code

Source code
pub const alderlake: CpuModel = .{
    .name = "alderlake",
    .llvm_name = "alderlake",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .adx,
        .allow_light_256_bit,
        .avxvnni,
        .bmi,
        .bmi2,
        .cldemote,
        .clflushopt,
        .clwb,
        .cmov,
        .cx16,
        .f16c,
        .false_deps_perm,
        .false_deps_popcnt,
        .fast_15bytenop,
        .fast_gather,
        .fast_scalar_fsqrt,
        .fast_shld_rotate,
        .fast_variable_crosslane_shuffle,
        .fast_variable_perlane_shuffle,
        .fast_vector_fsqrt,
        .fma,
        .fsgsbase,
        .fxsr,
        .gfni,
        .hreset,
        .idivq_to_divl,
        .invpcid,
        .lzcnt,
        .macrofusion,
        .mmx,
        .movbe,
        .movdir64b,
        .movdiri,
        .no_bypass_delay_blend,
        .no_bypass_delay_mov,
        .no_bypass_delay_shuffle,
        .nopl,
        .pconfig,
        .pku,
        .popcnt,
        .prefer_movmsk_over_vtest,
        .prfchw,
        .ptwrite,
        .rdpid,
        .rdrnd,
        .rdseed,
        .sahf,
        .serialize,
        .sha,
        .shstk,
        .slow_3ops_lea,
        .smap,
        .smep,
        .tuning_fast_imm_vector_shift,
        .vaes,
        .vpclmulqdq,
        .vzeroupper,
        .waitpkg,
        .widekl,
        .x87,
        .xsavec,
        .xsaveopt,
        .xsaves,
    }),
}

Constantamdfam10[src]

Source Code

Source code
pub const amdfam10: CpuModel = .{
    .name = "amdfam10",
    .llvm_name = "amdfam10",
    .features = featureSet(&[_]Feature{
        .@"3dnowa",
        .@"64bit",
        .cmov,
        .cx16,
        .fast_scalar_shift_masks,
        .fxsr,
        .idivq_to_divl,
        .lzcnt,
        .nopl,
        .popcnt,
        .prfchw,
        .sahf,
        .sbb_dep_breaking,
        .slow_shld,
        .sse4a,
        .vzeroupper,
        .x87,
    }),
}

Constantarrowlake[src]

Source Code

Source code
pub const arrowlake: CpuModel = .{
    .name = "arrowlake",
    .llvm_name = "arrowlake",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .adx,
        .allow_light_256_bit,
        .avxifma,
        .avxneconvert,
        .avxvnni,
        .avxvnniint8,
        .bmi,
        .bmi2,
        .cldemote,
        .clflushopt,
        .clwb,
        .cmov,
        .cmpccxadd,
        .cx16,
        .enqcmd,
        .f16c,
        .false_deps_perm,
        .false_deps_popcnt,
        .fast_15bytenop,
        .fast_gather,
        .fast_scalar_fsqrt,
        .fast_shld_rotate,
        .fast_variable_crosslane_shuffle,
        .fast_variable_perlane_shuffle,
        .fast_vector_fsqrt,
        .fma,
        .fsgsbase,
        .fxsr,
        .gfni,
        .hreset,
        .idivq_to_divl,
        .invpcid,
        .lzcnt,
        .macrofusion,
        .mmx,
        .movbe,
        .movdir64b,
        .movdiri,
        .no_bypass_delay_blend,
        .no_bypass_delay_mov,
        .no_bypass_delay_shuffle,
        .nopl,
        .pconfig,
        .pku,
        .popcnt,
        .prefer_movmsk_over_vtest,
        .prfchw,
        .ptwrite,
        .rdpid,
        .rdrnd,
        .rdseed,
        .sahf,
        .serialize,
        .sha,
        .shstk,
        .slow_3ops_lea,
        .smap,
        .smep,
        .tuning_fast_imm_vector_shift,
        .uintr,
        .vaes,
        .vpclmulqdq,
        .vzeroupper,
        .waitpkg,
        .widekl,
        .x87,
        .xsavec,
        .xsaveopt,
        .xsaves,
    }),
}

Constantarrowlake_s[src]

Source Code

Source code
pub const arrowlake_s: CpuModel = .{
    .name = "arrowlake_s",
    .llvm_name = "arrowlake-s",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .adx,
        .allow_light_256_bit,
        .avxifma,
        .avxneconvert,
        .avxvnni,
        .avxvnniint16,
        .avxvnniint8,
        .bmi,
        .bmi2,
        .cldemote,
        .clflushopt,
        .clwb,
        .cmov,
        .cmpccxadd,
        .cx16,
        .enqcmd,
        .f16c,
        .false_deps_perm,
        .false_deps_popcnt,
        .fast_15bytenop,
        .fast_gather,
        .fast_scalar_fsqrt,
        .fast_shld_rotate,
        .fast_variable_crosslane_shuffle,
        .fast_variable_perlane_shuffle,
        .fast_vector_fsqrt,
        .fma,
        .fsgsbase,
        .fxsr,
        .gfni,
        .hreset,
        .idivq_to_divl,
        .invpcid,
        .lzcnt,
        .macrofusion,
        .mmx,
        .movbe,
        .movdir64b,
        .movdiri,
        .no_bypass_delay_blend,
        .no_bypass_delay_mov,
        .no_bypass_delay_shuffle,
        .nopl,
        .pconfig,
        .pku,
        .popcnt,
        .prefer_movmsk_over_vtest,
        .prfchw,
        .ptwrite,
        .rdpid,
        .rdrnd,
        .rdseed,
        .sahf,
        .serialize,
        .sha,
        .sha512,
        .shstk,
        .slow_3ops_lea,
        .sm3,
        .sm4,
        .smap,
        .smep,
        .tuning_fast_imm_vector_shift,
        .uintr,
        .vaes,
        .vpclmulqdq,
        .vzeroupper,
        .waitpkg,
        .widekl,
        .x87,
        .xsavec,
        .xsaveopt,
        .xsaves,
    }),
}

Constantathlon[src]

Source Code

Source code
pub const athlon: CpuModel = .{
    .name = "athlon",
    .llvm_name = "athlon",
    .features = featureSet(&[_]Feature{
        .@"3dnowa",
        .cmov,
        .cx8,
        .nopl,
        .prfchw,
        .slow_shld,
        .slow_unaligned_mem_16,
        .vzeroupper,
        .x87,
    }),
}

Constantathlon64[src]

Source Code

Source code
pub const athlon64: CpuModel = .{
    .name = "athlon64",
    .llvm_name = "athlon64",
    .features = featureSet(&[_]Feature{
        .@"3dnowa",
        .@"64bit",
        .cmov,
        .cx8,
        .fast_scalar_shift_masks,
        .fxsr,
        .nopl,
        .prfchw,
        .sbb_dep_breaking,
        .slow_shld,
        .slow_unaligned_mem_16,
        .sse2,
        .vzeroupper,
        .x87,
    }),
}

Constantathlon64_sse3[src]

Source Code

Source code
pub const athlon64_sse3: CpuModel = .{
    .name = "athlon64_sse3",
    .llvm_name = "athlon64-sse3",
    .features = featureSet(&[_]Feature{
        .@"3dnowa",
        .@"64bit",
        .cmov,
        .cx16,
        .fast_scalar_shift_masks,
        .fxsr,
        .nopl,
        .prfchw,
        .sbb_dep_breaking,
        .slow_shld,
        .slow_unaligned_mem_16,
        .sse3,
        .vzeroupper,
        .x87,
    }),
}

Constantathlon_4[src]

Source Code

Source code
pub const athlon_4: CpuModel = .{
    .name = "athlon_4",
    .llvm_name = "athlon-4",
    .features = featureSet(&[_]Feature{
        .@"3dnowa",
        .cmov,
        .cx8,
        .fxsr,
        .nopl,
        .prfchw,
        .slow_shld,
        .slow_unaligned_mem_16,
        .sse,
        .vzeroupper,
        .x87,
    }),
}

Constantathlon_fx[src]

Source Code

Source code
pub const athlon_fx: CpuModel = .{
    .name = "athlon_fx",
    .llvm_name = "athlon-fx",
    .features = featureSet(&[_]Feature{
        .@"3dnowa",
        .@"64bit",
        .cmov,
        .cx8,
        .fast_scalar_shift_masks,
        .fxsr,
        .nopl,
        .prfchw,
        .sbb_dep_breaking,
        .slow_shld,
        .slow_unaligned_mem_16,
        .sse2,
        .vzeroupper,
        .x87,
    }),
}

Constantathlon_mp[src]

Source Code

Source code
pub const athlon_mp: CpuModel = .{
    .name = "athlon_mp",
    .llvm_name = "athlon-mp",
    .features = featureSet(&[_]Feature{
        .@"3dnowa",
        .cmov,
        .cx8,
        .fxsr,
        .nopl,
        .prfchw,
        .slow_shld,
        .slow_unaligned_mem_16,
        .sse,
        .vzeroupper,
        .x87,
    }),
}

Constantathlon_tbird[src]

Source Code

Source code
pub const athlon_tbird: CpuModel = .{
    .name = "athlon_tbird",
    .llvm_name = "athlon-tbird",
    .features = featureSet(&[_]Feature{
        .@"3dnowa",
        .cmov,
        .cx8,
        .nopl,
        .prfchw,
        .slow_shld,
        .slow_unaligned_mem_16,
        .vzeroupper,
        .x87,
    }),
}

Constantathlon_xp[src]

Source Code

Source code
pub const athlon_xp: CpuModel = .{
    .name = "athlon_xp",
    .llvm_name = "athlon-xp",
    .features = featureSet(&[_]Feature{
        .@"3dnowa",
        .cmov,
        .cx8,
        .fxsr,
        .nopl,
        .prfchw,
        .slow_shld,
        .slow_unaligned_mem_16,
        .sse,
        .vzeroupper,
        .x87,
    }),
}

Constantatom[src]

Source Code

Source code
pub const atom: CpuModel = .{
    .name = "atom",
    .llvm_name = "atom",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .cmov,
        .cx16,
        .fast_imm16,
        .fxsr,
        .idivl_to_divb,
        .idivq_to_divl,
        .lea_sp,
        .lea_uses_ag,
        .mmx,
        .movbe,
        .no_bypass_delay,
        .nopl,
        .pad_short_functions,
        .sahf,
        .slow_two_mem_ops,
        .slow_unaligned_mem_16,
        .ssse3,
        .vzeroupper,
        .x87,
    }),
}

Constantatom_sse4_2_movbe[src]

Source Code

Source code
pub const atom_sse4_2_movbe: CpuModel = .{
    .name = "atom_sse4_2_movbe",
    .llvm_name = "atom_sse4_2_movbe",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .aes,
        .clflushopt,
        .cmov,
        .cx16,
        .false_deps_popcnt,
        .fast_7bytenop,
        .fast_imm16,
        .fast_movbe,
        .fsgsbase,
        .fxsr,
        .idivq_to_divl,
        .mmx,
        .movbe,
        .no_bypass_delay,
        .nopl,
        .pclmul,
        .popcnt,
        .prfchw,
        .rdrnd,
        .rdseed,
        .sahf,
        .sha,
        .slow_incdec,
        .slow_lea,
        .slow_pmulld,
        .slow_two_mem_ops,
        .sse4_2,
        .use_slm_arith_costs,
        .vzeroupper,
        .x87,
        .xsavec,
        .xsaveopt,
        .xsaves,
    }),
}

Constantbarcelona[src]

Source Code

Source code
pub const barcelona: CpuModel = .{
    .name = "barcelona",
    .llvm_name = "barcelona",
    .features = featureSet(&[_]Feature{
        .@"3dnowa",
        .@"64bit",
        .cmov,
        .cx16,
        .fast_scalar_shift_masks,
        .fxsr,
        .idivq_to_divl,
        .lzcnt,
        .nopl,
        .popcnt,
        .prfchw,
        .sahf,
        .sbb_dep_breaking,
        .slow_shld,
        .smap,
        .smep,
        .sse4a,
        .vzeroupper,
        .x87,
    }),
}

Constantbdver1[src]

Source Code

Source code
pub const bdver1: CpuModel = .{
    .name = "bdver1",
    .llvm_name = "bdver1",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .aes,
        .branchfusion,
        .cmov,
        .cx16,
        .fast_11bytenop,
        .fast_scalar_shift_masks,
        .fxsr,
        .idivq_to_divl,
        .lwp,
        .lzcnt,
        .mmx,
        .nopl,
        .pclmul,
        .popcnt,
        .prfchw,
        .sahf,
        .sbb_dep_breaking,
        .slow_shld,
        .vzeroupper,
        .x87,
        .xop,
        .xsave,
    }),
}

Constantbdver2[src]

Source Code

Source code
pub const bdver2: CpuModel = .{
    .name = "bdver2",
    .llvm_name = "bdver2",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .aes,
        .bmi,
        .branchfusion,
        .cmov,
        .cx16,
        .f16c,
        .fast_11bytenop,
        .fast_bextr,
        .fast_movbe,
        .fast_scalar_shift_masks,
        .fma,
        .fxsr,
        .idivq_to_divl,
        .lwp,
        .lzcnt,
        .mmx,
        .nopl,
        .pclmul,
        .popcnt,
        .prfchw,
        .sahf,
        .sbb_dep_breaking,
        .slow_shld,
        .tbm,
        .vzeroupper,
        .x87,
        .xop,
        .xsave,
    }),
}

Constantbdver3[src]

Source Code

Source code
pub const bdver3: CpuModel = .{
    .name = "bdver3",
    .llvm_name = "bdver3",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .aes,
        .bmi,
        .branchfusion,
        .cmov,
        .cx16,
        .f16c,
        .fast_11bytenop,
        .fast_bextr,
        .fast_movbe,
        .fast_scalar_shift_masks,
        .fma,
        .fsgsbase,
        .fxsr,
        .idivq_to_divl,
        .lwp,
        .lzcnt,
        .mmx,
        .nopl,
        .pclmul,
        .popcnt,
        .prfchw,
        .sahf,
        .sbb_dep_breaking,
        .slow_shld,
        .tbm,
        .vzeroupper,
        .x87,
        .xop,
        .xsaveopt,
    }),
}

Constantbdver4[src]

Source Code

Source code
pub const bdver4: CpuModel = .{
    .name = "bdver4",
    .llvm_name = "bdver4",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .aes,
        .avx2,
        .bmi,
        .bmi2,
        .branchfusion,
        .cmov,
        .cx16,
        .f16c,
        .fast_11bytenop,
        .fast_bextr,
        .fast_movbe,
        .fast_scalar_shift_masks,
        .fma,
        .fsgsbase,
        .fxsr,
        .idivq_to_divl,
        .lwp,
        .lzcnt,
        .mmx,
        .movbe,
        .mwaitx,
        .nopl,
        .pclmul,
        .popcnt,
        .prfchw,
        .rdrnd,
        .sahf,
        .sbb_dep_breaking,
        .slow_shld,
        .tbm,
        .vzeroupper,
        .x87,
        .xop,
        .xsaveopt,
    }),
}

Constantbonnell[src]

Source Code

Source code
pub const bonnell: CpuModel = .{
    .name = "bonnell",
    .llvm_name = "bonnell",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .cmov,
        .cx16,
        .fast_imm16,
        .fxsr,
        .idivl_to_divb,
        .idivq_to_divl,
        .lea_sp,
        .lea_uses_ag,
        .mmx,
        .movbe,
        .no_bypass_delay,
        .nopl,
        .pad_short_functions,
        .sahf,
        .slow_two_mem_ops,
        .slow_unaligned_mem_16,
        .ssse3,
        .vzeroupper,
        .x87,
    }),
}

Constantbroadwell[src]

Source Code

Source code
pub const broadwell: CpuModel = .{
    .name = "broadwell",
    .llvm_name = "broadwell",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .adx,
        .allow_light_256_bit,
        .avx2,
        .bmi,
        .bmi2,
        .cmov,
        .cx16,
        .ermsb,
        .f16c,
        .false_deps_lzcnt_tzcnt,
        .false_deps_popcnt,
        .fast_15bytenop,
        .fast_scalar_fsqrt,
        .fast_shld_rotate,
        .fast_variable_crosslane_shuffle,
        .fast_variable_perlane_shuffle,
        .fma,
        .fsgsbase,
        .fxsr,
        .idivq_to_divl,
        .invpcid,
        .lzcnt,
        .macrofusion,
        .mmx,
        .movbe,
        .no_bypass_delay_mov,
        .no_bypass_delay_shuffle,
        .nopl,
        .pclmul,
        .popcnt,
        .prfchw,
        .rdrnd,
        .rdseed,
        .sahf,
        .slow_3ops_lea,
        .smap,
        .smep,
        .vzeroupper,
        .x87,
        .xsaveopt,
    }),
}

Constantbtver1[src]

Source Code

Source code
pub const btver1: CpuModel = .{
    .name = "btver1",
    .llvm_name = "btver1",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .cmov,
        .cx16,
        .fast_15bytenop,
        .fast_imm16,
        .fast_scalar_shift_masks,
        .fast_vector_shift_masks,
        .fxsr,
        .idivq_to_divl,
        .lzcnt,
        .mmx,
        .nopl,
        .popcnt,
        .prfchw,
        .sahf,
        .sbb_dep_breaking,
        .slow_shld,
        .sse4a,
        .ssse3,
        .vzeroupper,
        .x87,
    }),
}

Constantbtver2[src]

Source Code

Source code
pub const btver2: CpuModel = .{
    .name = "btver2",
    .llvm_name = "btver2",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .aes,
        .bmi,
        .cmov,
        .cx16,
        .f16c,
        .fast_15bytenop,
        .fast_bextr,
        .fast_hops,
        .fast_imm16,
        .fast_lzcnt,
        .fast_movbe,
        .fast_scalar_shift_masks,
        .fast_vector_shift_masks,
        .fxsr,
        .idivq_to_divl,
        .lzcnt,
        .mmx,
        .movbe,
        .nopl,
        .pclmul,
        .popcnt,
        .prfchw,
        .sahf,
        .sbb_dep_breaking,
        .slow_shld,
        .sse4a,
        .x87,
        .xsaveopt,
    }),
}

Constantc3[src]

Source Code

Source code
pub const c3: CpuModel = .{
    .name = "c3",
    .llvm_name = "c3",
    .features = featureSet(&[_]Feature{
        .@"3dnow",
        .prfchw,
        .slow_unaligned_mem_16,
        .vzeroupper,
        .x87,
    }),
}

Constantc3_2[src]

Source Code

Source code
pub const c3_2: CpuModel = .{
    .name = "c3_2",
    .llvm_name = "c3-2",
    .features = featureSet(&[_]Feature{
        .cmov,
        .cx8,
        .fxsr,
        .mmx,
        .slow_unaligned_mem_16,
        .sse,
        .vzeroupper,
        .x87,
    }),
}

Constantcannonlake[src]

Source Code

Source code
pub const cannonlake: CpuModel = .{
    .name = "cannonlake",
    .llvm_name = "cannonlake",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .adx,
        .aes,
        .allow_light_256_bit,
        .avx512cd,
        .avx512dq,
        .avx512ifma,
        .avx512vbmi,
        .avx512vl,
        .bmi,
        .bmi2,
        .clflushopt,
        .cmov,
        .cx16,
        .ermsb,
        .evex512,
        .fast_15bytenop,
        .fast_gather,
        .fast_scalar_fsqrt,
        .fast_shld_rotate,
        .fast_variable_crosslane_shuffle,
        .fast_variable_perlane_shuffle,
        .fast_vector_fsqrt,
        .fsgsbase,
        .fxsr,
        .idivq_to_divl,
        .invpcid,
        .lzcnt,
        .macrofusion,
        .mmx,
        .movbe,
        .no_bypass_delay_blend,
        .no_bypass_delay_mov,
        .no_bypass_delay_shuffle,
        .nopl,
        .pclmul,
        .pku,
        .popcnt,
        .prefer_256_bit,
        .prfchw,
        .rdrnd,
        .rdseed,
        .sahf,
        .sha,
        .slow_3ops_lea,
        .smap,
        .smep,
        .tuning_fast_imm_vector_shift,
        .vzeroupper,
        .x87,
        .xsavec,
        .xsaveopt,
        .xsaves,
    }),
}

Constantcascadelake[src]

Source Code

Source code
pub const cascadelake: CpuModel = .{
    .name = "cascadelake",
    .llvm_name = "cascadelake",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .adx,
        .aes,
        .allow_light_256_bit,
        .avx512bw,
        .avx512cd,
        .avx512dq,
        .avx512vl,
        .avx512vnni,
        .bmi,
        .bmi2,
        .clflushopt,
        .clwb,
        .cmov,
        .cx16,
        .ermsb,
        .evex512,
        .false_deps_popcnt,
        .fast_15bytenop,
        .fast_gather,
        .fast_scalar_fsqrt,
        .fast_shld_rotate,
        .fast_variable_crosslane_shuffle,
        .fast_variable_perlane_shuffle,
        .fast_vector_fsqrt,
        .faster_shift_than_shuffle,
        .fsgsbase,
        .fxsr,
        .idivq_to_divl,
        .invpcid,
        .lzcnt,
        .macrofusion,
        .mmx,
        .movbe,
        .no_bypass_delay_blend,
        .no_bypass_delay_mov,
        .no_bypass_delay_shuffle,
        .nopl,
        .pclmul,
        .pku,
        .popcnt,
        .prefer_256_bit,
        .prfchw,
        .rdrnd,
        .rdseed,
        .sahf,
        .slow_3ops_lea,
        .smap,
        .smep,
        .tuning_fast_imm_vector_shift,
        .vzeroupper,
        .x87,
        .xsavec,
        .xsaveopt,
        .xsaves,
    }),
}

Constantclearwaterforest[src]

Source Code

Source code
pub const clearwaterforest: CpuModel = .{
    .name = "clearwaterforest",
    .llvm_name = "clearwaterforest",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .adx,
        .allow_light_256_bit,
        .avxifma,
        .avxneconvert,
        .avxvnni,
        .avxvnniint16,
        .avxvnniint8,
        .bmi,
        .bmi2,
        .cldemote,
        .clflushopt,
        .clwb,
        .cmov,
        .cmpccxadd,
        .cx16,
        .enqcmd,
        .f16c,
        .false_deps_perm,
        .false_deps_popcnt,
        .fast_15bytenop,
        .fast_gather,
        .fast_scalar_fsqrt,
        .fast_shld_rotate,
        .fast_variable_crosslane_shuffle,
        .fast_variable_perlane_shuffle,
        .fast_vector_fsqrt,
        .fma,
        .fsgsbase,
        .fxsr,
        .gfni,
        .hreset,
        .idivq_to_divl,
        .invpcid,
        .lzcnt,
        .macrofusion,
        .mmx,
        .movbe,
        .movdir64b,
        .movdiri,
        .no_bypass_delay_blend,
        .no_bypass_delay_mov,
        .no_bypass_delay_shuffle,
        .nopl,
        .pconfig,
        .pku,
        .popcnt,
        .prefer_movmsk_over_vtest,
        .prefetchi,
        .prfchw,
        .ptwrite,
        .rdpid,
        .rdrnd,
        .rdseed,
        .sahf,
        .serialize,
        .sha,
        .sha512,
        .shstk,
        .slow_3ops_lea,
        .sm3,
        .sm4,
        .tuning_fast_imm_vector_shift,
        .uintr,
        .usermsr,
        .vaes,
        .vpclmulqdq,
        .vzeroupper,
        .waitpkg,
        .widekl,
        .x87,
        .xsavec,
        .xsaveopt,
        .xsaves,
    }),
}

Constantcooperlake[src]

Source Code

Source code
pub const cooperlake: CpuModel = .{
    .name = "cooperlake",
    .llvm_name = "cooperlake",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .adx,
        .aes,
        .allow_light_256_bit,
        .avx512bf16,
        .avx512cd,
        .avx512dq,
        .avx512vl,
        .avx512vnni,
        .bmi,
        .bmi2,
        .clflushopt,
        .clwb,
        .cmov,
        .cx16,
        .ermsb,
        .evex512,
        .false_deps_popcnt,
        .fast_15bytenop,
        .fast_gather,
        .fast_scalar_fsqrt,
        .fast_shld_rotate,
        .fast_variable_crosslane_shuffle,
        .fast_variable_perlane_shuffle,
        .fast_vector_fsqrt,
        .faster_shift_than_shuffle,
        .fsgsbase,
        .fxsr,
        .idivq_to_divl,
        .invpcid,
        .lzcnt,
        .macrofusion,
        .mmx,
        .movbe,
        .no_bypass_delay_blend,
        .no_bypass_delay_mov,
        .no_bypass_delay_shuffle,
        .nopl,
        .pclmul,
        .pku,
        .popcnt,
        .prefer_256_bit,
        .prfchw,
        .rdrnd,
        .rdseed,
        .sahf,
        .slow_3ops_lea,
        .tuning_fast_imm_vector_shift,
        .vzeroupper,
        .x87,
        .xsavec,
        .xsaveopt,
        .xsaves,
    }),
}

Constantcore2[src]

Source Code

Source code
pub const core2: CpuModel = .{
    .name = "core2",
    .llvm_name = "core2",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .cmov,
        .cx16,
        .fxsr,
        .macrofusion,
        .mmx,
        .nopl,
        .sahf,
        .slow_unaligned_mem_16,
        .ssse3,
        .vzeroupper,
        .x87,
    }),
}

Constantcorei7[src]

Source Code

Source code
pub const corei7: CpuModel = .{
    .name = "corei7",
    .llvm_name = "corei7",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .cmov,
        .cx16,
        .fxsr,
        .idivq_to_divl,
        .macrofusion,
        .mmx,
        .no_bypass_delay_mov,
        .nopl,
        .popcnt,
        .sahf,
        .sse4_2,
        .vzeroupper,
        .x87,
    }),
}

Constantemeraldrapids[src]

Source Code

Source code
pub const emeraldrapids: CpuModel = .{
    .name = "emeraldrapids",
    .llvm_name = "emeraldrapids",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .adx,
        .allow_light_256_bit,
        .amx_bf16,
        .amx_int8,
        .avx512bf16,
        .avx512bitalg,
        .avx512cd,
        .avx512fp16,
        .avx512ifma,
        .avx512vbmi,
        .avx512vbmi2,
        .avx512vnni,
        .avx512vpopcntdq,
        .avxvnni,
        .bmi,
        .bmi2,
        .cldemote,
        .clflushopt,
        .clwb,
        .cmov,
        .cx16,
        .enqcmd,
        .ermsb,
        .evex512,
        .false_deps_getmant,
        .false_deps_mulc,
        .false_deps_mullq,
        .false_deps_perm,
        .false_deps_range,
        .fast_15bytenop,
        .fast_gather,
        .fast_scalar_fsqrt,
        .fast_shld_rotate,
        .fast_variable_crosslane_shuffle,
        .fast_variable_perlane_shuffle,
        .fast_vector_fsqrt,
        .fsgsbase,
        .fsrm,
        .fxsr,
        .gfni,
        .idivq_to_divl,
        .invpcid,
        .lzcnt,
        .macrofusion,
        .mmx,
        .movbe,
        .movdir64b,
        .movdiri,
        .no_bypass_delay_blend,
        .no_bypass_delay_mov,
        .no_bypass_delay_shuffle,
        .nopl,
        .pconfig,
        .pku,
        .popcnt,
        .prefer_256_bit,
        .prfchw,
        .ptwrite,
        .rdpid,
        .rdrnd,
        .rdseed,
        .sahf,
        .serialize,
        .sha,
        .shstk,
        .smap,
        .smep,
        .tsxldtrk,
        .tuning_fast_imm_vector_shift,
        .uintr,
        .vaes,
        .vpclmulqdq,
        .vzeroupper,
        .waitpkg,
        .wbnoinvd,
        .x87,
        .xsavec,
        .xsaveopt,
        .xsaves,
    }),
}

Constantgeneric[src]

Source Code

Source code
pub const generic: CpuModel = .{
    .name = "generic",
    .llvm_name = "generic",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .cx8,
        .fast_15bytenop,
        .fast_scalar_fsqrt,
        .idivq_to_divl,
        .macrofusion,
        .slow_3ops_lea,
        .vzeroupper,
        .x87,
    }),
}

Constantgeode[src]

Source Code

Source code
pub const geode: CpuModel = .{
    .name = "geode",
    .llvm_name = "geode",
    .features = featureSet(&[_]Feature{
        .@"3dnowa",
        .cx8,
        .prfchw,
        .slow_unaligned_mem_16,
        .vzeroupper,
        .x87,
    }),
}

Constantgoldmont[src]

Source Code

Source code
pub const goldmont: CpuModel = .{
    .name = "goldmont",
    .llvm_name = "goldmont",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .aes,
        .clflushopt,
        .cmov,
        .cx16,
        .false_deps_popcnt,
        .fast_imm16,
        .fast_movbe,
        .fsgsbase,
        .fxsr,
        .mmx,
        .movbe,
        .no_bypass_delay,
        .nopl,
        .pclmul,
        .popcnt,
        .prfchw,
        .rdrnd,
        .rdseed,
        .sahf,
        .sha,
        .slow_incdec,
        .slow_lea,
        .slow_two_mem_ops,
        .smap,
        .smep,
        .sse4_2,
        .use_glm_div_sqrt_costs,
        .vzeroupper,
        .x87,
        .xsavec,
        .xsaveopt,
        .xsaves,
    }),
}

Constantgoldmont_plus[src]

Source Code

Source code
pub const goldmont_plus: CpuModel = .{
    .name = "goldmont_plus",
    .llvm_name = "goldmont-plus",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .aes,
        .clflushopt,
        .cmov,
        .cx16,
        .fast_imm16,
        .fast_movbe,
        .fsgsbase,
        .fxsr,
        .mmx,
        .movbe,
        .no_bypass_delay,
        .nopl,
        .pclmul,
        .popcnt,
        .prfchw,
        .ptwrite,
        .rdpid,
        .rdrnd,
        .rdseed,
        .sahf,
        .sha,
        .slow_incdec,
        .slow_lea,
        .slow_two_mem_ops,
        .sse4_2,
        .use_glm_div_sqrt_costs,
        .vzeroupper,
        .x87,
        .xsavec,
        .xsaveopt,
        .xsaves,
    }),
}

Constantgracemont[src]

Source Code

Source code
pub const gracemont: CpuModel = .{
    .name = "gracemont",
    .llvm_name = "gracemont",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .adx,
        .avxvnni,
        .bmi,
        .bmi2,
        .cldemote,
        .clflushopt,
        .clwb,
        .cmov,
        .cx16,
        .f16c,
        .false_deps_popcnt,
        .fast_15bytenop,
        .fast_scalar_fsqrt,
        .fast_variable_perlane_shuffle,
        .fast_vector_fsqrt,
        .fma,
        .fsgsbase,
        .fxsr,
        .gfni,
        .hreset,
        .invpcid,
        .lzcnt,
        .macrofusion,
        .mmx,
        .movbe,
        .movdir64b,
        .movdiri,
        .nopl,
        .pconfig,
        .pku,
        .popcnt,
        .prfchw,
        .ptwrite,
        .rdpid,
        .rdrnd,
        .rdseed,
        .sahf,
        .serialize,
        .sha,
        .shstk,
        .slow_3ops_lea,
        .vaes,
        .vpclmulqdq,
        .vzeroupper,
        .waitpkg,
        .widekl,
        .x87,
        .xsavec,
        .xsaveopt,
        .xsaves,
    }),
}

Constantgrandridge[src]

Source Code

Source code
pub const grandridge: CpuModel = .{
    .name = "grandridge",
    .llvm_name = "grandridge",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .adx,
        .avxifma,
        .avxneconvert,
        .avxvnni,
        .avxvnniint8,
        .bmi,
        .bmi2,
        .cldemote,
        .clflushopt,
        .clwb,
        .cmov,
        .cmpccxadd,
        .cx16,
        .enqcmd,
        .f16c,
        .false_deps_popcnt,
        .fast_15bytenop,
        .fast_scalar_fsqrt,
        .fast_variable_perlane_shuffle,
        .fast_vector_fsqrt,
        .fma,
        .fsgsbase,
        .fxsr,
        .gfni,
        .hreset,
        .invpcid,
        .lzcnt,
        .macrofusion,
        .mmx,
        .movbe,
        .movdir64b,
        .movdiri,
        .nopl,
        .pconfig,
        .pku,
        .popcnt,
        .prfchw,
        .ptwrite,
        .rdpid,
        .rdrnd,
        .rdseed,
        .sahf,
        .serialize,
        .sha,
        .shstk,
        .slow_3ops_lea,
        .uintr,
        .vaes,
        .vpclmulqdq,
        .vzeroupper,
        .waitpkg,
        .widekl,
        .x87,
        .xsavec,
        .xsaveopt,
        .xsaves,
    }),
}

Constantgraniterapids[src]

Source Code

Source code
pub const graniterapids: CpuModel = .{
    .name = "graniterapids",
    .llvm_name = "graniterapids",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .adx,
        .allow_light_256_bit,
        .amx_bf16,
        .amx_fp16,
        .amx_int8,
        .avx512bf16,
        .avx512bitalg,
        .avx512cd,
        .avx512fp16,
        .avx512ifma,
        .avx512vbmi,
        .avx512vbmi2,
        .avx512vnni,
        .avx512vpopcntdq,
        .avxvnni,
        .bmi,
        .bmi2,
        .branch_hint,
        .cldemote,
        .clflushopt,
        .clwb,
        .cmov,
        .cx16,
        .enqcmd,
        .ermsb,
        .evex512,
        .false_deps_getmant,
        .false_deps_mulc,
        .false_deps_mullq,
        .false_deps_perm,
        .false_deps_range,
        .fast_15bytenop,
        .fast_gather,
        .fast_scalar_fsqrt,
        .fast_shld_rotate,
        .fast_variable_crosslane_shuffle,
        .fast_variable_perlane_shuffle,
        .fast_vector_fsqrt,
        .fsgsbase,
        .fsrm,
        .fxsr,
        .gfni,
        .idivq_to_divl,
        .invpcid,
        .lzcnt,
        .macrofusion,
        .mmx,
        .movbe,
        .movdir64b,
        .movdiri,
        .no_bypass_delay_blend,
        .no_bypass_delay_mov,
        .no_bypass_delay_shuffle,
        .nopl,
        .pconfig,
        .pku,
        .popcnt,
        .prefer_256_bit,
        .prefetchi,
        .prfchw,
        .ptwrite,
        .rdpid,
        .rdrnd,
        .rdseed,
        .sahf,
        .serialize,
        .sha,
        .shstk,
        .tsxldtrk,
        .tuning_fast_imm_vector_shift,
        .uintr,
        .vaes,
        .vpclmulqdq,
        .vzeroupper,
        .waitpkg,
        .wbnoinvd,
        .x87,
        .xsavec,
        .xsaveopt,
        .xsaves,
    }),
}

Constantgraniterapids_d[src]

Source Code

Source code
pub const graniterapids_d: CpuModel = .{
    .name = "graniterapids_d",
    .llvm_name = "graniterapids-d",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .adx,
        .allow_light_256_bit,
        .amx_bf16,
        .amx_complex,
        .amx_fp16,
        .amx_int8,
        .avx512bf16,
        .avx512bitalg,
        .avx512cd,
        .avx512fp16,
        .avx512ifma,
        .avx512vbmi,
        .avx512vbmi2,
        .avx512vnni,
        .avx512vpopcntdq,
        .avxvnni,
        .bmi,
        .bmi2,
        .branch_hint,
        .cldemote,
        .clflushopt,
        .clwb,
        .cmov,
        .cx16,
        .enqcmd,
        .ermsb,
        .evex512,
        .false_deps_getmant,
        .false_deps_mulc,
        .false_deps_mullq,
        .false_deps_perm,
        .false_deps_range,
        .fast_15bytenop,
        .fast_gather,
        .fast_scalar_fsqrt,
        .fast_shld_rotate,
        .fast_variable_crosslane_shuffle,
        .fast_variable_perlane_shuffle,
        .fast_vector_fsqrt,
        .fsgsbase,
        .fsrm,
        .fxsr,
        .gfni,
        .idivq_to_divl,
        .invpcid,
        .lzcnt,
        .macrofusion,
        .mmx,
        .movbe,
        .movdir64b,
        .movdiri,
        .no_bypass_delay_blend,
        .no_bypass_delay_mov,
        .no_bypass_delay_shuffle,
        .nopl,
        .pconfig,
        .pku,
        .popcnt,
        .prefer_256_bit,
        .prefetchi,
        .prfchw,
        .ptwrite,
        .rdpid,
        .rdrnd,
        .rdseed,
        .sahf,
        .serialize,
        .sha,
        .shstk,
        .tsxldtrk,
        .tuning_fast_imm_vector_shift,
        .uintr,
        .vaes,
        .vpclmulqdq,
        .vzeroupper,
        .waitpkg,
        .wbnoinvd,
        .x87,
        .xsavec,
        .xsaveopt,
        .xsaves,
    }),
}

Constanthaswell[src]

Source Code

Source code
pub const haswell: CpuModel = .{
    .name = "haswell",
    .llvm_name = "haswell",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .allow_light_256_bit,
        .avx2,
        .bmi,
        .bmi2,
        .cmov,
        .cx16,
        .ermsb,
        .f16c,
        .false_deps_lzcnt_tzcnt,
        .false_deps_popcnt,
        .fast_15bytenop,
        .fast_scalar_fsqrt,
        .fast_shld_rotate,
        .fast_variable_crosslane_shuffle,
        .fast_variable_perlane_shuffle,
        .fma,
        .fsgsbase,
        .fxsr,
        .idivq_to_divl,
        .invpcid,
        .lzcnt,
        .macrofusion,
        .mmx,
        .movbe,
        .no_bypass_delay_mov,
        .no_bypass_delay_shuffle,
        .nopl,
        .pclmul,
        .popcnt,
        .rdrnd,
        .sahf,
        .slow_3ops_lea,
        .smep,
        .vzeroupper,
        .x87,
        .xsaveopt,
    }),
}

Constant@"i386"[src]

Source Code

Source code
pub const @"i386": CpuModel = .{
    .name = "i386",
    .llvm_name = "i386",
    .features = featureSet(&[_]Feature{
        .bsf_bsr_0_clobbers_result,
        .slow_unaligned_mem_16,
        .vzeroupper,
        .x87,
    }),
}

Constant@"i486"[src]

Source Code

Source code
pub const @"i486": CpuModel = .{
    .name = "i486",
    .llvm_name = "i486",
    .features = featureSet(&[_]Feature{
        .bsf_bsr_0_clobbers_result,
        .slow_unaligned_mem_16,
        .vzeroupper,
        .x87,
    }),
}

Constant@"i586"[src]

Source Code

Source code
pub const @"i586": CpuModel = .{
    .name = "i586",
    .llvm_name = "i586",
    .features = featureSet(&[_]Feature{
        .cx8,
        .slow_unaligned_mem_16,
        .vzeroupper,
        .x87,
    }),
}

Constant@"i686"[src]

Source Code

Source code
pub const @"i686": CpuModel = .{
    .name = "i686",
    .llvm_name = "i686",
    .features = featureSet(&[_]Feature{
        .cmov,
        .cx8,
        .slow_unaligned_mem_16,
        .vzeroupper,
        .x87,
    }),
}

Constanticelake_client[src]

Source Code

Source code
pub const icelake_client: CpuModel = .{
    .name = "icelake_client",
    .llvm_name = "icelake-client",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .adx,
        .allow_light_256_bit,
        .avx512bitalg,
        .avx512cd,
        .avx512dq,
        .avx512ifma,
        .avx512vbmi,
        .avx512vbmi2,
        .avx512vl,
        .avx512vnni,
        .avx512vpopcntdq,
        .bmi,
        .bmi2,
        .clflushopt,
        .cmov,
        .cx16,
        .ermsb,
        .evex512,
        .fast_15bytenop,
        .fast_gather,
        .fast_scalar_fsqrt,
        .fast_shld_rotate,
        .fast_variable_crosslane_shuffle,
        .fast_variable_perlane_shuffle,
        .fast_vector_fsqrt,
        .fsgsbase,
        .fsrm,
        .fxsr,
        .gfni,
        .idivq_to_divl,
        .invpcid,
        .lzcnt,
        .macrofusion,
        .mmx,
        .movbe,
        .no_bypass_delay_blend,
        .no_bypass_delay_mov,
        .no_bypass_delay_shuffle,
        .nopl,
        .pku,
        .popcnt,
        .prefer_256_bit,
        .prfchw,
        .rdpid,
        .rdrnd,
        .rdseed,
        .sahf,
        .sha,
        .tuning_fast_imm_vector_shift,
        .vaes,
        .vpclmulqdq,
        .vzeroupper,
        .x87,
        .xsavec,
        .xsaveopt,
        .xsaves,
    }),
}

Constanticelake_server[src]

Source Code

Source code
pub const icelake_server: CpuModel = .{
    .name = "icelake_server",
    .llvm_name = "icelake-server",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .adx,
        .allow_light_256_bit,
        .avx512bitalg,
        .avx512cd,
        .avx512dq,
        .avx512ifma,
        .avx512vbmi,
        .avx512vbmi2,
        .avx512vl,
        .avx512vnni,
        .avx512vpopcntdq,
        .bmi,
        .bmi2,
        .clflushopt,
        .clwb,
        .cmov,
        .cx16,
        .ermsb,
        .evex512,
        .fast_15bytenop,
        .fast_gather,
        .fast_scalar_fsqrt,
        .fast_shld_rotate,
        .fast_variable_crosslane_shuffle,
        .fast_variable_perlane_shuffle,
        .fast_vector_fsqrt,
        .fsgsbase,
        .fsrm,
        .fxsr,
        .gfni,
        .idivq_to_divl,
        .invpcid,
        .lzcnt,
        .macrofusion,
        .mmx,
        .movbe,
        .no_bypass_delay_blend,
        .no_bypass_delay_mov,
        .no_bypass_delay_shuffle,
        .nopl,
        .pconfig,
        .pku,
        .popcnt,
        .prefer_256_bit,
        .prfchw,
        .rdpid,
        .rdrnd,
        .rdseed,
        .sahf,
        .sha,
        .tuning_fast_imm_vector_shift,
        .vaes,
        .vpclmulqdq,
        .vzeroupper,
        .wbnoinvd,
        .x87,
        .xsavec,
        .xsaveopt,
        .xsaves,
    }),
}

Constantivybridge[src]

Source Code

Source code
pub const ivybridge: CpuModel = .{
    .name = "ivybridge",
    .llvm_name = "ivybridge",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .cmov,
        .cx16,
        .f16c,
        .false_deps_popcnt,
        .fast_15bytenop,
        .fast_scalar_fsqrt,
        .fast_shld_rotate,
        .fsgsbase,
        .fxsr,
        .idivq_to_divl,
        .macrofusion,
        .mmx,
        .no_bypass_delay_mov,
        .nopl,
        .pclmul,
        .popcnt,
        .rdrnd,
        .sahf,
        .slow_3ops_lea,
        .slow_unaligned_mem_32,
        .smep,
        .vzeroupper,
        .x87,
        .xsaveopt,
    }),
}

Constantk6[src]

Source Code

Source code
pub const k6: CpuModel = .{
    .name = "k6",
    .llvm_name = "k6",
    .features = featureSet(&[_]Feature{
        .cx8,
        .mmx,
        .slow_unaligned_mem_16,
        .vzeroupper,
        .x87,
    }),
}

Constantk6_2[src]

Source Code

Source code
pub const k6_2: CpuModel = .{
    .name = "k6_2",
    .llvm_name = "k6-2",
    .features = featureSet(&[_]Feature{
        .@"3dnow",
        .cx8,
        .prfchw,
        .slow_unaligned_mem_16,
        .vzeroupper,
        .x87,
    }),
}

Constantk6_3[src]

Source Code

Source code
pub const k6_3: CpuModel = .{
    .name = "k6_3",
    .llvm_name = "k6-3",
    .features = featureSet(&[_]Feature{
        .@"3dnow",
        .cx8,
        .prfchw,
        .slow_unaligned_mem_16,
        .vzeroupper,
        .x87,
    }),
}

Constantk8[src]

Source Code

Source code
pub const k8: CpuModel = .{
    .name = "k8",
    .llvm_name = "k8",
    .features = featureSet(&[_]Feature{
        .@"3dnowa",
        .@"64bit",
        .cmov,
        .cx8,
        .fast_scalar_shift_masks,
        .fxsr,
        .nopl,
        .prfchw,
        .sbb_dep_breaking,
        .slow_shld,
        .slow_unaligned_mem_16,
        .sse2,
        .vzeroupper,
        .x87,
    }),
}

Constantk8_sse3[src]

Source Code

Source code
pub const k8_sse3: CpuModel = .{
    .name = "k8_sse3",
    .llvm_name = "k8-sse3",
    .features = featureSet(&[_]Feature{
        .@"3dnowa",
        .@"64bit",
        .cmov,
        .cx16,
        .fast_scalar_shift_masks,
        .fxsr,
        .nopl,
        .prfchw,
        .sbb_dep_breaking,
        .slow_shld,
        .slow_unaligned_mem_16,
        .sse3,
        .vzeroupper,
        .x87,
    }),
}

Constantknl[src]

Source Code

Source code
pub const knl: CpuModel = .{
    .name = "knl",
    .llvm_name = "knl",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .adx,
        .aes,
        .avx512cd,
        .avx512er,
        .avx512pf,
        .bmi,
        .bmi2,
        .cmov,
        .cx16,
        .evex512,
        .fast_gather,
        .fast_imm16,
        .fast_movbe,
        .fsgsbase,
        .fxsr,
        .idivq_to_divl,
        .lzcnt,
        .mmx,
        .movbe,
        .nopl,
        .pclmul,
        .popcnt,
        .prefer_mask_registers,
        .prefetchwt1,
        .prfchw,
        .rdrnd,
        .rdseed,
        .sahf,
        .slow_3ops_lea,
        .slow_incdec,
        .slow_pmaddwd,
        .slow_two_mem_ops,
        .x87,
        .xsaveopt,
    }),
}

Constantknm[src]

Source Code

Source code
pub const knm: CpuModel = .{
    .name = "knm",
    .llvm_name = "knm",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .adx,
        .aes,
        .avx512cd,
        .avx512er,
        .avx512pf,
        .avx512vpopcntdq,
        .bmi,
        .bmi2,
        .cmov,
        .cx16,
        .evex512,
        .fast_gather,
        .fast_imm16,
        .fast_movbe,
        .fsgsbase,
        .fxsr,
        .idivq_to_divl,
        .lzcnt,
        .mmx,
        .movbe,
        .nopl,
        .pclmul,
        .popcnt,
        .prefer_mask_registers,
        .prefetchwt1,
        .prfchw,
        .rdrnd,
        .rdseed,
        .sahf,
        .slow_3ops_lea,
        .slow_incdec,
        .slow_pmaddwd,
        .slow_two_mem_ops,
        .x87,
        .xsaveopt,
    }),
}

Constantlakemont[src]

Source Code

Source code
pub const lakemont: CpuModel = .{
    .name = "lakemont",
    .llvm_name = "lakemont",
    .features = featureSet(&[_]Feature{
        .cx8,
        .slow_unaligned_mem_16,
        .soft_float,
        .vzeroupper,
    }),
}

Constantlunarlake[src]

Source Code

Source code
pub const lunarlake: CpuModel = .{
    .name = "lunarlake",
    .llvm_name = "lunarlake",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .adx,
        .allow_light_256_bit,
        .avxifma,
        .avxneconvert,
        .avxvnni,
        .avxvnniint16,
        .avxvnniint8,
        .bmi,
        .bmi2,
        .cldemote,
        .clflushopt,
        .clwb,
        .cmov,
        .cmpccxadd,
        .cx16,
        .enqcmd,
        .f16c,
        .false_deps_perm,
        .false_deps_popcnt,
        .fast_15bytenop,
        .fast_gather,
        .fast_scalar_fsqrt,
        .fast_shld_rotate,
        .fast_variable_crosslane_shuffle,
        .fast_variable_perlane_shuffle,
        .fast_vector_fsqrt,
        .fma,
        .fsgsbase,
        .fxsr,
        .gfni,
        .hreset,
        .idivq_to_divl,
        .invpcid,
        .lzcnt,
        .macrofusion,
        .mmx,
        .movbe,
        .movdir64b,
        .movdiri,
        .no_bypass_delay_blend,
        .no_bypass_delay_mov,
        .no_bypass_delay_shuffle,
        .nopl,
        .pconfig,
        .pku,
        .popcnt,
        .prefer_movmsk_over_vtest,
        .prfchw,
        .ptwrite,
        .rdpid,
        .rdrnd,
        .rdseed,
        .sahf,
        .serialize,
        .sha,
        .sha512,
        .shstk,
        .slow_3ops_lea,
        .sm3,
        .sm4,
        .tuning_fast_imm_vector_shift,
        .uintr,
        .vaes,
        .vpclmulqdq,
        .vzeroupper,
        .waitpkg,
        .widekl,
        .x87,
        .xsavec,
        .xsaveopt,
        .xsaves,
    }),
}

Constantmeteorlake[src]

Source Code

Source code
pub const meteorlake: CpuModel = .{
    .name = "meteorlake",
    .llvm_name = "meteorlake",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .adx,
        .allow_light_256_bit,
        .avxvnni,
        .bmi,
        .bmi2,
        .cldemote,
        .clflushopt,
        .clwb,
        .cmov,
        .cx16,
        .f16c,
        .false_deps_perm,
        .false_deps_popcnt,
        .fast_15bytenop,
        .fast_gather,
        .fast_scalar_fsqrt,
        .fast_shld_rotate,
        .fast_variable_crosslane_shuffle,
        .fast_variable_perlane_shuffle,
        .fast_vector_fsqrt,
        .fma,
        .fsgsbase,
        .fxsr,
        .gfni,
        .hreset,
        .idivq_to_divl,
        .invpcid,
        .lzcnt,
        .macrofusion,
        .mmx,
        .movbe,
        .movdir64b,
        .movdiri,
        .no_bypass_delay_blend,
        .no_bypass_delay_mov,
        .no_bypass_delay_shuffle,
        .nopl,
        .pconfig,
        .pku,
        .popcnt,
        .prefer_movmsk_over_vtest,
        .prfchw,
        .ptwrite,
        .rdpid,
        .rdrnd,
        .rdseed,
        .sahf,
        .serialize,
        .sha,
        .shstk,
        .slow_3ops_lea,
        .smap,
        .smep,
        .tuning_fast_imm_vector_shift,
        .vaes,
        .vpclmulqdq,
        .vzeroupper,
        .waitpkg,
        .widekl,
        .x87,
        .xsavec,
        .xsaveopt,
        .xsaves,
    }),
}

Constantnehalem[src]

Source Code

Source code
pub const nehalem: CpuModel = .{
    .name = "nehalem",
    .llvm_name = "nehalem",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .cmov,
        .cx16,
        .fxsr,
        .idivq_to_divl,
        .macrofusion,
        .mmx,
        .no_bypass_delay_mov,
        .nopl,
        .popcnt,
        .sahf,
        .sse4_2,
        .vzeroupper,
        .x87,
    }),
}

Constantnocona[src]

Source Code

Source code
pub const nocona: CpuModel = .{
    .name = "nocona",
    .llvm_name = "nocona",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .cmov,
        .cx16,
        .fxsr,
        .mmx,
        .nopl,
        .slow_unaligned_mem_16,
        .sse3,
        .vzeroupper,
        .x87,
    }),
}

Constantopteron[src]

Source Code

Source code
pub const opteron: CpuModel = .{
    .name = "opteron",
    .llvm_name = "opteron",
    .features = featureSet(&[_]Feature{
        .@"3dnowa",
        .@"64bit",
        .cmov,
        .cx8,
        .fast_scalar_shift_masks,
        .fxsr,
        .nopl,
        .prfchw,
        .sbb_dep_breaking,
        .slow_shld,
        .slow_unaligned_mem_16,
        .sse2,
        .vzeroupper,
        .x87,
    }),
}

Constantopteron_sse3[src]

Source Code

Source code
pub const opteron_sse3: CpuModel = .{
    .name = "opteron_sse3",
    .llvm_name = "opteron-sse3",
    .features = featureSet(&[_]Feature{
        .@"3dnowa",
        .@"64bit",
        .cmov,
        .cx16,
        .fast_scalar_shift_masks,
        .fxsr,
        .nopl,
        .prfchw,
        .sbb_dep_breaking,
        .slow_shld,
        .slow_unaligned_mem_16,
        .sse3,
        .vzeroupper,
        .x87,
    }),
}

Constantpantherlake[src]

Source Code

Source code
pub const pantherlake: CpuModel = .{
    .name = "pantherlake",
    .llvm_name = "pantherlake",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .adx,
        .allow_light_256_bit,
        .avxifma,
        .avxneconvert,
        .avxvnni,
        .avxvnniint16,
        .avxvnniint8,
        .bmi,
        .bmi2,
        .cldemote,
        .clflushopt,
        .clwb,
        .cmov,
        .cmpccxadd,
        .cx16,
        .enqcmd,
        .f16c,
        .false_deps_perm,
        .false_deps_popcnt,
        .fast_15bytenop,
        .fast_gather,
        .fast_scalar_fsqrt,
        .fast_shld_rotate,
        .fast_variable_crosslane_shuffle,
        .fast_variable_perlane_shuffle,
        .fast_vector_fsqrt,
        .fma,
        .fsgsbase,
        .fxsr,
        .gfni,
        .hreset,
        .idivq_to_divl,
        .invpcid,
        .lzcnt,
        .macrofusion,
        .mmx,
        .movbe,
        .movdir64b,
        .movdiri,
        .no_bypass_delay_blend,
        .no_bypass_delay_mov,
        .no_bypass_delay_shuffle,
        .nopl,
        .pconfig,
        .pku,
        .popcnt,
        .prefer_movmsk_over_vtest,
        .prefetchi,
        .prfchw,
        .ptwrite,
        .rdpid,
        .rdrnd,
        .rdseed,
        .sahf,
        .serialize,
        .sha,
        .sha512,
        .shstk,
        .slow_3ops_lea,
        .sm3,
        .sm4,
        .tuning_fast_imm_vector_shift,
        .uintr,
        .vaes,
        .vpclmulqdq,
        .vzeroupper,
        .waitpkg,
        .widekl,
        .x87,
        .xsavec,
        .xsaveopt,
        .xsaves,
    }),
}

Constantpenryn[src]

Source Code

Source code
pub const penryn: CpuModel = .{
    .name = "penryn",
    .llvm_name = "penryn",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .cmov,
        .cx16,
        .fxsr,
        .macrofusion,
        .mmx,
        .nopl,
        .sahf,
        .slow_unaligned_mem_16,
        .sse4_1,
        .vzeroupper,
        .x87,
    }),
}

Constantpentium[src]

Source Code

Source code
pub const pentium: CpuModel = .{
    .name = "pentium",
    .llvm_name = "pentium",
    .features = featureSet(&[_]Feature{
        .cx8,
        .slow_unaligned_mem_16,
        .vzeroupper,
        .x87,
    }),
}

Constantpentium2[src]

Source Code

Source code
pub const pentium2: CpuModel = .{
    .name = "pentium2",
    .llvm_name = "pentium2",
    .features = featureSet(&[_]Feature{
        .cmov,
        .cx8,
        .fxsr,
        .mmx,
        .nopl,
        .slow_unaligned_mem_16,
        .vzeroupper,
        .x87,
    }),
}

Constantpentium3[src]

Source Code

Source code
pub const pentium3: CpuModel = .{
    .name = "pentium3",
    .llvm_name = "pentium3",
    .features = featureSet(&[_]Feature{
        .cmov,
        .cx8,
        .fxsr,
        .mmx,
        .nopl,
        .slow_unaligned_mem_16,
        .sse,
        .vzeroupper,
        .x87,
    }),
}

Constantpentium3m[src]

Source Code

Source code
pub const pentium3m: CpuModel = .{
    .name = "pentium3m",
    .llvm_name = "pentium3m",
    .features = featureSet(&[_]Feature{
        .cmov,
        .cx8,
        .fxsr,
        .mmx,
        .nopl,
        .slow_unaligned_mem_16,
        .sse,
        .vzeroupper,
        .x87,
    }),
}

Constantpentium4[src]

Source Code

Source code
pub const pentium4: CpuModel = .{
    .name = "pentium4",
    .llvm_name = "pentium4",
    .features = featureSet(&[_]Feature{
        .cmov,
        .cx8,
        .fxsr,
        .mmx,
        .nopl,
        .slow_unaligned_mem_16,
        .sse2,
        .vzeroupper,
        .x87,
    }),
}

Constantpentium_m[src]

Source Code

Source code
pub const pentium_m: CpuModel = .{
    .name = "pentium_m",
    .llvm_name = "pentium-m",
    .features = featureSet(&[_]Feature{
        .cmov,
        .cx8,
        .fxsr,
        .mmx,
        .nopl,
        .slow_unaligned_mem_16,
        .sse2,
        .vzeroupper,
        .x87,
    }),
}

Constantpentium_mmx[src]

Source Code

Source code
pub const pentium_mmx: CpuModel = .{
    .name = "pentium_mmx",
    .llvm_name = "pentium-mmx",
    .features = featureSet(&[_]Feature{
        .cx8,
        .mmx,
        .slow_unaligned_mem_16,
        .vzeroupper,
        .x87,
    }),
}

Constantpentiumpro[src]

Source Code

Source code
pub const pentiumpro: CpuModel = .{
    .name = "pentiumpro",
    .llvm_name = "pentiumpro",
    .features = featureSet(&[_]Feature{
        .cmov,
        .cx8,
        .nopl,
        .slow_unaligned_mem_16,
        .vzeroupper,
        .x87,
    }),
}

Constantprescott[src]

Source Code

Source code
pub const prescott: CpuModel = .{
    .name = "prescott",
    .llvm_name = "prescott",
    .features = featureSet(&[_]Feature{
        .cmov,
        .cx8,
        .fxsr,
        .mmx,
        .nopl,
        .slow_unaligned_mem_16,
        .sse3,
        .vzeroupper,
        .x87,
    }),
}

Constantraptorlake[src]

Source Code

Source code
pub const raptorlake: CpuModel = .{
    .name = "raptorlake",
    .llvm_name = "raptorlake",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .adx,
        .allow_light_256_bit,
        .avxvnni,
        .bmi,
        .bmi2,
        .cldemote,
        .clflushopt,
        .clwb,
        .cmov,
        .cx16,
        .f16c,
        .false_deps_perm,
        .false_deps_popcnt,
        .fast_15bytenop,
        .fast_gather,
        .fast_scalar_fsqrt,
        .fast_shld_rotate,
        .fast_variable_crosslane_shuffle,
        .fast_variable_perlane_shuffle,
        .fast_vector_fsqrt,
        .fma,
        .fsgsbase,
        .fxsr,
        .gfni,
        .hreset,
        .idivq_to_divl,
        .invpcid,
        .lzcnt,
        .macrofusion,
        .mmx,
        .movbe,
        .movdir64b,
        .movdiri,
        .no_bypass_delay_blend,
        .no_bypass_delay_mov,
        .no_bypass_delay_shuffle,
        .nopl,
        .pconfig,
        .pku,
        .popcnt,
        .prefer_movmsk_over_vtest,
        .prfchw,
        .ptwrite,
        .rdpid,
        .rdrnd,
        .rdseed,
        .sahf,
        .serialize,
        .sha,
        .shstk,
        .slow_3ops_lea,
        .smap,
        .smep,
        .tuning_fast_imm_vector_shift,
        .vaes,
        .vpclmulqdq,
        .vzeroupper,
        .waitpkg,
        .widekl,
        .x87,
        .xsavec,
        .xsaveopt,
        .xsaves,
    }),
}

Constantrocketlake[src]

Source Code

Source code
pub const rocketlake: CpuModel = .{
    .name = "rocketlake",
    .llvm_name = "rocketlake",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .adx,
        .allow_light_256_bit,
        .avx512bitalg,
        .avx512cd,
        .avx512dq,
        .avx512ifma,
        .avx512vbmi,
        .avx512vbmi2,
        .avx512vl,
        .avx512vnni,
        .avx512vpopcntdq,
        .bmi,
        .bmi2,
        .clflushopt,
        .cmov,
        .cx16,
        .ermsb,
        .evex512,
        .fast_15bytenop,
        .fast_gather,
        .fast_scalar_fsqrt,
        .fast_shld_rotate,
        .fast_variable_crosslane_shuffle,
        .fast_variable_perlane_shuffle,
        .fast_vector_fsqrt,
        .fsgsbase,
        .fsrm,
        .fxsr,
        .gfni,
        .idivq_to_divl,
        .invpcid,
        .lzcnt,
        .macrofusion,
        .mmx,
        .movbe,
        .no_bypass_delay_blend,
        .no_bypass_delay_mov,
        .no_bypass_delay_shuffle,
        .nopl,
        .pku,
        .popcnt,
        .prefer_256_bit,
        .prfchw,
        .rdpid,
        .rdrnd,
        .rdseed,
        .sahf,
        .sha,
        .smap,
        .smep,
        .tuning_fast_imm_vector_shift,
        .vaes,
        .vpclmulqdq,
        .vzeroupper,
        .x87,
        .xsavec,
        .xsaveopt,
        .xsaves,
    }),
}

Constantsandybridge[src]

Source Code

Source code
pub const sandybridge: CpuModel = .{
    .name = "sandybridge",
    .llvm_name = "sandybridge",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .avx,
        .cmov,
        .cx16,
        .false_deps_popcnt,
        .fast_15bytenop,
        .fast_scalar_fsqrt,
        .fast_shld_rotate,
        .fxsr,
        .idivq_to_divl,
        .macrofusion,
        .mmx,
        .no_bypass_delay_mov,
        .nopl,
        .pclmul,
        .popcnt,
        .sahf,
        .slow_3ops_lea,
        .slow_unaligned_mem_32,
        .vzeroupper,
        .x87,
        .xsaveopt,
    }),
}

Constantsapphirerapids[src]

Source Code

Source code
pub const sapphirerapids: CpuModel = .{
    .name = "sapphirerapids",
    .llvm_name = "sapphirerapids",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .adx,
        .allow_light_256_bit,
        .amx_bf16,
        .amx_int8,
        .avx512bf16,
        .avx512bitalg,
        .avx512cd,
        .avx512fp16,
        .avx512ifma,
        .avx512vbmi,
        .avx512vbmi2,
        .avx512vnni,
        .avx512vpopcntdq,
        .avxvnni,
        .bmi,
        .bmi2,
        .cldemote,
        .clflushopt,
        .clwb,
        .cmov,
        .cx16,
        .enqcmd,
        .ermsb,
        .evex512,
        .false_deps_getmant,
        .false_deps_mulc,
        .false_deps_mullq,
        .false_deps_perm,
        .false_deps_range,
        .fast_15bytenop,
        .fast_gather,
        .fast_scalar_fsqrt,
        .fast_shld_rotate,
        .fast_variable_crosslane_shuffle,
        .fast_variable_perlane_shuffle,
        .fast_vector_fsqrt,
        .fsgsbase,
        .fsrm,
        .fxsr,
        .gfni,
        .idivq_to_divl,
        .invpcid,
        .lzcnt,
        .macrofusion,
        .mmx,
        .movbe,
        .movdir64b,
        .movdiri,
        .no_bypass_delay_blend,
        .no_bypass_delay_mov,
        .no_bypass_delay_shuffle,
        .nopl,
        .pconfig,
        .pku,
        .popcnt,
        .prefer_256_bit,
        .prfchw,
        .ptwrite,
        .rdpid,
        .rdrnd,
        .rdseed,
        .sahf,
        .serialize,
        .sha,
        .shstk,
        .smap,
        .smep,
        .tsxldtrk,
        .tuning_fast_imm_vector_shift,
        .uintr,
        .vaes,
        .vpclmulqdq,
        .vzeroupper,
        .waitpkg,
        .wbnoinvd,
        .x87,
        .xsavec,
        .xsaveopt,
        .xsaves,
    }),
}

Constantsierraforest[src]

Source Code

Source code
pub const sierraforest: CpuModel = .{
    .name = "sierraforest",
    .llvm_name = "sierraforest",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .adx,
        .avxifma,
        .avxneconvert,
        .avxvnni,
        .avxvnniint8,
        .bmi,
        .bmi2,
        .cldemote,
        .clflushopt,
        .clwb,
        .cmov,
        .cmpccxadd,
        .cx16,
        .enqcmd,
        .f16c,
        .false_deps_popcnt,
        .fast_15bytenop,
        .fast_scalar_fsqrt,
        .fast_variable_perlane_shuffle,
        .fast_vector_fsqrt,
        .fma,
        .fsgsbase,
        .fxsr,
        .gfni,
        .hreset,
        .invpcid,
        .lzcnt,
        .macrofusion,
        .mmx,
        .movbe,
        .movdir64b,
        .movdiri,
        .nopl,
        .pconfig,
        .pku,
        .popcnt,
        .prfchw,
        .ptwrite,
        .rdpid,
        .rdrnd,
        .rdseed,
        .sahf,
        .serialize,
        .sha,
        .shstk,
        .slow_3ops_lea,
        .uintr,
        .vaes,
        .vpclmulqdq,
        .vzeroupper,
        .waitpkg,
        .widekl,
        .x87,
        .xsavec,
        .xsaveopt,
        .xsaves,
    }),
}

Constantsilvermont[src]

Source Code

Source code
pub const silvermont: CpuModel = .{
    .name = "silvermont",
    .llvm_name = "silvermont",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .cmov,
        .cx16,
        .false_deps_popcnt,
        .fast_7bytenop,
        .fast_imm16,
        .fast_movbe,
        .fxsr,
        .idivq_to_divl,
        .mmx,
        .movbe,
        .no_bypass_delay,
        .nopl,
        .pclmul,
        .popcnt,
        .prfchw,
        .rdrnd,
        .sahf,
        .slow_incdec,
        .slow_lea,
        .slow_pmulld,
        .slow_two_mem_ops,
        .smep,
        .sse4_2,
        .use_slm_arith_costs,
        .vzeroupper,
        .x87,
    }),
}

Constantskx[src]

Source Code

Source code
pub const skx: CpuModel = .{
    .name = "skx",
    .llvm_name = "skx",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .adx,
        .aes,
        .allow_light_256_bit,
        .avx512bw,
        .avx512cd,
        .avx512dq,
        .avx512vl,
        .bmi,
        .bmi2,
        .clflushopt,
        .clwb,
        .cmov,
        .cx16,
        .ermsb,
        .evex512,
        .false_deps_popcnt,
        .fast_15bytenop,
        .fast_gather,
        .fast_scalar_fsqrt,
        .fast_shld_rotate,
        .fast_variable_crosslane_shuffle,
        .fast_variable_perlane_shuffle,
        .fast_vector_fsqrt,
        .faster_shift_than_shuffle,
        .fsgsbase,
        .fxsr,
        .idivq_to_divl,
        .invpcid,
        .lzcnt,
        .macrofusion,
        .mmx,
        .movbe,
        .no_bypass_delay_blend,
        .no_bypass_delay_mov,
        .no_bypass_delay_shuffle,
        .nopl,
        .pclmul,
        .pku,
        .popcnt,
        .prefer_256_bit,
        .prfchw,
        .rdrnd,
        .rdseed,
        .sahf,
        .slow_3ops_lea,
        .smap,
        .smep,
        .tuning_fast_imm_vector_shift,
        .vzeroupper,
        .x87,
        .xsavec,
        .xsaveopt,
        .xsaves,
    }),
}

Constantskylake[src]

Source Code

Source code
pub const skylake: CpuModel = .{
    .name = "skylake",
    .llvm_name = "skylake",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .adx,
        .aes,
        .allow_light_256_bit,
        .avx2,
        .bmi,
        .bmi2,
        .clflushopt,
        .cmov,
        .cx16,
        .ermsb,
        .f16c,
        .false_deps_popcnt,
        .fast_15bytenop,
        .fast_gather,
        .fast_scalar_fsqrt,
        .fast_shld_rotate,
        .fast_variable_crosslane_shuffle,
        .fast_variable_perlane_shuffle,
        .fast_vector_fsqrt,
        .fma,
        .fsgsbase,
        .fxsr,
        .idivq_to_divl,
        .invpcid,
        .lzcnt,
        .macrofusion,
        .mmx,
        .movbe,
        .no_bypass_delay_blend,
        .no_bypass_delay_mov,
        .no_bypass_delay_shuffle,
        .nopl,
        .pclmul,
        .popcnt,
        .prfchw,
        .rdrnd,
        .rdseed,
        .sahf,
        .slow_3ops_lea,
        .smap,
        .smep,
        .vzeroupper,
        .x87,
        .xsavec,
        .xsaveopt,
        .xsaves,
    }),
}

Constantskylake_avx512[src]

Source Code

Source code
pub const skylake_avx512: CpuModel = .{
    .name = "skylake_avx512",
    .llvm_name = "skylake-avx512",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .adx,
        .aes,
        .allow_light_256_bit,
        .avx512bw,
        .avx512cd,
        .avx512dq,
        .avx512vl,
        .bmi,
        .bmi2,
        .clflushopt,
        .clwb,
        .cmov,
        .cx16,
        .ermsb,
        .evex512,
        .false_deps_popcnt,
        .fast_15bytenop,
        .fast_gather,
        .fast_scalar_fsqrt,
        .fast_shld_rotate,
        .fast_variable_crosslane_shuffle,
        .fast_variable_perlane_shuffle,
        .fast_vector_fsqrt,
        .faster_shift_than_shuffle,
        .fsgsbase,
        .fxsr,
        .idivq_to_divl,
        .invpcid,
        .lzcnt,
        .macrofusion,
        .mmx,
        .movbe,
        .no_bypass_delay_blend,
        .no_bypass_delay_mov,
        .no_bypass_delay_shuffle,
        .nopl,
        .pclmul,
        .pku,
        .popcnt,
        .prefer_256_bit,
        .prfchw,
        .rdrnd,
        .rdseed,
        .sahf,
        .slow_3ops_lea,
        .tuning_fast_imm_vector_shift,
        .vzeroupper,
        .x87,
        .xsavec,
        .xsaveopt,
        .xsaves,
    }),
}

Constantslm[src]

Source Code

Source code
pub const slm: CpuModel = .{
    .name = "slm",
    .llvm_name = "slm",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .cmov,
        .cx16,
        .false_deps_popcnt,
        .fast_7bytenop,
        .fast_imm16,
        .fast_movbe,
        .fxsr,
        .idivq_to_divl,
        .mmx,
        .movbe,
        .no_bypass_delay,
        .nopl,
        .pclmul,
        .popcnt,
        .prfchw,
        .rdrnd,
        .sahf,
        .slow_incdec,
        .slow_lea,
        .slow_pmulld,
        .slow_two_mem_ops,
        .sse4_2,
        .use_slm_arith_costs,
        .vzeroupper,
        .x87,
    }),
}

Constanttigerlake[src]

Source Code

Source code
pub const tigerlake: CpuModel = .{
    .name = "tigerlake",
    .llvm_name = "tigerlake",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .adx,
        .allow_light_256_bit,
        .avx512bitalg,
        .avx512cd,
        .avx512dq,
        .avx512ifma,
        .avx512vbmi,
        .avx512vbmi2,
        .avx512vl,
        .avx512vnni,
        .avx512vp2intersect,
        .avx512vpopcntdq,
        .bmi,
        .bmi2,
        .clflushopt,
        .clwb,
        .cmov,
        .cx16,
        .ermsb,
        .evex512,
        .fast_15bytenop,
        .fast_gather,
        .fast_scalar_fsqrt,
        .fast_shld_rotate,
        .fast_variable_crosslane_shuffle,
        .fast_variable_perlane_shuffle,
        .fast_vector_fsqrt,
        .fsgsbase,
        .fsrm,
        .fxsr,
        .gfni,
        .idivq_to_divl,
        .invpcid,
        .lzcnt,
        .macrofusion,
        .mmx,
        .movbe,
        .movdir64b,
        .movdiri,
        .no_bypass_delay_blend,
        .no_bypass_delay_mov,
        .no_bypass_delay_shuffle,
        .nopl,
        .pku,
        .popcnt,
        .prefer_256_bit,
        .prfchw,
        .rdpid,
        .rdrnd,
        .rdseed,
        .sahf,
        .sha,
        .shstk,
        .smap,
        .smep,
        .tuning_fast_imm_vector_shift,
        .vaes,
        .vpclmulqdq,
        .vzeroupper,
        .x87,
        .xsavec,
        .xsaveopt,
        .xsaves,
    }),
}

Constanttremont[src]

Source Code

Source code
pub const tremont: CpuModel = .{
    .name = "tremont",
    .llvm_name = "tremont",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .aes,
        .clflushopt,
        .clwb,
        .cmov,
        .cx16,
        .fast_imm16,
        .fast_movbe,
        .fsgsbase,
        .fxsr,
        .gfni,
        .mmx,
        .movbe,
        .no_bypass_delay,
        .nopl,
        .pclmul,
        .popcnt,
        .prfchw,
        .ptwrite,
        .rdpid,
        .rdrnd,
        .rdseed,
        .sahf,
        .sha,
        .slow_incdec,
        .slow_lea,
        .slow_two_mem_ops,
        .sse4_2,
        .use_glm_div_sqrt_costs,
        .vzeroupper,
        .x87,
        .xsavec,
        .xsaveopt,
        .xsaves,
    }),
}

Constantwestmere[src]

Source Code

Source code
pub const westmere: CpuModel = .{
    .name = "westmere",
    .llvm_name = "westmere",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .cmov,
        .cx16,
        .fxsr,
        .idivq_to_divl,
        .macrofusion,
        .mmx,
        .no_bypass_delay_mov,
        .nopl,
        .pclmul,
        .popcnt,
        .sahf,
        .sse4_2,
        .vzeroupper,
        .x87,
    }),
}

Constantwinchip2[src]

Source Code

Source code
pub const winchip2: CpuModel = .{
    .name = "winchip2",
    .llvm_name = "winchip2",
    .features = featureSet(&[_]Feature{
        .@"3dnow",
        .prfchw,
        .slow_unaligned_mem_16,
        .vzeroupper,
        .x87,
    }),
}

Constantwinchip_c6[src]

Source Code

Source code
pub const winchip_c6: CpuModel = .{
    .name = "winchip_c6",
    .llvm_name = "winchip-c6",
    .features = featureSet(&[_]Feature{
        .mmx,
        .slow_unaligned_mem_16,
        .vzeroupper,
        .x87,
    }),
}

Constantx86_64[src]

Source Code

Source code
pub const x86_64: CpuModel = .{
    .name = "x86_64",
    .llvm_name = "x86-64",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .cmov,
        .cx8,
        .fxsr,
        .idivq_to_divl,
        .macrofusion,
        .mmx,
        .nopl,
        .slow_3ops_lea,
        .slow_incdec,
        .sse2,
        .vzeroupper,
        .x87,
    }),
}

Constantx86_64_v2[src]

Source Code

Source code
pub const x86_64_v2: CpuModel = .{
    .name = "x86_64_v2",
    .llvm_name = "x86-64-v2",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .cmov,
        .cx16,
        .false_deps_popcnt,
        .fast_15bytenop,
        .fast_scalar_fsqrt,
        .fast_shld_rotate,
        .fxsr,
        .idivq_to_divl,
        .macrofusion,
        .mmx,
        .nopl,
        .popcnt,
        .sahf,
        .slow_3ops_lea,
        .slow_unaligned_mem_32,
        .sse4_2,
        .vzeroupper,
        .x87,
    }),
}

Constantx86_64_v3[src]

Source Code

Source code
pub const x86_64_v3: CpuModel = .{
    .name = "x86_64_v3",
    .llvm_name = "x86-64-v3",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .allow_light_256_bit,
        .avx2,
        .bmi,
        .bmi2,
        .cmov,
        .cx16,
        .f16c,
        .false_deps_lzcnt_tzcnt,
        .false_deps_popcnt,
        .fast_15bytenop,
        .fast_scalar_fsqrt,
        .fast_shld_rotate,
        .fast_variable_crosslane_shuffle,
        .fast_variable_perlane_shuffle,
        .fma,
        .fxsr,
        .idivq_to_divl,
        .lzcnt,
        .macrofusion,
        .mmx,
        .movbe,
        .nopl,
        .popcnt,
        .sahf,
        .slow_3ops_lea,
        .vzeroupper,
        .x87,
        .xsave,
    }),
}

Constantx86_64_v4[src]

Source Code

Source code
pub const x86_64_v4: CpuModel = .{
    .name = "x86_64_v4",
    .llvm_name = "x86-64-v4",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .allow_light_256_bit,
        .avx512bw,
        .avx512cd,
        .avx512dq,
        .avx512vl,
        .bmi,
        .bmi2,
        .cmov,
        .cx16,
        .evex512,
        .false_deps_popcnt,
        .fast_15bytenop,
        .fast_gather,
        .fast_scalar_fsqrt,
        .fast_shld_rotate,
        .fast_variable_crosslane_shuffle,
        .fast_variable_perlane_shuffle,
        .fast_vector_fsqrt,
        .fxsr,
        .idivq_to_divl,
        .lzcnt,
        .macrofusion,
        .mmx,
        .movbe,
        .nopl,
        .popcnt,
        .prefer_256_bit,
        .sahf,
        .slow_3ops_lea,
        .vzeroupper,
        .x87,
        .xsave,
    }),
}

Constantyonah[src]

Source Code

Source code
pub const yonah: CpuModel = .{
    .name = "yonah",
    .llvm_name = "yonah",
    .features = featureSet(&[_]Feature{
        .cmov,
        .cx8,
        .fxsr,
        .mmx,
        .nopl,
        .slow_unaligned_mem_16,
        .sse3,
        .vzeroupper,
        .x87,
    }),
}

Constantznver1[src]

Source Code

Source code
pub const znver1: CpuModel = .{
    .name = "znver1",
    .llvm_name = "znver1",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .adx,
        .aes,
        .allow_light_256_bit,
        .avx2,
        .bmi,
        .bmi2,
        .branchfusion,
        .clflushopt,
        .clzero,
        .cmov,
        .cx16,
        .f16c,
        .fast_15bytenop,
        .fast_bextr,
        .fast_imm16,
        .fast_lzcnt,
        .fast_movbe,
        .fast_scalar_fsqrt,
        .fast_scalar_shift_masks,
        .fast_variable_perlane_shuffle,
        .fast_vector_fsqrt,
        .fma,
        .fsgsbase,
        .fxsr,
        .idivq_to_divl,
        .lzcnt,
        .mmx,
        .movbe,
        .mwaitx,
        .nopl,
        .pclmul,
        .popcnt,
        .prfchw,
        .rdrnd,
        .rdseed,
        .sahf,
        .sbb_dep_breaking,
        .sha,
        .slow_shld,
        .smap,
        .smep,
        .sse4a,
        .vzeroupper,
        .x87,
        .xsavec,
        .xsaveopt,
        .xsaves,
    }),
}

Constantznver2[src]

Source Code

Source code
pub const znver2: CpuModel = .{
    .name = "znver2",
    .llvm_name = "znver2",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .adx,
        .aes,
        .allow_light_256_bit,
        .avx2,
        .bmi,
        .bmi2,
        .branchfusion,
        .clflushopt,
        .clwb,
        .clzero,
        .cmov,
        .cx16,
        .f16c,
        .fast_15bytenop,
        .fast_bextr,
        .fast_imm16,
        .fast_lzcnt,
        .fast_movbe,
        .fast_scalar_fsqrt,
        .fast_scalar_shift_masks,
        .fast_variable_perlane_shuffle,
        .fast_vector_fsqrt,
        .fma,
        .fsgsbase,
        .fxsr,
        .idivq_to_divl,
        .lzcnt,
        .mmx,
        .movbe,
        .mwaitx,
        .nopl,
        .pclmul,
        .popcnt,
        .prfchw,
        .rdpid,
        .rdpru,
        .rdrnd,
        .rdseed,
        .sahf,
        .sbb_dep_breaking,
        .sha,
        .slow_shld,
        .smap,
        .smep,
        .sse4a,
        .vzeroupper,
        .wbnoinvd,
        .x87,
        .xsavec,
        .xsaveopt,
        .xsaves,
    }),
}

Constantznver3[src]

Source Code

Source code
pub const znver3: CpuModel = .{
    .name = "znver3",
    .llvm_name = "znver3",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .adx,
        .allow_light_256_bit,
        .bmi,
        .bmi2,
        .branchfusion,
        .clflushopt,
        .clwb,
        .clzero,
        .cmov,
        .cx16,
        .f16c,
        .fast_15bytenop,
        .fast_bextr,
        .fast_imm16,
        .fast_lzcnt,
        .fast_movbe,
        .fast_scalar_fsqrt,
        .fast_scalar_shift_masks,
        .fast_variable_perlane_shuffle,
        .fast_vector_fsqrt,
        .fma,
        .fsgsbase,
        .fsrm,
        .fxsr,
        .idivq_to_divl,
        .invpcid,
        .lzcnt,
        .macrofusion,
        .mmx,
        .movbe,
        .mwaitx,
        .nopl,
        .pku,
        .popcnt,
        .prfchw,
        .rdpid,
        .rdpru,
        .rdrnd,
        .rdseed,
        .sahf,
        .sbb_dep_breaking,
        .sha,
        .slow_shld,
        .smap,
        .smep,
        .sse4a,
        .vaes,
        .vpclmulqdq,
        .vzeroupper,
        .wbnoinvd,
        .x87,
        .xsavec,
        .xsaveopt,
        .xsaves,
    }),
}

Constantznver4[src]

Source Code

Source code
pub const znver4: CpuModel = .{
    .name = "znver4",
    .llvm_name = "znver4",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .adx,
        .allow_light_256_bit,
        .avx512bf16,
        .avx512bitalg,
        .avx512cd,
        .avx512dq,
        .avx512ifma,
        .avx512vbmi,
        .avx512vbmi2,
        .avx512vl,
        .avx512vnni,
        .avx512vpopcntdq,
        .bmi,
        .bmi2,
        .branchfusion,
        .clflushopt,
        .clwb,
        .clzero,
        .cmov,
        .cx16,
        .evex512,
        .fast_15bytenop,
        .fast_bextr,
        .fast_dpwssd,
        .fast_imm16,
        .fast_lzcnt,
        .fast_movbe,
        .fast_scalar_fsqrt,
        .fast_scalar_shift_masks,
        .fast_variable_perlane_shuffle,
        .fast_vector_fsqrt,
        .fsgsbase,
        .fsrm,
        .fxsr,
        .gfni,
        .idivq_to_divl,
        .invpcid,
        .lzcnt,
        .macrofusion,
        .mmx,
        .movbe,
        .mwaitx,
        .nopl,
        .pku,
        .popcnt,
        .prfchw,
        .rdpid,
        .rdpru,
        .rdrnd,
        .rdseed,
        .sahf,
        .sbb_dep_breaking,
        .sha,
        .shstk,
        .slow_shld,
        .smap,
        .smep,
        .sse4a,
        .vaes,
        .vpclmulqdq,
        .vzeroupper,
        .wbnoinvd,
        .x87,
        .xsavec,
        .xsaveopt,
        .xsaves,
    }),
}

Constantznver5[src]

Source Code

Source code
pub const znver5: CpuModel = .{
    .name = "znver5",
    .llvm_name = "znver5",
    .features = featureSet(&[_]Feature{
        .@"64bit",
        .adx,
        .allow_light_256_bit,
        .avx512bf16,
        .avx512bitalg,
        .avx512cd,
        .avx512dq,
        .avx512ifma,
        .avx512vbmi,
        .avx512vbmi2,
        .avx512vl,
        .avx512vnni,
        .avx512vp2intersect,
        .avx512vpopcntdq,
        .avxvnni,
        .bmi,
        .bmi2,
        .branchfusion,
        .clflushopt,
        .clwb,
        .clzero,
        .cmov,
        .cx16,
        .evex512,
        .fast_15bytenop,
        .fast_bextr,
        .fast_dpwssd,
        .fast_imm16,
        .fast_lzcnt,
        .fast_movbe,
        .fast_scalar_fsqrt,
        .fast_scalar_shift_masks,
        .fast_variable_perlane_shuffle,
        .fast_vector_fsqrt,
        .fsgsbase,
        .fsrm,
        .fxsr,
        .gfni,
        .idivq_to_divl,
        .invpcid,
        .lzcnt,
        .macrofusion,
        .mmx,
        .movbe,
        .movdir64b,
        .movdiri,
        .mwaitx,
        .nopl,
        .pku,
        .popcnt,
        .prefetchi,
        .prfchw,
        .rdpid,
        .rdpru,
        .rdrnd,
        .rdseed,
        .sahf,
        .sbb_dep_breaking,
        .sha,
        .shstk,
        .slow_shld,
        .smap,
        .smep,
        .sse4a,
        .vaes,
        .vpclmulqdq,
        .vzeroupper,
        .wbnoinvd,
        .x87,
        .xsavec,
        .xsaveopt,
        .xsaves,
    }),
}

Source Code

Source code
pub const cpu = struct {
    pub const alderlake: CpuModel = .{
        .name = "alderlake",
        .llvm_name = "alderlake",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .adx,
            .allow_light_256_bit,
            .avxvnni,
            .bmi,
            .bmi2,
            .cldemote,
            .clflushopt,
            .clwb,
            .cmov,
            .cx16,
            .f16c,
            .false_deps_perm,
            .false_deps_popcnt,
            .fast_15bytenop,
            .fast_gather,
            .fast_scalar_fsqrt,
            .fast_shld_rotate,
            .fast_variable_crosslane_shuffle,
            .fast_variable_perlane_shuffle,
            .fast_vector_fsqrt,
            .fma,
            .fsgsbase,
            .fxsr,
            .gfni,
            .hreset,
            .idivq_to_divl,
            .invpcid,
            .lzcnt,
            .macrofusion,
            .mmx,
            .movbe,
            .movdir64b,
            .movdiri,
            .no_bypass_delay_blend,
            .no_bypass_delay_mov,
            .no_bypass_delay_shuffle,
            .nopl,
            .pconfig,
            .pku,
            .popcnt,
            .prefer_movmsk_over_vtest,
            .prfchw,
            .ptwrite,
            .rdpid,
            .rdrnd,
            .rdseed,
            .sahf,
            .serialize,
            .sha,
            .shstk,
            .slow_3ops_lea,
            .smap,
            .smep,
            .tuning_fast_imm_vector_shift,
            .vaes,
            .vpclmulqdq,
            .vzeroupper,
            .waitpkg,
            .widekl,
            .x87,
            .xsavec,
            .xsaveopt,
            .xsaves,
        }),
    };
    pub const amdfam10: CpuModel = .{
        .name = "amdfam10",
        .llvm_name = "amdfam10",
        .features = featureSet(&[_]Feature{
            .@"3dnowa",
            .@"64bit",
            .cmov,
            .cx16,
            .fast_scalar_shift_masks,
            .fxsr,
            .idivq_to_divl,
            .lzcnt,
            .nopl,
            .popcnt,
            .prfchw,
            .sahf,
            .sbb_dep_breaking,
            .slow_shld,
            .sse4a,
            .vzeroupper,
            .x87,
        }),
    };
    pub const arrowlake: CpuModel = .{
        .name = "arrowlake",
        .llvm_name = "arrowlake",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .adx,
            .allow_light_256_bit,
            .avxifma,
            .avxneconvert,
            .avxvnni,
            .avxvnniint8,
            .bmi,
            .bmi2,
            .cldemote,
            .clflushopt,
            .clwb,
            .cmov,
            .cmpccxadd,
            .cx16,
            .enqcmd,
            .f16c,
            .false_deps_perm,
            .false_deps_popcnt,
            .fast_15bytenop,
            .fast_gather,
            .fast_scalar_fsqrt,
            .fast_shld_rotate,
            .fast_variable_crosslane_shuffle,
            .fast_variable_perlane_shuffle,
            .fast_vector_fsqrt,
            .fma,
            .fsgsbase,
            .fxsr,
            .gfni,
            .hreset,
            .idivq_to_divl,
            .invpcid,
            .lzcnt,
            .macrofusion,
            .mmx,
            .movbe,
            .movdir64b,
            .movdiri,
            .no_bypass_delay_blend,
            .no_bypass_delay_mov,
            .no_bypass_delay_shuffle,
            .nopl,
            .pconfig,
            .pku,
            .popcnt,
            .prefer_movmsk_over_vtest,
            .prfchw,
            .ptwrite,
            .rdpid,
            .rdrnd,
            .rdseed,
            .sahf,
            .serialize,
            .sha,
            .shstk,
            .slow_3ops_lea,
            .smap,
            .smep,
            .tuning_fast_imm_vector_shift,
            .uintr,
            .vaes,
            .vpclmulqdq,
            .vzeroupper,
            .waitpkg,
            .widekl,
            .x87,
            .xsavec,
            .xsaveopt,
            .xsaves,
        }),
    };
    pub const arrowlake_s: CpuModel = .{
        .name = "arrowlake_s",
        .llvm_name = "arrowlake-s",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .adx,
            .allow_light_256_bit,
            .avxifma,
            .avxneconvert,
            .avxvnni,
            .avxvnniint16,
            .avxvnniint8,
            .bmi,
            .bmi2,
            .cldemote,
            .clflushopt,
            .clwb,
            .cmov,
            .cmpccxadd,
            .cx16,
            .enqcmd,
            .f16c,
            .false_deps_perm,
            .false_deps_popcnt,
            .fast_15bytenop,
            .fast_gather,
            .fast_scalar_fsqrt,
            .fast_shld_rotate,
            .fast_variable_crosslane_shuffle,
            .fast_variable_perlane_shuffle,
            .fast_vector_fsqrt,
            .fma,
            .fsgsbase,
            .fxsr,
            .gfni,
            .hreset,
            .idivq_to_divl,
            .invpcid,
            .lzcnt,
            .macrofusion,
            .mmx,
            .movbe,
            .movdir64b,
            .movdiri,
            .no_bypass_delay_blend,
            .no_bypass_delay_mov,
            .no_bypass_delay_shuffle,
            .nopl,
            .pconfig,
            .pku,
            .popcnt,
            .prefer_movmsk_over_vtest,
            .prfchw,
            .ptwrite,
            .rdpid,
            .rdrnd,
            .rdseed,
            .sahf,
            .serialize,
            .sha,
            .sha512,
            .shstk,
            .slow_3ops_lea,
            .sm3,
            .sm4,
            .smap,
            .smep,
            .tuning_fast_imm_vector_shift,
            .uintr,
            .vaes,
            .vpclmulqdq,
            .vzeroupper,
            .waitpkg,
            .widekl,
            .x87,
            .xsavec,
            .xsaveopt,
            .xsaves,
        }),
    };
    pub const athlon: CpuModel = .{
        .name = "athlon",
        .llvm_name = "athlon",
        .features = featureSet(&[_]Feature{
            .@"3dnowa",
            .cmov,
            .cx8,
            .nopl,
            .prfchw,
            .slow_shld,
            .slow_unaligned_mem_16,
            .vzeroupper,
            .x87,
        }),
    };
    pub const athlon64: CpuModel = .{
        .name = "athlon64",
        .llvm_name = "athlon64",
        .features = featureSet(&[_]Feature{
            .@"3dnowa",
            .@"64bit",
            .cmov,
            .cx8,
            .fast_scalar_shift_masks,
            .fxsr,
            .nopl,
            .prfchw,
            .sbb_dep_breaking,
            .slow_shld,
            .slow_unaligned_mem_16,
            .sse2,
            .vzeroupper,
            .x87,
        }),
    };
    pub const athlon64_sse3: CpuModel = .{
        .name = "athlon64_sse3",
        .llvm_name = "athlon64-sse3",
        .features = featureSet(&[_]Feature{
            .@"3dnowa",
            .@"64bit",
            .cmov,
            .cx16,
            .fast_scalar_shift_masks,
            .fxsr,
            .nopl,
            .prfchw,
            .sbb_dep_breaking,
            .slow_shld,
            .slow_unaligned_mem_16,
            .sse3,
            .vzeroupper,
            .x87,
        }),
    };
    pub const athlon_4: CpuModel = .{
        .name = "athlon_4",
        .llvm_name = "athlon-4",
        .features = featureSet(&[_]Feature{
            .@"3dnowa",
            .cmov,
            .cx8,
            .fxsr,
            .nopl,
            .prfchw,
            .slow_shld,
            .slow_unaligned_mem_16,
            .sse,
            .vzeroupper,
            .x87,
        }),
    };
    pub const athlon_fx: CpuModel = .{
        .name = "athlon_fx",
        .llvm_name = "athlon-fx",
        .features = featureSet(&[_]Feature{
            .@"3dnowa",
            .@"64bit",
            .cmov,
            .cx8,
            .fast_scalar_shift_masks,
            .fxsr,
            .nopl,
            .prfchw,
            .sbb_dep_breaking,
            .slow_shld,
            .slow_unaligned_mem_16,
            .sse2,
            .vzeroupper,
            .x87,
        }),
    };
    pub const athlon_mp: CpuModel = .{
        .name = "athlon_mp",
        .llvm_name = "athlon-mp",
        .features = featureSet(&[_]Feature{
            .@"3dnowa",
            .cmov,
            .cx8,
            .fxsr,
            .nopl,
            .prfchw,
            .slow_shld,
            .slow_unaligned_mem_16,
            .sse,
            .vzeroupper,
            .x87,
        }),
    };
    pub const athlon_tbird: CpuModel = .{
        .name = "athlon_tbird",
        .llvm_name = "athlon-tbird",
        .features = featureSet(&[_]Feature{
            .@"3dnowa",
            .cmov,
            .cx8,
            .nopl,
            .prfchw,
            .slow_shld,
            .slow_unaligned_mem_16,
            .vzeroupper,
            .x87,
        }),
    };
    pub const athlon_xp: CpuModel = .{
        .name = "athlon_xp",
        .llvm_name = "athlon-xp",
        .features = featureSet(&[_]Feature{
            .@"3dnowa",
            .cmov,
            .cx8,
            .fxsr,
            .nopl,
            .prfchw,
            .slow_shld,
            .slow_unaligned_mem_16,
            .sse,
            .vzeroupper,
            .x87,
        }),
    };
    pub const atom: CpuModel = .{
        .name = "atom",
        .llvm_name = "atom",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .cmov,
            .cx16,
            .fast_imm16,
            .fxsr,
            .idivl_to_divb,
            .idivq_to_divl,
            .lea_sp,
            .lea_uses_ag,
            .mmx,
            .movbe,
            .no_bypass_delay,
            .nopl,
            .pad_short_functions,
            .sahf,
            .slow_two_mem_ops,
            .slow_unaligned_mem_16,
            .ssse3,
            .vzeroupper,
            .x87,
        }),
    };
    pub const atom_sse4_2_movbe: CpuModel = .{
        .name = "atom_sse4_2_movbe",
        .llvm_name = "atom_sse4_2_movbe",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .aes,
            .clflushopt,
            .cmov,
            .cx16,
            .false_deps_popcnt,
            .fast_7bytenop,
            .fast_imm16,
            .fast_movbe,
            .fsgsbase,
            .fxsr,
            .idivq_to_divl,
            .mmx,
            .movbe,
            .no_bypass_delay,
            .nopl,
            .pclmul,
            .popcnt,
            .prfchw,
            .rdrnd,
            .rdseed,
            .sahf,
            .sha,
            .slow_incdec,
            .slow_lea,
            .slow_pmulld,
            .slow_two_mem_ops,
            .sse4_2,
            .use_slm_arith_costs,
            .vzeroupper,
            .x87,
            .xsavec,
            .xsaveopt,
            .xsaves,
        }),
    };
    pub const barcelona: CpuModel = .{
        .name = "barcelona",
        .llvm_name = "barcelona",
        .features = featureSet(&[_]Feature{
            .@"3dnowa",
            .@"64bit",
            .cmov,
            .cx16,
            .fast_scalar_shift_masks,
            .fxsr,
            .idivq_to_divl,
            .lzcnt,
            .nopl,
            .popcnt,
            .prfchw,
            .sahf,
            .sbb_dep_breaking,
            .slow_shld,
            .smap,
            .smep,
            .sse4a,
            .vzeroupper,
            .x87,
        }),
    };
    pub const bdver1: CpuModel = .{
        .name = "bdver1",
        .llvm_name = "bdver1",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .aes,
            .branchfusion,
            .cmov,
            .cx16,
            .fast_11bytenop,
            .fast_scalar_shift_masks,
            .fxsr,
            .idivq_to_divl,
            .lwp,
            .lzcnt,
            .mmx,
            .nopl,
            .pclmul,
            .popcnt,
            .prfchw,
            .sahf,
            .sbb_dep_breaking,
            .slow_shld,
            .vzeroupper,
            .x87,
            .xop,
            .xsave,
        }),
    };
    pub const bdver2: CpuModel = .{
        .name = "bdver2",
        .llvm_name = "bdver2",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .aes,
            .bmi,
            .branchfusion,
            .cmov,
            .cx16,
            .f16c,
            .fast_11bytenop,
            .fast_bextr,
            .fast_movbe,
            .fast_scalar_shift_masks,
            .fma,
            .fxsr,
            .idivq_to_divl,
            .lwp,
            .lzcnt,
            .mmx,
            .nopl,
            .pclmul,
            .popcnt,
            .prfchw,
            .sahf,
            .sbb_dep_breaking,
            .slow_shld,
            .tbm,
            .vzeroupper,
            .x87,
            .xop,
            .xsave,
        }),
    };
    pub const bdver3: CpuModel = .{
        .name = "bdver3",
        .llvm_name = "bdver3",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .aes,
            .bmi,
            .branchfusion,
            .cmov,
            .cx16,
            .f16c,
            .fast_11bytenop,
            .fast_bextr,
            .fast_movbe,
            .fast_scalar_shift_masks,
            .fma,
            .fsgsbase,
            .fxsr,
            .idivq_to_divl,
            .lwp,
            .lzcnt,
            .mmx,
            .nopl,
            .pclmul,
            .popcnt,
            .prfchw,
            .sahf,
            .sbb_dep_breaking,
            .slow_shld,
            .tbm,
            .vzeroupper,
            .x87,
            .xop,
            .xsaveopt,
        }),
    };
    pub const bdver4: CpuModel = .{
        .name = "bdver4",
        .llvm_name = "bdver4",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .aes,
            .avx2,
            .bmi,
            .bmi2,
            .branchfusion,
            .cmov,
            .cx16,
            .f16c,
            .fast_11bytenop,
            .fast_bextr,
            .fast_movbe,
            .fast_scalar_shift_masks,
            .fma,
            .fsgsbase,
            .fxsr,
            .idivq_to_divl,
            .lwp,
            .lzcnt,
            .mmx,
            .movbe,
            .mwaitx,
            .nopl,
            .pclmul,
            .popcnt,
            .prfchw,
            .rdrnd,
            .sahf,
            .sbb_dep_breaking,
            .slow_shld,
            .tbm,
            .vzeroupper,
            .x87,
            .xop,
            .xsaveopt,
        }),
    };
    pub const bonnell: CpuModel = .{
        .name = "bonnell",
        .llvm_name = "bonnell",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .cmov,
            .cx16,
            .fast_imm16,
            .fxsr,
            .idivl_to_divb,
            .idivq_to_divl,
            .lea_sp,
            .lea_uses_ag,
            .mmx,
            .movbe,
            .no_bypass_delay,
            .nopl,
            .pad_short_functions,
            .sahf,
            .slow_two_mem_ops,
            .slow_unaligned_mem_16,
            .ssse3,
            .vzeroupper,
            .x87,
        }),
    };
    pub const broadwell: CpuModel = .{
        .name = "broadwell",
        .llvm_name = "broadwell",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .adx,
            .allow_light_256_bit,
            .avx2,
            .bmi,
            .bmi2,
            .cmov,
            .cx16,
            .ermsb,
            .f16c,
            .false_deps_lzcnt_tzcnt,
            .false_deps_popcnt,
            .fast_15bytenop,
            .fast_scalar_fsqrt,
            .fast_shld_rotate,
            .fast_variable_crosslane_shuffle,
            .fast_variable_perlane_shuffle,
            .fma,
            .fsgsbase,
            .fxsr,
            .idivq_to_divl,
            .invpcid,
            .lzcnt,
            .macrofusion,
            .mmx,
            .movbe,
            .no_bypass_delay_mov,
            .no_bypass_delay_shuffle,
            .nopl,
            .pclmul,
            .popcnt,
            .prfchw,
            .rdrnd,
            .rdseed,
            .sahf,
            .slow_3ops_lea,
            .smap,
            .smep,
            .vzeroupper,
            .x87,
            .xsaveopt,
        }),
    };
    pub const btver1: CpuModel = .{
        .name = "btver1",
        .llvm_name = "btver1",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .cmov,
            .cx16,
            .fast_15bytenop,
            .fast_imm16,
            .fast_scalar_shift_masks,
            .fast_vector_shift_masks,
            .fxsr,
            .idivq_to_divl,
            .lzcnt,
            .mmx,
            .nopl,
            .popcnt,
            .prfchw,
            .sahf,
            .sbb_dep_breaking,
            .slow_shld,
            .sse4a,
            .ssse3,
            .vzeroupper,
            .x87,
        }),
    };
    pub const btver2: CpuModel = .{
        .name = "btver2",
        .llvm_name = "btver2",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .aes,
            .bmi,
            .cmov,
            .cx16,
            .f16c,
            .fast_15bytenop,
            .fast_bextr,
            .fast_hops,
            .fast_imm16,
            .fast_lzcnt,
            .fast_movbe,
            .fast_scalar_shift_masks,
            .fast_vector_shift_masks,
            .fxsr,
            .idivq_to_divl,
            .lzcnt,
            .mmx,
            .movbe,
            .nopl,
            .pclmul,
            .popcnt,
            .prfchw,
            .sahf,
            .sbb_dep_breaking,
            .slow_shld,
            .sse4a,
            .x87,
            .xsaveopt,
        }),
    };
    pub const c3: CpuModel = .{
        .name = "c3",
        .llvm_name = "c3",
        .features = featureSet(&[_]Feature{
            .@"3dnow",
            .prfchw,
            .slow_unaligned_mem_16,
            .vzeroupper,
            .x87,
        }),
    };
    pub const c3_2: CpuModel = .{
        .name = "c3_2",
        .llvm_name = "c3-2",
        .features = featureSet(&[_]Feature{
            .cmov,
            .cx8,
            .fxsr,
            .mmx,
            .slow_unaligned_mem_16,
            .sse,
            .vzeroupper,
            .x87,
        }),
    };
    pub const cannonlake: CpuModel = .{
        .name = "cannonlake",
        .llvm_name = "cannonlake",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .adx,
            .aes,
            .allow_light_256_bit,
            .avx512cd,
            .avx512dq,
            .avx512ifma,
            .avx512vbmi,
            .avx512vl,
            .bmi,
            .bmi2,
            .clflushopt,
            .cmov,
            .cx16,
            .ermsb,
            .evex512,
            .fast_15bytenop,
            .fast_gather,
            .fast_scalar_fsqrt,
            .fast_shld_rotate,
            .fast_variable_crosslane_shuffle,
            .fast_variable_perlane_shuffle,
            .fast_vector_fsqrt,
            .fsgsbase,
            .fxsr,
            .idivq_to_divl,
            .invpcid,
            .lzcnt,
            .macrofusion,
            .mmx,
            .movbe,
            .no_bypass_delay_blend,
            .no_bypass_delay_mov,
            .no_bypass_delay_shuffle,
            .nopl,
            .pclmul,
            .pku,
            .popcnt,
            .prefer_256_bit,
            .prfchw,
            .rdrnd,
            .rdseed,
            .sahf,
            .sha,
            .slow_3ops_lea,
            .smap,
            .smep,
            .tuning_fast_imm_vector_shift,
            .vzeroupper,
            .x87,
            .xsavec,
            .xsaveopt,
            .xsaves,
        }),
    };
    pub const cascadelake: CpuModel = .{
        .name = "cascadelake",
        .llvm_name = "cascadelake",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .adx,
            .aes,
            .allow_light_256_bit,
            .avx512bw,
            .avx512cd,
            .avx512dq,
            .avx512vl,
            .avx512vnni,
            .bmi,
            .bmi2,
            .clflushopt,
            .clwb,
            .cmov,
            .cx16,
            .ermsb,
            .evex512,
            .false_deps_popcnt,
            .fast_15bytenop,
            .fast_gather,
            .fast_scalar_fsqrt,
            .fast_shld_rotate,
            .fast_variable_crosslane_shuffle,
            .fast_variable_perlane_shuffle,
            .fast_vector_fsqrt,
            .faster_shift_than_shuffle,
            .fsgsbase,
            .fxsr,
            .idivq_to_divl,
            .invpcid,
            .lzcnt,
            .macrofusion,
            .mmx,
            .movbe,
            .no_bypass_delay_blend,
            .no_bypass_delay_mov,
            .no_bypass_delay_shuffle,
            .nopl,
            .pclmul,
            .pku,
            .popcnt,
            .prefer_256_bit,
            .prfchw,
            .rdrnd,
            .rdseed,
            .sahf,
            .slow_3ops_lea,
            .smap,
            .smep,
            .tuning_fast_imm_vector_shift,
            .vzeroupper,
            .x87,
            .xsavec,
            .xsaveopt,
            .xsaves,
        }),
    };
    pub const clearwaterforest: CpuModel = .{
        .name = "clearwaterforest",
        .llvm_name = "clearwaterforest",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .adx,
            .allow_light_256_bit,
            .avxifma,
            .avxneconvert,
            .avxvnni,
            .avxvnniint16,
            .avxvnniint8,
            .bmi,
            .bmi2,
            .cldemote,
            .clflushopt,
            .clwb,
            .cmov,
            .cmpccxadd,
            .cx16,
            .enqcmd,
            .f16c,
            .false_deps_perm,
            .false_deps_popcnt,
            .fast_15bytenop,
            .fast_gather,
            .fast_scalar_fsqrt,
            .fast_shld_rotate,
            .fast_variable_crosslane_shuffle,
            .fast_variable_perlane_shuffle,
            .fast_vector_fsqrt,
            .fma,
            .fsgsbase,
            .fxsr,
            .gfni,
            .hreset,
            .idivq_to_divl,
            .invpcid,
            .lzcnt,
            .macrofusion,
            .mmx,
            .movbe,
            .movdir64b,
            .movdiri,
            .no_bypass_delay_blend,
            .no_bypass_delay_mov,
            .no_bypass_delay_shuffle,
            .nopl,
            .pconfig,
            .pku,
            .popcnt,
            .prefer_movmsk_over_vtest,
            .prefetchi,
            .prfchw,
            .ptwrite,
            .rdpid,
            .rdrnd,
            .rdseed,
            .sahf,
            .serialize,
            .sha,
            .sha512,
            .shstk,
            .slow_3ops_lea,
            .sm3,
            .sm4,
            .tuning_fast_imm_vector_shift,
            .uintr,
            .usermsr,
            .vaes,
            .vpclmulqdq,
            .vzeroupper,
            .waitpkg,
            .widekl,
            .x87,
            .xsavec,
            .xsaveopt,
            .xsaves,
        }),
    };
    pub const cooperlake: CpuModel = .{
        .name = "cooperlake",
        .llvm_name = "cooperlake",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .adx,
            .aes,
            .allow_light_256_bit,
            .avx512bf16,
            .avx512cd,
            .avx512dq,
            .avx512vl,
            .avx512vnni,
            .bmi,
            .bmi2,
            .clflushopt,
            .clwb,
            .cmov,
            .cx16,
            .ermsb,
            .evex512,
            .false_deps_popcnt,
            .fast_15bytenop,
            .fast_gather,
            .fast_scalar_fsqrt,
            .fast_shld_rotate,
            .fast_variable_crosslane_shuffle,
            .fast_variable_perlane_shuffle,
            .fast_vector_fsqrt,
            .faster_shift_than_shuffle,
            .fsgsbase,
            .fxsr,
            .idivq_to_divl,
            .invpcid,
            .lzcnt,
            .macrofusion,
            .mmx,
            .movbe,
            .no_bypass_delay_blend,
            .no_bypass_delay_mov,
            .no_bypass_delay_shuffle,
            .nopl,
            .pclmul,
            .pku,
            .popcnt,
            .prefer_256_bit,
            .prfchw,
            .rdrnd,
            .rdseed,
            .sahf,
            .slow_3ops_lea,
            .tuning_fast_imm_vector_shift,
            .vzeroupper,
            .x87,
            .xsavec,
            .xsaveopt,
            .xsaves,
        }),
    };
    pub const core2: CpuModel = .{
        .name = "core2",
        .llvm_name = "core2",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .cmov,
            .cx16,
            .fxsr,
            .macrofusion,
            .mmx,
            .nopl,
            .sahf,
            .slow_unaligned_mem_16,
            .ssse3,
            .vzeroupper,
            .x87,
        }),
    };
    pub const corei7: CpuModel = .{
        .name = "corei7",
        .llvm_name = "corei7",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .cmov,
            .cx16,
            .fxsr,
            .idivq_to_divl,
            .macrofusion,
            .mmx,
            .no_bypass_delay_mov,
            .nopl,
            .popcnt,
            .sahf,
            .sse4_2,
            .vzeroupper,
            .x87,
        }),
    };
    pub const emeraldrapids: CpuModel = .{
        .name = "emeraldrapids",
        .llvm_name = "emeraldrapids",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .adx,
            .allow_light_256_bit,
            .amx_bf16,
            .amx_int8,
            .avx512bf16,
            .avx512bitalg,
            .avx512cd,
            .avx512fp16,
            .avx512ifma,
            .avx512vbmi,
            .avx512vbmi2,
            .avx512vnni,
            .avx512vpopcntdq,
            .avxvnni,
            .bmi,
            .bmi2,
            .cldemote,
            .clflushopt,
            .clwb,
            .cmov,
            .cx16,
            .enqcmd,
            .ermsb,
            .evex512,
            .false_deps_getmant,
            .false_deps_mulc,
            .false_deps_mullq,
            .false_deps_perm,
            .false_deps_range,
            .fast_15bytenop,
            .fast_gather,
            .fast_scalar_fsqrt,
            .fast_shld_rotate,
            .fast_variable_crosslane_shuffle,
            .fast_variable_perlane_shuffle,
            .fast_vector_fsqrt,
            .fsgsbase,
            .fsrm,
            .fxsr,
            .gfni,
            .idivq_to_divl,
            .invpcid,
            .lzcnt,
            .macrofusion,
            .mmx,
            .movbe,
            .movdir64b,
            .movdiri,
            .no_bypass_delay_blend,
            .no_bypass_delay_mov,
            .no_bypass_delay_shuffle,
            .nopl,
            .pconfig,
            .pku,
            .popcnt,
            .prefer_256_bit,
            .prfchw,
            .ptwrite,
            .rdpid,
            .rdrnd,
            .rdseed,
            .sahf,
            .serialize,
            .sha,
            .shstk,
            .smap,
            .smep,
            .tsxldtrk,
            .tuning_fast_imm_vector_shift,
            .uintr,
            .vaes,
            .vpclmulqdq,
            .vzeroupper,
            .waitpkg,
            .wbnoinvd,
            .x87,
            .xsavec,
            .xsaveopt,
            .xsaves,
        }),
    };
    pub const generic: CpuModel = .{
        .name = "generic",
        .llvm_name = "generic",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .cx8,
            .fast_15bytenop,
            .fast_scalar_fsqrt,
            .idivq_to_divl,
            .macrofusion,
            .slow_3ops_lea,
            .vzeroupper,
            .x87,
        }),
    };
    pub const geode: CpuModel = .{
        .name = "geode",
        .llvm_name = "geode",
        .features = featureSet(&[_]Feature{
            .@"3dnowa",
            .cx8,
            .prfchw,
            .slow_unaligned_mem_16,
            .vzeroupper,
            .x87,
        }),
    };
    pub const goldmont: CpuModel = .{
        .name = "goldmont",
        .llvm_name = "goldmont",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .aes,
            .clflushopt,
            .cmov,
            .cx16,
            .false_deps_popcnt,
            .fast_imm16,
            .fast_movbe,
            .fsgsbase,
            .fxsr,
            .mmx,
            .movbe,
            .no_bypass_delay,
            .nopl,
            .pclmul,
            .popcnt,
            .prfchw,
            .rdrnd,
            .rdseed,
            .sahf,
            .sha,
            .slow_incdec,
            .slow_lea,
            .slow_two_mem_ops,
            .smap,
            .smep,
            .sse4_2,
            .use_glm_div_sqrt_costs,
            .vzeroupper,
            .x87,
            .xsavec,
            .xsaveopt,
            .xsaves,
        }),
    };
    pub const goldmont_plus: CpuModel = .{
        .name = "goldmont_plus",
        .llvm_name = "goldmont-plus",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .aes,
            .clflushopt,
            .cmov,
            .cx16,
            .fast_imm16,
            .fast_movbe,
            .fsgsbase,
            .fxsr,
            .mmx,
            .movbe,
            .no_bypass_delay,
            .nopl,
            .pclmul,
            .popcnt,
            .prfchw,
            .ptwrite,
            .rdpid,
            .rdrnd,
            .rdseed,
            .sahf,
            .sha,
            .slow_incdec,
            .slow_lea,
            .slow_two_mem_ops,
            .sse4_2,
            .use_glm_div_sqrt_costs,
            .vzeroupper,
            .x87,
            .xsavec,
            .xsaveopt,
            .xsaves,
        }),
    };
    pub const gracemont: CpuModel = .{
        .name = "gracemont",
        .llvm_name = "gracemont",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .adx,
            .avxvnni,
            .bmi,
            .bmi2,
            .cldemote,
            .clflushopt,
            .clwb,
            .cmov,
            .cx16,
            .f16c,
            .false_deps_popcnt,
            .fast_15bytenop,
            .fast_scalar_fsqrt,
            .fast_variable_perlane_shuffle,
            .fast_vector_fsqrt,
            .fma,
            .fsgsbase,
            .fxsr,
            .gfni,
            .hreset,
            .invpcid,
            .lzcnt,
            .macrofusion,
            .mmx,
            .movbe,
            .movdir64b,
            .movdiri,
            .nopl,
            .pconfig,
            .pku,
            .popcnt,
            .prfchw,
            .ptwrite,
            .rdpid,
            .rdrnd,
            .rdseed,
            .sahf,
            .serialize,
            .sha,
            .shstk,
            .slow_3ops_lea,
            .vaes,
            .vpclmulqdq,
            .vzeroupper,
            .waitpkg,
            .widekl,
            .x87,
            .xsavec,
            .xsaveopt,
            .xsaves,
        }),
    };
    pub const grandridge: CpuModel = .{
        .name = "grandridge",
        .llvm_name = "grandridge",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .adx,
            .avxifma,
            .avxneconvert,
            .avxvnni,
            .avxvnniint8,
            .bmi,
            .bmi2,
            .cldemote,
            .clflushopt,
            .clwb,
            .cmov,
            .cmpccxadd,
            .cx16,
            .enqcmd,
            .f16c,
            .false_deps_popcnt,
            .fast_15bytenop,
            .fast_scalar_fsqrt,
            .fast_variable_perlane_shuffle,
            .fast_vector_fsqrt,
            .fma,
            .fsgsbase,
            .fxsr,
            .gfni,
            .hreset,
            .invpcid,
            .lzcnt,
            .macrofusion,
            .mmx,
            .movbe,
            .movdir64b,
            .movdiri,
            .nopl,
            .pconfig,
            .pku,
            .popcnt,
            .prfchw,
            .ptwrite,
            .rdpid,
            .rdrnd,
            .rdseed,
            .sahf,
            .serialize,
            .sha,
            .shstk,
            .slow_3ops_lea,
            .uintr,
            .vaes,
            .vpclmulqdq,
            .vzeroupper,
            .waitpkg,
            .widekl,
            .x87,
            .xsavec,
            .xsaveopt,
            .xsaves,
        }),
    };
    pub const graniterapids: CpuModel = .{
        .name = "graniterapids",
        .llvm_name = "graniterapids",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .adx,
            .allow_light_256_bit,
            .amx_bf16,
            .amx_fp16,
            .amx_int8,
            .avx512bf16,
            .avx512bitalg,
            .avx512cd,
            .avx512fp16,
            .avx512ifma,
            .avx512vbmi,
            .avx512vbmi2,
            .avx512vnni,
            .avx512vpopcntdq,
            .avxvnni,
            .bmi,
            .bmi2,
            .branch_hint,
            .cldemote,
            .clflushopt,
            .clwb,
            .cmov,
            .cx16,
            .enqcmd,
            .ermsb,
            .evex512,
            .false_deps_getmant,
            .false_deps_mulc,
            .false_deps_mullq,
            .false_deps_perm,
            .false_deps_range,
            .fast_15bytenop,
            .fast_gather,
            .fast_scalar_fsqrt,
            .fast_shld_rotate,
            .fast_variable_crosslane_shuffle,
            .fast_variable_perlane_shuffle,
            .fast_vector_fsqrt,
            .fsgsbase,
            .fsrm,
            .fxsr,
            .gfni,
            .idivq_to_divl,
            .invpcid,
            .lzcnt,
            .macrofusion,
            .mmx,
            .movbe,
            .movdir64b,
            .movdiri,
            .no_bypass_delay_blend,
            .no_bypass_delay_mov,
            .no_bypass_delay_shuffle,
            .nopl,
            .pconfig,
            .pku,
            .popcnt,
            .prefer_256_bit,
            .prefetchi,
            .prfchw,
            .ptwrite,
            .rdpid,
            .rdrnd,
            .rdseed,
            .sahf,
            .serialize,
            .sha,
            .shstk,
            .tsxldtrk,
            .tuning_fast_imm_vector_shift,
            .uintr,
            .vaes,
            .vpclmulqdq,
            .vzeroupper,
            .waitpkg,
            .wbnoinvd,
            .x87,
            .xsavec,
            .xsaveopt,
            .xsaves,
        }),
    };
    pub const graniterapids_d: CpuModel = .{
        .name = "graniterapids_d",
        .llvm_name = "graniterapids-d",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .adx,
            .allow_light_256_bit,
            .amx_bf16,
            .amx_complex,
            .amx_fp16,
            .amx_int8,
            .avx512bf16,
            .avx512bitalg,
            .avx512cd,
            .avx512fp16,
            .avx512ifma,
            .avx512vbmi,
            .avx512vbmi2,
            .avx512vnni,
            .avx512vpopcntdq,
            .avxvnni,
            .bmi,
            .bmi2,
            .branch_hint,
            .cldemote,
            .clflushopt,
            .clwb,
            .cmov,
            .cx16,
            .enqcmd,
            .ermsb,
            .evex512,
            .false_deps_getmant,
            .false_deps_mulc,
            .false_deps_mullq,
            .false_deps_perm,
            .false_deps_range,
            .fast_15bytenop,
            .fast_gather,
            .fast_scalar_fsqrt,
            .fast_shld_rotate,
            .fast_variable_crosslane_shuffle,
            .fast_variable_perlane_shuffle,
            .fast_vector_fsqrt,
            .fsgsbase,
            .fsrm,
            .fxsr,
            .gfni,
            .idivq_to_divl,
            .invpcid,
            .lzcnt,
            .macrofusion,
            .mmx,
            .movbe,
            .movdir64b,
            .movdiri,
            .no_bypass_delay_blend,
            .no_bypass_delay_mov,
            .no_bypass_delay_shuffle,
            .nopl,
            .pconfig,
            .pku,
            .popcnt,
            .prefer_256_bit,
            .prefetchi,
            .prfchw,
            .ptwrite,
            .rdpid,
            .rdrnd,
            .rdseed,
            .sahf,
            .serialize,
            .sha,
            .shstk,
            .tsxldtrk,
            .tuning_fast_imm_vector_shift,
            .uintr,
            .vaes,
            .vpclmulqdq,
            .vzeroupper,
            .waitpkg,
            .wbnoinvd,
            .x87,
            .xsavec,
            .xsaveopt,
            .xsaves,
        }),
    };
    pub const haswell: CpuModel = .{
        .name = "haswell",
        .llvm_name = "haswell",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .allow_light_256_bit,
            .avx2,
            .bmi,
            .bmi2,
            .cmov,
            .cx16,
            .ermsb,
            .f16c,
            .false_deps_lzcnt_tzcnt,
            .false_deps_popcnt,
            .fast_15bytenop,
            .fast_scalar_fsqrt,
            .fast_shld_rotate,
            .fast_variable_crosslane_shuffle,
            .fast_variable_perlane_shuffle,
            .fma,
            .fsgsbase,
            .fxsr,
            .idivq_to_divl,
            .invpcid,
            .lzcnt,
            .macrofusion,
            .mmx,
            .movbe,
            .no_bypass_delay_mov,
            .no_bypass_delay_shuffle,
            .nopl,
            .pclmul,
            .popcnt,
            .rdrnd,
            .sahf,
            .slow_3ops_lea,
            .smep,
            .vzeroupper,
            .x87,
            .xsaveopt,
        }),
    };
    pub const @"i386": CpuModel = .{
        .name = "i386",
        .llvm_name = "i386",
        .features = featureSet(&[_]Feature{
            .bsf_bsr_0_clobbers_result,
            .slow_unaligned_mem_16,
            .vzeroupper,
            .x87,
        }),
    };
    pub const @"i486": CpuModel = .{
        .name = "i486",
        .llvm_name = "i486",
        .features = featureSet(&[_]Feature{
            .bsf_bsr_0_clobbers_result,
            .slow_unaligned_mem_16,
            .vzeroupper,
            .x87,
        }),
    };
    pub const @"i586": CpuModel = .{
        .name = "i586",
        .llvm_name = "i586",
        .features = featureSet(&[_]Feature{
            .cx8,
            .slow_unaligned_mem_16,
            .vzeroupper,
            .x87,
        }),
    };
    pub const @"i686": CpuModel = .{
        .name = "i686",
        .llvm_name = "i686",
        .features = featureSet(&[_]Feature{
            .cmov,
            .cx8,
            .slow_unaligned_mem_16,
            .vzeroupper,
            .x87,
        }),
    };
    pub const icelake_client: CpuModel = .{
        .name = "icelake_client",
        .llvm_name = "icelake-client",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .adx,
            .allow_light_256_bit,
            .avx512bitalg,
            .avx512cd,
            .avx512dq,
            .avx512ifma,
            .avx512vbmi,
            .avx512vbmi2,
            .avx512vl,
            .avx512vnni,
            .avx512vpopcntdq,
            .bmi,
            .bmi2,
            .clflushopt,
            .cmov,
            .cx16,
            .ermsb,
            .evex512,
            .fast_15bytenop,
            .fast_gather,
            .fast_scalar_fsqrt,
            .fast_shld_rotate,
            .fast_variable_crosslane_shuffle,
            .fast_variable_perlane_shuffle,
            .fast_vector_fsqrt,
            .fsgsbase,
            .fsrm,
            .fxsr,
            .gfni,
            .idivq_to_divl,
            .invpcid,
            .lzcnt,
            .macrofusion,
            .mmx,
            .movbe,
            .no_bypass_delay_blend,
            .no_bypass_delay_mov,
            .no_bypass_delay_shuffle,
            .nopl,
            .pku,
            .popcnt,
            .prefer_256_bit,
            .prfchw,
            .rdpid,
            .rdrnd,
            .rdseed,
            .sahf,
            .sha,
            .tuning_fast_imm_vector_shift,
            .vaes,
            .vpclmulqdq,
            .vzeroupper,
            .x87,
            .xsavec,
            .xsaveopt,
            .xsaves,
        }),
    };
    pub const icelake_server: CpuModel = .{
        .name = "icelake_server",
        .llvm_name = "icelake-server",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .adx,
            .allow_light_256_bit,
            .avx512bitalg,
            .avx512cd,
            .avx512dq,
            .avx512ifma,
            .avx512vbmi,
            .avx512vbmi2,
            .avx512vl,
            .avx512vnni,
            .avx512vpopcntdq,
            .bmi,
            .bmi2,
            .clflushopt,
            .clwb,
            .cmov,
            .cx16,
            .ermsb,
            .evex512,
            .fast_15bytenop,
            .fast_gather,
            .fast_scalar_fsqrt,
            .fast_shld_rotate,
            .fast_variable_crosslane_shuffle,
            .fast_variable_perlane_shuffle,
            .fast_vector_fsqrt,
            .fsgsbase,
            .fsrm,
            .fxsr,
            .gfni,
            .idivq_to_divl,
            .invpcid,
            .lzcnt,
            .macrofusion,
            .mmx,
            .movbe,
            .no_bypass_delay_blend,
            .no_bypass_delay_mov,
            .no_bypass_delay_shuffle,
            .nopl,
            .pconfig,
            .pku,
            .popcnt,
            .prefer_256_bit,
            .prfchw,
            .rdpid,
            .rdrnd,
            .rdseed,
            .sahf,
            .sha,
            .tuning_fast_imm_vector_shift,
            .vaes,
            .vpclmulqdq,
            .vzeroupper,
            .wbnoinvd,
            .x87,
            .xsavec,
            .xsaveopt,
            .xsaves,
        }),
    };
    pub const ivybridge: CpuModel = .{
        .name = "ivybridge",
        .llvm_name = "ivybridge",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .cmov,
            .cx16,
            .f16c,
            .false_deps_popcnt,
            .fast_15bytenop,
            .fast_scalar_fsqrt,
            .fast_shld_rotate,
            .fsgsbase,
            .fxsr,
            .idivq_to_divl,
            .macrofusion,
            .mmx,
            .no_bypass_delay_mov,
            .nopl,
            .pclmul,
            .popcnt,
            .rdrnd,
            .sahf,
            .slow_3ops_lea,
            .slow_unaligned_mem_32,
            .smep,
            .vzeroupper,
            .x87,
            .xsaveopt,
        }),
    };
    pub const k6: CpuModel = .{
        .name = "k6",
        .llvm_name = "k6",
        .features = featureSet(&[_]Feature{
            .cx8,
            .mmx,
            .slow_unaligned_mem_16,
            .vzeroupper,
            .x87,
        }),
    };
    pub const k6_2: CpuModel = .{
        .name = "k6_2",
        .llvm_name = "k6-2",
        .features = featureSet(&[_]Feature{
            .@"3dnow",
            .cx8,
            .prfchw,
            .slow_unaligned_mem_16,
            .vzeroupper,
            .x87,
        }),
    };
    pub const k6_3: CpuModel = .{
        .name = "k6_3",
        .llvm_name = "k6-3",
        .features = featureSet(&[_]Feature{
            .@"3dnow",
            .cx8,
            .prfchw,
            .slow_unaligned_mem_16,
            .vzeroupper,
            .x87,
        }),
    };
    pub const k8: CpuModel = .{
        .name = "k8",
        .llvm_name = "k8",
        .features = featureSet(&[_]Feature{
            .@"3dnowa",
            .@"64bit",
            .cmov,
            .cx8,
            .fast_scalar_shift_masks,
            .fxsr,
            .nopl,
            .prfchw,
            .sbb_dep_breaking,
            .slow_shld,
            .slow_unaligned_mem_16,
            .sse2,
            .vzeroupper,
            .x87,
        }),
    };
    pub const k8_sse3: CpuModel = .{
        .name = "k8_sse3",
        .llvm_name = "k8-sse3",
        .features = featureSet(&[_]Feature{
            .@"3dnowa",
            .@"64bit",
            .cmov,
            .cx16,
            .fast_scalar_shift_masks,
            .fxsr,
            .nopl,
            .prfchw,
            .sbb_dep_breaking,
            .slow_shld,
            .slow_unaligned_mem_16,
            .sse3,
            .vzeroupper,
            .x87,
        }),
    };
    pub const knl: CpuModel = .{
        .name = "knl",
        .llvm_name = "knl",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .adx,
            .aes,
            .avx512cd,
            .avx512er,
            .avx512pf,
            .bmi,
            .bmi2,
            .cmov,
            .cx16,
            .evex512,
            .fast_gather,
            .fast_imm16,
            .fast_movbe,
            .fsgsbase,
            .fxsr,
            .idivq_to_divl,
            .lzcnt,
            .mmx,
            .movbe,
            .nopl,
            .pclmul,
            .popcnt,
            .prefer_mask_registers,
            .prefetchwt1,
            .prfchw,
            .rdrnd,
            .rdseed,
            .sahf,
            .slow_3ops_lea,
            .slow_incdec,
            .slow_pmaddwd,
            .slow_two_mem_ops,
            .x87,
            .xsaveopt,
        }),
    };
    pub const knm: CpuModel = .{
        .name = "knm",
        .llvm_name = "knm",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .adx,
            .aes,
            .avx512cd,
            .avx512er,
            .avx512pf,
            .avx512vpopcntdq,
            .bmi,
            .bmi2,
            .cmov,
            .cx16,
            .evex512,
            .fast_gather,
            .fast_imm16,
            .fast_movbe,
            .fsgsbase,
            .fxsr,
            .idivq_to_divl,
            .lzcnt,
            .mmx,
            .movbe,
            .nopl,
            .pclmul,
            .popcnt,
            .prefer_mask_registers,
            .prefetchwt1,
            .prfchw,
            .rdrnd,
            .rdseed,
            .sahf,
            .slow_3ops_lea,
            .slow_incdec,
            .slow_pmaddwd,
            .slow_two_mem_ops,
            .x87,
            .xsaveopt,
        }),
    };
    pub const lakemont: CpuModel = .{
        .name = "lakemont",
        .llvm_name = "lakemont",
        .features = featureSet(&[_]Feature{
            .cx8,
            .slow_unaligned_mem_16,
            .soft_float,
            .vzeroupper,
        }),
    };
    pub const lunarlake: CpuModel = .{
        .name = "lunarlake",
        .llvm_name = "lunarlake",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .adx,
            .allow_light_256_bit,
            .avxifma,
            .avxneconvert,
            .avxvnni,
            .avxvnniint16,
            .avxvnniint8,
            .bmi,
            .bmi2,
            .cldemote,
            .clflushopt,
            .clwb,
            .cmov,
            .cmpccxadd,
            .cx16,
            .enqcmd,
            .f16c,
            .false_deps_perm,
            .false_deps_popcnt,
            .fast_15bytenop,
            .fast_gather,
            .fast_scalar_fsqrt,
            .fast_shld_rotate,
            .fast_variable_crosslane_shuffle,
            .fast_variable_perlane_shuffle,
            .fast_vector_fsqrt,
            .fma,
            .fsgsbase,
            .fxsr,
            .gfni,
            .hreset,
            .idivq_to_divl,
            .invpcid,
            .lzcnt,
            .macrofusion,
            .mmx,
            .movbe,
            .movdir64b,
            .movdiri,
            .no_bypass_delay_blend,
            .no_bypass_delay_mov,
            .no_bypass_delay_shuffle,
            .nopl,
            .pconfig,
            .pku,
            .popcnt,
            .prefer_movmsk_over_vtest,
            .prfchw,
            .ptwrite,
            .rdpid,
            .rdrnd,
            .rdseed,
            .sahf,
            .serialize,
            .sha,
            .sha512,
            .shstk,
            .slow_3ops_lea,
            .sm3,
            .sm4,
            .tuning_fast_imm_vector_shift,
            .uintr,
            .vaes,
            .vpclmulqdq,
            .vzeroupper,
            .waitpkg,
            .widekl,
            .x87,
            .xsavec,
            .xsaveopt,
            .xsaves,
        }),
    };
    pub const meteorlake: CpuModel = .{
        .name = "meteorlake",
        .llvm_name = "meteorlake",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .adx,
            .allow_light_256_bit,
            .avxvnni,
            .bmi,
            .bmi2,
            .cldemote,
            .clflushopt,
            .clwb,
            .cmov,
            .cx16,
            .f16c,
            .false_deps_perm,
            .false_deps_popcnt,
            .fast_15bytenop,
            .fast_gather,
            .fast_scalar_fsqrt,
            .fast_shld_rotate,
            .fast_variable_crosslane_shuffle,
            .fast_variable_perlane_shuffle,
            .fast_vector_fsqrt,
            .fma,
            .fsgsbase,
            .fxsr,
            .gfni,
            .hreset,
            .idivq_to_divl,
            .invpcid,
            .lzcnt,
            .macrofusion,
            .mmx,
            .movbe,
            .movdir64b,
            .movdiri,
            .no_bypass_delay_blend,
            .no_bypass_delay_mov,
            .no_bypass_delay_shuffle,
            .nopl,
            .pconfig,
            .pku,
            .popcnt,
            .prefer_movmsk_over_vtest,
            .prfchw,
            .ptwrite,
            .rdpid,
            .rdrnd,
            .rdseed,
            .sahf,
            .serialize,
            .sha,
            .shstk,
            .slow_3ops_lea,
            .smap,
            .smep,
            .tuning_fast_imm_vector_shift,
            .vaes,
            .vpclmulqdq,
            .vzeroupper,
            .waitpkg,
            .widekl,
            .x87,
            .xsavec,
            .xsaveopt,
            .xsaves,
        }),
    };
    pub const nehalem: CpuModel = .{
        .name = "nehalem",
        .llvm_name = "nehalem",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .cmov,
            .cx16,
            .fxsr,
            .idivq_to_divl,
            .macrofusion,
            .mmx,
            .no_bypass_delay_mov,
            .nopl,
            .popcnt,
            .sahf,
            .sse4_2,
            .vzeroupper,
            .x87,
        }),
    };
    pub const nocona: CpuModel = .{
        .name = "nocona",
        .llvm_name = "nocona",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .cmov,
            .cx16,
            .fxsr,
            .mmx,
            .nopl,
            .slow_unaligned_mem_16,
            .sse3,
            .vzeroupper,
            .x87,
        }),
    };
    pub const opteron: CpuModel = .{
        .name = "opteron",
        .llvm_name = "opteron",
        .features = featureSet(&[_]Feature{
            .@"3dnowa",
            .@"64bit",
            .cmov,
            .cx8,
            .fast_scalar_shift_masks,
            .fxsr,
            .nopl,
            .prfchw,
            .sbb_dep_breaking,
            .slow_shld,
            .slow_unaligned_mem_16,
            .sse2,
            .vzeroupper,
            .x87,
        }),
    };
    pub const opteron_sse3: CpuModel = .{
        .name = "opteron_sse3",
        .llvm_name = "opteron-sse3",
        .features = featureSet(&[_]Feature{
            .@"3dnowa",
            .@"64bit",
            .cmov,
            .cx16,
            .fast_scalar_shift_masks,
            .fxsr,
            .nopl,
            .prfchw,
            .sbb_dep_breaking,
            .slow_shld,
            .slow_unaligned_mem_16,
            .sse3,
            .vzeroupper,
            .x87,
        }),
    };
    pub const pantherlake: CpuModel = .{
        .name = "pantherlake",
        .llvm_name = "pantherlake",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .adx,
            .allow_light_256_bit,
            .avxifma,
            .avxneconvert,
            .avxvnni,
            .avxvnniint16,
            .avxvnniint8,
            .bmi,
            .bmi2,
            .cldemote,
            .clflushopt,
            .clwb,
            .cmov,
            .cmpccxadd,
            .cx16,
            .enqcmd,
            .f16c,
            .false_deps_perm,
            .false_deps_popcnt,
            .fast_15bytenop,
            .fast_gather,
            .fast_scalar_fsqrt,
            .fast_shld_rotate,
            .fast_variable_crosslane_shuffle,
            .fast_variable_perlane_shuffle,
            .fast_vector_fsqrt,
            .fma,
            .fsgsbase,
            .fxsr,
            .gfni,
            .hreset,
            .idivq_to_divl,
            .invpcid,
            .lzcnt,
            .macrofusion,
            .mmx,
            .movbe,
            .movdir64b,
            .movdiri,
            .no_bypass_delay_blend,
            .no_bypass_delay_mov,
            .no_bypass_delay_shuffle,
            .nopl,
            .pconfig,
            .pku,
            .popcnt,
            .prefer_movmsk_over_vtest,
            .prefetchi,
            .prfchw,
            .ptwrite,
            .rdpid,
            .rdrnd,
            .rdseed,
            .sahf,
            .serialize,
            .sha,
            .sha512,
            .shstk,
            .slow_3ops_lea,
            .sm3,
            .sm4,
            .tuning_fast_imm_vector_shift,
            .uintr,
            .vaes,
            .vpclmulqdq,
            .vzeroupper,
            .waitpkg,
            .widekl,
            .x87,
            .xsavec,
            .xsaveopt,
            .xsaves,
        }),
    };
    pub const penryn: CpuModel = .{
        .name = "penryn",
        .llvm_name = "penryn",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .cmov,
            .cx16,
            .fxsr,
            .macrofusion,
            .mmx,
            .nopl,
            .sahf,
            .slow_unaligned_mem_16,
            .sse4_1,
            .vzeroupper,
            .x87,
        }),
    };
    pub const pentium: CpuModel = .{
        .name = "pentium",
        .llvm_name = "pentium",
        .features = featureSet(&[_]Feature{
            .cx8,
            .slow_unaligned_mem_16,
            .vzeroupper,
            .x87,
        }),
    };
    pub const pentium2: CpuModel = .{
        .name = "pentium2",
        .llvm_name = "pentium2",
        .features = featureSet(&[_]Feature{
            .cmov,
            .cx8,
            .fxsr,
            .mmx,
            .nopl,
            .slow_unaligned_mem_16,
            .vzeroupper,
            .x87,
        }),
    };
    pub const pentium3: CpuModel = .{
        .name = "pentium3",
        .llvm_name = "pentium3",
        .features = featureSet(&[_]Feature{
            .cmov,
            .cx8,
            .fxsr,
            .mmx,
            .nopl,
            .slow_unaligned_mem_16,
            .sse,
            .vzeroupper,
            .x87,
        }),
    };
    pub const pentium3m: CpuModel = .{
        .name = "pentium3m",
        .llvm_name = "pentium3m",
        .features = featureSet(&[_]Feature{
            .cmov,
            .cx8,
            .fxsr,
            .mmx,
            .nopl,
            .slow_unaligned_mem_16,
            .sse,
            .vzeroupper,
            .x87,
        }),
    };
    pub const pentium4: CpuModel = .{
        .name = "pentium4",
        .llvm_name = "pentium4",
        .features = featureSet(&[_]Feature{
            .cmov,
            .cx8,
            .fxsr,
            .mmx,
            .nopl,
            .slow_unaligned_mem_16,
            .sse2,
            .vzeroupper,
            .x87,
        }),
    };
    pub const pentium_m: CpuModel = .{
        .name = "pentium_m",
        .llvm_name = "pentium-m",
        .features = featureSet(&[_]Feature{
            .cmov,
            .cx8,
            .fxsr,
            .mmx,
            .nopl,
            .slow_unaligned_mem_16,
            .sse2,
            .vzeroupper,
            .x87,
        }),
    };
    pub const pentium_mmx: CpuModel = .{
        .name = "pentium_mmx",
        .llvm_name = "pentium-mmx",
        .features = featureSet(&[_]Feature{
            .cx8,
            .mmx,
            .slow_unaligned_mem_16,
            .vzeroupper,
            .x87,
        }),
    };
    pub const pentiumpro: CpuModel = .{
        .name = "pentiumpro",
        .llvm_name = "pentiumpro",
        .features = featureSet(&[_]Feature{
            .cmov,
            .cx8,
            .nopl,
            .slow_unaligned_mem_16,
            .vzeroupper,
            .x87,
        }),
    };
    pub const prescott: CpuModel = .{
        .name = "prescott",
        .llvm_name = "prescott",
        .features = featureSet(&[_]Feature{
            .cmov,
            .cx8,
            .fxsr,
            .mmx,
            .nopl,
            .slow_unaligned_mem_16,
            .sse3,
            .vzeroupper,
            .x87,
        }),
    };
    pub const raptorlake: CpuModel = .{
        .name = "raptorlake",
        .llvm_name = "raptorlake",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .adx,
            .allow_light_256_bit,
            .avxvnni,
            .bmi,
            .bmi2,
            .cldemote,
            .clflushopt,
            .clwb,
            .cmov,
            .cx16,
            .f16c,
            .false_deps_perm,
            .false_deps_popcnt,
            .fast_15bytenop,
            .fast_gather,
            .fast_scalar_fsqrt,
            .fast_shld_rotate,
            .fast_variable_crosslane_shuffle,
            .fast_variable_perlane_shuffle,
            .fast_vector_fsqrt,
            .fma,
            .fsgsbase,
            .fxsr,
            .gfni,
            .hreset,
            .idivq_to_divl,
            .invpcid,
            .lzcnt,
            .macrofusion,
            .mmx,
            .movbe,
            .movdir64b,
            .movdiri,
            .no_bypass_delay_blend,
            .no_bypass_delay_mov,
            .no_bypass_delay_shuffle,
            .nopl,
            .pconfig,
            .pku,
            .popcnt,
            .prefer_movmsk_over_vtest,
            .prfchw,
            .ptwrite,
            .rdpid,
            .rdrnd,
            .rdseed,
            .sahf,
            .serialize,
            .sha,
            .shstk,
            .slow_3ops_lea,
            .smap,
            .smep,
            .tuning_fast_imm_vector_shift,
            .vaes,
            .vpclmulqdq,
            .vzeroupper,
            .waitpkg,
            .widekl,
            .x87,
            .xsavec,
            .xsaveopt,
            .xsaves,
        }),
    };
    pub const rocketlake: CpuModel = .{
        .name = "rocketlake",
        .llvm_name = "rocketlake",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .adx,
            .allow_light_256_bit,
            .avx512bitalg,
            .avx512cd,
            .avx512dq,
            .avx512ifma,
            .avx512vbmi,
            .avx512vbmi2,
            .avx512vl,
            .avx512vnni,
            .avx512vpopcntdq,
            .bmi,
            .bmi2,
            .clflushopt,
            .cmov,
            .cx16,
            .ermsb,
            .evex512,
            .fast_15bytenop,
            .fast_gather,
            .fast_scalar_fsqrt,
            .fast_shld_rotate,
            .fast_variable_crosslane_shuffle,
            .fast_variable_perlane_shuffle,
            .fast_vector_fsqrt,
            .fsgsbase,
            .fsrm,
            .fxsr,
            .gfni,
            .idivq_to_divl,
            .invpcid,
            .lzcnt,
            .macrofusion,
            .mmx,
            .movbe,
            .no_bypass_delay_blend,
            .no_bypass_delay_mov,
            .no_bypass_delay_shuffle,
            .nopl,
            .pku,
            .popcnt,
            .prefer_256_bit,
            .prfchw,
            .rdpid,
            .rdrnd,
            .rdseed,
            .sahf,
            .sha,
            .smap,
            .smep,
            .tuning_fast_imm_vector_shift,
            .vaes,
            .vpclmulqdq,
            .vzeroupper,
            .x87,
            .xsavec,
            .xsaveopt,
            .xsaves,
        }),
    };
    pub const sandybridge: CpuModel = .{
        .name = "sandybridge",
        .llvm_name = "sandybridge",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .avx,
            .cmov,
            .cx16,
            .false_deps_popcnt,
            .fast_15bytenop,
            .fast_scalar_fsqrt,
            .fast_shld_rotate,
            .fxsr,
            .idivq_to_divl,
            .macrofusion,
            .mmx,
            .no_bypass_delay_mov,
            .nopl,
            .pclmul,
            .popcnt,
            .sahf,
            .slow_3ops_lea,
            .slow_unaligned_mem_32,
            .vzeroupper,
            .x87,
            .xsaveopt,
        }),
    };
    pub const sapphirerapids: CpuModel = .{
        .name = "sapphirerapids",
        .llvm_name = "sapphirerapids",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .adx,
            .allow_light_256_bit,
            .amx_bf16,
            .amx_int8,
            .avx512bf16,
            .avx512bitalg,
            .avx512cd,
            .avx512fp16,
            .avx512ifma,
            .avx512vbmi,
            .avx512vbmi2,
            .avx512vnni,
            .avx512vpopcntdq,
            .avxvnni,
            .bmi,
            .bmi2,
            .cldemote,
            .clflushopt,
            .clwb,
            .cmov,
            .cx16,
            .enqcmd,
            .ermsb,
            .evex512,
            .false_deps_getmant,
            .false_deps_mulc,
            .false_deps_mullq,
            .false_deps_perm,
            .false_deps_range,
            .fast_15bytenop,
            .fast_gather,
            .fast_scalar_fsqrt,
            .fast_shld_rotate,
            .fast_variable_crosslane_shuffle,
            .fast_variable_perlane_shuffle,
            .fast_vector_fsqrt,
            .fsgsbase,
            .fsrm,
            .fxsr,
            .gfni,
            .idivq_to_divl,
            .invpcid,
            .lzcnt,
            .macrofusion,
            .mmx,
            .movbe,
            .movdir64b,
            .movdiri,
            .no_bypass_delay_blend,
            .no_bypass_delay_mov,
            .no_bypass_delay_shuffle,
            .nopl,
            .pconfig,
            .pku,
            .popcnt,
            .prefer_256_bit,
            .prfchw,
            .ptwrite,
            .rdpid,
            .rdrnd,
            .rdseed,
            .sahf,
            .serialize,
            .sha,
            .shstk,
            .smap,
            .smep,
            .tsxldtrk,
            .tuning_fast_imm_vector_shift,
            .uintr,
            .vaes,
            .vpclmulqdq,
            .vzeroupper,
            .waitpkg,
            .wbnoinvd,
            .x87,
            .xsavec,
            .xsaveopt,
            .xsaves,
        }),
    };
    pub const sierraforest: CpuModel = .{
        .name = "sierraforest",
        .llvm_name = "sierraforest",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .adx,
            .avxifma,
            .avxneconvert,
            .avxvnni,
            .avxvnniint8,
            .bmi,
            .bmi2,
            .cldemote,
            .clflushopt,
            .clwb,
            .cmov,
            .cmpccxadd,
            .cx16,
            .enqcmd,
            .f16c,
            .false_deps_popcnt,
            .fast_15bytenop,
            .fast_scalar_fsqrt,
            .fast_variable_perlane_shuffle,
            .fast_vector_fsqrt,
            .fma,
            .fsgsbase,
            .fxsr,
            .gfni,
            .hreset,
            .invpcid,
            .lzcnt,
            .macrofusion,
            .mmx,
            .movbe,
            .movdir64b,
            .movdiri,
            .nopl,
            .pconfig,
            .pku,
            .popcnt,
            .prfchw,
            .ptwrite,
            .rdpid,
            .rdrnd,
            .rdseed,
            .sahf,
            .serialize,
            .sha,
            .shstk,
            .slow_3ops_lea,
            .uintr,
            .vaes,
            .vpclmulqdq,
            .vzeroupper,
            .waitpkg,
            .widekl,
            .x87,
            .xsavec,
            .xsaveopt,
            .xsaves,
        }),
    };
    pub const silvermont: CpuModel = .{
        .name = "silvermont",
        .llvm_name = "silvermont",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .cmov,
            .cx16,
            .false_deps_popcnt,
            .fast_7bytenop,
            .fast_imm16,
            .fast_movbe,
            .fxsr,
            .idivq_to_divl,
            .mmx,
            .movbe,
            .no_bypass_delay,
            .nopl,
            .pclmul,
            .popcnt,
            .prfchw,
            .rdrnd,
            .sahf,
            .slow_incdec,
            .slow_lea,
            .slow_pmulld,
            .slow_two_mem_ops,
            .smep,
            .sse4_2,
            .use_slm_arith_costs,
            .vzeroupper,
            .x87,
        }),
    };
    pub const skx: CpuModel = .{
        .name = "skx",
        .llvm_name = "skx",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .adx,
            .aes,
            .allow_light_256_bit,
            .avx512bw,
            .avx512cd,
            .avx512dq,
            .avx512vl,
            .bmi,
            .bmi2,
            .clflushopt,
            .clwb,
            .cmov,
            .cx16,
            .ermsb,
            .evex512,
            .false_deps_popcnt,
            .fast_15bytenop,
            .fast_gather,
            .fast_scalar_fsqrt,
            .fast_shld_rotate,
            .fast_variable_crosslane_shuffle,
            .fast_variable_perlane_shuffle,
            .fast_vector_fsqrt,
            .faster_shift_than_shuffle,
            .fsgsbase,
            .fxsr,
            .idivq_to_divl,
            .invpcid,
            .lzcnt,
            .macrofusion,
            .mmx,
            .movbe,
            .no_bypass_delay_blend,
            .no_bypass_delay_mov,
            .no_bypass_delay_shuffle,
            .nopl,
            .pclmul,
            .pku,
            .popcnt,
            .prefer_256_bit,
            .prfchw,
            .rdrnd,
            .rdseed,
            .sahf,
            .slow_3ops_lea,
            .smap,
            .smep,
            .tuning_fast_imm_vector_shift,
            .vzeroupper,
            .x87,
            .xsavec,
            .xsaveopt,
            .xsaves,
        }),
    };
    pub const skylake: CpuModel = .{
        .name = "skylake",
        .llvm_name = "skylake",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .adx,
            .aes,
            .allow_light_256_bit,
            .avx2,
            .bmi,
            .bmi2,
            .clflushopt,
            .cmov,
            .cx16,
            .ermsb,
            .f16c,
            .false_deps_popcnt,
            .fast_15bytenop,
            .fast_gather,
            .fast_scalar_fsqrt,
            .fast_shld_rotate,
            .fast_variable_crosslane_shuffle,
            .fast_variable_perlane_shuffle,
            .fast_vector_fsqrt,
            .fma,
            .fsgsbase,
            .fxsr,
            .idivq_to_divl,
            .invpcid,
            .lzcnt,
            .macrofusion,
            .mmx,
            .movbe,
            .no_bypass_delay_blend,
            .no_bypass_delay_mov,
            .no_bypass_delay_shuffle,
            .nopl,
            .pclmul,
            .popcnt,
            .prfchw,
            .rdrnd,
            .rdseed,
            .sahf,
            .slow_3ops_lea,
            .smap,
            .smep,
            .vzeroupper,
            .x87,
            .xsavec,
            .xsaveopt,
            .xsaves,
        }),
    };
    pub const skylake_avx512: CpuModel = .{
        .name = "skylake_avx512",
        .llvm_name = "skylake-avx512",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .adx,
            .aes,
            .allow_light_256_bit,
            .avx512bw,
            .avx512cd,
            .avx512dq,
            .avx512vl,
            .bmi,
            .bmi2,
            .clflushopt,
            .clwb,
            .cmov,
            .cx16,
            .ermsb,
            .evex512,
            .false_deps_popcnt,
            .fast_15bytenop,
            .fast_gather,
            .fast_scalar_fsqrt,
            .fast_shld_rotate,
            .fast_variable_crosslane_shuffle,
            .fast_variable_perlane_shuffle,
            .fast_vector_fsqrt,
            .faster_shift_than_shuffle,
            .fsgsbase,
            .fxsr,
            .idivq_to_divl,
            .invpcid,
            .lzcnt,
            .macrofusion,
            .mmx,
            .movbe,
            .no_bypass_delay_blend,
            .no_bypass_delay_mov,
            .no_bypass_delay_shuffle,
            .nopl,
            .pclmul,
            .pku,
            .popcnt,
            .prefer_256_bit,
            .prfchw,
            .rdrnd,
            .rdseed,
            .sahf,
            .slow_3ops_lea,
            .tuning_fast_imm_vector_shift,
            .vzeroupper,
            .x87,
            .xsavec,
            .xsaveopt,
            .xsaves,
        }),
    };
    pub const slm: CpuModel = .{
        .name = "slm",
        .llvm_name = "slm",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .cmov,
            .cx16,
            .false_deps_popcnt,
            .fast_7bytenop,
            .fast_imm16,
            .fast_movbe,
            .fxsr,
            .idivq_to_divl,
            .mmx,
            .movbe,
            .no_bypass_delay,
            .nopl,
            .pclmul,
            .popcnt,
            .prfchw,
            .rdrnd,
            .sahf,
            .slow_incdec,
            .slow_lea,
            .slow_pmulld,
            .slow_two_mem_ops,
            .sse4_2,
            .use_slm_arith_costs,
            .vzeroupper,
            .x87,
        }),
    };
    pub const tigerlake: CpuModel = .{
        .name = "tigerlake",
        .llvm_name = "tigerlake",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .adx,
            .allow_light_256_bit,
            .avx512bitalg,
            .avx512cd,
            .avx512dq,
            .avx512ifma,
            .avx512vbmi,
            .avx512vbmi2,
            .avx512vl,
            .avx512vnni,
            .avx512vp2intersect,
            .avx512vpopcntdq,
            .bmi,
            .bmi2,
            .clflushopt,
            .clwb,
            .cmov,
            .cx16,
            .ermsb,
            .evex512,
            .fast_15bytenop,
            .fast_gather,
            .fast_scalar_fsqrt,
            .fast_shld_rotate,
            .fast_variable_crosslane_shuffle,
            .fast_variable_perlane_shuffle,
            .fast_vector_fsqrt,
            .fsgsbase,
            .fsrm,
            .fxsr,
            .gfni,
            .idivq_to_divl,
            .invpcid,
            .lzcnt,
            .macrofusion,
            .mmx,
            .movbe,
            .movdir64b,
            .movdiri,
            .no_bypass_delay_blend,
            .no_bypass_delay_mov,
            .no_bypass_delay_shuffle,
            .nopl,
            .pku,
            .popcnt,
            .prefer_256_bit,
            .prfchw,
            .rdpid,
            .rdrnd,
            .rdseed,
            .sahf,
            .sha,
            .shstk,
            .smap,
            .smep,
            .tuning_fast_imm_vector_shift,
            .vaes,
            .vpclmulqdq,
            .vzeroupper,
            .x87,
            .xsavec,
            .xsaveopt,
            .xsaves,
        }),
    };
    pub const tremont: CpuModel = .{
        .name = "tremont",
        .llvm_name = "tremont",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .aes,
            .clflushopt,
            .clwb,
            .cmov,
            .cx16,
            .fast_imm16,
            .fast_movbe,
            .fsgsbase,
            .fxsr,
            .gfni,
            .mmx,
            .movbe,
            .no_bypass_delay,
            .nopl,
            .pclmul,
            .popcnt,
            .prfchw,
            .ptwrite,
            .rdpid,
            .rdrnd,
            .rdseed,
            .sahf,
            .sha,
            .slow_incdec,
            .slow_lea,
            .slow_two_mem_ops,
            .sse4_2,
            .use_glm_div_sqrt_costs,
            .vzeroupper,
            .x87,
            .xsavec,
            .xsaveopt,
            .xsaves,
        }),
    };
    pub const westmere: CpuModel = .{
        .name = "westmere",
        .llvm_name = "westmere",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .cmov,
            .cx16,
            .fxsr,
            .idivq_to_divl,
            .macrofusion,
            .mmx,
            .no_bypass_delay_mov,
            .nopl,
            .pclmul,
            .popcnt,
            .sahf,
            .sse4_2,
            .vzeroupper,
            .x87,
        }),
    };
    pub const winchip2: CpuModel = .{
        .name = "winchip2",
        .llvm_name = "winchip2",
        .features = featureSet(&[_]Feature{
            .@"3dnow",
            .prfchw,
            .slow_unaligned_mem_16,
            .vzeroupper,
            .x87,
        }),
    };
    pub const winchip_c6: CpuModel = .{
        .name = "winchip_c6",
        .llvm_name = "winchip-c6",
        .features = featureSet(&[_]Feature{
            .mmx,
            .slow_unaligned_mem_16,
            .vzeroupper,
            .x87,
        }),
    };
    pub const x86_64: CpuModel = .{
        .name = "x86_64",
        .llvm_name = "x86-64",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .cmov,
            .cx8,
            .fxsr,
            .idivq_to_divl,
            .macrofusion,
            .mmx,
            .nopl,
            .slow_3ops_lea,
            .slow_incdec,
            .sse2,
            .vzeroupper,
            .x87,
        }),
    };
    pub const x86_64_v2: CpuModel = .{
        .name = "x86_64_v2",
        .llvm_name = "x86-64-v2",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .cmov,
            .cx16,
            .false_deps_popcnt,
            .fast_15bytenop,
            .fast_scalar_fsqrt,
            .fast_shld_rotate,
            .fxsr,
            .idivq_to_divl,
            .macrofusion,
            .mmx,
            .nopl,
            .popcnt,
            .sahf,
            .slow_3ops_lea,
            .slow_unaligned_mem_32,
            .sse4_2,
            .vzeroupper,
            .x87,
        }),
    };
    pub const x86_64_v3: CpuModel = .{
        .name = "x86_64_v3",
        .llvm_name = "x86-64-v3",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .allow_light_256_bit,
            .avx2,
            .bmi,
            .bmi2,
            .cmov,
            .cx16,
            .f16c,
            .false_deps_lzcnt_tzcnt,
            .false_deps_popcnt,
            .fast_15bytenop,
            .fast_scalar_fsqrt,
            .fast_shld_rotate,
            .fast_variable_crosslane_shuffle,
            .fast_variable_perlane_shuffle,
            .fma,
            .fxsr,
            .idivq_to_divl,
            .lzcnt,
            .macrofusion,
            .mmx,
            .movbe,
            .nopl,
            .popcnt,
            .sahf,
            .slow_3ops_lea,
            .vzeroupper,
            .x87,
            .xsave,
        }),
    };
    pub const x86_64_v4: CpuModel = .{
        .name = "x86_64_v4",
        .llvm_name = "x86-64-v4",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .allow_light_256_bit,
            .avx512bw,
            .avx512cd,
            .avx512dq,
            .avx512vl,
            .bmi,
            .bmi2,
            .cmov,
            .cx16,
            .evex512,
            .false_deps_popcnt,
            .fast_15bytenop,
            .fast_gather,
            .fast_scalar_fsqrt,
            .fast_shld_rotate,
            .fast_variable_crosslane_shuffle,
            .fast_variable_perlane_shuffle,
            .fast_vector_fsqrt,
            .fxsr,
            .idivq_to_divl,
            .lzcnt,
            .macrofusion,
            .mmx,
            .movbe,
            .nopl,
            .popcnt,
            .prefer_256_bit,
            .sahf,
            .slow_3ops_lea,
            .vzeroupper,
            .x87,
            .xsave,
        }),
    };
    pub const yonah: CpuModel = .{
        .name = "yonah",
        .llvm_name = "yonah",
        .features = featureSet(&[_]Feature{
            .cmov,
            .cx8,
            .fxsr,
            .mmx,
            .nopl,
            .slow_unaligned_mem_16,
            .sse3,
            .vzeroupper,
            .x87,
        }),
    };
    pub const znver1: CpuModel = .{
        .name = "znver1",
        .llvm_name = "znver1",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .adx,
            .aes,
            .allow_light_256_bit,
            .avx2,
            .bmi,
            .bmi2,
            .branchfusion,
            .clflushopt,
            .clzero,
            .cmov,
            .cx16,
            .f16c,
            .fast_15bytenop,
            .fast_bextr,
            .fast_imm16,
            .fast_lzcnt,
            .fast_movbe,
            .fast_scalar_fsqrt,
            .fast_scalar_shift_masks,
            .fast_variable_perlane_shuffle,
            .fast_vector_fsqrt,
            .fma,
            .fsgsbase,
            .fxsr,
            .idivq_to_divl,
            .lzcnt,
            .mmx,
            .movbe,
            .mwaitx,
            .nopl,
            .pclmul,
            .popcnt,
            .prfchw,
            .rdrnd,
            .rdseed,
            .sahf,
            .sbb_dep_breaking,
            .sha,
            .slow_shld,
            .smap,
            .smep,
            .sse4a,
            .vzeroupper,
            .x87,
            .xsavec,
            .xsaveopt,
            .xsaves,
        }),
    };
    pub const znver2: CpuModel = .{
        .name = "znver2",
        .llvm_name = "znver2",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .adx,
            .aes,
            .allow_light_256_bit,
            .avx2,
            .bmi,
            .bmi2,
            .branchfusion,
            .clflushopt,
            .clwb,
            .clzero,
            .cmov,
            .cx16,
            .f16c,
            .fast_15bytenop,
            .fast_bextr,
            .fast_imm16,
            .fast_lzcnt,
            .fast_movbe,
            .fast_scalar_fsqrt,
            .fast_scalar_shift_masks,
            .fast_variable_perlane_shuffle,
            .fast_vector_fsqrt,
            .fma,
            .fsgsbase,
            .fxsr,
            .idivq_to_divl,
            .lzcnt,
            .mmx,
            .movbe,
            .mwaitx,
            .nopl,
            .pclmul,
            .popcnt,
            .prfchw,
            .rdpid,
            .rdpru,
            .rdrnd,
            .rdseed,
            .sahf,
            .sbb_dep_breaking,
            .sha,
            .slow_shld,
            .smap,
            .smep,
            .sse4a,
            .vzeroupper,
            .wbnoinvd,
            .x87,
            .xsavec,
            .xsaveopt,
            .xsaves,
        }),
    };
    pub const znver3: CpuModel = .{
        .name = "znver3",
        .llvm_name = "znver3",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .adx,
            .allow_light_256_bit,
            .bmi,
            .bmi2,
            .branchfusion,
            .clflushopt,
            .clwb,
            .clzero,
            .cmov,
            .cx16,
            .f16c,
            .fast_15bytenop,
            .fast_bextr,
            .fast_imm16,
            .fast_lzcnt,
            .fast_movbe,
            .fast_scalar_fsqrt,
            .fast_scalar_shift_masks,
            .fast_variable_perlane_shuffle,
            .fast_vector_fsqrt,
            .fma,
            .fsgsbase,
            .fsrm,
            .fxsr,
            .idivq_to_divl,
            .invpcid,
            .lzcnt,
            .macrofusion,
            .mmx,
            .movbe,
            .mwaitx,
            .nopl,
            .pku,
            .popcnt,
            .prfchw,
            .rdpid,
            .rdpru,
            .rdrnd,
            .rdseed,
            .sahf,
            .sbb_dep_breaking,
            .sha,
            .slow_shld,
            .smap,
            .smep,
            .sse4a,
            .vaes,
            .vpclmulqdq,
            .vzeroupper,
            .wbnoinvd,
            .x87,
            .xsavec,
            .xsaveopt,
            .xsaves,
        }),
    };
    pub const znver4: CpuModel = .{
        .name = "znver4",
        .llvm_name = "znver4",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .adx,
            .allow_light_256_bit,
            .avx512bf16,
            .avx512bitalg,
            .avx512cd,
            .avx512dq,
            .avx512ifma,
            .avx512vbmi,
            .avx512vbmi2,
            .avx512vl,
            .avx512vnni,
            .avx512vpopcntdq,
            .bmi,
            .bmi2,
            .branchfusion,
            .clflushopt,
            .clwb,
            .clzero,
            .cmov,
            .cx16,
            .evex512,
            .fast_15bytenop,
            .fast_bextr,
            .fast_dpwssd,
            .fast_imm16,
            .fast_lzcnt,
            .fast_movbe,
            .fast_scalar_fsqrt,
            .fast_scalar_shift_masks,
            .fast_variable_perlane_shuffle,
            .fast_vector_fsqrt,
            .fsgsbase,
            .fsrm,
            .fxsr,
            .gfni,
            .idivq_to_divl,
            .invpcid,
            .lzcnt,
            .macrofusion,
            .mmx,
            .movbe,
            .mwaitx,
            .nopl,
            .pku,
            .popcnt,
            .prfchw,
            .rdpid,
            .rdpru,
            .rdrnd,
            .rdseed,
            .sahf,
            .sbb_dep_breaking,
            .sha,
            .shstk,
            .slow_shld,
            .smap,
            .smep,
            .sse4a,
            .vaes,
            .vpclmulqdq,
            .vzeroupper,
            .wbnoinvd,
            .x87,
            .xsavec,
            .xsaveopt,
            .xsaves,
        }),
    };
    pub const znver5: CpuModel = .{
        .name = "znver5",
        .llvm_name = "znver5",
        .features = featureSet(&[_]Feature{
            .@"64bit",
            .adx,
            .allow_light_256_bit,
            .avx512bf16,
            .avx512bitalg,
            .avx512cd,
            .avx512dq,
            .avx512ifma,
            .avx512vbmi,
            .avx512vbmi2,
            .avx512vl,
            .avx512vnni,
            .avx512vp2intersect,
            .avx512vpopcntdq,
            .avxvnni,
            .bmi,
            .bmi2,
            .branchfusion,
            .clflushopt,
            .clwb,
            .clzero,
            .cmov,
            .cx16,
            .evex512,
            .fast_15bytenop,
            .fast_bextr,
            .fast_dpwssd,
            .fast_imm16,
            .fast_lzcnt,
            .fast_movbe,
            .fast_scalar_fsqrt,
            .fast_scalar_shift_masks,
            .fast_variable_perlane_shuffle,
            .fast_vector_fsqrt,
            .fsgsbase,
            .fsrm,
            .fxsr,
            .gfni,
            .idivq_to_divl,
            .invpcid,
            .lzcnt,
            .macrofusion,
            .mmx,
            .movbe,
            .movdir64b,
            .movdiri,
            .mwaitx,
            .nopl,
            .pku,
            .popcnt,
            .prefetchi,
            .prfchw,
            .rdpid,
            .rdpru,
            .rdrnd,
            .rdseed,
            .sahf,
            .sbb_dep_breaking,
            .sha,
            .shstk,
            .slow_shld,
            .smap,
            .smep,
            .sse4a,
            .vaes,
            .vpclmulqdq,
            .vzeroupper,
            .wbnoinvd,
            .x87,
            .xsavec,
            .xsaveopt,
            .xsaves,
        }),
    };
}