DoxigAlpha

cpu

= .{ .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, }), }

Values

#
alderlake
= .{ .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, }), }
amdfam10
= .{ .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, }), }
arrowlake
= .{ .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, }), }
arrowlake_s
= .{ .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, }), }
athlon
= .{ .name = "athlon", .llvm_name = "athlon", .features = featureSet(&[_]Feature{ .@"3dnowa", .cmov, .cx8, .nopl, .prfchw, .slow_shld, .slow_unaligned_mem_16, .vzeroupper, .x87, }), }
athlon64
= .{ .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, }), }
athlon64_sse3
= .{ .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, }), }
athlon_4
= .{ .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, }), }
athlon_fx
= .{ .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, }), }
athlon_mp
= .{ .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, }), }
athlon_tbird
= .{ .name = "athlon_tbird", .llvm_name = "athlon-tbird", .features = featureSet(&[_]Feature{ .@"3dnowa", .cmov, .cx8, .nopl, .prfchw, .slow_shld, .slow_unaligned_mem_16, .vzeroupper, .x87, }), }
athlon_xp
= .{ .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, }), }
atom
= .{ .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, }), }
atom_sse4_2_movbe
= .{ .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, }), }
barcelona
= .{ .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, }), }
bdver1
= .{ .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, }), }
bdver2
= .{ .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, }), }
bdver3
= .{ .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, }), }
bdver4
= .{ .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, }), }
bonnell
= .{ .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, }), }
broadwell
= .{ .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, }), }
btver1
= .{ .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, }), }
btver2
= .{ .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, }), }
c3
= .{ .name = "c3", .llvm_name = "c3", .features = featureSet(&[_]Feature{ .@"3dnow", .prfchw, .slow_unaligned_mem_16, .vzeroupper, .x87, }), }
c3_2
= .{ .name = "c3_2", .llvm_name = "c3-2", .features = featureSet(&[_]Feature{ .cmov, .cx8, .fxsr, .mmx, .slow_unaligned_mem_16, .sse, .vzeroupper, .x87, }), }
cannonlake
= .{ .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, }), }
cascadelake
= .{ .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, }), }
clearwaterforest
= .{ .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, }), }
cooperlake
= .{ .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, }), }
core2
= .{ .name = "core2", .llvm_name = "core2", .features = featureSet(&[_]Feature{ .@"64bit", .cmov, .cx16, .fxsr, .macrofusion, .mmx, .nopl, .sahf, .slow_unaligned_mem_16, .ssse3, .vzeroupper, .x87, }), }
corei7
= .{ .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, }), }
diamondrapids
= .{ .name = "diamondrapids", .llvm_name = "diamondrapids", .features = featureSet(&[_]Feature{ .@"64bit", .adx, .allow_light_256_bit, .amx_avx512, .amx_bf16, .amx_complex, .amx_fp16, .amx_fp8, .amx_int8, .amx_movrs, .amx_tf32, .amx_transpose, .avx10_2_512, .avxifma, .avxneconvert, .avxvnni, .avxvnniint16, .avxvnniint8, .bmi, .bmi2, .branch_hint, .ccmp, .cf, .cldemote, .clflushopt, .clwb, .cmov, .cmpccxadd, .cx16, .egpr, .enqcmd, .ermsb, .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, .movrs, .ndd, .nf, .no_bypass_delay_blend, .no_bypass_delay_mov, .no_bypass_delay_shuffle, .nopl, .pconfig, .pku, .popcnt, .ppx, .prefer_256_bit, .prefetchi, .prfchw, .ptwrite, .push2pop2, .rdpid, .rdrnd, .rdseed, .sahf, .serialize, .sha, .sha512, .shstk, .sm3, .sm4, .tsxldtrk, .tuning_fast_imm_vector_shift, .uintr, .usermsr, .vzeroupper, .waitpkg, .wbnoinvd, .x87, .xsavec, .xsaveopt, .xsaves, .zu, }), }
emeraldrapids
= .{ .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, }), }
generic
= .{ .name = "generic", .llvm_name = "generic", .features = featureSet(&[_]Feature{ .@"64bit", .cx8, .fast_15bytenop, .fast_scalar_fsqrt, .idivq_to_divl, .macrofusion, .slow_3ops_lea, .vzeroupper, .x87, }), }
geode
= .{ .name = "geode", .llvm_name = "geode", .features = featureSet(&[_]Feature{ .@"3dnowa", .cx8, .prfchw, .slow_unaligned_mem_16, .vzeroupper, .x87, }), }
goldmont
= .{ .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, }), }
goldmont_plus
= .{ .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, }), }
gracemont
= .{ .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, }), }
grandridge
= .{ .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, }), }
graniterapids
= .{ .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, }), }
graniterapids_d
= .{ .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, }), }
haswell
= .{ .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, }), }
@"i386"
= .{ .name = "i386", .llvm_name = "i386", .features = featureSet(&[_]Feature{ .bsf_bsr_0_clobbers_result, .slow_unaligned_mem_16, .vzeroupper, .x87, }), }
@"i486"
= .{ .name = "i486", .llvm_name = "i486", .features = featureSet(&[_]Feature{ .bsf_bsr_0_clobbers_result, .slow_unaligned_mem_16, .vzeroupper, .x87, }), }
@"i586"
= .{ .name = "i586", .llvm_name = "i586", .features = featureSet(&[_]Feature{ .cx8, .slow_unaligned_mem_16, .vzeroupper, .x87, }), }
@"i686"
= .{ .name = "i686", .llvm_name = "i686", .features = featureSet(&[_]Feature{ .cmov, .cx8, .slow_unaligned_mem_16, .vzeroupper, .x87, }), }
icelake_client
= .{ .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, }), }
icelake_server
= .{ .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, }), }
ivybridge
= .{ .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, }), }
k6
= .{ .name = "k6", .llvm_name = "k6", .features = featureSet(&[_]Feature{ .cx8, .mmx, .slow_unaligned_mem_16, .vzeroupper, .x87, }), }
k6_2
= .{ .name = "k6_2", .llvm_name = "k6-2", .features = featureSet(&[_]Feature{ .@"3dnow", .cx8, .prfchw, .slow_unaligned_mem_16, .vzeroupper, .x87, }), }
k6_3
= .{ .name = "k6_3", .llvm_name = "k6-3", .features = featureSet(&[_]Feature{ .@"3dnow", .cx8, .prfchw, .slow_unaligned_mem_16, .vzeroupper, .x87, }), }
k8
= .{ .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, }), }
k8_sse3
= .{ .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, }), }
knl
= .{ .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, }), }
knm
= .{ .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, }), }
lakemont
= .{ .name = "lakemont", .llvm_name = "lakemont", .features = featureSet(&[_]Feature{ .cx8, .slow_unaligned_mem_16, .soft_float, .vzeroupper, }), }
lunarlake
= .{ .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, }), }
meteorlake
= .{ .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, }), }
nehalem
= .{ .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, }), }
nocona
= .{ .name = "nocona", .llvm_name = "nocona", .features = featureSet(&[_]Feature{ .@"64bit", .cmov, .cx16, .fxsr, .mmx, .nopl, .slow_unaligned_mem_16, .sse3, .vzeroupper, .x87, }), }
opteron
= .{ .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, }), }
opteron_sse3
= .{ .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, }), }
pantherlake
= .{ .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, }), }
penryn
= .{ .name = "penryn", .llvm_name = "penryn", .features = featureSet(&[_]Feature{ .@"64bit", .cmov, .cx16, .fxsr, .macrofusion, .mmx, .nopl, .sahf, .slow_unaligned_mem_16, .sse4_1, .vzeroupper, .x87, }), }
pentium
= .{ .name = "pentium", .llvm_name = "pentium", .features = featureSet(&[_]Feature{ .cx8, .slow_unaligned_mem_16, .vzeroupper, .x87, }), }
pentium2
= .{ .name = "pentium2", .llvm_name = "pentium2", .features = featureSet(&[_]Feature{ .cmov, .cx8, .fxsr, .mmx, .nopl, .slow_unaligned_mem_16, .vzeroupper, .x87, }), }
pentium3
= .{ .name = "pentium3", .llvm_name = "pentium3", .features = featureSet(&[_]Feature{ .cmov, .cx8, .fxsr, .mmx, .nopl, .slow_unaligned_mem_16, .sse, .vzeroupper, .x87, }), }
pentium3m
= .{ .name = "pentium3m", .llvm_name = "pentium3m", .features = featureSet(&[_]Feature{ .cmov, .cx8, .fxsr, .mmx, .nopl, .slow_unaligned_mem_16, .sse, .vzeroupper, .x87, }), }
pentium4
= .{ .name = "pentium4", .llvm_name = "pentium4", .features = featureSet(&[_]Feature{ .cmov, .cx8, .fxsr, .mmx, .nopl, .slow_unaligned_mem_16, .sse2, .vzeroupper, .x87, }), }
pentium_m
= .{ .name = "pentium_m", .llvm_name = "pentium-m", .features = featureSet(&[_]Feature{ .cmov, .cx8, .fxsr, .mmx, .nopl, .slow_unaligned_mem_16, .sse2, .vzeroupper, .x87, }), }
pentium_mmx
= .{ .name = "pentium_mmx", .llvm_name = "pentium-mmx", .features = featureSet(&[_]Feature{ .cx8, .mmx, .slow_unaligned_mem_16, .vzeroupper, .x87, }), }
pentiumpro
= .{ .name = "pentiumpro", .llvm_name = "pentiumpro", .features = featureSet(&[_]Feature{ .cmov, .cx8, .nopl, .slow_unaligned_mem_16, .vzeroupper, .x87, }), }
prescott
= .{ .name = "prescott", .llvm_name = "prescott", .features = featureSet(&[_]Feature{ .cmov, .cx8, .fxsr, .mmx, .nopl, .slow_unaligned_mem_16, .sse3, .vzeroupper, .x87, }), }
raptorlake
= .{ .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, }), }
rocketlake
= .{ .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, }), }
sandybridge
= .{ .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, }), }
sapphirerapids
= .{ .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, }), }
sierraforest
= .{ .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, }), }
silvermont
= .{ .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, }), }
skx
= .{ .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, }), }
skylake
= .{ .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, }), }
skylake_avx512
= .{ .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, }), }
slm
= .{ .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, }), }
tigerlake
= .{ .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, }), }
tremont
= .{ .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, }), }
westmere
= .{ .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, }), }
winchip2
= .{ .name = "winchip2", .llvm_name = "winchip2", .features = featureSet(&[_]Feature{ .@"3dnow", .prfchw, .slow_unaligned_mem_16, .vzeroupper, .x87, }), }
winchip_c6
= .{ .name = "winchip_c6", .llvm_name = "winchip-c6", .features = featureSet(&[_]Feature{ .mmx, .slow_unaligned_mem_16, .vzeroupper, .x87, }), }
x86_64
= .{ .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, }), }
x86_64_v2
= .{ .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, }), }
x86_64_v3
= .{ .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, }), }
x86_64_v4
= .{ .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, }), }
yonah
= .{ .name = "yonah", .llvm_name = "yonah", .features = featureSet(&[_]Feature{ .cmov, .cx8, .fxsr, .mmx, .nopl, .slow_unaligned_mem_16, .sse3, .vzeroupper, .x87, }), }
znver1
= .{ .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, }), }
znver2
= .{ .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, }), }
znver3
= .{ .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, }), }
znver4
= .{ .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, }), }
znver5
= .{ .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, }), }