mirror of
https://github.com/ziglang/zig.git
synced 2025-12-20 13:13:16 +00:00
Merge pull request #21505 from alexrp/cpu-features-exts
`update_cpu_features`: Add support for parsing `DefaultExts` as used for aarch64.
This commit is contained in:
commit
8ee52f99ce
@ -1373,6 +1373,7 @@ pub const all_features = blk: {
|
|||||||
.llvm_name = "v8.3a",
|
.llvm_name = "v8.3a",
|
||||||
.description = "Support ARM v8.3a architecture",
|
.description = "Support ARM v8.3a architecture",
|
||||||
.dependencies = featureSet(&[_]Feature{
|
.dependencies = featureSet(&[_]Feature{
|
||||||
|
.ccidx,
|
||||||
.complxnum,
|
.complxnum,
|
||||||
.jsconv,
|
.jsconv,
|
||||||
.pauth,
|
.pauth,
|
||||||
@ -1409,6 +1410,7 @@ pub const all_features = blk: {
|
|||||||
.predres,
|
.predres,
|
||||||
.sb,
|
.sb,
|
||||||
.specrestrict,
|
.specrestrict,
|
||||||
|
.ssbs,
|
||||||
.v8_4a,
|
.v8_4a,
|
||||||
}),
|
}),
|
||||||
};
|
};
|
||||||
@ -1470,18 +1472,26 @@ pub const all_features = blk: {
|
|||||||
.llvm_name = "v8r",
|
.llvm_name = "v8r",
|
||||||
.description = "Support ARM v8r architecture",
|
.description = "Support ARM v8r architecture",
|
||||||
.dependencies = featureSet(&[_]Feature{
|
.dependencies = featureSet(&[_]Feature{
|
||||||
|
.ccidx,
|
||||||
.ccpp,
|
.ccpp,
|
||||||
|
.complxnum,
|
||||||
.contextidr_el2,
|
.contextidr_el2,
|
||||||
.crc,
|
.crc,
|
||||||
.dit,
|
.dit,
|
||||||
|
.dotprod,
|
||||||
.flagm,
|
.flagm,
|
||||||
|
.fp16fml,
|
||||||
|
.jsconv,
|
||||||
.lse,
|
.lse,
|
||||||
.pan_rwv,
|
.pan_rwv,
|
||||||
.pauth,
|
.pauth,
|
||||||
.ras,
|
.ras,
|
||||||
.rcpc_immo,
|
.rcpc_immo,
|
||||||
|
.rdm,
|
||||||
|
.sb,
|
||||||
.sel2,
|
.sel2,
|
||||||
.specrestrict,
|
.specrestrict,
|
||||||
|
.ssbs,
|
||||||
.tlb_rmi,
|
.tlb_rmi,
|
||||||
.tracev8_4,
|
.tracev8_4,
|
||||||
.uaops,
|
.uaops,
|
||||||
@ -1491,6 +1501,7 @@ pub const all_features = blk: {
|
|||||||
.llvm_name = "v9.1a",
|
.llvm_name = "v9.1a",
|
||||||
.description = "Support ARM v9.1a architecture",
|
.description = "Support ARM v9.1a architecture",
|
||||||
.dependencies = featureSet(&[_]Feature{
|
.dependencies = featureSet(&[_]Feature{
|
||||||
|
.rme,
|
||||||
.v8_6a,
|
.v8_6a,
|
||||||
.v9a,
|
.v9a,
|
||||||
}),
|
}),
|
||||||
@ -1499,6 +1510,7 @@ pub const all_features = blk: {
|
|||||||
.llvm_name = "v9.2a",
|
.llvm_name = "v9.2a",
|
||||||
.description = "Support ARM v9.2a architecture",
|
.description = "Support ARM v9.2a architecture",
|
||||||
.dependencies = featureSet(&[_]Feature{
|
.dependencies = featureSet(&[_]Feature{
|
||||||
|
.mec,
|
||||||
.v8_7a,
|
.v8_7a,
|
||||||
.v9_1a,
|
.v9_1a,
|
||||||
}),
|
}),
|
||||||
@ -1524,6 +1536,8 @@ pub const all_features = blk: {
|
|||||||
.description = "Support ARM v9.5a architecture",
|
.description = "Support ARM v9.5a architecture",
|
||||||
.dependencies = featureSet(&[_]Feature{
|
.dependencies = featureSet(&[_]Feature{
|
||||||
.cpa,
|
.cpa,
|
||||||
|
.faminmax,
|
||||||
|
.lut,
|
||||||
.v9_4a,
|
.v9_4a,
|
||||||
}),
|
}),
|
||||||
};
|
};
|
||||||
@ -1531,6 +1545,7 @@ pub const all_features = blk: {
|
|||||||
.llvm_name = "v9a",
|
.llvm_name = "v9a",
|
||||||
.description = "Support ARM v9a architecture",
|
.description = "Support ARM v9a architecture",
|
||||||
.dependencies = featureSet(&[_]Feature{
|
.dependencies = featureSet(&[_]Feature{
|
||||||
|
.sve2,
|
||||||
.v8_5a,
|
.v8_5a,
|
||||||
}),
|
}),
|
||||||
};
|
};
|
||||||
@ -1607,7 +1622,6 @@ pub const cpu = struct {
|
|||||||
.aggressive_fma,
|
.aggressive_fma,
|
||||||
.alu_lsl_fast,
|
.alu_lsl_fast,
|
||||||
.arith_bcc_fusion,
|
.arith_bcc_fusion,
|
||||||
.ccidx,
|
|
||||||
.cmp_bcc_fusion,
|
.cmp_bcc_fusion,
|
||||||
.fullfp16,
|
.fullfp16,
|
||||||
.fuse_address,
|
.fuse_address,
|
||||||
@ -1618,7 +1632,6 @@ pub const cpu = struct {
|
|||||||
.perfmon,
|
.perfmon,
|
||||||
.rand,
|
.rand,
|
||||||
.sha3,
|
.sha3,
|
||||||
.ssbs,
|
|
||||||
.store_pair_suppress,
|
.store_pair_suppress,
|
||||||
.stp_aligned_only,
|
.stp_aligned_only,
|
||||||
.use_postra_scheduler,
|
.use_postra_scheduler,
|
||||||
@ -1633,7 +1646,6 @@ pub const cpu = struct {
|
|||||||
.aggressive_fma,
|
.aggressive_fma,
|
||||||
.alu_lsl_fast,
|
.alu_lsl_fast,
|
||||||
.arith_bcc_fusion,
|
.arith_bcc_fusion,
|
||||||
.ccidx,
|
|
||||||
.cmp_bcc_fusion,
|
.cmp_bcc_fusion,
|
||||||
.fullfp16,
|
.fullfp16,
|
||||||
.fuse_address,
|
.fuse_address,
|
||||||
@ -1647,7 +1659,6 @@ pub const cpu = struct {
|
|||||||
.rand,
|
.rand,
|
||||||
.sha3,
|
.sha3,
|
||||||
.sm4,
|
.sm4,
|
||||||
.ssbs,
|
|
||||||
.store_pair_suppress,
|
.store_pair_suppress,
|
||||||
.stp_aligned_only,
|
.stp_aligned_only,
|
||||||
.use_postra_scheduler,
|
.use_postra_scheduler,
|
||||||
@ -1662,7 +1673,6 @@ pub const cpu = struct {
|
|||||||
.aggressive_fma,
|
.aggressive_fma,
|
||||||
.alu_lsl_fast,
|
.alu_lsl_fast,
|
||||||
.arith_bcc_fusion,
|
.arith_bcc_fusion,
|
||||||
.ccidx,
|
|
||||||
.cmp_bcc_fusion,
|
.cmp_bcc_fusion,
|
||||||
.cssc,
|
.cssc,
|
||||||
.enable_select_opt,
|
.enable_select_opt,
|
||||||
@ -1678,7 +1688,6 @@ pub const cpu = struct {
|
|||||||
.rand,
|
.rand,
|
||||||
.sha3,
|
.sha3,
|
||||||
.sm4,
|
.sm4,
|
||||||
.ssbs,
|
|
||||||
.store_pair_suppress,
|
.store_pair_suppress,
|
||||||
.stp_aligned_only,
|
.stp_aligned_only,
|
||||||
.use_postra_scheduler,
|
.use_postra_scheduler,
|
||||||
@ -1819,7 +1828,6 @@ pub const cpu = struct {
|
|||||||
.fuse_literals,
|
.fuse_literals,
|
||||||
.perfmon,
|
.perfmon,
|
||||||
.sha3,
|
.sha3,
|
||||||
.ssbs,
|
|
||||||
.store_pair_suppress,
|
.store_pair_suppress,
|
||||||
.v8_6a,
|
.v8_6a,
|
||||||
.zcm,
|
.zcm,
|
||||||
@ -1846,7 +1854,6 @@ pub const cpu = struct {
|
|||||||
.hcx,
|
.hcx,
|
||||||
.perfmon,
|
.perfmon,
|
||||||
.sha3,
|
.sha3,
|
||||||
.ssbs,
|
|
||||||
.store_pair_suppress,
|
.store_pair_suppress,
|
||||||
.v8_6a,
|
.v8_6a,
|
||||||
.zcm,
|
.zcm,
|
||||||
@ -1873,7 +1880,6 @@ pub const cpu = struct {
|
|||||||
.hcx,
|
.hcx,
|
||||||
.perfmon,
|
.perfmon,
|
||||||
.sha3,
|
.sha3,
|
||||||
.ssbs,
|
|
||||||
.store_pair_suppress,
|
.store_pair_suppress,
|
||||||
.v8_6a,
|
.v8_6a,
|
||||||
.zcm,
|
.zcm,
|
||||||
@ -1990,7 +1996,6 @@ pub const cpu = struct {
|
|||||||
.fuse_literals,
|
.fuse_literals,
|
||||||
.perfmon,
|
.perfmon,
|
||||||
.sha3,
|
.sha3,
|
||||||
.ssbs,
|
|
||||||
.store_pair_suppress,
|
.store_pair_suppress,
|
||||||
.v8_6a,
|
.v8_6a,
|
||||||
.zcm,
|
.zcm,
|
||||||
@ -2017,7 +2022,6 @@ pub const cpu = struct {
|
|||||||
.hcx,
|
.hcx,
|
||||||
.perfmon,
|
.perfmon,
|
||||||
.sha3,
|
.sha3,
|
||||||
.ssbs,
|
|
||||||
.store_pair_suppress,
|
.store_pair_suppress,
|
||||||
.v8_6a,
|
.v8_6a,
|
||||||
.zcm,
|
.zcm,
|
||||||
@ -2106,7 +2110,6 @@ pub const cpu = struct {
|
|||||||
.features = featureSet(&[_]Feature{
|
.features = featureSet(&[_]Feature{
|
||||||
.alu_lsl_fast,
|
.alu_lsl_fast,
|
||||||
.bf16,
|
.bf16,
|
||||||
.ccidx,
|
|
||||||
.enable_select_opt,
|
.enable_select_opt,
|
||||||
.ete,
|
.ete,
|
||||||
.fp16fml,
|
.fp16fml,
|
||||||
@ -2116,7 +2119,6 @@ pub const cpu = struct {
|
|||||||
.mte,
|
.mte,
|
||||||
.perfmon,
|
.perfmon,
|
||||||
.predictable_select_expensive,
|
.predictable_select_expensive,
|
||||||
.ssbs,
|
|
||||||
.sve2_bitperm,
|
.sve2_bitperm,
|
||||||
.use_postra_scheduler,
|
.use_postra_scheduler,
|
||||||
.v9a,
|
.v9a,
|
||||||
@ -2149,7 +2151,6 @@ pub const cpu = struct {
|
|||||||
.llvm_name = "cortex-a510",
|
.llvm_name = "cortex-a510",
|
||||||
.features = featureSet(&[_]Feature{
|
.features = featureSet(&[_]Feature{
|
||||||
.bf16,
|
.bf16,
|
||||||
.ccidx,
|
|
||||||
.ete,
|
.ete,
|
||||||
.fp16fml,
|
.fp16fml,
|
||||||
.fuse_adrp_add,
|
.fuse_adrp_add,
|
||||||
@ -2157,7 +2158,6 @@ pub const cpu = struct {
|
|||||||
.i8mm,
|
.i8mm,
|
||||||
.mte,
|
.mte,
|
||||||
.perfmon,
|
.perfmon,
|
||||||
.ssbs,
|
|
||||||
.sve2_bitperm,
|
.sve2_bitperm,
|
||||||
.use_postra_scheduler,
|
.use_postra_scheduler,
|
||||||
.v9a,
|
.v9a,
|
||||||
@ -2167,14 +2167,12 @@ pub const cpu = struct {
|
|||||||
.name = "cortex_a520",
|
.name = "cortex_a520",
|
||||||
.llvm_name = "cortex-a520",
|
.llvm_name = "cortex-a520",
|
||||||
.features = featureSet(&[_]Feature{
|
.features = featureSet(&[_]Feature{
|
||||||
.ccidx,
|
|
||||||
.ete,
|
.ete,
|
||||||
.fp16fml,
|
.fp16fml,
|
||||||
.fuse_adrp_add,
|
.fuse_adrp_add,
|
||||||
.fuse_aes,
|
.fuse_aes,
|
||||||
.mte,
|
.mte,
|
||||||
.perfmon,
|
.perfmon,
|
||||||
.ssbs,
|
|
||||||
.sve2_bitperm,
|
.sve2_bitperm,
|
||||||
.use_postra_scheduler,
|
.use_postra_scheduler,
|
||||||
.v9_2a,
|
.v9_2a,
|
||||||
@ -2184,14 +2182,12 @@ pub const cpu = struct {
|
|||||||
.name = "cortex_a520ae",
|
.name = "cortex_a520ae",
|
||||||
.llvm_name = "cortex-a520ae",
|
.llvm_name = "cortex-a520ae",
|
||||||
.features = featureSet(&[_]Feature{
|
.features = featureSet(&[_]Feature{
|
||||||
.ccidx,
|
|
||||||
.ete,
|
.ete,
|
||||||
.fp16fml,
|
.fp16fml,
|
||||||
.fuse_adrp_add,
|
.fuse_adrp_add,
|
||||||
.fuse_aes,
|
.fuse_aes,
|
||||||
.mte,
|
.mte,
|
||||||
.perfmon,
|
.perfmon,
|
||||||
.ssbs,
|
|
||||||
.sve2_bitperm,
|
.sve2_bitperm,
|
||||||
.use_postra_scheduler,
|
.use_postra_scheduler,
|
||||||
.v9_2a,
|
.v9_2a,
|
||||||
@ -2294,7 +2290,6 @@ pub const cpu = struct {
|
|||||||
.features = featureSet(&[_]Feature{
|
.features = featureSet(&[_]Feature{
|
||||||
.alu_lsl_fast,
|
.alu_lsl_fast,
|
||||||
.bf16,
|
.bf16,
|
||||||
.ccidx,
|
|
||||||
.cmp_bcc_fusion,
|
.cmp_bcc_fusion,
|
||||||
.enable_select_opt,
|
.enable_select_opt,
|
||||||
.ete,
|
.ete,
|
||||||
@ -2305,7 +2300,6 @@ pub const cpu = struct {
|
|||||||
.mte,
|
.mte,
|
||||||
.perfmon,
|
.perfmon,
|
||||||
.predictable_select_expensive,
|
.predictable_select_expensive,
|
||||||
.ssbs,
|
|
||||||
.sve2_bitperm,
|
.sve2_bitperm,
|
||||||
.use_postra_scheduler,
|
.use_postra_scheduler,
|
||||||
.v9a,
|
.v9a,
|
||||||
@ -2317,7 +2311,6 @@ pub const cpu = struct {
|
|||||||
.features = featureSet(&[_]Feature{
|
.features = featureSet(&[_]Feature{
|
||||||
.alu_lsl_fast,
|
.alu_lsl_fast,
|
||||||
.bf16,
|
.bf16,
|
||||||
.ccidx,
|
|
||||||
.cmp_bcc_fusion,
|
.cmp_bcc_fusion,
|
||||||
.enable_select_opt,
|
.enable_select_opt,
|
||||||
.ete,
|
.ete,
|
||||||
@ -2329,7 +2322,6 @@ pub const cpu = struct {
|
|||||||
.perfmon,
|
.perfmon,
|
||||||
.predictable_select_expensive,
|
.predictable_select_expensive,
|
||||||
.spe,
|
.spe,
|
||||||
.ssbs,
|
|
||||||
.sve2_bitperm,
|
.sve2_bitperm,
|
||||||
.use_postra_scheduler,
|
.use_postra_scheduler,
|
||||||
.v9a,
|
.v9a,
|
||||||
@ -2357,7 +2349,6 @@ pub const cpu = struct {
|
|||||||
.llvm_name = "cortex-a720",
|
.llvm_name = "cortex-a720",
|
||||||
.features = featureSet(&[_]Feature{
|
.features = featureSet(&[_]Feature{
|
||||||
.alu_lsl_fast,
|
.alu_lsl_fast,
|
||||||
.ccidx,
|
|
||||||
.cmp_bcc_fusion,
|
.cmp_bcc_fusion,
|
||||||
.enable_select_opt,
|
.enable_select_opt,
|
||||||
.ete,
|
.ete,
|
||||||
@ -2369,7 +2360,6 @@ pub const cpu = struct {
|
|||||||
.predictable_select_expensive,
|
.predictable_select_expensive,
|
||||||
.spe,
|
.spe,
|
||||||
.spe_eef,
|
.spe_eef,
|
||||||
.ssbs,
|
|
||||||
.sve2_bitperm,
|
.sve2_bitperm,
|
||||||
.use_postra_scheduler,
|
.use_postra_scheduler,
|
||||||
.v9_2a,
|
.v9_2a,
|
||||||
@ -2380,7 +2370,6 @@ pub const cpu = struct {
|
|||||||
.llvm_name = "cortex-a720ae",
|
.llvm_name = "cortex-a720ae",
|
||||||
.features = featureSet(&[_]Feature{
|
.features = featureSet(&[_]Feature{
|
||||||
.alu_lsl_fast,
|
.alu_lsl_fast,
|
||||||
.ccidx,
|
|
||||||
.cmp_bcc_fusion,
|
.cmp_bcc_fusion,
|
||||||
.enable_select_opt,
|
.enable_select_opt,
|
||||||
.ete,
|
.ete,
|
||||||
@ -2392,7 +2381,6 @@ pub const cpu = struct {
|
|||||||
.predictable_select_expensive,
|
.predictable_select_expensive,
|
||||||
.spe,
|
.spe,
|
||||||
.spe_eef,
|
.spe_eef,
|
||||||
.ssbs,
|
|
||||||
.sve2_bitperm,
|
.sve2_bitperm,
|
||||||
.use_postra_scheduler,
|
.use_postra_scheduler,
|
||||||
.v9_2a,
|
.v9_2a,
|
||||||
@ -2403,7 +2391,6 @@ pub const cpu = struct {
|
|||||||
.llvm_name = "cortex-a725",
|
.llvm_name = "cortex-a725",
|
||||||
.features = featureSet(&[_]Feature{
|
.features = featureSet(&[_]Feature{
|
||||||
.alu_lsl_fast,
|
.alu_lsl_fast,
|
||||||
.ccidx,
|
|
||||||
.cmp_bcc_fusion,
|
.cmp_bcc_fusion,
|
||||||
.enable_select_opt,
|
.enable_select_opt,
|
||||||
.ete,
|
.ete,
|
||||||
@ -2415,7 +2402,6 @@ pub const cpu = struct {
|
|||||||
.predictable_select_expensive,
|
.predictable_select_expensive,
|
||||||
.spe,
|
.spe,
|
||||||
.spe_eef,
|
.spe_eef,
|
||||||
.ssbs,
|
|
||||||
.sve2_bitperm,
|
.sve2_bitperm,
|
||||||
.use_postra_scheduler,
|
.use_postra_scheduler,
|
||||||
.v9_2a,
|
.v9_2a,
|
||||||
@ -2592,15 +2578,8 @@ pub const cpu = struct {
|
|||||||
.llvm_name = "cortex-r82",
|
.llvm_name = "cortex-r82",
|
||||||
.features = featureSet(&[_]Feature{
|
.features = featureSet(&[_]Feature{
|
||||||
.ccdp,
|
.ccdp,
|
||||||
.complxnum,
|
|
||||||
.dotprod,
|
|
||||||
.fp16fml,
|
|
||||||
.jsconv,
|
|
||||||
.perfmon,
|
.perfmon,
|
||||||
.predres,
|
.predres,
|
||||||
.rdm,
|
|
||||||
.sb,
|
|
||||||
.ssbs,
|
|
||||||
.use_postra_scheduler,
|
.use_postra_scheduler,
|
||||||
.v8r,
|
.v8r,
|
||||||
}),
|
}),
|
||||||
@ -2610,15 +2589,8 @@ pub const cpu = struct {
|
|||||||
.llvm_name = "cortex-r82ae",
|
.llvm_name = "cortex-r82ae",
|
||||||
.features = featureSet(&[_]Feature{
|
.features = featureSet(&[_]Feature{
|
||||||
.ccdp,
|
.ccdp,
|
||||||
.complxnum,
|
|
||||||
.dotprod,
|
|
||||||
.fp16fml,
|
|
||||||
.jsconv,
|
|
||||||
.perfmon,
|
.perfmon,
|
||||||
.predres,
|
.predres,
|
||||||
.rdm,
|
|
||||||
.sb,
|
|
||||||
.ssbs,
|
|
||||||
.use_postra_scheduler,
|
.use_postra_scheduler,
|
||||||
.v8r,
|
.v8r,
|
||||||
}),
|
}),
|
||||||
@ -2678,7 +2650,6 @@ pub const cpu = struct {
|
|||||||
.features = featureSet(&[_]Feature{
|
.features = featureSet(&[_]Feature{
|
||||||
.alu_lsl_fast,
|
.alu_lsl_fast,
|
||||||
.bf16,
|
.bf16,
|
||||||
.ccidx,
|
|
||||||
.cmp_bcc_fusion,
|
.cmp_bcc_fusion,
|
||||||
.enable_select_opt,
|
.enable_select_opt,
|
||||||
.ete,
|
.ete,
|
||||||
@ -2689,7 +2660,6 @@ pub const cpu = struct {
|
|||||||
.mte,
|
.mte,
|
||||||
.perfmon,
|
.perfmon,
|
||||||
.predictable_select_expensive,
|
.predictable_select_expensive,
|
||||||
.ssbs,
|
|
||||||
.sve2_bitperm,
|
.sve2_bitperm,
|
||||||
.use_postra_scheduler,
|
.use_postra_scheduler,
|
||||||
.v9a,
|
.v9a,
|
||||||
@ -2701,7 +2671,6 @@ pub const cpu = struct {
|
|||||||
.features = featureSet(&[_]Feature{
|
.features = featureSet(&[_]Feature{
|
||||||
.alu_lsl_fast,
|
.alu_lsl_fast,
|
||||||
.bf16,
|
.bf16,
|
||||||
.ccidx,
|
|
||||||
.enable_select_opt,
|
.enable_select_opt,
|
||||||
.ete,
|
.ete,
|
||||||
.fp16fml,
|
.fp16fml,
|
||||||
@ -2712,7 +2681,6 @@ pub const cpu = struct {
|
|||||||
.perfmon,
|
.perfmon,
|
||||||
.predictable_select_expensive,
|
.predictable_select_expensive,
|
||||||
.spe,
|
.spe,
|
||||||
.ssbs,
|
|
||||||
.sve2_bitperm,
|
.sve2_bitperm,
|
||||||
.use_postra_scheduler,
|
.use_postra_scheduler,
|
||||||
.v9a,
|
.v9a,
|
||||||
@ -2723,7 +2691,6 @@ pub const cpu = struct {
|
|||||||
.llvm_name = "cortex-x4",
|
.llvm_name = "cortex-x4",
|
||||||
.features = featureSet(&[_]Feature{
|
.features = featureSet(&[_]Feature{
|
||||||
.alu_lsl_fast,
|
.alu_lsl_fast,
|
||||||
.ccidx,
|
|
||||||
.enable_select_opt,
|
.enable_select_opt,
|
||||||
.ete,
|
.ete,
|
||||||
.fp16fml,
|
.fp16fml,
|
||||||
@ -2734,7 +2701,6 @@ pub const cpu = struct {
|
|||||||
.predictable_select_expensive,
|
.predictable_select_expensive,
|
||||||
.spe,
|
.spe,
|
||||||
.spe_eef,
|
.spe_eef,
|
||||||
.ssbs,
|
|
||||||
.sve2_bitperm,
|
.sve2_bitperm,
|
||||||
.use_postra_scheduler,
|
.use_postra_scheduler,
|
||||||
.v9_2a,
|
.v9_2a,
|
||||||
@ -2745,7 +2711,6 @@ pub const cpu = struct {
|
|||||||
.llvm_name = "cortex-x925",
|
.llvm_name = "cortex-x925",
|
||||||
.features = featureSet(&[_]Feature{
|
.features = featureSet(&[_]Feature{
|
||||||
.alu_lsl_fast,
|
.alu_lsl_fast,
|
||||||
.ccidx,
|
|
||||||
.enable_select_opt,
|
.enable_select_opt,
|
||||||
.ete,
|
.ete,
|
||||||
.fp16fml,
|
.fp16fml,
|
||||||
@ -2756,7 +2721,6 @@ pub const cpu = struct {
|
|||||||
.predictable_select_expensive,
|
.predictable_select_expensive,
|
||||||
.spe,
|
.spe,
|
||||||
.spe_eef,
|
.spe_eef,
|
||||||
.ssbs,
|
|
||||||
.sve2_bitperm,
|
.sve2_bitperm,
|
||||||
.use_postra_scheduler,
|
.use_postra_scheduler,
|
||||||
.v9_2a,
|
.v9_2a,
|
||||||
@ -2935,7 +2899,6 @@ pub const cpu = struct {
|
|||||||
.features = featureSet(&[_]Feature{
|
.features = featureSet(&[_]Feature{
|
||||||
.alu_lsl_fast,
|
.alu_lsl_fast,
|
||||||
.bf16,
|
.bf16,
|
||||||
.ccidx,
|
|
||||||
.cmp_bcc_fusion,
|
.cmp_bcc_fusion,
|
||||||
.enable_select_opt,
|
.enable_select_opt,
|
||||||
.ete,
|
.ete,
|
||||||
@ -2948,7 +2911,6 @@ pub const cpu = struct {
|
|||||||
.predictable_select_expensive,
|
.predictable_select_expensive,
|
||||||
.rand,
|
.rand,
|
||||||
.spe,
|
.spe,
|
||||||
.ssbs,
|
|
||||||
.sve2_bitperm,
|
.sve2_bitperm,
|
||||||
.use_fixed_over_scalable_if_equal_cost,
|
.use_fixed_over_scalable_if_equal_cost,
|
||||||
.use_postra_scheduler,
|
.use_postra_scheduler,
|
||||||
@ -2979,7 +2941,6 @@ pub const cpu = struct {
|
|||||||
.alu_lsl_fast,
|
.alu_lsl_fast,
|
||||||
.bf16,
|
.bf16,
|
||||||
.ccdp,
|
.ccdp,
|
||||||
.ccidx,
|
|
||||||
.enable_select_opt,
|
.enable_select_opt,
|
||||||
.fp16fml,
|
.fp16fml,
|
||||||
.fuse_adrp_add,
|
.fuse_adrp_add,
|
||||||
@ -3042,7 +3003,6 @@ pub const cpu = struct {
|
|||||||
.features = featureSet(&[_]Feature{
|
.features = featureSet(&[_]Feature{
|
||||||
.alu_lsl_fast,
|
.alu_lsl_fast,
|
||||||
.bf16,
|
.bf16,
|
||||||
.ccidx,
|
|
||||||
.enable_select_opt,
|
.enable_select_opt,
|
||||||
.ete,
|
.ete,
|
||||||
.fp16fml,
|
.fp16fml,
|
||||||
@ -3052,7 +3012,6 @@ pub const cpu = struct {
|
|||||||
.mte,
|
.mte,
|
||||||
.perfmon,
|
.perfmon,
|
||||||
.predictable_select_expensive,
|
.predictable_select_expensive,
|
||||||
.ssbs,
|
|
||||||
.sve2_bitperm,
|
.sve2_bitperm,
|
||||||
.use_postra_scheduler,
|
.use_postra_scheduler,
|
||||||
.v9a,
|
.v9a,
|
||||||
@ -3063,7 +3022,6 @@ pub const cpu = struct {
|
|||||||
.llvm_name = "neoverse-n3",
|
.llvm_name = "neoverse-n3",
|
||||||
.features = featureSet(&[_]Feature{
|
.features = featureSet(&[_]Feature{
|
||||||
.alu_lsl_fast,
|
.alu_lsl_fast,
|
||||||
.ccidx,
|
|
||||||
.enable_select_opt,
|
.enable_select_opt,
|
||||||
.ete,
|
.ete,
|
||||||
.fp16fml,
|
.fp16fml,
|
||||||
@ -3075,7 +3033,6 @@ pub const cpu = struct {
|
|||||||
.rand,
|
.rand,
|
||||||
.spe,
|
.spe,
|
||||||
.spe_eef,
|
.spe_eef,
|
||||||
.ssbs,
|
|
||||||
.sve2_bitperm,
|
.sve2_bitperm,
|
||||||
.use_postra_scheduler,
|
.use_postra_scheduler,
|
||||||
.v9_2a,
|
.v9_2a,
|
||||||
@ -3090,7 +3047,6 @@ pub const cpu = struct {
|
|||||||
.alu_lsl_fast,
|
.alu_lsl_fast,
|
||||||
.bf16,
|
.bf16,
|
||||||
.ccdp,
|
.ccdp,
|
||||||
.ccidx,
|
|
||||||
.enable_select_opt,
|
.enable_select_opt,
|
||||||
.fp16fml,
|
.fp16fml,
|
||||||
.fuse_adrp_add,
|
.fuse_adrp_add,
|
||||||
@ -3115,7 +3071,6 @@ pub const cpu = struct {
|
|||||||
.features = featureSet(&[_]Feature{
|
.features = featureSet(&[_]Feature{
|
||||||
.alu_lsl_fast,
|
.alu_lsl_fast,
|
||||||
.bf16,
|
.bf16,
|
||||||
.ccidx,
|
|
||||||
.cmp_bcc_fusion,
|
.cmp_bcc_fusion,
|
||||||
.enable_select_opt,
|
.enable_select_opt,
|
||||||
.ete,
|
.ete,
|
||||||
@ -3128,7 +3083,6 @@ pub const cpu = struct {
|
|||||||
.predictable_select_expensive,
|
.predictable_select_expensive,
|
||||||
.rand,
|
.rand,
|
||||||
.spe,
|
.spe,
|
||||||
.ssbs,
|
|
||||||
.sve2_bitperm,
|
.sve2_bitperm,
|
||||||
.use_fixed_over_scalable_if_equal_cost,
|
.use_fixed_over_scalable_if_equal_cost,
|
||||||
.use_postra_scheduler,
|
.use_postra_scheduler,
|
||||||
@ -3141,7 +3095,6 @@ pub const cpu = struct {
|
|||||||
.features = featureSet(&[_]Feature{
|
.features = featureSet(&[_]Feature{
|
||||||
.alu_lsl_fast,
|
.alu_lsl_fast,
|
||||||
.brbe,
|
.brbe,
|
||||||
.ccidx,
|
|
||||||
.enable_select_opt,
|
.enable_select_opt,
|
||||||
.ete,
|
.ete,
|
||||||
.fp16fml,
|
.fp16fml,
|
||||||
@ -3152,10 +3105,8 @@ pub const cpu = struct {
|
|||||||
.perfmon,
|
.perfmon,
|
||||||
.predictable_select_expensive,
|
.predictable_select_expensive,
|
||||||
.rand,
|
.rand,
|
||||||
.rme,
|
|
||||||
.spe,
|
.spe,
|
||||||
.spe_eef,
|
.spe_eef,
|
||||||
.ssbs,
|
|
||||||
.sve2_bitperm,
|
.sve2_bitperm,
|
||||||
.use_postra_scheduler,
|
.use_postra_scheduler,
|
||||||
.v9_2a,
|
.v9_2a,
|
||||||
@ -3167,7 +3118,6 @@ pub const cpu = struct {
|
|||||||
.features = featureSet(&[_]Feature{
|
.features = featureSet(&[_]Feature{
|
||||||
.alu_lsl_fast,
|
.alu_lsl_fast,
|
||||||
.brbe,
|
.brbe,
|
||||||
.ccidx,
|
|
||||||
.enable_select_opt,
|
.enable_select_opt,
|
||||||
.ete,
|
.ete,
|
||||||
.fp16fml,
|
.fp16fml,
|
||||||
@ -3178,10 +3128,8 @@ pub const cpu = struct {
|
|||||||
.perfmon,
|
.perfmon,
|
||||||
.predictable_select_expensive,
|
.predictable_select_expensive,
|
||||||
.rand,
|
.rand,
|
||||||
.rme,
|
|
||||||
.spe,
|
.spe,
|
||||||
.spe_eef,
|
.spe_eef,
|
||||||
.ssbs,
|
|
||||||
.sve2_bitperm,
|
.sve2_bitperm,
|
||||||
.use_postra_scheduler,
|
.use_postra_scheduler,
|
||||||
.v9_2a,
|
.v9_2a,
|
||||||
@ -3192,7 +3140,6 @@ pub const cpu = struct {
|
|||||||
.llvm_name = "oryon-1",
|
.llvm_name = "oryon-1",
|
||||||
.features = featureSet(&[_]Feature{
|
.features = featureSet(&[_]Feature{
|
||||||
.aes,
|
.aes,
|
||||||
.ccidx,
|
|
||||||
.enable_select_opt,
|
.enable_select_opt,
|
||||||
.fp16fml,
|
.fp16fml,
|
||||||
.fuse_address,
|
.fuse_address,
|
||||||
@ -3204,7 +3151,6 @@ pub const cpu = struct {
|
|||||||
.sha3,
|
.sha3,
|
||||||
.sm4,
|
.sm4,
|
||||||
.spe,
|
.spe,
|
||||||
.ssbs,
|
|
||||||
.use_postra_scheduler,
|
.use_postra_scheduler,
|
||||||
.v8_6a,
|
.v8_6a,
|
||||||
}),
|
}),
|
||||||
@ -3215,7 +3161,6 @@ pub const cpu = struct {
|
|||||||
.features = featureSet(&[_]Feature{
|
.features = featureSet(&[_]Feature{
|
||||||
.aes,
|
.aes,
|
||||||
.alu_lsl_fast,
|
.alu_lsl_fast,
|
||||||
.ccidx,
|
|
||||||
.perfmon,
|
.perfmon,
|
||||||
.predictable_select_expensive,
|
.predictable_select_expensive,
|
||||||
.sha2,
|
.sha2,
|
||||||
@ -3262,7 +3207,6 @@ pub const cpu = struct {
|
|||||||
.aggressive_fma,
|
.aggressive_fma,
|
||||||
.arith_bcc_fusion,
|
.arith_bcc_fusion,
|
||||||
.balance_fp_ops,
|
.balance_fp_ops,
|
||||||
.ccidx,
|
|
||||||
.perfmon,
|
.perfmon,
|
||||||
.predictable_select_expensive,
|
.predictable_select_expensive,
|
||||||
.sha2,
|
.sha2,
|
||||||
|
|||||||
@ -2254,7 +2254,6 @@ pub const cpu = struct {
|
|||||||
.llvm_name = "cortex-m85",
|
.llvm_name = "cortex-m85",
|
||||||
.features = featureSet(&[_]Feature{
|
.features = featureSet(&[_]Feature{
|
||||||
.dsp,
|
.dsp,
|
||||||
.trustzone,
|
|
||||||
.use_misched,
|
.use_misched,
|
||||||
.v8_1m_main,
|
.v8_1m_main,
|
||||||
}),
|
}),
|
||||||
|
|||||||
@ -61,10 +61,6 @@ const llvm_targets = [_]LlvmTarget{
|
|||||||
.zig_name = "contextidr_el2",
|
.zig_name = "contextidr_el2",
|
||||||
.desc = "Enable RW operand Context ID Register (EL2)",
|
.desc = "Enable RW operand Context ID Register (EL2)",
|
||||||
},
|
},
|
||||||
.{
|
|
||||||
.llvm_name = "v8a",
|
|
||||||
.extra_deps = &.{"neon"},
|
|
||||||
},
|
|
||||||
.{
|
.{
|
||||||
.llvm_name = "neoversee1",
|
.llvm_name = "neoversee1",
|
||||||
.flatten = true,
|
.flatten = true,
|
||||||
@ -487,7 +483,6 @@ const llvm_targets = [_]LlvmTarget{
|
|||||||
.{
|
.{
|
||||||
.llvm_name = "cortex-m85",
|
.llvm_name = "cortex-m85",
|
||||||
.omit_deps = &.{ "mve_fp", "pacbti", "fp_armv8d16" },
|
.omit_deps = &.{ "mve_fp", "pacbti", "fp_armv8d16" },
|
||||||
.extra_deps = &.{"trustzone"},
|
|
||||||
},
|
},
|
||||||
.{
|
.{
|
||||||
.llvm_name = "cortex-x1c",
|
.llvm_name = "cortex-x1c",
|
||||||
@ -1436,6 +1431,24 @@ fn processOneTarget(job: Job) anyerror!void {
|
|||||||
try deps.append(other_zig_name);
|
try deps.append(other_zig_name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// This is used by AArch64.
|
||||||
|
if (kv.value_ptr.object.get("DefaultExts")) |exts_val| {
|
||||||
|
for (exts_val.array.items) |ext| {
|
||||||
|
const other_key = ext.object.get("def").?.string;
|
||||||
|
const other_obj = &root_map.getPtr(other_key).?.object;
|
||||||
|
const other_llvm_name = other_obj.get("Name").?.string;
|
||||||
|
const other_zig_name = (try llvmFeatureNameToZigNameOmit(
|
||||||
|
arena,
|
||||||
|
llvm_target,
|
||||||
|
other_llvm_name,
|
||||||
|
)) orelse continue;
|
||||||
|
for (omit_deps) |omit_dep| {
|
||||||
|
if (mem.eql(u8, other_zig_name, omit_dep)) break;
|
||||||
|
} else {
|
||||||
|
try deps.append(other_zig_name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
for (extra_deps) |extra_dep| {
|
for (extra_deps) |extra_dep| {
|
||||||
try deps.append(extra_dep);
|
try deps.append(extra_dep);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user