structstd.Target.aarch64.cpu[src]

Values

Constanta64fx[src]

Source Code

Source code
pub const a64fx: CpuModel = .{
    .name = "a64fx",
    .llvm_name = "a64fx",
    .features = featureSet(&[_]Feature{
        .aes,
        .aggressive_fma,
        .arith_bcc_fusion,
        .complxnum,
        .perfmon,
        .predictable_select_expensive,
        .sha2,
        .store_pair_suppress,
        .sve,
        .use_postra_scheduler,
        .v8_2a,
    }),
}

Constantampere1[src]

Source Code

Source code
pub const ampere1: CpuModel = .{
    .name = "ampere1",
    .llvm_name = "ampere1",
    .features = featureSet(&[_]Feature{
        .aes,
        .aggressive_fma,
        .alu_lsl_fast,
        .arith_bcc_fusion,
        .cmp_bcc_fusion,
        .fullfp16,
        .fuse_address,
        .fuse_adrp_add,
        .fuse_aes,
        .fuse_literals,
        .ldp_aligned_only,
        .perfmon,
        .rand,
        .sha3,
        .store_pair_suppress,
        .stp_aligned_only,
        .use_postra_scheduler,
        .v8_6a,
    }),
}

Constantampere1a[src]

Source Code

Source code
pub const ampere1a: CpuModel = .{
    .name = "ampere1a",
    .llvm_name = "ampere1a",
    .features = featureSet(&[_]Feature{
        .aes,
        .aggressive_fma,
        .alu_lsl_fast,
        .arith_bcc_fusion,
        .cmp_bcc_fusion,
        .fullfp16,
        .fuse_address,
        .fuse_addsub_2reg_const1,
        .fuse_adrp_add,
        .fuse_aes,
        .fuse_literals,
        .ldp_aligned_only,
        .mte,
        .perfmon,
        .rand,
        .sha3,
        .sm4,
        .store_pair_suppress,
        .stp_aligned_only,
        .use_postra_scheduler,
        .v8_6a,
    }),
}

Constantampere1b[src]

Source Code

Source code
pub const ampere1b: CpuModel = .{
    .name = "ampere1b",
    .llvm_name = "ampere1b",
    .features = featureSet(&[_]Feature{
        .aes,
        .aggressive_fma,
        .alu_lsl_fast,
        .arith_bcc_fusion,
        .cmp_bcc_fusion,
        .cssc,
        .enable_select_opt,
        .fullfp16,
        .fuse_address,
        .fuse_adrp_add,
        .fuse_aes,
        .fuse_literals,
        .ldp_aligned_only,
        .mte,
        .perfmon,
        .predictable_select_expensive,
        .rand,
        .sha3,
        .sm4,
        .store_pair_suppress,
        .stp_aligned_only,
        .use_postra_scheduler,
        .v8_7a,
    }),
}

Constantapple_a10[src]

Source Code

Source code
pub const apple_a10: CpuModel = .{
    .name = "apple_a10",
    .llvm_name = "apple-a10",
    .features = featureSet(&[_]Feature{
        .aes,
        .alternate_sextload_cvt_f32_pattern,
        .arith_bcc_fusion,
        .arith_cbz_fusion,
        .crc,
        .disable_latency_sched_heuristic,
        .fuse_aes,
        .fuse_crypto_eor,
        .lor,
        .pan,
        .perfmon,
        .rdm,
        .sha2,
        .store_pair_suppress,
        .v8a,
        .vh,
        .zcm,
        .zcz,
    }),
}

Constantapple_a11[src]

Source Code

Source code
pub const apple_a11: CpuModel = .{
    .name = "apple_a11",
    .llvm_name = "apple-a11",
    .features = featureSet(&[_]Feature{
        .aes,
        .alternate_sextload_cvt_f32_pattern,
        .arith_bcc_fusion,
        .arith_cbz_fusion,
        .disable_latency_sched_heuristic,
        .fullfp16,
        .fuse_aes,
        .fuse_crypto_eor,
        .perfmon,
        .sha2,
        .store_pair_suppress,
        .v8_2a,
        .zcm,
        .zcz,
    }),
}

Constantapple_a12[src]

Source Code

Source code
pub const apple_a12: CpuModel = .{
    .name = "apple_a12",
    .llvm_name = "apple-a12",
    .features = featureSet(&[_]Feature{
        .aes,
        .alternate_sextload_cvt_f32_pattern,
        .arith_bcc_fusion,
        .arith_cbz_fusion,
        .disable_latency_sched_heuristic,
        .fullfp16,
        .fuse_aes,
        .fuse_crypto_eor,
        .perfmon,
        .sha2,
        .store_pair_suppress,
        .v8_3a,
        .zcm,
        .zcz,
    }),
}

Constantapple_a13[src]

Source Code

Source code
pub const apple_a13: CpuModel = .{
    .name = "apple_a13",
    .llvm_name = "apple-a13",
    .features = featureSet(&[_]Feature{
        .aes,
        .alternate_sextload_cvt_f32_pattern,
        .arith_bcc_fusion,
        .arith_cbz_fusion,
        .disable_latency_sched_heuristic,
        .fp16fml,
        .fuse_aes,
        .fuse_crypto_eor,
        .perfmon,
        .sha3,
        .store_pair_suppress,
        .v8_4a,
        .zcm,
        .zcz,
    }),
}

Constantapple_a14[src]

Source Code

Source code
pub const apple_a14: CpuModel = .{
    .name = "apple_a14",
    .llvm_name = "apple-a14",
    .features = featureSet(&[_]Feature{
        .aes,
        .aggressive_fma,
        .alternate_sextload_cvt_f32_pattern,
        .altnzcv,
        .arith_bcc_fusion,
        .arith_cbz_fusion,
        .ccdp,
        .disable_latency_sched_heuristic,
        .fp16fml,
        .fptoint,
        .fuse_address,
        .fuse_aes,
        .fuse_arith_logic,
        .fuse_crypto_eor,
        .fuse_csel,
        .fuse_literals,
        .perfmon,
        .predres,
        .sb,
        .sha3,
        .specrestrict,
        .ssbs,
        .store_pair_suppress,
        .v8_4a,
        .zcm,
        .zcz,
    }),
}

Constantapple_a15[src]

Source Code

Source code
pub const apple_a15: CpuModel = .{
    .name = "apple_a15",
    .llvm_name = "apple-a15",
    .features = featureSet(&[_]Feature{
        .aes,
        .alternate_sextload_cvt_f32_pattern,
        .arith_bcc_fusion,
        .arith_cbz_fusion,
        .disable_latency_sched_heuristic,
        .fp16fml,
        .fuse_address,
        .fuse_aes,
        .fuse_arith_logic,
        .fuse_crypto_eor,
        .fuse_csel,
        .fuse_literals,
        .perfmon,
        .sha3,
        .store_pair_suppress,
        .v8_6a,
        .zcm,
        .zcz,
    }),
}

Constantapple_a16[src]

Source Code

Source code
pub const apple_a16: CpuModel = .{
    .name = "apple_a16",
    .llvm_name = "apple-a16",
    .features = featureSet(&[_]Feature{
        .aes,
        .alternate_sextload_cvt_f32_pattern,
        .arith_bcc_fusion,
        .arith_cbz_fusion,
        .disable_latency_sched_heuristic,
        .fp16fml,
        .fuse_address,
        .fuse_adrp_add,
        .fuse_aes,
        .fuse_arith_logic,
        .fuse_crypto_eor,
        .fuse_csel,
        .fuse_literals,
        .hcx,
        .perfmon,
        .sha3,
        .store_pair_suppress,
        .v8_6a,
        .zcm,
        .zcz,
    }),
}

Constantapple_a17[src]

Source Code

Source code
pub const apple_a17: CpuModel = .{
    .name = "apple_a17",
    .llvm_name = "apple-a17",
    .features = featureSet(&[_]Feature{
        .aes,
        .alternate_sextload_cvt_f32_pattern,
        .arith_bcc_fusion,
        .arith_cbz_fusion,
        .disable_latency_sched_heuristic,
        .fp16fml,
        .fuse_address,
        .fuse_adrp_add,
        .fuse_aes,
        .fuse_arith_logic,
        .fuse_crypto_eor,
        .fuse_csel,
        .fuse_literals,
        .hcx,
        .perfmon,
        .sha3,
        .store_pair_suppress,
        .v8_6a,
        .zcm,
        .zcz,
    }),
}

Constantapple_a7[src]

Source Code

Source code
pub const apple_a7: CpuModel = .{
    .name = "apple_a7",
    .llvm_name = "apple-a7",
    .features = featureSet(&[_]Feature{
        .aes,
        .alternate_sextload_cvt_f32_pattern,
        .arith_bcc_fusion,
        .arith_cbz_fusion,
        .disable_latency_sched_heuristic,
        .fuse_aes,
        .fuse_crypto_eor,
        .perfmon,
        .sha2,
        .store_pair_suppress,
        .v8a,
        .zcm,
        .zcz,
        .zcz_fp_workaround,
    }),
}

Constantapple_a8[src]

Source Code

Source code
pub const apple_a8: CpuModel = .{
    .name = "apple_a8",
    .llvm_name = "apple-a8",
    .features = featureSet(&[_]Feature{
        .aes,
        .alternate_sextload_cvt_f32_pattern,
        .arith_bcc_fusion,
        .arith_cbz_fusion,
        .disable_latency_sched_heuristic,
        .fuse_aes,
        .fuse_crypto_eor,
        .perfmon,
        .sha2,
        .store_pair_suppress,
        .v8a,
        .zcm,
        .zcz,
        .zcz_fp_workaround,
    }),
}

Constantapple_a9[src]

Source Code

Source code
pub const apple_a9: CpuModel = .{
    .name = "apple_a9",
    .llvm_name = "apple-a9",
    .features = featureSet(&[_]Feature{
        .aes,
        .alternate_sextload_cvt_f32_pattern,
        .arith_bcc_fusion,
        .arith_cbz_fusion,
        .disable_latency_sched_heuristic,
        .fuse_aes,
        .fuse_crypto_eor,
        .perfmon,
        .sha2,
        .store_pair_suppress,
        .v8a,
        .zcm,
        .zcz,
        .zcz_fp_workaround,
    }),
}

Constantapple_m1[src]

Source Code

Source code
pub const apple_m1: CpuModel = .{
    .name = "apple_m1",
    .llvm_name = "apple-m1",
    .features = featureSet(&[_]Feature{
        .aes,
        .aggressive_fma,
        .alternate_sextload_cvt_f32_pattern,
        .altnzcv,
        .arith_bcc_fusion,
        .arith_cbz_fusion,
        .ccdp,
        .disable_latency_sched_heuristic,
        .fp16fml,
        .fptoint,
        .fuse_address,
        .fuse_aes,
        .fuse_arith_logic,
        .fuse_crypto_eor,
        .fuse_csel,
        .fuse_literals,
        .perfmon,
        .predres,
        .sb,
        .sha3,
        .specrestrict,
        .ssbs,
        .store_pair_suppress,
        .v8_4a,
        .zcm,
        .zcz,
    }),
}

Constantapple_m2[src]

Source Code

Source code
pub const apple_m2: CpuModel = .{
    .name = "apple_m2",
    .llvm_name = "apple-m2",
    .features = featureSet(&[_]Feature{
        .aes,
        .alternate_sextload_cvt_f32_pattern,
        .arith_bcc_fusion,
        .arith_cbz_fusion,
        .disable_latency_sched_heuristic,
        .fp16fml,
        .fuse_address,
        .fuse_aes,
        .fuse_arith_logic,
        .fuse_crypto_eor,
        .fuse_csel,
        .fuse_literals,
        .perfmon,
        .sha3,
        .store_pair_suppress,
        .v8_6a,
        .zcm,
        .zcz,
    }),
}

Constantapple_m3[src]

Source Code

Source code
pub const apple_m3: CpuModel = .{
    .name = "apple_m3",
    .llvm_name = "apple-m3",
    .features = featureSet(&[_]Feature{
        .aes,
        .alternate_sextload_cvt_f32_pattern,
        .arith_bcc_fusion,
        .arith_cbz_fusion,
        .disable_latency_sched_heuristic,
        .fp16fml,
        .fuse_address,
        .fuse_adrp_add,
        .fuse_aes,
        .fuse_arith_logic,
        .fuse_crypto_eor,
        .fuse_csel,
        .fuse_literals,
        .hcx,
        .perfmon,
        .sha3,
        .store_pair_suppress,
        .v8_6a,
        .zcm,
        .zcz,
    }),
}

Constantapple_m4[src]

Source Code

Source code
pub const apple_m4: CpuModel = .{
    .name = "apple_m4",
    .llvm_name = "apple-m4",
    .features = featureSet(&[_]Feature{
        .aes,
        .alternate_sextload_cvt_f32_pattern,
        .arith_bcc_fusion,
        .arith_cbz_fusion,
        .disable_latency_sched_heuristic,
        .fp16fml,
        .fuse_address,
        .fuse_aes,
        .fuse_arith_logic,
        .fuse_crypto_eor,
        .fuse_csel,
        .fuse_literals,
        .perfmon,
        .sha3,
        .sme2,
        .sme_f64f64,
        .sme_i16i64,
        .v8_7a,
        .zcm,
        .zcz,
    }),
}

Constantapple_s4[src]

Source Code

Source code
pub const apple_s4: CpuModel = .{
    .name = "apple_s4",
    .llvm_name = "apple-s4",
    .features = featureSet(&[_]Feature{
        .aes,
        .alternate_sextload_cvt_f32_pattern,
        .arith_bcc_fusion,
        .arith_cbz_fusion,
        .disable_latency_sched_heuristic,
        .fullfp16,
        .fuse_aes,
        .fuse_crypto_eor,
        .perfmon,
        .sha2,
        .store_pair_suppress,
        .v8_3a,
        .zcm,
        .zcz,
    }),
}

Constantapple_s5[src]

Source Code

Source code
pub const apple_s5: CpuModel = .{
    .name = "apple_s5",
    .llvm_name = "apple-s5",
    .features = featureSet(&[_]Feature{
        .aes,
        .alternate_sextload_cvt_f32_pattern,
        .arith_bcc_fusion,
        .arith_cbz_fusion,
        .disable_latency_sched_heuristic,
        .fullfp16,
        .fuse_aes,
        .fuse_crypto_eor,
        .perfmon,
        .sha2,
        .store_pair_suppress,
        .v8_3a,
        .zcm,
        .zcz,
    }),
}

Constantcarmel[src]

Source Code

Source code
pub const carmel: CpuModel = .{
    .name = "carmel",
    .llvm_name = "carmel",
    .features = featureSet(&[_]Feature{
        .aes,
        .fullfp16,
        .sha2,
        .v8_2a,
    }),
}

Constantcobalt_100[src]

Source Code

Source code
pub const cobalt_100: CpuModel = .{
    .name = "cobalt_100",
    .llvm_name = "cobalt-100",
    .features = featureSet(&[_]Feature{
        .alu_lsl_fast,
        .bf16,
        .enable_select_opt,
        .ete,
        .fp16fml,
        .fuse_adrp_add,
        .fuse_aes,
        .i8mm,
        .mte,
        .perfmon,
        .predictable_select_expensive,
        .sve2_bitperm,
        .use_postra_scheduler,
        .v9a,
    }),
}

Constantcortex_a34[src]

Source Code

Source code
pub const cortex_a34: CpuModel = .{
    .name = "cortex_a34",
    .llvm_name = "cortex-a34",
    .features = featureSet(&[_]Feature{
        .aes,
        .crc,
        .perfmon,
        .sha2,
        .v8a,
    }),
}

Constantcortex_a35[src]

Source Code

Source code
pub const cortex_a35: CpuModel = .{
    .name = "cortex_a35",
    .llvm_name = "cortex-a35",
    .features = featureSet(&[_]Feature{
        .aes,
        .crc,
        .perfmon,
        .sha2,
        .v8a,
    }),
}

Constantcortex_a510[src]

Source Code

Source code
pub const cortex_a510: CpuModel = .{
    .name = "cortex_a510",
    .llvm_name = "cortex-a510",
    .features = featureSet(&[_]Feature{
        .bf16,
        .ete,
        .fp16fml,
        .fuse_adrp_add,
        .fuse_aes,
        .i8mm,
        .mte,
        .perfmon,
        .sve2_bitperm,
        .use_postra_scheduler,
        .v9a,
    }),
}

Constantcortex_a520[src]

Source Code

Source code
pub const cortex_a520: CpuModel = .{
    .name = "cortex_a520",
    .llvm_name = "cortex-a520",
    .features = featureSet(&[_]Feature{
        .ete,
        .fp16fml,
        .fuse_adrp_add,
        .fuse_aes,
        .mte,
        .perfmon,
        .sve2_bitperm,
        .use_postra_scheduler,
        .v9_2a,
    }),
}

Constantcortex_a520ae[src]

Source Code

Source code
pub const cortex_a520ae: CpuModel = .{
    .name = "cortex_a520ae",
    .llvm_name = "cortex-a520ae",
    .features = featureSet(&[_]Feature{
        .ete,
        .fp16fml,
        .fuse_adrp_add,
        .fuse_aes,
        .mte,
        .perfmon,
        .sve2_bitperm,
        .use_postra_scheduler,
        .v9_2a,
    }),
}

Constantcortex_a53[src]

Source Code

Source code
pub const cortex_a53: CpuModel = .{
    .name = "cortex_a53",
    .llvm_name = "cortex-a53",
    .features = featureSet(&[_]Feature{
        .aes,
        .balance_fp_ops,
        .crc,
        .fuse_adrp_add,
        .fuse_aes,
        .perfmon,
        .sha2,
        .use_postra_scheduler,
        .v8a,
    }),
}

Constantcortex_a55[src]

Source Code

Source code
pub const cortex_a55: CpuModel = .{
    .name = "cortex_a55",
    .llvm_name = "cortex-a55",
    .features = featureSet(&[_]Feature{
        .aes,
        .dotprod,
        .fullfp16,
        .fuse_address,
        .fuse_adrp_add,
        .fuse_aes,
        .perfmon,
        .rcpc,
        .sha2,
        .use_postra_scheduler,
        .v8_2a,
    }),
}

Constantcortex_a57[src]

Source Code

Source code
pub const cortex_a57: CpuModel = .{
    .name = "cortex_a57",
    .llvm_name = "cortex-a57",
    .features = featureSet(&[_]Feature{
        .addr_lsl_slow_14,
        .aes,
        .balance_fp_ops,
        .crc,
        .enable_select_opt,
        .fuse_adrp_add,
        .fuse_aes,
        .fuse_literals,
        .perfmon,
        .predictable_select_expensive,
        .sha2,
        .use_postra_scheduler,
        .v8a,
    }),
}

Constantcortex_a65[src]

Source Code

Source code
pub const cortex_a65: CpuModel = .{
    .name = "cortex_a65",
    .llvm_name = "cortex-a65",
    .features = featureSet(&[_]Feature{
        .aes,
        .dotprod,
        .enable_select_opt,
        .fullfp16,
        .fuse_address,
        .fuse_adrp_add,
        .fuse_aes,
        .fuse_literals,
        .perfmon,
        .predictable_select_expensive,
        .rcpc,
        .sha2,
        .ssbs,
        .v8_2a,
    }),
}

Constantcortex_a65ae[src]

Source Code

Source code
pub const cortex_a65ae: CpuModel = .{
    .name = "cortex_a65ae",
    .llvm_name = "cortex-a65ae",
    .features = featureSet(&[_]Feature{
        .aes,
        .dotprod,
        .enable_select_opt,
        .fullfp16,
        .fuse_address,
        .fuse_adrp_add,
        .fuse_aes,
        .fuse_literals,
        .perfmon,
        .predictable_select_expensive,
        .rcpc,
        .sha2,
        .ssbs,
        .v8_2a,
    }),
}

Constantcortex_a710[src]

Source Code

Source code
pub const cortex_a710: CpuModel = .{
    .name = "cortex_a710",
    .llvm_name = "cortex-a710",
    .features = featureSet(&[_]Feature{
        .alu_lsl_fast,
        .bf16,
        .cmp_bcc_fusion,
        .enable_select_opt,
        .ete,
        .fp16fml,
        .fuse_adrp_add,
        .fuse_aes,
        .i8mm,
        .mte,
        .perfmon,
        .predictable_select_expensive,
        .sve2_bitperm,
        .use_postra_scheduler,
        .v9a,
    }),
}

Constantcortex_a715[src]

Source Code

Source code
pub const cortex_a715: CpuModel = .{
    .name = "cortex_a715",
    .llvm_name = "cortex-a715",
    .features = featureSet(&[_]Feature{
        .alu_lsl_fast,
        .bf16,
        .cmp_bcc_fusion,
        .enable_select_opt,
        .ete,
        .fp16fml,
        .fuse_adrp_add,
        .fuse_aes,
        .i8mm,
        .mte,
        .perfmon,
        .predictable_select_expensive,
        .spe,
        .sve2_bitperm,
        .use_postra_scheduler,
        .v9a,
    }),
}

Constantcortex_a72[src]

Source Code

Source code
pub const cortex_a72: CpuModel = .{
    .name = "cortex_a72",
    .llvm_name = "cortex-a72",
    .features = featureSet(&[_]Feature{
        .addr_lsl_slow_14,
        .aes,
        .crc,
        .enable_select_opt,
        .fuse_adrp_add,
        .fuse_aes,
        .fuse_literals,
        .perfmon,
        .predictable_select_expensive,
        .sha2,
        .v8a,
    }),
}

Constantcortex_a720[src]

Source Code

Source code
pub const cortex_a720: CpuModel = .{
    .name = "cortex_a720",
    .llvm_name = "cortex-a720",
    .features = featureSet(&[_]Feature{
        .alu_lsl_fast,
        .cmp_bcc_fusion,
        .enable_select_opt,
        .ete,
        .fp16fml,
        .fuse_adrp_add,
        .fuse_aes,
        .mte,
        .perfmon,
        .predictable_select_expensive,
        .spe,
        .spe_eef,
        .sve2_bitperm,
        .use_postra_scheduler,
        .v9_2a,
    }),
}

Constantcortex_a720ae[src]

Source Code

Source code
pub const cortex_a720ae: CpuModel = .{
    .name = "cortex_a720ae",
    .llvm_name = "cortex-a720ae",
    .features = featureSet(&[_]Feature{
        .alu_lsl_fast,
        .cmp_bcc_fusion,
        .enable_select_opt,
        .ete,
        .fp16fml,
        .fuse_adrp_add,
        .fuse_aes,
        .mte,
        .perfmon,
        .predictable_select_expensive,
        .spe,
        .spe_eef,
        .sve2_bitperm,
        .use_postra_scheduler,
        .v9_2a,
    }),
}

Constantcortex_a725[src]

Source Code

Source code
pub const cortex_a725: CpuModel = .{
    .name = "cortex_a725",
    .llvm_name = "cortex-a725",
    .features = featureSet(&[_]Feature{
        .alu_lsl_fast,
        .cmp_bcc_fusion,
        .enable_select_opt,
        .ete,
        .fp16fml,
        .fuse_adrp_add,
        .fuse_aes,
        .mte,
        .perfmon,
        .predictable_select_expensive,
        .spe,
        .spe_eef,
        .sve2_bitperm,
        .use_postra_scheduler,
        .v9_2a,
    }),
}

Constantcortex_a73[src]

Source Code

Source code
pub const cortex_a73: CpuModel = .{
    .name = "cortex_a73",
    .llvm_name = "cortex-a73",
    .features = featureSet(&[_]Feature{
        .addr_lsl_slow_14,
        .aes,
        .crc,
        .enable_select_opt,
        .fuse_adrp_add,
        .fuse_aes,
        .perfmon,
        .predictable_select_expensive,
        .sha2,
        .v8a,
    }),
}

Constantcortex_a75[src]

Source Code

Source code
pub const cortex_a75: CpuModel = .{
    .name = "cortex_a75",
    .llvm_name = "cortex-a75",
    .features = featureSet(&[_]Feature{
        .addr_lsl_slow_14,
        .aes,
        .dotprod,
        .enable_select_opt,
        .fullfp16,
        .fuse_adrp_add,
        .fuse_aes,
        .perfmon,
        .predictable_select_expensive,
        .rcpc,
        .sha2,
        .v8_2a,
    }),
}

Constantcortex_a76[src]

Source Code

Source code
pub const cortex_a76: CpuModel = .{
    .name = "cortex_a76",
    .llvm_name = "cortex-a76",
    .features = featureSet(&[_]Feature{
        .addr_lsl_slow_14,
        .aes,
        .alu_lsl_fast,
        .dotprod,
        .enable_select_opt,
        .fullfp16,
        .fuse_adrp_add,
        .fuse_aes,
        .perfmon,
        .predictable_select_expensive,
        .rcpc,
        .sha2,
        .ssbs,
        .v8_2a,
    }),
}

Constantcortex_a76ae[src]

Source Code

Source code
pub const cortex_a76ae: CpuModel = .{
    .name = "cortex_a76ae",
    .llvm_name = "cortex-a76ae",
    .features = featureSet(&[_]Feature{
        .addr_lsl_slow_14,
        .aes,
        .alu_lsl_fast,
        .dotprod,
        .enable_select_opt,
        .fullfp16,
        .fuse_adrp_add,
        .fuse_aes,
        .perfmon,
        .predictable_select_expensive,
        .rcpc,
        .sha2,
        .ssbs,
        .v8_2a,
    }),
}

Constantcortex_a77[src]

Source Code

Source code
pub const cortex_a77: CpuModel = .{
    .name = "cortex_a77",
    .llvm_name = "cortex-a77",
    .features = featureSet(&[_]Feature{
        .addr_lsl_slow_14,
        .aes,
        .alu_lsl_fast,
        .cmp_bcc_fusion,
        .dotprod,
        .enable_select_opt,
        .fullfp16,
        .fuse_adrp_add,
        .fuse_aes,
        .perfmon,
        .predictable_select_expensive,
        .rcpc,
        .sha2,
        .ssbs,
        .v8_2a,
    }),
}

Constantcortex_a78[src]

Source Code

Source code
pub const cortex_a78: CpuModel = .{
    .name = "cortex_a78",
    .llvm_name = "cortex-a78",
    .features = featureSet(&[_]Feature{
        .addr_lsl_slow_14,
        .aes,
        .alu_lsl_fast,
        .cmp_bcc_fusion,
        .dotprod,
        .enable_select_opt,
        .fullfp16,
        .fuse_adrp_add,
        .fuse_aes,
        .perfmon,
        .predictable_select_expensive,
        .rcpc,
        .sha2,
        .spe,
        .ssbs,
        .use_postra_scheduler,
        .v8_2a,
    }),
}

Constantcortex_a78ae[src]

Source Code

Source code
pub const cortex_a78ae: CpuModel = .{
    .name = "cortex_a78ae",
    .llvm_name = "cortex-a78ae",
    .features = featureSet(&[_]Feature{
        .addr_lsl_slow_14,
        .aes,
        .alu_lsl_fast,
        .cmp_bcc_fusion,
        .dotprod,
        .enable_select_opt,
        .fullfp16,
        .fuse_adrp_add,
        .fuse_aes,
        .perfmon,
        .predictable_select_expensive,
        .rcpc,
        .sha2,
        .spe,
        .ssbs,
        .use_postra_scheduler,
        .v8_2a,
    }),
}

Constantcortex_a78c[src]

Source Code

Source code
pub const cortex_a78c: CpuModel = .{
    .name = "cortex_a78c",
    .llvm_name = "cortex-a78c",
    .features = featureSet(&[_]Feature{
        .addr_lsl_slow_14,
        .aes,
        .alu_lsl_fast,
        .cmp_bcc_fusion,
        .dotprod,
        .enable_select_opt,
        .flagm,
        .fullfp16,
        .fuse_adrp_add,
        .fuse_aes,
        .pauth,
        .perfmon,
        .predictable_select_expensive,
        .rcpc,
        .sha2,
        .spe,
        .ssbs,
        .use_postra_scheduler,
        .v8_2a,
    }),
}

Constantcortex_r82[src]

Source Code

Source code
pub const cortex_r82: CpuModel = .{
    .name = "cortex_r82",
    .llvm_name = "cortex-r82",
    .features = featureSet(&[_]Feature{
        .ccdp,
        .perfmon,
        .predres,
        .use_postra_scheduler,
        .v8r,
    }),
}

Constantcortex_r82ae[src]

Source Code

Source code
pub const cortex_r82ae: CpuModel = .{
    .name = "cortex_r82ae",
    .llvm_name = "cortex-r82ae",
    .features = featureSet(&[_]Feature{
        .ccdp,
        .perfmon,
        .predres,
        .use_postra_scheduler,
        .v8r,
    }),
}

Constantcortex_x1[src]

Source Code

Source code
pub const cortex_x1: CpuModel = .{
    .name = "cortex_x1",
    .llvm_name = "cortex-x1",
    .features = featureSet(&[_]Feature{
        .addr_lsl_slow_14,
        .aes,
        .alu_lsl_fast,
        .cmp_bcc_fusion,
        .dotprod,
        .enable_select_opt,
        .fullfp16,
        .fuse_adrp_add,
        .fuse_aes,
        .perfmon,
        .predictable_select_expensive,
        .rcpc,
        .sha2,
        .spe,
        .ssbs,
        .use_postra_scheduler,
        .v8_2a,
    }),
}

Constantcortex_x1c[src]

Source Code

Source code
pub const cortex_x1c: CpuModel = .{
    .name = "cortex_x1c",
    .llvm_name = "cortex-x1c",
    .features = featureSet(&[_]Feature{
        .addr_lsl_slow_14,
        .aes,
        .alu_lsl_fast,
        .cmp_bcc_fusion,
        .dotprod,
        .enable_select_opt,
        .flagm,
        .fullfp16,
        .fuse_adrp_add,
        .fuse_aes,
        .lse2,
        .pauth,
        .perfmon,
        .predictable_select_expensive,
        .rcpc_immo,
        .sha2,
        .spe,
        .ssbs,
        .use_postra_scheduler,
        .v8_2a,
    }),
}

Constantcortex_x2[src]

Source Code

Source code
pub const cortex_x2: CpuModel = .{
    .name = "cortex_x2",
    .llvm_name = "cortex-x2",
    .features = featureSet(&[_]Feature{
        .alu_lsl_fast,
        .bf16,
        .cmp_bcc_fusion,
        .enable_select_opt,
        .ete,
        .fp16fml,
        .fuse_adrp_add,
        .fuse_aes,
        .i8mm,
        .mte,
        .perfmon,
        .predictable_select_expensive,
        .sve2_bitperm,
        .use_postra_scheduler,
        .v9a,
    }),
}

Constantcortex_x3[src]

Source Code

Source code
pub const cortex_x3: CpuModel = .{
    .name = "cortex_x3",
    .llvm_name = "cortex-x3",
    .features = featureSet(&[_]Feature{
        .alu_lsl_fast,
        .bf16,
        .enable_select_opt,
        .ete,
        .fp16fml,
        .fuse_adrp_add,
        .fuse_aes,
        .i8mm,
        .mte,
        .perfmon,
        .predictable_select_expensive,
        .spe,
        .sve2_bitperm,
        .use_postra_scheduler,
        .v9a,
    }),
}

Constantcortex_x4[src]

Source Code

Source code
pub const cortex_x4: CpuModel = .{
    .name = "cortex_x4",
    .llvm_name = "cortex-x4",
    .features = featureSet(&[_]Feature{
        .alu_lsl_fast,
        .enable_select_opt,
        .ete,
        .fp16fml,
        .fuse_adrp_add,
        .fuse_aes,
        .mte,
        .perfmon,
        .predictable_select_expensive,
        .spe,
        .spe_eef,
        .sve2_bitperm,
        .use_postra_scheduler,
        .v9_2a,
    }),
}

Constantcortex_x925[src]

Source Code

Source code
pub const cortex_x925: CpuModel = .{
    .name = "cortex_x925",
    .llvm_name = "cortex-x925",
    .features = featureSet(&[_]Feature{
        .alu_lsl_fast,
        .enable_select_opt,
        .ete,
        .fp16fml,
        .fuse_adrp_add,
        .fuse_aes,
        .mte,
        .perfmon,
        .predictable_select_expensive,
        .spe,
        .spe_eef,
        .sve2_bitperm,
        .use_postra_scheduler,
        .v9_2a,
    }),
}

Constantcyclone[src]

Source Code

Source code
pub const cyclone: CpuModel = .{
    .name = "cyclone",
    .llvm_name = "cyclone",
    .features = featureSet(&[_]Feature{
        .aes,
        .alternate_sextload_cvt_f32_pattern,
        .arith_bcc_fusion,
        .arith_cbz_fusion,
        .disable_latency_sched_heuristic,
        .fuse_aes,
        .fuse_crypto_eor,
        .perfmon,
        .sha2,
        .store_pair_suppress,
        .v8a,
        .zcm,
        .zcz,
        .zcz_fp_workaround,
    }),
}

Constantemag[src]

Source Code

Source code
pub const emag: CpuModel = .{
    .name = "emag",
    .llvm_name = null,
    .features = featureSet(&[_]Feature{
        .crc,
        .crypto,
        .perfmon,
        .v8a,
    }),
}

Constantexynos_m1[src]

Source Code

Source code
pub const exynos_m1: CpuModel = .{
    .name = "exynos_m1",
    .llvm_name = null,
    .features = featureSet(&[_]Feature{
        .crc,
        .crypto,
        .exynos_cheap_as_move,
        .force_32bit_jump_tables,
        .fuse_aes,
        .perfmon,
        .slow_misaligned_128store,
        .slow_paired_128,
        .use_postra_scheduler,
        .use_reciprocal_square_root,
        .v8a,
    }),
}

Constantexynos_m2[src]

Source Code

Source code
pub const exynos_m2: CpuModel = .{
    .name = "exynos_m2",
    .llvm_name = null,
    .features = featureSet(&[_]Feature{
        .crc,
        .crypto,
        .exynos_cheap_as_move,
        .force_32bit_jump_tables,
        .fuse_aes,
        .perfmon,
        .slow_misaligned_128store,
        .slow_paired_128,
        .use_postra_scheduler,
        .v8a,
    }),
}

Constantexynos_m3[src]

Source Code

Source code
pub const exynos_m3: CpuModel = .{
    .name = "exynos_m3",
    .llvm_name = "exynos-m3",
    .features = featureSet(&[_]Feature{
        .aes,
        .alu_lsl_fast,
        .crc,
        .exynos_cheap_as_move,
        .force_32bit_jump_tables,
        .fuse_address,
        .fuse_adrp_add,
        .fuse_aes,
        .fuse_csel,
        .fuse_literals,
        .perfmon,
        .predictable_select_expensive,
        .sha2,
        .store_pair_suppress,
        .use_postra_scheduler,
        .v8a,
    }),
}

Constantexynos_m4[src]

Source Code

Source code
pub const exynos_m4: CpuModel = .{
    .name = "exynos_m4",
    .llvm_name = "exynos-m4",
    .features = featureSet(&[_]Feature{
        .aes,
        .alu_lsl_fast,
        .arith_bcc_fusion,
        .arith_cbz_fusion,
        .dotprod,
        .exynos_cheap_as_move,
        .force_32bit_jump_tables,
        .fullfp16,
        .fuse_address,
        .fuse_adrp_add,
        .fuse_aes,
        .fuse_arith_logic,
        .fuse_csel,
        .fuse_literals,
        .perfmon,
        .sha2,
        .store_pair_suppress,
        .use_postra_scheduler,
        .v8_2a,
        .zcz,
    }),
}

Constantexynos_m5[src]

Source Code

Source code
pub const exynos_m5: CpuModel = .{
    .name = "exynos_m5",
    .llvm_name = "exynos-m5",
    .features = featureSet(&[_]Feature{
        .aes,
        .alu_lsl_fast,
        .arith_bcc_fusion,
        .arith_cbz_fusion,
        .dotprod,
        .exynos_cheap_as_move,
        .force_32bit_jump_tables,
        .fullfp16,
        .fuse_address,
        .fuse_adrp_add,
        .fuse_aes,
        .fuse_arith_logic,
        .fuse_csel,
        .fuse_literals,
        .perfmon,
        .sha2,
        .store_pair_suppress,
        .use_postra_scheduler,
        .v8_2a,
        .zcz,
    }),
}

Constantfalkor[src]

Source Code

Source code
pub const falkor: CpuModel = .{
    .name = "falkor",
    .llvm_name = "falkor",
    .features = featureSet(&[_]Feature{
        .aes,
        .alu_lsl_fast,
        .crc,
        .perfmon,
        .predictable_select_expensive,
        .rdm,
        .sha2,
        .slow_strqro_store,
        .store_pair_suppress,
        .use_postra_scheduler,
        .v8a,
        .zcz,
    }),
}

Constantgeneric[src]

Source Code

Source code
pub const generic: CpuModel = .{
    .name = "generic",
    .llvm_name = "generic",
    .features = featureSet(&[_]Feature{
        .enable_select_opt,
        .ete,
        .fuse_adrp_add,
        .fuse_aes,
        .neon,
        .use_postra_scheduler,
    }),
}

Constantgrace[src]

Source Code

Source code
pub const grace: CpuModel = .{
    .name = "grace",
    .llvm_name = "grace",
    .features = featureSet(&[_]Feature{
        .alu_lsl_fast,
        .bf16,
        .cmp_bcc_fusion,
        .enable_select_opt,
        .ete,
        .fp16fml,
        .fuse_adrp_add,
        .fuse_aes,
        .i8mm,
        .mte,
        .perfmon,
        .predictable_select_expensive,
        .rand,
        .spe,
        .sve2_bitperm,
        .use_fixed_over_scalable_if_equal_cost,
        .use_postra_scheduler,
        .v9a,
    }),
}

Constantkryo[src]

Source Code

Source code
pub const kryo: CpuModel = .{
    .name = "kryo",
    .llvm_name = "kryo",
    .features = featureSet(&[_]Feature{
        .aes,
        .alu_lsl_fast,
        .crc,
        .perfmon,
        .predictable_select_expensive,
        .sha2,
        .store_pair_suppress,
        .use_postra_scheduler,
        .v8a,
        .zcz,
    }),
}

Constantneoverse_512tvb[src]

Source Code

Source code
pub const neoverse_512tvb: CpuModel = .{
    .name = "neoverse_512tvb",
    .llvm_name = "neoverse-512tvb",
    .features = featureSet(&[_]Feature{
        .aes,
        .alu_lsl_fast,
        .bf16,
        .ccdp,
        .enable_select_opt,
        .fp16fml,
        .fuse_adrp_add,
        .fuse_aes,
        .i8mm,
        .perfmon,
        .predictable_select_expensive,
        .rand,
        .sha3,
        .sm4,
        .spe,
        .ssbs,
        .sve,
        .use_postra_scheduler,
        .v8_4a,
    }),
}

Constantneoverse_e1[src]

Source Code

Source code
pub const neoverse_e1: CpuModel = .{
    .name = "neoverse_e1",
    .llvm_name = "neoverse-e1",
    .features = featureSet(&[_]Feature{
        .aes,
        .dotprod,
        .fullfp16,
        .fuse_adrp_add,
        .fuse_aes,
        .perfmon,
        .rcpc,
        .sha2,
        .ssbs,
        .use_postra_scheduler,
        .v8_2a,
    }),
}

Constantneoverse_n1[src]

Source Code

Source code
pub const neoverse_n1: CpuModel = .{
    .name = "neoverse_n1",
    .llvm_name = "neoverse-n1",
    .features = featureSet(&[_]Feature{
        .addr_lsl_slow_14,
        .aes,
        .alu_lsl_fast,
        .dotprod,
        .enable_select_opt,
        .fullfp16,
        .fuse_adrp_add,
        .fuse_aes,
        .perfmon,
        .predictable_select_expensive,
        .rcpc,
        .sha2,
        .spe,
        .ssbs,
        .use_postra_scheduler,
        .v8_2a,
    }),
}

Constantneoverse_n2[src]

Source Code

Source code
pub const neoverse_n2: CpuModel = .{
    .name = "neoverse_n2",
    .llvm_name = "neoverse-n2",
    .features = featureSet(&[_]Feature{
        .alu_lsl_fast,
        .bf16,
        .enable_select_opt,
        .ete,
        .fp16fml,
        .fuse_adrp_add,
        .fuse_aes,
        .i8mm,
        .mte,
        .perfmon,
        .predictable_select_expensive,
        .sve2_bitperm,
        .use_postra_scheduler,
        .v9a,
    }),
}

Constantneoverse_n3[src]

Source Code

Source code
pub const neoverse_n3: CpuModel = .{
    .name = "neoverse_n3",
    .llvm_name = "neoverse-n3",
    .features = featureSet(&[_]Feature{
        .alu_lsl_fast,
        .enable_select_opt,
        .ete,
        .fp16fml,
        .fuse_adrp_add,
        .fuse_aes,
        .mte,
        .perfmon,
        .predictable_select_expensive,
        .rand,
        .spe,
        .spe_eef,
        .sve2_bitperm,
        .use_postra_scheduler,
        .v9_2a,
    }),
}

Constantneoverse_v1[src]

Source Code

Source code
pub const neoverse_v1: CpuModel = .{
    .name = "neoverse_v1",
    .llvm_name = "neoverse-v1",
    .features = featureSet(&[_]Feature{
        .addr_lsl_slow_14,
        .aes,
        .alu_lsl_fast,
        .bf16,
        .ccdp,
        .enable_select_opt,
        .fp16fml,
        .fuse_adrp_add,
        .fuse_aes,
        .i8mm,
        .no_sve_fp_ld1r,
        .perfmon,
        .predictable_select_expensive,
        .rand,
        .sha3,
        .sm4,
        .spe,
        .ssbs,
        .sve,
        .use_postra_scheduler,
        .v8_4a,
    }),
}

Constantneoverse_v2[src]

Source Code

Source code
pub const neoverse_v2: CpuModel = .{
    .name = "neoverse_v2",
    .llvm_name = "neoverse-v2",
    .features = featureSet(&[_]Feature{
        .alu_lsl_fast,
        .bf16,
        .cmp_bcc_fusion,
        .enable_select_opt,
        .ete,
        .fp16fml,
        .fuse_adrp_add,
        .fuse_aes,
        .i8mm,
        .mte,
        .perfmon,
        .predictable_select_expensive,
        .rand,
        .spe,
        .sve2_bitperm,
        .use_fixed_over_scalable_if_equal_cost,
        .use_postra_scheduler,
        .v9a,
    }),
}

Constantneoverse_v3[src]

Source Code

Source code
pub const neoverse_v3: CpuModel = .{
    .name = "neoverse_v3",
    .llvm_name = "neoverse-v3",
    .features = featureSet(&[_]Feature{
        .alu_lsl_fast,
        .brbe,
        .enable_select_opt,
        .ete,
        .fp16fml,
        .fuse_adrp_add,
        .fuse_aes,
        .ls64,
        .mte,
        .perfmon,
        .predictable_select_expensive,
        .rand,
        .spe,
        .spe_eef,
        .sve2_bitperm,
        .use_postra_scheduler,
        .v9_2a,
    }),
}

Constantneoverse_v3ae[src]

Source Code

Source code
pub const neoverse_v3ae: CpuModel = .{
    .name = "neoverse_v3ae",
    .llvm_name = "neoverse-v3ae",
    .features = featureSet(&[_]Feature{
        .alu_lsl_fast,
        .brbe,
        .enable_select_opt,
        .ete,
        .fp16fml,
        .fuse_adrp_add,
        .fuse_aes,
        .ls64,
        .mte,
        .perfmon,
        .predictable_select_expensive,
        .rand,
        .spe,
        .spe_eef,
        .sve2_bitperm,
        .use_postra_scheduler,
        .v9_2a,
    }),
}

Constantoryon_1[src]

Source Code

Source code
pub const oryon_1: CpuModel = .{
    .name = "oryon_1",
    .llvm_name = "oryon-1",
    .features = featureSet(&[_]Feature{
        .aes,
        .enable_select_opt,
        .fp16fml,
        .fuse_address,
        .fuse_adrp_add,
        .fuse_aes,
        .fuse_crypto_eor,
        .perfmon,
        .rand,
        .sha3,
        .sm4,
        .spe,
        .use_postra_scheduler,
        .v8_6a,
    }),
}

Constantsaphira[src]

Source Code

Source code
pub const saphira: CpuModel = .{
    .name = "saphira",
    .llvm_name = "saphira",
    .features = featureSet(&[_]Feature{
        .aes,
        .alu_lsl_fast,
        .perfmon,
        .predictable_select_expensive,
        .sha2,
        .spe,
        .store_pair_suppress,
        .use_postra_scheduler,
        .v8_4a,
        .zcz,
    }),
}

Constantthunderx[src]

Source Code

Source code
pub const thunderx: CpuModel = .{
    .name = "thunderx",
    .llvm_name = "thunderx",
    .features = featureSet(&[_]Feature{
        .aes,
        .crc,
        .perfmon,
        .predictable_select_expensive,
        .sha2,
        .store_pair_suppress,
        .use_postra_scheduler,
        .v8a,
    }),
}

Constantthunderx2t99[src]

Source Code

Source code
pub const thunderx2t99: CpuModel = .{
    .name = "thunderx2t99",
    .llvm_name = "thunderx2t99",
    .features = featureSet(&[_]Feature{
        .aes,
        .aggressive_fma,
        .arith_bcc_fusion,
        .predictable_select_expensive,
        .sha2,
        .store_pair_suppress,
        .use_postra_scheduler,
        .v8_1a,
    }),
}

Constantthunderx3t110[src]

Source Code

Source code
pub const thunderx3t110: CpuModel = .{
    .name = "thunderx3t110",
    .llvm_name = "thunderx3t110",
    .features = featureSet(&[_]Feature{
        .aes,
        .aggressive_fma,
        .arith_bcc_fusion,
        .balance_fp_ops,
        .perfmon,
        .predictable_select_expensive,
        .sha2,
        .store_pair_suppress,
        .strict_align,
        .use_postra_scheduler,
        .v8_3a,
    }),
}

Constantthunderxt81[src]

Source Code

Source code
pub const thunderxt81: CpuModel = .{
    .name = "thunderxt81",
    .llvm_name = "thunderxt81",
    .features = featureSet(&[_]Feature{
        .aes,
        .crc,
        .perfmon,
        .predictable_select_expensive,
        .sha2,
        .store_pair_suppress,
        .use_postra_scheduler,
        .v8a,
    }),
}

Constantthunderxt83[src]

Source Code

Source code
pub const thunderxt83: CpuModel = .{
    .name = "thunderxt83",
    .llvm_name = "thunderxt83",
    .features = featureSet(&[_]Feature{
        .aes,
        .crc,
        .perfmon,
        .predictable_select_expensive,
        .sha2,
        .store_pair_suppress,
        .use_postra_scheduler,
        .v8a,
    }),
}

Constantthunderxt88[src]

Source Code

Source code
pub const thunderxt88: CpuModel = .{
    .name = "thunderxt88",
    .llvm_name = "thunderxt88",
    .features = featureSet(&[_]Feature{
        .aes,
        .crc,
        .perfmon,
        .predictable_select_expensive,
        .sha2,
        .store_pair_suppress,
        .use_postra_scheduler,
        .v8a,
    }),
}

Constanttsv110[src]

Source Code

Source code
pub const tsv110: CpuModel = .{
    .name = "tsv110",
    .llvm_name = "tsv110",
    .features = featureSet(&[_]Feature{
        .aes,
        .complxnum,
        .dotprod,
        .fp16fml,
        .fuse_aes,
        .jsconv,
        .perfmon,
        .sha2,
        .spe,
        .store_pair_suppress,
        .use_postra_scheduler,
        .v8_2a,
    }),
}

Constantxgene1[src]

Source Code

Source code
pub const xgene1: CpuModel = .{
    .name = "xgene1",
    .llvm_name = null,
    .features = featureSet(&[_]Feature{
        .perfmon,
        .v8a,
    }),
}

Source Code

Source code
pub const cpu = struct {
    pub const a64fx: CpuModel = .{
        .name = "a64fx",
        .llvm_name = "a64fx",
        .features = featureSet(&[_]Feature{
            .aes,
            .aggressive_fma,
            .arith_bcc_fusion,
            .complxnum,
            .perfmon,
            .predictable_select_expensive,
            .sha2,
            .store_pair_suppress,
            .sve,
            .use_postra_scheduler,
            .v8_2a,
        }),
    };
    pub const ampere1: CpuModel = .{
        .name = "ampere1",
        .llvm_name = "ampere1",
        .features = featureSet(&[_]Feature{
            .aes,
            .aggressive_fma,
            .alu_lsl_fast,
            .arith_bcc_fusion,
            .cmp_bcc_fusion,
            .fullfp16,
            .fuse_address,
            .fuse_adrp_add,
            .fuse_aes,
            .fuse_literals,
            .ldp_aligned_only,
            .perfmon,
            .rand,
            .sha3,
            .store_pair_suppress,
            .stp_aligned_only,
            .use_postra_scheduler,
            .v8_6a,
        }),
    };
    pub const ampere1a: CpuModel = .{
        .name = "ampere1a",
        .llvm_name = "ampere1a",
        .features = featureSet(&[_]Feature{
            .aes,
            .aggressive_fma,
            .alu_lsl_fast,
            .arith_bcc_fusion,
            .cmp_bcc_fusion,
            .fullfp16,
            .fuse_address,
            .fuse_addsub_2reg_const1,
            .fuse_adrp_add,
            .fuse_aes,
            .fuse_literals,
            .ldp_aligned_only,
            .mte,
            .perfmon,
            .rand,
            .sha3,
            .sm4,
            .store_pair_suppress,
            .stp_aligned_only,
            .use_postra_scheduler,
            .v8_6a,
        }),
    };
    pub const ampere1b: CpuModel = .{
        .name = "ampere1b",
        .llvm_name = "ampere1b",
        .features = featureSet(&[_]Feature{
            .aes,
            .aggressive_fma,
            .alu_lsl_fast,
            .arith_bcc_fusion,
            .cmp_bcc_fusion,
            .cssc,
            .enable_select_opt,
            .fullfp16,
            .fuse_address,
            .fuse_adrp_add,
            .fuse_aes,
            .fuse_literals,
            .ldp_aligned_only,
            .mte,
            .perfmon,
            .predictable_select_expensive,
            .rand,
            .sha3,
            .sm4,
            .store_pair_suppress,
            .stp_aligned_only,
            .use_postra_scheduler,
            .v8_7a,
        }),
    };
    pub const apple_a10: CpuModel = .{
        .name = "apple_a10",
        .llvm_name = "apple-a10",
        .features = featureSet(&[_]Feature{
            .aes,
            .alternate_sextload_cvt_f32_pattern,
            .arith_bcc_fusion,
            .arith_cbz_fusion,
            .crc,
            .disable_latency_sched_heuristic,
            .fuse_aes,
            .fuse_crypto_eor,
            .lor,
            .pan,
            .perfmon,
            .rdm,
            .sha2,
            .store_pair_suppress,
            .v8a,
            .vh,
            .zcm,
            .zcz,
        }),
    };
    pub const apple_a11: CpuModel = .{
        .name = "apple_a11",
        .llvm_name = "apple-a11",
        .features = featureSet(&[_]Feature{
            .aes,
            .alternate_sextload_cvt_f32_pattern,
            .arith_bcc_fusion,
            .arith_cbz_fusion,
            .disable_latency_sched_heuristic,
            .fullfp16,
            .fuse_aes,
            .fuse_crypto_eor,
            .perfmon,
            .sha2,
            .store_pair_suppress,
            .v8_2a,
            .zcm,
            .zcz,
        }),
    };
    pub const apple_a12: CpuModel = .{
        .name = "apple_a12",
        .llvm_name = "apple-a12",
        .features = featureSet(&[_]Feature{
            .aes,
            .alternate_sextload_cvt_f32_pattern,
            .arith_bcc_fusion,
            .arith_cbz_fusion,
            .disable_latency_sched_heuristic,
            .fullfp16,
            .fuse_aes,
            .fuse_crypto_eor,
            .perfmon,
            .sha2,
            .store_pair_suppress,
            .v8_3a,
            .zcm,
            .zcz,
        }),
    };
    pub const apple_a13: CpuModel = .{
        .name = "apple_a13",
        .llvm_name = "apple-a13",
        .features = featureSet(&[_]Feature{
            .aes,
            .alternate_sextload_cvt_f32_pattern,
            .arith_bcc_fusion,
            .arith_cbz_fusion,
            .disable_latency_sched_heuristic,
            .fp16fml,
            .fuse_aes,
            .fuse_crypto_eor,
            .perfmon,
            .sha3,
            .store_pair_suppress,
            .v8_4a,
            .zcm,
            .zcz,
        }),
    };
    pub const apple_a14: CpuModel = .{
        .name = "apple_a14",
        .llvm_name = "apple-a14",
        .features = featureSet(&[_]Feature{
            .aes,
            .aggressive_fma,
            .alternate_sextload_cvt_f32_pattern,
            .altnzcv,
            .arith_bcc_fusion,
            .arith_cbz_fusion,
            .ccdp,
            .disable_latency_sched_heuristic,
            .fp16fml,
            .fptoint,
            .fuse_address,
            .fuse_aes,
            .fuse_arith_logic,
            .fuse_crypto_eor,
            .fuse_csel,
            .fuse_literals,
            .perfmon,
            .predres,
            .sb,
            .sha3,
            .specrestrict,
            .ssbs,
            .store_pair_suppress,
            .v8_4a,
            .zcm,
            .zcz,
        }),
    };
    pub const apple_a15: CpuModel = .{
        .name = "apple_a15",
        .llvm_name = "apple-a15",
        .features = featureSet(&[_]Feature{
            .aes,
            .alternate_sextload_cvt_f32_pattern,
            .arith_bcc_fusion,
            .arith_cbz_fusion,
            .disable_latency_sched_heuristic,
            .fp16fml,
            .fuse_address,
            .fuse_aes,
            .fuse_arith_logic,
            .fuse_crypto_eor,
            .fuse_csel,
            .fuse_literals,
            .perfmon,
            .sha3,
            .store_pair_suppress,
            .v8_6a,
            .zcm,
            .zcz,
        }),
    };
    pub const apple_a16: CpuModel = .{
        .name = "apple_a16",
        .llvm_name = "apple-a16",
        .features = featureSet(&[_]Feature{
            .aes,
            .alternate_sextload_cvt_f32_pattern,
            .arith_bcc_fusion,
            .arith_cbz_fusion,
            .disable_latency_sched_heuristic,
            .fp16fml,
            .fuse_address,
            .fuse_adrp_add,
            .fuse_aes,
            .fuse_arith_logic,
            .fuse_crypto_eor,
            .fuse_csel,
            .fuse_literals,
            .hcx,
            .perfmon,
            .sha3,
            .store_pair_suppress,
            .v8_6a,
            .zcm,
            .zcz,
        }),
    };
    pub const apple_a17: CpuModel = .{
        .name = "apple_a17",
        .llvm_name = "apple-a17",
        .features = featureSet(&[_]Feature{
            .aes,
            .alternate_sextload_cvt_f32_pattern,
            .arith_bcc_fusion,
            .arith_cbz_fusion,
            .disable_latency_sched_heuristic,
            .fp16fml,
            .fuse_address,
            .fuse_adrp_add,
            .fuse_aes,
            .fuse_arith_logic,
            .fuse_crypto_eor,
            .fuse_csel,
            .fuse_literals,
            .hcx,
            .perfmon,
            .sha3,
            .store_pair_suppress,
            .v8_6a,
            .zcm,
            .zcz,
        }),
    };
    pub const apple_a7: CpuModel = .{
        .name = "apple_a7",
        .llvm_name = "apple-a7",
        .features = featureSet(&[_]Feature{
            .aes,
            .alternate_sextload_cvt_f32_pattern,
            .arith_bcc_fusion,
            .arith_cbz_fusion,
            .disable_latency_sched_heuristic,
            .fuse_aes,
            .fuse_crypto_eor,
            .perfmon,
            .sha2,
            .store_pair_suppress,
            .v8a,
            .zcm,
            .zcz,
            .zcz_fp_workaround,
        }),
    };
    pub const apple_a8: CpuModel = .{
        .name = "apple_a8",
        .llvm_name = "apple-a8",
        .features = featureSet(&[_]Feature{
            .aes,
            .alternate_sextload_cvt_f32_pattern,
            .arith_bcc_fusion,
            .arith_cbz_fusion,
            .disable_latency_sched_heuristic,
            .fuse_aes,
            .fuse_crypto_eor,
            .perfmon,
            .sha2,
            .store_pair_suppress,
            .v8a,
            .zcm,
            .zcz,
            .zcz_fp_workaround,
        }),
    };
    pub const apple_a9: CpuModel = .{
        .name = "apple_a9",
        .llvm_name = "apple-a9",
        .features = featureSet(&[_]Feature{
            .aes,
            .alternate_sextload_cvt_f32_pattern,
            .arith_bcc_fusion,
            .arith_cbz_fusion,
            .disable_latency_sched_heuristic,
            .fuse_aes,
            .fuse_crypto_eor,
            .perfmon,
            .sha2,
            .store_pair_suppress,
            .v8a,
            .zcm,
            .zcz,
            .zcz_fp_workaround,
        }),
    };
    pub const apple_m1: CpuModel = .{
        .name = "apple_m1",
        .llvm_name = "apple-m1",
        .features = featureSet(&[_]Feature{
            .aes,
            .aggressive_fma,
            .alternate_sextload_cvt_f32_pattern,
            .altnzcv,
            .arith_bcc_fusion,
            .arith_cbz_fusion,
            .ccdp,
            .disable_latency_sched_heuristic,
            .fp16fml,
            .fptoint,
            .fuse_address,
            .fuse_aes,
            .fuse_arith_logic,
            .fuse_crypto_eor,
            .fuse_csel,
            .fuse_literals,
            .perfmon,
            .predres,
            .sb,
            .sha3,
            .specrestrict,
            .ssbs,
            .store_pair_suppress,
            .v8_4a,
            .zcm,
            .zcz,
        }),
    };
    pub const apple_m2: CpuModel = .{
        .name = "apple_m2",
        .llvm_name = "apple-m2",
        .features = featureSet(&[_]Feature{
            .aes,
            .alternate_sextload_cvt_f32_pattern,
            .arith_bcc_fusion,
            .arith_cbz_fusion,
            .disable_latency_sched_heuristic,
            .fp16fml,
            .fuse_address,
            .fuse_aes,
            .fuse_arith_logic,
            .fuse_crypto_eor,
            .fuse_csel,
            .fuse_literals,
            .perfmon,
            .sha3,
            .store_pair_suppress,
            .v8_6a,
            .zcm,
            .zcz,
        }),
    };
    pub const apple_m3: CpuModel = .{
        .name = "apple_m3",
        .llvm_name = "apple-m3",
        .features = featureSet(&[_]Feature{
            .aes,
            .alternate_sextload_cvt_f32_pattern,
            .arith_bcc_fusion,
            .arith_cbz_fusion,
            .disable_latency_sched_heuristic,
            .fp16fml,
            .fuse_address,
            .fuse_adrp_add,
            .fuse_aes,
            .fuse_arith_logic,
            .fuse_crypto_eor,
            .fuse_csel,
            .fuse_literals,
            .hcx,
            .perfmon,
            .sha3,
            .store_pair_suppress,
            .v8_6a,
            .zcm,
            .zcz,
        }),
    };
    pub const apple_m4: CpuModel = .{
        .name = "apple_m4",
        .llvm_name = "apple-m4",
        .features = featureSet(&[_]Feature{
            .aes,
            .alternate_sextload_cvt_f32_pattern,
            .arith_bcc_fusion,
            .arith_cbz_fusion,
            .disable_latency_sched_heuristic,
            .fp16fml,
            .fuse_address,
            .fuse_aes,
            .fuse_arith_logic,
            .fuse_crypto_eor,
            .fuse_csel,
            .fuse_literals,
            .perfmon,
            .sha3,
            .sme2,
            .sme_f64f64,
            .sme_i16i64,
            .v8_7a,
            .zcm,
            .zcz,
        }),
    };
    pub const apple_s4: CpuModel = .{
        .name = "apple_s4",
        .llvm_name = "apple-s4",
        .features = featureSet(&[_]Feature{
            .aes,
            .alternate_sextload_cvt_f32_pattern,
            .arith_bcc_fusion,
            .arith_cbz_fusion,
            .disable_latency_sched_heuristic,
            .fullfp16,
            .fuse_aes,
            .fuse_crypto_eor,
            .perfmon,
            .sha2,
            .store_pair_suppress,
            .v8_3a,
            .zcm,
            .zcz,
        }),
    };
    pub const apple_s5: CpuModel = .{
        .name = "apple_s5",
        .llvm_name = "apple-s5",
        .features = featureSet(&[_]Feature{
            .aes,
            .alternate_sextload_cvt_f32_pattern,
            .arith_bcc_fusion,
            .arith_cbz_fusion,
            .disable_latency_sched_heuristic,
            .fullfp16,
            .fuse_aes,
            .fuse_crypto_eor,
            .perfmon,
            .sha2,
            .store_pair_suppress,
            .v8_3a,
            .zcm,
            .zcz,
        }),
    };
    pub const carmel: CpuModel = .{
        .name = "carmel",
        .llvm_name = "carmel",
        .features = featureSet(&[_]Feature{
            .aes,
            .fullfp16,
            .sha2,
            .v8_2a,
        }),
    };
    pub const cobalt_100: CpuModel = .{
        .name = "cobalt_100",
        .llvm_name = "cobalt-100",
        .features = featureSet(&[_]Feature{
            .alu_lsl_fast,
            .bf16,
            .enable_select_opt,
            .ete,
            .fp16fml,
            .fuse_adrp_add,
            .fuse_aes,
            .i8mm,
            .mte,
            .perfmon,
            .predictable_select_expensive,
            .sve2_bitperm,
            .use_postra_scheduler,
            .v9a,
        }),
    };
    pub const cortex_a34: CpuModel = .{
        .name = "cortex_a34",
        .llvm_name = "cortex-a34",
        .features = featureSet(&[_]Feature{
            .aes,
            .crc,
            .perfmon,
            .sha2,
            .v8a,
        }),
    };
    pub const cortex_a35: CpuModel = .{
        .name = "cortex_a35",
        .llvm_name = "cortex-a35",
        .features = featureSet(&[_]Feature{
            .aes,
            .crc,
            .perfmon,
            .sha2,
            .v8a,
        }),
    };
    pub const cortex_a510: CpuModel = .{
        .name = "cortex_a510",
        .llvm_name = "cortex-a510",
        .features = featureSet(&[_]Feature{
            .bf16,
            .ete,
            .fp16fml,
            .fuse_adrp_add,
            .fuse_aes,
            .i8mm,
            .mte,
            .perfmon,
            .sve2_bitperm,
            .use_postra_scheduler,
            .v9a,
        }),
    };
    pub const cortex_a520: CpuModel = .{
        .name = "cortex_a520",
        .llvm_name = "cortex-a520",
        .features = featureSet(&[_]Feature{
            .ete,
            .fp16fml,
            .fuse_adrp_add,
            .fuse_aes,
            .mte,
            .perfmon,
            .sve2_bitperm,
            .use_postra_scheduler,
            .v9_2a,
        }),
    };
    pub const cortex_a520ae: CpuModel = .{
        .name = "cortex_a520ae",
        .llvm_name = "cortex-a520ae",
        .features = featureSet(&[_]Feature{
            .ete,
            .fp16fml,
            .fuse_adrp_add,
            .fuse_aes,
            .mte,
            .perfmon,
            .sve2_bitperm,
            .use_postra_scheduler,
            .v9_2a,
        }),
    };
    pub const cortex_a53: CpuModel = .{
        .name = "cortex_a53",
        .llvm_name = "cortex-a53",
        .features = featureSet(&[_]Feature{
            .aes,
            .balance_fp_ops,
            .crc,
            .fuse_adrp_add,
            .fuse_aes,
            .perfmon,
            .sha2,
            .use_postra_scheduler,
            .v8a,
        }),
    };
    pub const cortex_a55: CpuModel = .{
        .name = "cortex_a55",
        .llvm_name = "cortex-a55",
        .features = featureSet(&[_]Feature{
            .aes,
            .dotprod,
            .fullfp16,
            .fuse_address,
            .fuse_adrp_add,
            .fuse_aes,
            .perfmon,
            .rcpc,
            .sha2,
            .use_postra_scheduler,
            .v8_2a,
        }),
    };
    pub const cortex_a57: CpuModel = .{
        .name = "cortex_a57",
        .llvm_name = "cortex-a57",
        .features = featureSet(&[_]Feature{
            .addr_lsl_slow_14,
            .aes,
            .balance_fp_ops,
            .crc,
            .enable_select_opt,
            .fuse_adrp_add,
            .fuse_aes,
            .fuse_literals,
            .perfmon,
            .predictable_select_expensive,
            .sha2,
            .use_postra_scheduler,
            .v8a,
        }),
    };
    pub const cortex_a65: CpuModel = .{
        .name = "cortex_a65",
        .llvm_name = "cortex-a65",
        .features = featureSet(&[_]Feature{
            .aes,
            .dotprod,
            .enable_select_opt,
            .fullfp16,
            .fuse_address,
            .fuse_adrp_add,
            .fuse_aes,
            .fuse_literals,
            .perfmon,
            .predictable_select_expensive,
            .rcpc,
            .sha2,
            .ssbs,
            .v8_2a,
        }),
    };
    pub const cortex_a65ae: CpuModel = .{
        .name = "cortex_a65ae",
        .llvm_name = "cortex-a65ae",
        .features = featureSet(&[_]Feature{
            .aes,
            .dotprod,
            .enable_select_opt,
            .fullfp16,
            .fuse_address,
            .fuse_adrp_add,
            .fuse_aes,
            .fuse_literals,
            .perfmon,
            .predictable_select_expensive,
            .rcpc,
            .sha2,
            .ssbs,
            .v8_2a,
        }),
    };
    pub const cortex_a710: CpuModel = .{
        .name = "cortex_a710",
        .llvm_name = "cortex-a710",
        .features = featureSet(&[_]Feature{
            .alu_lsl_fast,
            .bf16,
            .cmp_bcc_fusion,
            .enable_select_opt,
            .ete,
            .fp16fml,
            .fuse_adrp_add,
            .fuse_aes,
            .i8mm,
            .mte,
            .perfmon,
            .predictable_select_expensive,
            .sve2_bitperm,
            .use_postra_scheduler,
            .v9a,
        }),
    };
    pub const cortex_a715: CpuModel = .{
        .name = "cortex_a715",
        .llvm_name = "cortex-a715",
        .features = featureSet(&[_]Feature{
            .alu_lsl_fast,
            .bf16,
            .cmp_bcc_fusion,
            .enable_select_opt,
            .ete,
            .fp16fml,
            .fuse_adrp_add,
            .fuse_aes,
            .i8mm,
            .mte,
            .perfmon,
            .predictable_select_expensive,
            .spe,
            .sve2_bitperm,
            .use_postra_scheduler,
            .v9a,
        }),
    };
    pub const cortex_a72: CpuModel = .{
        .name = "cortex_a72",
        .llvm_name = "cortex-a72",
        .features = featureSet(&[_]Feature{
            .addr_lsl_slow_14,
            .aes,
            .crc,
            .enable_select_opt,
            .fuse_adrp_add,
            .fuse_aes,
            .fuse_literals,
            .perfmon,
            .predictable_select_expensive,
            .sha2,
            .v8a,
        }),
    };
    pub const cortex_a720: CpuModel = .{
        .name = "cortex_a720",
        .llvm_name = "cortex-a720",
        .features = featureSet(&[_]Feature{
            .alu_lsl_fast,
            .cmp_bcc_fusion,
            .enable_select_opt,
            .ete,
            .fp16fml,
            .fuse_adrp_add,
            .fuse_aes,
            .mte,
            .perfmon,
            .predictable_select_expensive,
            .spe,
            .spe_eef,
            .sve2_bitperm,
            .use_postra_scheduler,
            .v9_2a,
        }),
    };
    pub const cortex_a720ae: CpuModel = .{
        .name = "cortex_a720ae",
        .llvm_name = "cortex-a720ae",
        .features = featureSet(&[_]Feature{
            .alu_lsl_fast,
            .cmp_bcc_fusion,
            .enable_select_opt,
            .ete,
            .fp16fml,
            .fuse_adrp_add,
            .fuse_aes,
            .mte,
            .perfmon,
            .predictable_select_expensive,
            .spe,
            .spe_eef,
            .sve2_bitperm,
            .use_postra_scheduler,
            .v9_2a,
        }),
    };
    pub const cortex_a725: CpuModel = .{
        .name = "cortex_a725",
        .llvm_name = "cortex-a725",
        .features = featureSet(&[_]Feature{
            .alu_lsl_fast,
            .cmp_bcc_fusion,
            .enable_select_opt,
            .ete,
            .fp16fml,
            .fuse_adrp_add,
            .fuse_aes,
            .mte,
            .perfmon,
            .predictable_select_expensive,
            .spe,
            .spe_eef,
            .sve2_bitperm,
            .use_postra_scheduler,
            .v9_2a,
        }),
    };
    pub const cortex_a73: CpuModel = .{
        .name = "cortex_a73",
        .llvm_name = "cortex-a73",
        .features = featureSet(&[_]Feature{
            .addr_lsl_slow_14,
            .aes,
            .crc,
            .enable_select_opt,
            .fuse_adrp_add,
            .fuse_aes,
            .perfmon,
            .predictable_select_expensive,
            .sha2,
            .v8a,
        }),
    };
    pub const cortex_a75: CpuModel = .{
        .name = "cortex_a75",
        .llvm_name = "cortex-a75",
        .features = featureSet(&[_]Feature{
            .addr_lsl_slow_14,
            .aes,
            .dotprod,
            .enable_select_opt,
            .fullfp16,
            .fuse_adrp_add,
            .fuse_aes,
            .perfmon,
            .predictable_select_expensive,
            .rcpc,
            .sha2,
            .v8_2a,
        }),
    };
    pub const cortex_a76: CpuModel = .{
        .name = "cortex_a76",
        .llvm_name = "cortex-a76",
        .features = featureSet(&[_]Feature{
            .addr_lsl_slow_14,
            .aes,
            .alu_lsl_fast,
            .dotprod,
            .enable_select_opt,
            .fullfp16,
            .fuse_adrp_add,
            .fuse_aes,
            .perfmon,
            .predictable_select_expensive,
            .rcpc,
            .sha2,
            .ssbs,
            .v8_2a,
        }),
    };
    pub const cortex_a76ae: CpuModel = .{
        .name = "cortex_a76ae",
        .llvm_name = "cortex-a76ae",
        .features = featureSet(&[_]Feature{
            .addr_lsl_slow_14,
            .aes,
            .alu_lsl_fast,
            .dotprod,
            .enable_select_opt,
            .fullfp16,
            .fuse_adrp_add,
            .fuse_aes,
            .perfmon,
            .predictable_select_expensive,
            .rcpc,
            .sha2,
            .ssbs,
            .v8_2a,
        }),
    };
    pub const cortex_a77: CpuModel = .{
        .name = "cortex_a77",
        .llvm_name = "cortex-a77",
        .features = featureSet(&[_]Feature{
            .addr_lsl_slow_14,
            .aes,
            .alu_lsl_fast,
            .cmp_bcc_fusion,
            .dotprod,
            .enable_select_opt,
            .fullfp16,
            .fuse_adrp_add,
            .fuse_aes,
            .perfmon,
            .predictable_select_expensive,
            .rcpc,
            .sha2,
            .ssbs,
            .v8_2a,
        }),
    };
    pub const cortex_a78: CpuModel = .{
        .name = "cortex_a78",
        .llvm_name = "cortex-a78",
        .features = featureSet(&[_]Feature{
            .addr_lsl_slow_14,
            .aes,
            .alu_lsl_fast,
            .cmp_bcc_fusion,
            .dotprod,
            .enable_select_opt,
            .fullfp16,
            .fuse_adrp_add,
            .fuse_aes,
            .perfmon,
            .predictable_select_expensive,
            .rcpc,
            .sha2,
            .spe,
            .ssbs,
            .use_postra_scheduler,
            .v8_2a,
        }),
    };
    pub const cortex_a78ae: CpuModel = .{
        .name = "cortex_a78ae",
        .llvm_name = "cortex-a78ae",
        .features = featureSet(&[_]Feature{
            .addr_lsl_slow_14,
            .aes,
            .alu_lsl_fast,
            .cmp_bcc_fusion,
            .dotprod,
            .enable_select_opt,
            .fullfp16,
            .fuse_adrp_add,
            .fuse_aes,
            .perfmon,
            .predictable_select_expensive,
            .rcpc,
            .sha2,
            .spe,
            .ssbs,
            .use_postra_scheduler,
            .v8_2a,
        }),
    };
    pub const cortex_a78c: CpuModel = .{
        .name = "cortex_a78c",
        .llvm_name = "cortex-a78c",
        .features = featureSet(&[_]Feature{
            .addr_lsl_slow_14,
            .aes,
            .alu_lsl_fast,
            .cmp_bcc_fusion,
            .dotprod,
            .enable_select_opt,
            .flagm,
            .fullfp16,
            .fuse_adrp_add,
            .fuse_aes,
            .pauth,
            .perfmon,
            .predictable_select_expensive,
            .rcpc,
            .sha2,
            .spe,
            .ssbs,
            .use_postra_scheduler,
            .v8_2a,
        }),
    };
    pub const cortex_r82: CpuModel = .{
        .name = "cortex_r82",
        .llvm_name = "cortex-r82",
        .features = featureSet(&[_]Feature{
            .ccdp,
            .perfmon,
            .predres,
            .use_postra_scheduler,
            .v8r,
        }),
    };
    pub const cortex_r82ae: CpuModel = .{
        .name = "cortex_r82ae",
        .llvm_name = "cortex-r82ae",
        .features = featureSet(&[_]Feature{
            .ccdp,
            .perfmon,
            .predres,
            .use_postra_scheduler,
            .v8r,
        }),
    };
    pub const cortex_x1: CpuModel = .{
        .name = "cortex_x1",
        .llvm_name = "cortex-x1",
        .features = featureSet(&[_]Feature{
            .addr_lsl_slow_14,
            .aes,
            .alu_lsl_fast,
            .cmp_bcc_fusion,
            .dotprod,
            .enable_select_opt,
            .fullfp16,
            .fuse_adrp_add,
            .fuse_aes,
            .perfmon,
            .predictable_select_expensive,
            .rcpc,
            .sha2,
            .spe,
            .ssbs,
            .use_postra_scheduler,
            .v8_2a,
        }),
    };
    pub const cortex_x1c: CpuModel = .{
        .name = "cortex_x1c",
        .llvm_name = "cortex-x1c",
        .features = featureSet(&[_]Feature{
            .addr_lsl_slow_14,
            .aes,
            .alu_lsl_fast,
            .cmp_bcc_fusion,
            .dotprod,
            .enable_select_opt,
            .flagm,
            .fullfp16,
            .fuse_adrp_add,
            .fuse_aes,
            .lse2,
            .pauth,
            .perfmon,
            .predictable_select_expensive,
            .rcpc_immo,
            .sha2,
            .spe,
            .ssbs,
            .use_postra_scheduler,
            .v8_2a,
        }),
    };
    pub const cortex_x2: CpuModel = .{
        .name = "cortex_x2",
        .llvm_name = "cortex-x2",
        .features = featureSet(&[_]Feature{
            .alu_lsl_fast,
            .bf16,
            .cmp_bcc_fusion,
            .enable_select_opt,
            .ete,
            .fp16fml,
            .fuse_adrp_add,
            .fuse_aes,
            .i8mm,
            .mte,
            .perfmon,
            .predictable_select_expensive,
            .sve2_bitperm,
            .use_postra_scheduler,
            .v9a,
        }),
    };
    pub const cortex_x3: CpuModel = .{
        .name = "cortex_x3",
        .llvm_name = "cortex-x3",
        .features = featureSet(&[_]Feature{
            .alu_lsl_fast,
            .bf16,
            .enable_select_opt,
            .ete,
            .fp16fml,
            .fuse_adrp_add,
            .fuse_aes,
            .i8mm,
            .mte,
            .perfmon,
            .predictable_select_expensive,
            .spe,
            .sve2_bitperm,
            .use_postra_scheduler,
            .v9a,
        }),
    };
    pub const cortex_x4: CpuModel = .{
        .name = "cortex_x4",
        .llvm_name = "cortex-x4",
        .features = featureSet(&[_]Feature{
            .alu_lsl_fast,
            .enable_select_opt,
            .ete,
            .fp16fml,
            .fuse_adrp_add,
            .fuse_aes,
            .mte,
            .perfmon,
            .predictable_select_expensive,
            .spe,
            .spe_eef,
            .sve2_bitperm,
            .use_postra_scheduler,
            .v9_2a,
        }),
    };
    pub const cortex_x925: CpuModel = .{
        .name = "cortex_x925",
        .llvm_name = "cortex-x925",
        .features = featureSet(&[_]Feature{
            .alu_lsl_fast,
            .enable_select_opt,
            .ete,
            .fp16fml,
            .fuse_adrp_add,
            .fuse_aes,
            .mte,
            .perfmon,
            .predictable_select_expensive,
            .spe,
            .spe_eef,
            .sve2_bitperm,
            .use_postra_scheduler,
            .v9_2a,
        }),
    };
    pub const cyclone: CpuModel = .{
        .name = "cyclone",
        .llvm_name = "cyclone",
        .features = featureSet(&[_]Feature{
            .aes,
            .alternate_sextload_cvt_f32_pattern,
            .arith_bcc_fusion,
            .arith_cbz_fusion,
            .disable_latency_sched_heuristic,
            .fuse_aes,
            .fuse_crypto_eor,
            .perfmon,
            .sha2,
            .store_pair_suppress,
            .v8a,
            .zcm,
            .zcz,
            .zcz_fp_workaround,
        }),
    };
    pub const emag: CpuModel = .{
        .name = "emag",
        .llvm_name = null,
        .features = featureSet(&[_]Feature{
            .crc,
            .crypto,
            .perfmon,
            .v8a,
        }),
    };
    pub const exynos_m1: CpuModel = .{
        .name = "exynos_m1",
        .llvm_name = null,
        .features = featureSet(&[_]Feature{
            .crc,
            .crypto,
            .exynos_cheap_as_move,
            .force_32bit_jump_tables,
            .fuse_aes,
            .perfmon,
            .slow_misaligned_128store,
            .slow_paired_128,
            .use_postra_scheduler,
            .use_reciprocal_square_root,
            .v8a,
        }),
    };
    pub const exynos_m2: CpuModel = .{
        .name = "exynos_m2",
        .llvm_name = null,
        .features = featureSet(&[_]Feature{
            .crc,
            .crypto,
            .exynos_cheap_as_move,
            .force_32bit_jump_tables,
            .fuse_aes,
            .perfmon,
            .slow_misaligned_128store,
            .slow_paired_128,
            .use_postra_scheduler,
            .v8a,
        }),
    };
    pub const exynos_m3: CpuModel = .{
        .name = "exynos_m3",
        .llvm_name = "exynos-m3",
        .features = featureSet(&[_]Feature{
            .aes,
            .alu_lsl_fast,
            .crc,
            .exynos_cheap_as_move,
            .force_32bit_jump_tables,
            .fuse_address,
            .fuse_adrp_add,
            .fuse_aes,
            .fuse_csel,
            .fuse_literals,
            .perfmon,
            .predictable_select_expensive,
            .sha2,
            .store_pair_suppress,
            .use_postra_scheduler,
            .v8a,
        }),
    };
    pub const exynos_m4: CpuModel = .{
        .name = "exynos_m4",
        .llvm_name = "exynos-m4",
        .features = featureSet(&[_]Feature{
            .aes,
            .alu_lsl_fast,
            .arith_bcc_fusion,
            .arith_cbz_fusion,
            .dotprod,
            .exynos_cheap_as_move,
            .force_32bit_jump_tables,
            .fullfp16,
            .fuse_address,
            .fuse_adrp_add,
            .fuse_aes,
            .fuse_arith_logic,
            .fuse_csel,
            .fuse_literals,
            .perfmon,
            .sha2,
            .store_pair_suppress,
            .use_postra_scheduler,
            .v8_2a,
            .zcz,
        }),
    };
    pub const exynos_m5: CpuModel = .{
        .name = "exynos_m5",
        .llvm_name = "exynos-m5",
        .features = featureSet(&[_]Feature{
            .aes,
            .alu_lsl_fast,
            .arith_bcc_fusion,
            .arith_cbz_fusion,
            .dotprod,
            .exynos_cheap_as_move,
            .force_32bit_jump_tables,
            .fullfp16,
            .fuse_address,
            .fuse_adrp_add,
            .fuse_aes,
            .fuse_arith_logic,
            .fuse_csel,
            .fuse_literals,
            .perfmon,
            .sha2,
            .store_pair_suppress,
            .use_postra_scheduler,
            .v8_2a,
            .zcz,
        }),
    };
    pub const falkor: CpuModel = .{
        .name = "falkor",
        .llvm_name = "falkor",
        .features = featureSet(&[_]Feature{
            .aes,
            .alu_lsl_fast,
            .crc,
            .perfmon,
            .predictable_select_expensive,
            .rdm,
            .sha2,
            .slow_strqro_store,
            .store_pair_suppress,
            .use_postra_scheduler,
            .v8a,
            .zcz,
        }),
    };
    pub const generic: CpuModel = .{
        .name = "generic",
        .llvm_name = "generic",
        .features = featureSet(&[_]Feature{
            .enable_select_opt,
            .ete,
            .fuse_adrp_add,
            .fuse_aes,
            .neon,
            .use_postra_scheduler,
        }),
    };
    pub const grace: CpuModel = .{
        .name = "grace",
        .llvm_name = "grace",
        .features = featureSet(&[_]Feature{
            .alu_lsl_fast,
            .bf16,
            .cmp_bcc_fusion,
            .enable_select_opt,
            .ete,
            .fp16fml,
            .fuse_adrp_add,
            .fuse_aes,
            .i8mm,
            .mte,
            .perfmon,
            .predictable_select_expensive,
            .rand,
            .spe,
            .sve2_bitperm,
            .use_fixed_over_scalable_if_equal_cost,
            .use_postra_scheduler,
            .v9a,
        }),
    };
    pub const kryo: CpuModel = .{
        .name = "kryo",
        .llvm_name = "kryo",
        .features = featureSet(&[_]Feature{
            .aes,
            .alu_lsl_fast,
            .crc,
            .perfmon,
            .predictable_select_expensive,
            .sha2,
            .store_pair_suppress,
            .use_postra_scheduler,
            .v8a,
            .zcz,
        }),
    };
    pub const neoverse_512tvb: CpuModel = .{
        .name = "neoverse_512tvb",
        .llvm_name = "neoverse-512tvb",
        .features = featureSet(&[_]Feature{
            .aes,
            .alu_lsl_fast,
            .bf16,
            .ccdp,
            .enable_select_opt,
            .fp16fml,
            .fuse_adrp_add,
            .fuse_aes,
            .i8mm,
            .perfmon,
            .predictable_select_expensive,
            .rand,
            .sha3,
            .sm4,
            .spe,
            .ssbs,
            .sve,
            .use_postra_scheduler,
            .v8_4a,
        }),
    };
    pub const neoverse_e1: CpuModel = .{
        .name = "neoverse_e1",
        .llvm_name = "neoverse-e1",
        .features = featureSet(&[_]Feature{
            .aes,
            .dotprod,
            .fullfp16,
            .fuse_adrp_add,
            .fuse_aes,
            .perfmon,
            .rcpc,
            .sha2,
            .ssbs,
            .use_postra_scheduler,
            .v8_2a,
        }),
    };
    pub const neoverse_n1: CpuModel = .{
        .name = "neoverse_n1",
        .llvm_name = "neoverse-n1",
        .features = featureSet(&[_]Feature{
            .addr_lsl_slow_14,
            .aes,
            .alu_lsl_fast,
            .dotprod,
            .enable_select_opt,
            .fullfp16,
            .fuse_adrp_add,
            .fuse_aes,
            .perfmon,
            .predictable_select_expensive,
            .rcpc,
            .sha2,
            .spe,
            .ssbs,
            .use_postra_scheduler,
            .v8_2a,
        }),
    };
    pub const neoverse_n2: CpuModel = .{
        .name = "neoverse_n2",
        .llvm_name = "neoverse-n2",
        .features = featureSet(&[_]Feature{
            .alu_lsl_fast,
            .bf16,
            .enable_select_opt,
            .ete,
            .fp16fml,
            .fuse_adrp_add,
            .fuse_aes,
            .i8mm,
            .mte,
            .perfmon,
            .predictable_select_expensive,
            .sve2_bitperm,
            .use_postra_scheduler,
            .v9a,
        }),
    };
    pub const neoverse_n3: CpuModel = .{
        .name = "neoverse_n3",
        .llvm_name = "neoverse-n3",
        .features = featureSet(&[_]Feature{
            .alu_lsl_fast,
            .enable_select_opt,
            .ete,
            .fp16fml,
            .fuse_adrp_add,
            .fuse_aes,
            .mte,
            .perfmon,
            .predictable_select_expensive,
            .rand,
            .spe,
            .spe_eef,
            .sve2_bitperm,
            .use_postra_scheduler,
            .v9_2a,
        }),
    };
    pub const neoverse_v1: CpuModel = .{
        .name = "neoverse_v1",
        .llvm_name = "neoverse-v1",
        .features = featureSet(&[_]Feature{
            .addr_lsl_slow_14,
            .aes,
            .alu_lsl_fast,
            .bf16,
            .ccdp,
            .enable_select_opt,
            .fp16fml,
            .fuse_adrp_add,
            .fuse_aes,
            .i8mm,
            .no_sve_fp_ld1r,
            .perfmon,
            .predictable_select_expensive,
            .rand,
            .sha3,
            .sm4,
            .spe,
            .ssbs,
            .sve,
            .use_postra_scheduler,
            .v8_4a,
        }),
    };
    pub const neoverse_v2: CpuModel = .{
        .name = "neoverse_v2",
        .llvm_name = "neoverse-v2",
        .features = featureSet(&[_]Feature{
            .alu_lsl_fast,
            .bf16,
            .cmp_bcc_fusion,
            .enable_select_opt,
            .ete,
            .fp16fml,
            .fuse_adrp_add,
            .fuse_aes,
            .i8mm,
            .mte,
            .perfmon,
            .predictable_select_expensive,
            .rand,
            .spe,
            .sve2_bitperm,
            .use_fixed_over_scalable_if_equal_cost,
            .use_postra_scheduler,
            .v9a,
        }),
    };
    pub const neoverse_v3: CpuModel = .{
        .name = "neoverse_v3",
        .llvm_name = "neoverse-v3",
        .features = featureSet(&[_]Feature{
            .alu_lsl_fast,
            .brbe,
            .enable_select_opt,
            .ete,
            .fp16fml,
            .fuse_adrp_add,
            .fuse_aes,
            .ls64,
            .mte,
            .perfmon,
            .predictable_select_expensive,
            .rand,
            .spe,
            .spe_eef,
            .sve2_bitperm,
            .use_postra_scheduler,
            .v9_2a,
        }),
    };
    pub const neoverse_v3ae: CpuModel = .{
        .name = "neoverse_v3ae",
        .llvm_name = "neoverse-v3ae",
        .features = featureSet(&[_]Feature{
            .alu_lsl_fast,
            .brbe,
            .enable_select_opt,
            .ete,
            .fp16fml,
            .fuse_adrp_add,
            .fuse_aes,
            .ls64,
            .mte,
            .perfmon,
            .predictable_select_expensive,
            .rand,
            .spe,
            .spe_eef,
            .sve2_bitperm,
            .use_postra_scheduler,
            .v9_2a,
        }),
    };
    pub const oryon_1: CpuModel = .{
        .name = "oryon_1",
        .llvm_name = "oryon-1",
        .features = featureSet(&[_]Feature{
            .aes,
            .enable_select_opt,
            .fp16fml,
            .fuse_address,
            .fuse_adrp_add,
            .fuse_aes,
            .fuse_crypto_eor,
            .perfmon,
            .rand,
            .sha3,
            .sm4,
            .spe,
            .use_postra_scheduler,
            .v8_6a,
        }),
    };
    pub const saphira: CpuModel = .{
        .name = "saphira",
        .llvm_name = "saphira",
        .features = featureSet(&[_]Feature{
            .aes,
            .alu_lsl_fast,
            .perfmon,
            .predictable_select_expensive,
            .sha2,
            .spe,
            .store_pair_suppress,
            .use_postra_scheduler,
            .v8_4a,
            .zcz,
        }),
    };
    pub const thunderx: CpuModel = .{
        .name = "thunderx",
        .llvm_name = "thunderx",
        .features = featureSet(&[_]Feature{
            .aes,
            .crc,
            .perfmon,
            .predictable_select_expensive,
            .sha2,
            .store_pair_suppress,
            .use_postra_scheduler,
            .v8a,
        }),
    };
    pub const thunderx2t99: CpuModel = .{
        .name = "thunderx2t99",
        .llvm_name = "thunderx2t99",
        .features = featureSet(&[_]Feature{
            .aes,
            .aggressive_fma,
            .arith_bcc_fusion,
            .predictable_select_expensive,
            .sha2,
            .store_pair_suppress,
            .use_postra_scheduler,
            .v8_1a,
        }),
    };
    pub const thunderx3t110: CpuModel = .{
        .name = "thunderx3t110",
        .llvm_name = "thunderx3t110",
        .features = featureSet(&[_]Feature{
            .aes,
            .aggressive_fma,
            .arith_bcc_fusion,
            .balance_fp_ops,
            .perfmon,
            .predictable_select_expensive,
            .sha2,
            .store_pair_suppress,
            .strict_align,
            .use_postra_scheduler,
            .v8_3a,
        }),
    };
    pub const thunderxt81: CpuModel = .{
        .name = "thunderxt81",
        .llvm_name = "thunderxt81",
        .features = featureSet(&[_]Feature{
            .aes,
            .crc,
            .perfmon,
            .predictable_select_expensive,
            .sha2,
            .store_pair_suppress,
            .use_postra_scheduler,
            .v8a,
        }),
    };
    pub const thunderxt83: CpuModel = .{
        .name = "thunderxt83",
        .llvm_name = "thunderxt83",
        .features = featureSet(&[_]Feature{
            .aes,
            .crc,
            .perfmon,
            .predictable_select_expensive,
            .sha2,
            .store_pair_suppress,
            .use_postra_scheduler,
            .v8a,
        }),
    };
    pub const thunderxt88: CpuModel = .{
        .name = "thunderxt88",
        .llvm_name = "thunderxt88",
        .features = featureSet(&[_]Feature{
            .aes,
            .crc,
            .perfmon,
            .predictable_select_expensive,
            .sha2,
            .store_pair_suppress,
            .use_postra_scheduler,
            .v8a,
        }),
    };
    pub const tsv110: CpuModel = .{
        .name = "tsv110",
        .llvm_name = "tsv110",
        .features = featureSet(&[_]Feature{
            .aes,
            .complxnum,
            .dotprod,
            .fp16fml,
            .fuse_aes,
            .jsconv,
            .perfmon,
            .sha2,
            .spe,
            .store_pair_suppress,
            .use_postra_scheduler,
            .v8_2a,
        }),
    };
    pub const xgene1: CpuModel = .{
        .name = "xgene1",
        .llvm_name = null,
        .features = featureSet(&[_]Feature{
            .perfmon,
            .v8a,
        }),
    };
}