Commit 51372200d3
Changed files (8)
lib/std/target/aarch64.zig
@@ -887,573 +887,6 @@ pub const feature_zczGp = Feature{
},
};
-pub const feature_v81a = Feature{
- .name = "v8.1a",
- .description = "Support ARM v8.1a instructions",
- .subfeatures = &[_]*const Feature {
- &feature_lor,
- &feature_pan,
- &feature_lse,
- &feature_rdm,
- &feature_vh,
- &feature_crc,
- },
-};
-
-pub const feature_v82a = Feature{
- .name = "v8.2a",
- .description = "Support ARM v8.2a instructions",
- .subfeatures = &[_]*const Feature {
- &feature_ccpp,
- &feature_lor,
- &feature_pan,
- &feature_lse,
- &feature_rdm,
- &feature_vh,
- &feature_ras,
- &feature_crc,
- &feature_uaops,
- },
-};
-
-pub const feature_v83a = Feature{
- .name = "v8.3a",
- .description = "Support ARM v8.3a instructions",
- .subfeatures = &[_]*const Feature {
- &feature_ccpp,
- &feature_lor,
- &feature_pan,
- &feature_lse,
- &feature_rdm,
- &feature_ras,
- &feature_vh,
- &feature_fpArmv8,
- &feature_uaops,
- &feature_rcpc,
- &feature_ccidx,
- &feature_crc,
- &feature_pa,
- },
-};
-
-pub const feature_v84a = Feature{
- .name = "v8.4a",
- .description = "Support ARM v8.4a instructions",
- .subfeatures = &[_]*const Feature {
- &feature_ccpp,
- &feature_lor,
- &feature_dotprod,
- &feature_fpArmv8,
- &feature_crc,
- &feature_fmi,
- &feature_tracev84,
- &feature_tlbRmi,
- &feature_rdm,
- &feature_ccidx,
- &feature_mpam,
- &feature_pan,
- &feature_lse,
- &feature_rcpc,
- &feature_uaops,
- &feature_sel2,
- &feature_nv,
- &feature_am,
- &feature_dit,
- &feature_vh,
- &feature_ras,
- &feature_pa,
- },
-};
-
-pub const feature_v85a = Feature{
- .name = "v8.5a",
- .description = "Support ARM v8.5a instructions",
- .subfeatures = &[_]*const Feature {
- &feature_ccpp,
- &feature_lor,
- &feature_dotprod,
- &feature_fpArmv8,
- &feature_ssbs,
- &feature_crc,
- &feature_fmi,
- &feature_bti,
- &feature_tracev84,
- &feature_tlbRmi,
- &feature_fptoint,
- &feature_rdm,
- &feature_sb,
- &feature_ccidx,
- &feature_mpam,
- &feature_pan,
- &feature_lse,
- &feature_predres,
- &feature_rcpc,
- &feature_uaops,
- &feature_sel2,
- &feature_nv,
- &feature_am,
- &feature_dit,
- &feature_specrestrict,
- &feature_vh,
- &feature_altnzcv,
- &feature_ras,
- &feature_ccdp,
- &feature_pa,
- },
-};
-
-pub const feature_a35 = Feature{
- .name = "a35",
- .description = "Cortex-A35 ARM processors",
- .subfeatures = &[_]*const Feature {
- &feature_fpArmv8,
- &feature_perfmon,
- &feature_crc,
- },
-};
-
-pub const feature_a53 = Feature{
- .name = "a53",
- .description = "Cortex-A53 ARM processors",
- .subfeatures = &[_]*const Feature {
- &feature_useAa,
- &feature_balanceFpOps,
- &feature_fuseAes,
- &feature_usePostraScheduler,
- &feature_perfmon,
- &feature_fpArmv8,
- &feature_customCheapAsMove,
- &feature_crc,
- },
-};
-
-pub const feature_a55 = Feature{
- .name = "a55",
- .description = "Cortex-A55 ARM processors",
- .subfeatures = &[_]*const Feature {
- &feature_fuseAes,
- &feature_ccpp,
- &feature_lor,
- &feature_dotprod,
- &feature_perfmon,
- &feature_pan,
- &feature_lse,
- &feature_rdm,
- &feature_ras,
- &feature_vh,
- &feature_fpArmv8,
- &feature_uaops,
- &feature_rcpc,
- &feature_crc,
- },
-};
-
-pub const feature_a57 = Feature{
- .name = "a57",
- .description = "Cortex-A57 ARM processors",
- .subfeatures = &[_]*const Feature {
- &feature_fuseLiterals,
- &feature_balanceFpOps,
- &feature_predictableSelectExpensive,
- &feature_fuseAes,
- &feature_usePostraScheduler,
- &feature_perfmon,
- &feature_fpArmv8,
- &feature_customCheapAsMove,
- &feature_crc,
- },
-};
-
-pub const feature_a65 = Feature{
- .name = "a65",
- .description = "Cortex-A65 ARM processors",
- .subfeatures = &[_]*const Feature {
- &feature_rcpc,
- &feature_ccpp,
- &feature_lor,
- &feature_dotprod,
- &feature_pan,
- &feature_lse,
- &feature_rdm,
- &feature_vh,
- &feature_fpArmv8,
- &feature_uaops,
- &feature_ras,
- &feature_ssbs,
- &feature_crc,
- },
-};
-
-pub const feature_a72 = Feature{
- .name = "a72",
- .description = "Cortex-A72 ARM processors",
- .subfeatures = &[_]*const Feature {
- &feature_fpArmv8,
- &feature_fuseAes,
- &feature_crc,
- &feature_perfmon,
- },
-};
-
-pub const feature_a73 = Feature{
- .name = "a73",
- .description = "Cortex-A73 ARM processors",
- .subfeatures = &[_]*const Feature {
- &feature_fpArmv8,
- &feature_fuseAes,
- &feature_crc,
- &feature_perfmon,
- },
-};
-
-pub const feature_a75 = Feature{
- .name = "a75",
- .description = "Cortex-A75 ARM processors",
- .subfeatures = &[_]*const Feature {
- &feature_fuseAes,
- &feature_ccpp,
- &feature_lor,
- &feature_dotprod,
- &feature_perfmon,
- &feature_pan,
- &feature_lse,
- &feature_rdm,
- &feature_ras,
- &feature_vh,
- &feature_fpArmv8,
- &feature_uaops,
- &feature_rcpc,
- &feature_crc,
- },
-};
-
-pub const feature_a76 = Feature{
- .name = "a76",
- .description = "Cortex-A76 ARM processors",
- .subfeatures = &[_]*const Feature {
- &feature_ccpp,
- &feature_lor,
- &feature_dotprod,
- &feature_pan,
- &feature_lse,
- &feature_rdm,
- &feature_ras,
- &feature_vh,
- &feature_fpArmv8,
- &feature_uaops,
- &feature_rcpc,
- &feature_ssbs,
- &feature_crc,
- },
-};
-
-pub const feature_cyclone = Feature{
- .name = "cyclone",
- .description = "Cyclone",
- .subfeatures = &[_]*const Feature {
- &feature_zczFpWorkaround,
- &feature_fuseAes,
- &feature_zcm,
- &feature_arithCbzFusion,
- &feature_perfmon,
- &feature_alternateSextloadCvtF32Pattern,
- &feature_arithBccFusion,
- &feature_disableLatencySchedHeuristic,
- &feature_zczGp,
- &feature_fuseCryptoEor,
- &feature_fpArmv8,
- &feature_zczFp,
- },
-};
-
-pub const feature_exynosm1 = Feature{
- .name = "exynosm1",
- .description = "Samsung Exynos-M1 processors",
- .subfeatures = &[_]*const Feature {
- &feature_useReciprocalSquareRoot,
- &feature_fuseAes,
- &feature_usePostraScheduler,
- &feature_slowMisaligned128store,
- &feature_perfmon,
- &feature_fpArmv8,
- &feature_customCheapAsMove,
- &feature_force32bitJumpTables,
- &feature_zczFp,
- &feature_crc,
- &feature_slowPaired128,
- },
-};
-
-pub const feature_exynosm2 = Feature{
- .name = "exynosm2",
- .description = "Samsung Exynos-M2 processors",
- .subfeatures = &[_]*const Feature {
- &feature_fuseAes,
- &feature_usePostraScheduler,
- &feature_slowMisaligned128store,
- &feature_perfmon,
- &feature_fpArmv8,
- &feature_customCheapAsMove,
- &feature_force32bitJumpTables,
- &feature_zczFp,
- &feature_crc,
- &feature_slowPaired128,
- },
-};
-
-pub const feature_exynosm3 = Feature{
- .name = "exynosm3",
- .description = "Samsung Exynos-M3 processors",
- .subfeatures = &[_]*const Feature {
- &feature_fuseLiterals,
- &feature_predictableSelectExpensive,
- &feature_fuseAes,
- &feature_fuseAddress,
- &feature_fuseCsel,
- &feature_usePostraScheduler,
- &feature_perfmon,
- &feature_fpArmv8,
- &feature_customCheapAsMove,
- &feature_lslFast,
- &feature_force32bitJumpTables,
- &feature_zczFp,
- &feature_crc,
- },
-};
-
-pub const feature_exynosm4 = Feature{
- .name = "exynosm4",
- .description = "Samsung Exynos-M4 processors",
- .subfeatures = &[_]*const Feature {
- &feature_fuseLiterals,
- &feature_fuseAes,
- &feature_ccpp,
- &feature_lor,
- &feature_dotprod,
- &feature_fpArmv8,
- &feature_customCheapAsMove,
- &feature_lslFast,
- &feature_crc,
- &feature_fuseAddress,
- &feature_arithCbzFusion,
- &feature_perfmon,
- &feature_arithBccFusion,
- &feature_zczGp,
- &feature_rdm,
- &feature_force32bitJumpTables,
- &feature_pan,
- &feature_lse,
- &feature_fuseCsel,
- &feature_uaops,
- &feature_fuseArithLogic,
- &feature_usePostraScheduler,
- &feature_vh,
- &feature_ras,
- &feature_zczFp,
- },
-};
-
-pub const feature_falkor = Feature{
- .name = "falkor",
- .description = "Qualcomm Falkor processors",
- .subfeatures = &[_]*const Feature {
- &feature_predictableSelectExpensive,
- &feature_usePostraScheduler,
- &feature_perfmon,
- &feature_slowStrqroStore,
- &feature_rdm,
- &feature_zczGp,
- &feature_fpArmv8,
- &feature_customCheapAsMove,
- &feature_lslFast,
- &feature_zczFp,
- &feature_crc,
- },
-};
-
-pub const feature_kryo = Feature{
- .name = "kryo",
- .description = "Qualcomm Kryo processors",
- .subfeatures = &[_]*const Feature {
- &feature_predictableSelectExpensive,
- &feature_usePostraScheduler,
- &feature_perfmon,
- &feature_zczGp,
- &feature_fpArmv8,
- &feature_customCheapAsMove,
- &feature_lslFast,
- &feature_zczFp,
- &feature_crc,
- },
-};
-
-pub const feature_neoversee1 = Feature{
- .name = "neoversee1",
- .description = "Neoverse E1 ARM processors",
- .subfeatures = &[_]*const Feature {
- &feature_ccpp,
- &feature_lor,
- &feature_dotprod,
- &feature_pan,
- &feature_lse,
- &feature_rdm,
- &feature_ras,
- &feature_vh,
- &feature_fpArmv8,
- &feature_uaops,
- &feature_rcpc,
- &feature_ssbs,
- &feature_crc,
- },
-};
-
-pub const feature_neoversen1 = Feature{
- .name = "neoversen1",
- .description = "Neoverse N1 ARM processors",
- .subfeatures = &[_]*const Feature {
- &feature_ccpp,
- &feature_lor,
- &feature_dotprod,
- &feature_spe,
- &feature_pan,
- &feature_lse,
- &feature_rdm,
- &feature_ras,
- &feature_vh,
- &feature_fpArmv8,
- &feature_uaops,
- &feature_rcpc,
- &feature_ssbs,
- &feature_crc,
- },
-};
-
-pub const feature_saphira = Feature{
- .name = "saphira",
- .description = "Qualcomm Saphira processors",
- .subfeatures = &[_]*const Feature {
- &feature_ccpp,
- &feature_lor,
- &feature_dotprod,
- &feature_fpArmv8,
- &feature_customCheapAsMove,
- &feature_lslFast,
- &feature_crc,
- &feature_fmi,
- &feature_predictableSelectExpensive,
- &feature_tracev84,
- &feature_tlbRmi,
- &feature_perfmon,
- &feature_zczGp,
- &feature_rdm,
- &feature_ccidx,
- &feature_mpam,
- &feature_pan,
- &feature_lse,
- &feature_rcpc,
- &feature_uaops,
- &feature_sel2,
- &feature_usePostraScheduler,
- &feature_nv,
- &feature_am,
- &feature_spe,
- &feature_dit,
- &feature_vh,
- &feature_ras,
- &feature_zczFp,
- &feature_pa,
- },
-};
-
-pub const feature_tsv110 = Feature{
- .name = "tsv110",
- .description = "HiSilicon TS-V110 processors",
- .subfeatures = &[_]*const Feature {
- &feature_fuseAes,
- &feature_usePostraScheduler,
- &feature_ccpp,
- &feature_lor,
- &feature_dotprod,
- &feature_uaops,
- &feature_perfmon,
- &feature_spe,
- &feature_pan,
- &feature_lse,
- &feature_rdm,
- &feature_vh,
- &feature_fpArmv8,
- &feature_customCheapAsMove,
- &feature_ras,
- &feature_crc,
- },
-};
-
-pub const feature_thunderx = Feature{
- .name = "thunderx",
- .description = "Cavium ThunderX processors",
- .subfeatures = &[_]*const Feature {
- &feature_predictableSelectExpensive,
- &feature_usePostraScheduler,
- &feature_perfmon,
- &feature_fpArmv8,
- &feature_crc,
- },
-};
-
-pub const feature_thunderx2t99 = Feature{
- .name = "thunderx2t99",
- .description = "Cavium ThunderX2 processors",
- .subfeatures = &[_]*const Feature {
- &feature_predictableSelectExpensive,
- &feature_usePostraScheduler,
- &feature_lor,
- &feature_lse,
- &feature_pan,
- &feature_arithBccFusion,
- &feature_rdm,
- &feature_aggressiveFma,
- &feature_vh,
- &feature_fpArmv8,
- &feature_crc,
- },
-};
-
-pub const feature_thunderxt81 = Feature{
- .name = "thunderxt81",
- .description = "Cavium ThunderX processors",
- .subfeatures = &[_]*const Feature {
- &feature_predictableSelectExpensive,
- &feature_usePostraScheduler,
- &feature_perfmon,
- &feature_fpArmv8,
- &feature_crc,
- },
-};
-
-pub const feature_thunderxt83 = Feature{
- .name = "thunderxt83",
- .description = "Cavium ThunderX processors",
- .subfeatures = &[_]*const Feature {
- &feature_predictableSelectExpensive,
- &feature_usePostraScheduler,
- &feature_perfmon,
- &feature_fpArmv8,
- &feature_crc,
- },
-};
-
-pub const feature_thunderxt88 = Feature{
- .name = "thunderxt88",
- .description = "Cavium ThunderX processors",
- .subfeatures = &[_]*const Feature {
- &feature_predictableSelectExpensive,
- &feature_usePostraScheduler,
- &feature_perfmon,
- &feature_fpArmv8,
- &feature_crc,
- },
-};
-
pub const features = &[_]*const Feature {
&feature_aes,
&feature_am,
@@ -1578,55 +1011,24 @@ pub const features = &[_]*const Feature {
&feature_zczFp,
&feature_zczFpWorkaround,
&feature_zczGp,
- &feature_v81a,
- &feature_v82a,
- &feature_v83a,
- &feature_v84a,
- &feature_v85a,
- &feature_a35,
- &feature_a53,
- &feature_a55,
- &feature_a57,
- &feature_a65,
- &feature_a72,
- &feature_a73,
- &feature_a75,
- &feature_a76,
- &feature_cyclone,
- &feature_exynosm1,
- &feature_exynosm2,
- &feature_exynosm3,
- &feature_exynosm4,
- &feature_falkor,
- &feature_kryo,
- &feature_neoversee1,
- &feature_neoversen1,
- &feature_saphira,
- &feature_tsv110,
- &feature_thunderx,
- &feature_thunderx2t99,
- &feature_thunderxt81,
- &feature_thunderxt83,
- &feature_thunderxt88,
};
pub const cpu_appleLatest = Cpu{
.name = "apple-latest",
.llvm_name = "apple-latest",
.subfeatures = &[_]*const Feature {
+ &feature_arithCbzFusion,
+ &feature_alternateSextloadCvtF32Pattern,
&feature_zczFpWorkaround,
- &feature_fuseAes,
+ &feature_fuseCryptoEor,
+ &feature_disableLatencySchedHeuristic,
&feature_zcm,
- &feature_arithCbzFusion,
+ &feature_zczFp,
&feature_perfmon,
- &feature_alternateSextloadCvtF32Pattern,
+ &feature_fpArmv8,
+ &feature_fuseAes,
&feature_arithBccFusion,
- &feature_disableLatencySchedHeuristic,
&feature_zczGp,
- &feature_fuseCryptoEor,
- &feature_fpArmv8,
- &feature_zczFp,
- &feature_cyclone,
},
};
@@ -1637,7 +1039,6 @@ pub const cpu_cortexA35 = Cpu{
&feature_fpArmv8,
&feature_perfmon,
&feature_crc,
- &feature_a35,
},
};
@@ -1645,15 +1046,14 @@ pub const cpu_cortexA53 = Cpu{
.name = "cortex-a53",
.llvm_name = "cortex-a53",
.subfeatures = &[_]*const Feature {
- &feature_useAa,
- &feature_balanceFpOps,
- &feature_fuseAes,
&feature_usePostraScheduler,
+ &feature_crc,
&feature_perfmon,
+ &feature_fuseAes,
+ &feature_useAa,
&feature_fpArmv8,
+ &feature_balanceFpOps,
&feature_customCheapAsMove,
- &feature_crc,
- &feature_a53,
},
};
@@ -1661,21 +1061,20 @@ pub const cpu_cortexA55 = Cpu{
.name = "cortex-a55",
.llvm_name = "cortex-a55",
.subfeatures = &[_]*const Feature {
- &feature_fuseAes,
+ &feature_crc,
+ &feature_dotprod,
&feature_ccpp,
+ &feature_uaops,
+ &feature_rcpc,
+ &feature_lse,
&feature_lor,
- &feature_dotprod,
- &feature_perfmon,
&feature_pan,
- &feature_lse,
&feature_rdm,
+ &feature_perfmon,
&feature_ras,
&feature_vh,
&feature_fpArmv8,
- &feature_uaops,
- &feature_rcpc,
- &feature_crc,
- &feature_a55,
+ &feature_fuseAes,
},
};
@@ -1683,16 +1082,15 @@ pub const cpu_cortexA57 = Cpu{
.name = "cortex-a57",
.llvm_name = "cortex-a57",
.subfeatures = &[_]*const Feature {
- &feature_fuseLiterals,
- &feature_balanceFpOps,
- &feature_predictableSelectExpensive,
- &feature_fuseAes,
&feature_usePostraScheduler,
+ &feature_crc,
+ &feature_fuseLiterals,
&feature_perfmon,
+ &feature_fuseAes,
&feature_fpArmv8,
+ &feature_balanceFpOps,
&feature_customCheapAsMove,
- &feature_crc,
- &feature_a57,
+ &feature_predictableSelectExpensive,
},
};
@@ -1700,20 +1098,19 @@ pub const cpu_cortexA65 = Cpu{
.name = "cortex-a65",
.llvm_name = "cortex-a65",
.subfeatures = &[_]*const Feature {
+ &feature_ssbs,
+ &feature_dotprod,
+ &feature_crc,
+ &feature_uaops,
&feature_rcpc,
- &feature_ccpp,
+ &feature_lse,
&feature_lor,
- &feature_dotprod,
&feature_pan,
- &feature_lse,
&feature_rdm,
+ &feature_ras,
&feature_vh,
&feature_fpArmv8,
- &feature_uaops,
- &feature_ras,
- &feature_ssbs,
- &feature_crc,
- &feature_a65,
+ &feature_ccpp,
},
};
@@ -1721,20 +1118,19 @@ pub const cpu_cortexA65ae = Cpu{
.name = "cortex-a65ae",
.llvm_name = "cortex-a65ae",
.subfeatures = &[_]*const Feature {
+ &feature_ssbs,
+ &feature_dotprod,
+ &feature_crc,
+ &feature_uaops,
&feature_rcpc,
- &feature_ccpp,
+ &feature_lse,
&feature_lor,
- &feature_dotprod,
&feature_pan,
- &feature_lse,
&feature_rdm,
+ &feature_ras,
&feature_vh,
&feature_fpArmv8,
- &feature_uaops,
- &feature_ras,
- &feature_ssbs,
- &feature_crc,
- &feature_a65,
+ &feature_ccpp,
},
};
@@ -1744,9 +1140,8 @@ pub const cpu_cortexA72 = Cpu{
.subfeatures = &[_]*const Feature {
&feature_fpArmv8,
&feature_fuseAes,
- &feature_crc,
&feature_perfmon,
- &feature_a72,
+ &feature_crc,
},
};
@@ -1756,9 +1151,8 @@ pub const cpu_cortexA73 = Cpu{
.subfeatures = &[_]*const Feature {
&feature_fpArmv8,
&feature_fuseAes,
- &feature_crc,
&feature_perfmon,
- &feature_a73,
+ &feature_crc,
},
};
@@ -1766,21 +1160,20 @@ pub const cpu_cortexA75 = Cpu{
.name = "cortex-a75",
.llvm_name = "cortex-a75",
.subfeatures = &[_]*const Feature {
- &feature_fuseAes,
+ &feature_crc,
+ &feature_dotprod,
&feature_ccpp,
+ &feature_uaops,
+ &feature_rcpc,
+ &feature_lse,
&feature_lor,
- &feature_dotprod,
- &feature_perfmon,
&feature_pan,
- &feature_lse,
&feature_rdm,
+ &feature_perfmon,
&feature_ras,
&feature_vh,
&feature_fpArmv8,
- &feature_uaops,
- &feature_rcpc,
- &feature_crc,
- &feature_a75,
+ &feature_fuseAes,
},
};
@@ -1788,20 +1181,19 @@ pub const cpu_cortexA76 = Cpu{
.name = "cortex-a76",
.llvm_name = "cortex-a76",
.subfeatures = &[_]*const Feature {
- &feature_ccpp,
- &feature_lor,
+ &feature_crc,
+ &feature_ssbs,
&feature_dotprod,
- &feature_pan,
+ &feature_uaops,
+ &feature_rcpc,
&feature_lse,
+ &feature_lor,
+ &feature_pan,
&feature_rdm,
&feature_ras,
&feature_vh,
&feature_fpArmv8,
- &feature_uaops,
- &feature_rcpc,
- &feature_ssbs,
- &feature_crc,
- &feature_a76,
+ &feature_ccpp,
},
};
@@ -1809,20 +1201,19 @@ pub const cpu_cortexA76ae = Cpu{
.name = "cortex-a76ae",
.llvm_name = "cortex-a76ae",
.subfeatures = &[_]*const Feature {
- &feature_ccpp,
- &feature_lor,
+ &feature_crc,
+ &feature_ssbs,
&feature_dotprod,
- &feature_pan,
+ &feature_uaops,
+ &feature_rcpc,
&feature_lse,
+ &feature_lor,
+ &feature_pan,
&feature_rdm,
&feature_ras,
&feature_vh,
&feature_fpArmv8,
- &feature_uaops,
- &feature_rcpc,
- &feature_ssbs,
- &feature_crc,
- &feature_a76,
+ &feature_ccpp,
},
};
@@ -1830,19 +1221,18 @@ pub const cpu_cyclone = Cpu{
.name = "cyclone",
.llvm_name = "cyclone",
.subfeatures = &[_]*const Feature {
+ &feature_arithCbzFusion,
+ &feature_alternateSextloadCvtF32Pattern,
&feature_zczFpWorkaround,
- &feature_fuseAes,
+ &feature_fuseCryptoEor,
+ &feature_disableLatencySchedHeuristic,
&feature_zcm,
- &feature_arithCbzFusion,
+ &feature_zczFp,
&feature_perfmon,
- &feature_alternateSextloadCvtF32Pattern,
+ &feature_fpArmv8,
+ &feature_fuseAes,
&feature_arithBccFusion,
- &feature_disableLatencySchedHeuristic,
&feature_zczGp,
- &feature_fuseCryptoEor,
- &feature_fpArmv8,
- &feature_zczFp,
- &feature_cyclone,
},
};
@@ -1851,17 +1241,16 @@ pub const cpu_exynosM1 = Cpu{
.llvm_name = "exynos-m1",
.subfeatures = &[_]*const Feature {
&feature_useReciprocalSquareRoot,
- &feature_fuseAes,
&feature_usePostraScheduler,
+ &feature_crc,
+ &feature_zczFp,
+ &feature_slowPaired128,
+ &feature_force32bitJumpTables,
&feature_slowMisaligned128store,
&feature_perfmon,
&feature_fpArmv8,
+ &feature_fuseAes,
&feature_customCheapAsMove,
- &feature_force32bitJumpTables,
- &feature_zczFp,
- &feature_crc,
- &feature_slowPaired128,
- &feature_exynosm1,
},
};
@@ -1869,17 +1258,16 @@ pub const cpu_exynosM2 = Cpu{
.name = "exynos-m2",
.llvm_name = "exynos-m2",
.subfeatures = &[_]*const Feature {
- &feature_fuseAes,
&feature_usePostraScheduler,
+ &feature_crc,
+ &feature_zczFp,
+ &feature_slowPaired128,
+ &feature_force32bitJumpTables,
&feature_slowMisaligned128store,
&feature_perfmon,
&feature_fpArmv8,
+ &feature_fuseAes,
&feature_customCheapAsMove,
- &feature_force32bitJumpTables,
- &feature_zczFp,
- &feature_crc,
- &feature_slowPaired128,
- &feature_exynosm2,
},
};
@@ -1887,20 +1275,19 @@ pub const cpu_exynosM3 = Cpu{
.name = "exynos-m3",
.llvm_name = "exynos-m3",
.subfeatures = &[_]*const Feature {
- &feature_fuseLiterals,
- &feature_predictableSelectExpensive,
- &feature_fuseAes,
&feature_fuseAddress,
- &feature_fuseCsel,
&feature_usePostraScheduler,
+ &feature_crc,
+ &feature_zczFp,
+ &feature_fuseLiterals,
+ &feature_lslFast,
+ &feature_fuseCsel,
+ &feature_force32bitJumpTables,
&feature_perfmon,
&feature_fpArmv8,
+ &feature_fuseAes,
&feature_customCheapAsMove,
- &feature_lslFast,
- &feature_force32bitJumpTables,
- &feature_zczFp,
- &feature_crc,
- &feature_exynosm3,
+ &feature_predictableSelectExpensive,
},
};
@@ -1909,31 +1296,30 @@ pub const cpu_exynosM4 = Cpu{
.llvm_name = "exynos-m4",
.subfeatures = &[_]*const Feature {
&feature_fuseLiterals,
- &feature_fuseAes,
- &feature_ccpp,
- &feature_lor,
- &feature_dotprod,
- &feature_fpArmv8,
- &feature_customCheapAsMove,
- &feature_lslFast,
- &feature_crc,
- &feature_fuseAddress,
- &feature_arithCbzFusion,
- &feature_perfmon,
- &feature_arithBccFusion,
- &feature_zczGp,
- &feature_rdm,
- &feature_force32bitJumpTables,
- &feature_pan,
- &feature_lse,
- &feature_fuseCsel,
&feature_uaops,
+ &feature_fuseCsel,
+ &feature_force32bitJumpTables,
&feature_fuseArithLogic,
- &feature_usePostraScheduler,
&feature_vh,
+ &feature_arithBccFusion,
+ &feature_zczGp,
+ &feature_usePostraScheduler,
+ &feature_dotprod,
+ &feature_lse,
+ &feature_pan,
&feature_ras,
+ &feature_fuseAes,
+ &feature_fuseAddress,
+ &feature_rdm,
+ &feature_arithCbzFusion,
+ &feature_crc,
&feature_zczFp,
- &feature_exynosm4,
+ &feature_lslFast,
+ &feature_lor,
+ &feature_perfmon,
+ &feature_fpArmv8,
+ &feature_ccpp,
+ &feature_customCheapAsMove,
},
};
@@ -1942,31 +1328,30 @@ pub const cpu_exynosM5 = Cpu{
.llvm_name = "exynos-m5",
.subfeatures = &[_]*const Feature {
&feature_fuseLiterals,
- &feature_fuseAes,
- &feature_ccpp,
- &feature_lor,
- &feature_dotprod,
- &feature_fpArmv8,
- &feature_customCheapAsMove,
- &feature_lslFast,
- &feature_crc,
- &feature_fuseAddress,
- &feature_arithCbzFusion,
- &feature_perfmon,
- &feature_arithBccFusion,
- &feature_zczGp,
- &feature_rdm,
- &feature_force32bitJumpTables,
- &feature_pan,
- &feature_lse,
- &feature_fuseCsel,
&feature_uaops,
+ &feature_fuseCsel,
+ &feature_force32bitJumpTables,
&feature_fuseArithLogic,
- &feature_usePostraScheduler,
&feature_vh,
+ &feature_arithBccFusion,
+ &feature_zczGp,
+ &feature_usePostraScheduler,
+ &feature_dotprod,
+ &feature_lse,
+ &feature_pan,
&feature_ras,
+ &feature_fuseAes,
+ &feature_fuseAddress,
+ &feature_rdm,
+ &feature_arithCbzFusion,
+ &feature_crc,
&feature_zczFp,
- &feature_exynosm4,
+ &feature_lslFast,
+ &feature_lor,
+ &feature_perfmon,
+ &feature_fpArmv8,
+ &feature_ccpp,
+ &feature_customCheapAsMove,
},
};
@@ -1974,18 +1359,17 @@ pub const cpu_falkor = Cpu{
.name = "falkor",
.llvm_name = "falkor",
.subfeatures = &[_]*const Feature {
- &feature_predictableSelectExpensive,
&feature_usePostraScheduler,
- &feature_perfmon,
+ &feature_crc,
+ &feature_zczFp,
+ &feature_lslFast,
&feature_slowStrqroStore,
&feature_rdm,
- &feature_zczGp,
+ &feature_perfmon,
&feature_fpArmv8,
+ &feature_zczGp,
&feature_customCheapAsMove,
- &feature_lslFast,
- &feature_zczFp,
- &feature_crc,
- &feature_falkor,
+ &feature_predictableSelectExpensive,
},
};
@@ -2007,16 +1391,15 @@ pub const cpu_kryo = Cpu{
.name = "kryo",
.llvm_name = "kryo",
.subfeatures = &[_]*const Feature {
- &feature_predictableSelectExpensive,
&feature_usePostraScheduler,
+ &feature_crc,
+ &feature_zczFp,
+ &feature_lslFast,
&feature_perfmon,
- &feature_zczGp,
&feature_fpArmv8,
+ &feature_zczGp,
&feature_customCheapAsMove,
- &feature_lslFast,
- &feature_zczFp,
- &feature_crc,
- &feature_kryo,
+ &feature_predictableSelectExpensive,
},
};
@@ -2024,20 +1407,19 @@ pub const cpu_neoverseE1 = Cpu{
.name = "neoverse-e1",
.llvm_name = "neoverse-e1",
.subfeatures = &[_]*const Feature {
- &feature_ccpp,
- &feature_lor,
+ &feature_crc,
+ &feature_ssbs,
&feature_dotprod,
- &feature_pan,
+ &feature_uaops,
+ &feature_rcpc,
&feature_lse,
+ &feature_lor,
+ &feature_pan,
&feature_rdm,
&feature_ras,
&feature_vh,
&feature_fpArmv8,
- &feature_uaops,
- &feature_rcpc,
- &feature_ssbs,
- &feature_crc,
- &feature_neoversee1,
+ &feature_ccpp,
},
};
@@ -2045,21 +1427,20 @@ pub const cpu_neoverseN1 = Cpu{
.name = "neoverse-n1",
.llvm_name = "neoverse-n1",
.subfeatures = &[_]*const Feature {
- &feature_ccpp,
- &feature_lor,
+ &feature_ssbs,
&feature_dotprod,
+ &feature_crc,
+ &feature_uaops,
+ &feature_rcpc,
+ &feature_lse,
&feature_spe,
+ &feature_lor,
&feature_pan,
- &feature_lse,
&feature_rdm,
&feature_ras,
&feature_vh,
&feature_fpArmv8,
- &feature_uaops,
- &feature_rcpc,
- &feature_ssbs,
- &feature_crc,
- &feature_neoversen1,
+ &feature_ccpp,
},
};
@@ -2067,37 +1448,36 @@ pub const cpu_saphira = Cpu{
.name = "saphira",
.llvm_name = "saphira",
.subfeatures = &[_]*const Feature {
- &feature_ccpp,
- &feature_lor,
- &feature_dotprod,
- &feature_fpArmv8,
- &feature_customCheapAsMove,
- &feature_lslFast,
- &feature_crc,
- &feature_fmi,
- &feature_predictableSelectExpensive,
- &feature_tracev84,
- &feature_tlbRmi,
- &feature_perfmon,
+ &feature_uaops,
+ &feature_vh,
+ &feature_nv,
&feature_zczGp,
- &feature_rdm,
- &feature_ccidx,
&feature_mpam,
- &feature_pan,
- &feature_lse,
+ &feature_predictableSelectExpensive,
+ &feature_am,
+ &feature_usePostraScheduler,
+ &feature_dotprod,
&feature_rcpc,
- &feature_uaops,
+ &feature_lse,
+ &feature_pan,
+ &feature_ras,
+ &feature_tlbRmi,
&feature_sel2,
- &feature_usePostraScheduler,
- &feature_nv,
- &feature_am,
- &feature_spe,
+ &feature_rdm,
+ &feature_ccidx,
&feature_dit,
- &feature_vh,
- &feature_ras,
+ &feature_crc,
&feature_zczFp,
+ &feature_lslFast,
+ &feature_fmi,
+ &feature_spe,
+ &feature_lor,
+ &feature_perfmon,
+ &feature_fpArmv8,
+ &feature_ccpp,
+ &feature_tracev84,
+ &feature_customCheapAsMove,
&feature_pa,
- &feature_saphira,
},
};
@@ -2105,12 +1485,11 @@ pub const cpu_thunderx = Cpu{
.name = "thunderx",
.llvm_name = "thunderx",
.subfeatures = &[_]*const Feature {
- &feature_predictableSelectExpensive,
&feature_usePostraScheduler,
+ &feature_crc,
&feature_perfmon,
&feature_fpArmv8,
- &feature_crc,
- &feature_thunderx,
+ &feature_predictableSelectExpensive,
},
};
@@ -2118,18 +1497,17 @@ pub const cpu_thunderx2t99 = Cpu{
.name = "thunderx2t99",
.llvm_name = "thunderx2t99",
.subfeatures = &[_]*const Feature {
- &feature_predictableSelectExpensive,
&feature_usePostraScheduler,
- &feature_lor,
+ &feature_crc,
&feature_lse,
+ &feature_lor,
+ &feature_aggressiveFma,
&feature_pan,
- &feature_arithBccFusion,
&feature_rdm,
- &feature_aggressiveFma,
&feature_vh,
&feature_fpArmv8,
- &feature_crc,
- &feature_thunderx2t99,
+ &feature_arithBccFusion,
+ &feature_predictableSelectExpensive,
},
};
@@ -2137,12 +1515,11 @@ pub const cpu_thunderxt81 = Cpu{
.name = "thunderxt81",
.llvm_name = "thunderxt81",
.subfeatures = &[_]*const Feature {
- &feature_predictableSelectExpensive,
&feature_usePostraScheduler,
+ &feature_crc,
&feature_perfmon,
&feature_fpArmv8,
- &feature_crc,
- &feature_thunderxt81,
+ &feature_predictableSelectExpensive,
},
};
@@ -2150,12 +1527,11 @@ pub const cpu_thunderxt83 = Cpu{
.name = "thunderxt83",
.llvm_name = "thunderxt83",
.subfeatures = &[_]*const Feature {
- &feature_predictableSelectExpensive,
&feature_usePostraScheduler,
+ &feature_crc,
&feature_perfmon,
&feature_fpArmv8,
- &feature_crc,
- &feature_thunderxt83,
+ &feature_predictableSelectExpensive,
},
};
@@ -2163,12 +1539,11 @@ pub const cpu_thunderxt88 = Cpu{
.name = "thunderxt88",
.llvm_name = "thunderxt88",
.subfeatures = &[_]*const Feature {
- &feature_predictableSelectExpensive,
&feature_usePostraScheduler,
+ &feature_crc,
&feature_perfmon,
&feature_fpArmv8,
- &feature_crc,
- &feature_thunderxt88,
+ &feature_predictableSelectExpensive,
},
};
@@ -2176,23 +1551,22 @@ pub const cpu_tsv110 = Cpu{
.name = "tsv110",
.llvm_name = "tsv110",
.subfeatures = &[_]*const Feature {
- &feature_fuseAes,
&feature_usePostraScheduler,
- &feature_ccpp,
- &feature_lor,
+ &feature_crc,
&feature_dotprod,
+ &feature_ccpp,
&feature_uaops,
- &feature_perfmon,
+ &feature_lse,
+ &feature_lor,
&feature_spe,
&feature_pan,
- &feature_lse,
&feature_rdm,
+ &feature_perfmon,
+ &feature_ras,
&feature_vh,
&feature_fpArmv8,
+ &feature_fuseAes,
&feature_customCheapAsMove,
- &feature_ras,
- &feature_crc,
- &feature_tsv110,
},
};
lib/std/target/amdgpu.zig
@@ -312,43 +312,6 @@ pub const feature_gfx8Insts = Feature{
},
};
-pub const feature_gfx9 = Feature{
- .name = "gfx9",
- .description = "GFX9 GPU generation",
- .subfeatures = &[_]*const Feature {
- &feature_fp64,
- &feature_vop3p,
- &feature_sMemrealtime,
- &feature_gfx8Insts,
- &feature_dpp,
- &feature_sdwaSdst,
- &feature_ciInsts,
- &feature_apertureRegs,
- &feature_scalarStores,
- &feature_intClampInsts,
- &feature_gcn3Encoding,
- &feature_flatScratchInsts,
- &feature_gfx7Gfx8Gfx9Insts,
- &feature_wavefrontsize64,
- &feature_scalarAtomics,
- &feature_sdwaScalar,
- &feature_fastFmaf,
- &feature_vgprIndexMode,
- &feature_scalarFlatScratchInsts,
- &feature_sdwa,
- &feature_sdwaOmod,
- &feature_localmemorysize65536,
- &feature_flatAddressSpace,
- &feature_addNoCarryInsts,
- &feature_flatInstOffsets,
- &feature_inv2piInlineImm,
- &feature_gfx9Insts,
- &feature_flatGlobalInsts,
- &feature_BitInsts16,
- &feature_r128A16,
- },
-};
-
pub const feature_gfx9Insts = Feature{
.name = "gfx9-insts",
.description = "Additional instructions for GFX9+",
@@ -356,47 +319,6 @@ pub const feature_gfx9Insts = Feature{
},
};
-pub const feature_gfx10 = Feature{
- .name = "gfx10",
- .description = "GFX10 GPU generation",
- .subfeatures = &[_]*const Feature {
- &feature_registerBanking,
- &feature_fp64,
- &feature_vop3p,
- &feature_sMemrealtime,
- &feature_gfx8Insts,
- &feature_dpp,
- &feature_sdwaSdst,
- &feature_ciInsts,
- &feature_apertureRegs,
- &feature_intClampInsts,
- &feature_flatScratchInsts,
- &feature_sdwaScalar,
- &feature_fastFmaf,
- &feature_pkFmacF16Inst,
- &feature_vscnt,
- &feature_movrel,
- &feature_fmaMixInsts,
- &feature_noSramEccSupport,
- &feature_sdwa,
- &feature_sdwaOmod,
- &feature_vop3Literal,
- &feature_dpp8,
- &feature_gfx10Insts,
- &feature_localmemorysize65536,
- &feature_mimgR128,
- &feature_flatAddressSpace,
- &feature_addNoCarryInsts,
- &feature_noDataDepHazard,
- &feature_flatInstOffsets,
- &feature_inv2piInlineImm,
- &feature_gfx9Insts,
- &feature_flatGlobalInsts,
- &feature_BitInsts16,
- &feature_noSdstCmpx,
- },
-};
-
pub const feature_gfx10Insts = Feature{
.name = "gfx10-insts",
.description = "Additional instructions for GFX10+",
@@ -684,39 +606,6 @@ pub const feature_scalarStores = Feature{
},
};
-pub const feature_seaIslands = Feature{
- .name = "sea-islands",
- .description = "SEA_ISLANDS GPU generation",
- .subfeatures = &[_]*const Feature {
- &feature_trigReducedRange,
- &feature_noSramEccSupport,
- &feature_fp64,
- &feature_movrel,
- &feature_ciInsts,
- &feature_localmemorysize65536,
- &feature_mimgR128,
- &feature_wavefrontsize64,
- &feature_flatAddressSpace,
- &feature_gfx7Gfx8Gfx9Insts,
- },
-};
-
-pub const feature_southernIslands = Feature{
- .name = "southern-islands",
- .description = "SOUTHERN_ISLANDS GPU generation",
- .subfeatures = &[_]*const Feature {
- &feature_localmemorysize32768,
- &feature_trigReducedRange,
- &feature_noSramEccSupport,
- &feature_fp64,
- &feature_movrel,
- &feature_ldsbankcount32,
- &feature_noXnackSupport,
- &feature_mimgR128,
- &feature_wavefrontsize64,
- },
-};
-
pub const feature_trapHandler = Feature{
.name = "trap-handler",
.description = "Trap handler support",
@@ -794,35 +683,6 @@ pub const feature_vcmpxPermlaneHazard = Feature{
},
};
-pub const feature_volcanicIslands = Feature{
- .name = "volcanic-islands",
- .description = "VOLCANIC_ISLANDS GPU generation",
- .subfeatures = &[_]*const Feature {
- &feature_fp64,
- &feature_sMemrealtime,
- &feature_gfx8Insts,
- &feature_dpp,
- &feature_ciInsts,
- &feature_scalarStores,
- &feature_intClampInsts,
- &feature_gcn3Encoding,
- &feature_gfx7Gfx8Gfx9Insts,
- &feature_wavefrontsize64,
- &feature_movrel,
- &feature_vgprIndexMode,
- &feature_trigReducedRange,
- &feature_noSramEccSupport,
- &feature_sdwa,
- &feature_sdwaMav,
- &feature_sdwaOutModsVopc,
- &feature_localmemorysize65536,
- &feature_mimgR128,
- &feature_flatAddressSpace,
- &feature_inv2piInlineImm,
- &feature_BitInsts16,
- },
-};
-
pub const feature_vscnt = Feature{
.name = "vscnt",
.description = "Has separate store vscnt counter",
@@ -910,9 +770,7 @@ pub const features = &[_]*const Feature {
&feature_gcn3Encoding,
&feature_gfx7Gfx8Gfx9Insts,
&feature_gfx8Insts,
- &feature_gfx9,
&feature_gfx9Insts,
- &feature_gfx10,
&feature_gfx10Insts,
&feature_instFwdPrefetchBug,
&feature_intClampInsts,
@@ -954,8 +812,6 @@ pub const features = &[_]*const Feature {
&feature_scalarAtomics,
&feature_scalarFlatScratchInsts,
&feature_scalarStores,
- &feature_seaIslands,
- &feature_southernIslands,
&feature_trapHandler,
&feature_trigReducedRange,
&feature_unalignedBufferAccess,
@@ -967,7 +823,6 @@ pub const features = &[_]*const Feature {
&feature_vop3p,
&feature_vcmpxExecWarHazard,
&feature_vcmpxPermlaneHazard,
- &feature_volcanicIslands,
&feature_vscnt,
&feature_wavefrontsize16,
&feature_wavefrontsize32,
@@ -983,17 +838,16 @@ pub const cpu_bonaire = Cpu{
&feature_codeObjectV3,
&feature_noXnackSupport,
&feature_ldsbankcount32,
- &feature_trigReducedRange,
&feature_noSramEccSupport,
+ &feature_flatAddressSpace,
+ &feature_mimgR128,
+ &feature_trigReducedRange,
+ &feature_gfx7Gfx8Gfx9Insts,
+ &feature_ciInsts,
+ &feature_wavefrontsize64,
&feature_fp64,
&feature_movrel,
- &feature_ciInsts,
&feature_localmemorysize65536,
- &feature_mimgR128,
- &feature_wavefrontsize64,
- &feature_flatAddressSpace,
- &feature_gfx7Gfx8Gfx9Insts,
- &feature_seaIslands,
},
};
@@ -1005,29 +859,28 @@ pub const cpu_carrizo = Cpu{
&feature_fastFmaf,
&feature_ldsbankcount32,
&feature_unpackedD16Vmem,
- &feature_fp64,
- &feature_sMemrealtime,
- &feature_gfx8Insts,
- &feature_dpp,
+ &feature_mimgR128,
+ &feature_inv2piInlineImm,
&feature_ciInsts,
+ &feature_vgprIndexMode,
&feature_scalarStores,
- &feature_intClampInsts,
&feature_gcn3Encoding,
+ &feature_fp64,
+ &feature_dpp,
+ &feature_trigReducedRange,
&feature_gfx7Gfx8Gfx9Insts,
- &feature_wavefrontsize64,
+ &feature_sMemrealtime,
&feature_movrel,
- &feature_vgprIndexMode,
- &feature_trigReducedRange,
- &feature_noSramEccSupport,
- &feature_sdwa,
- &feature_sdwaMav,
- &feature_sdwaOutModsVopc,
&feature_localmemorysize65536,
- &feature_mimgR128,
+ &feature_noSramEccSupport,
+ &feature_gfx8Insts,
&feature_flatAddressSpace,
- &feature_inv2piInlineImm,
&feature_BitInsts16,
- &feature_volcanicIslands,
+ &feature_sdwaMav,
+ &feature_sdwa,
+ &feature_sdwaOutModsVopc,
+ &feature_wavefrontsize64,
+ &feature_intClampInsts,
&feature_xnack,
&feature_halfRate64Ops,
},
@@ -1041,29 +894,28 @@ pub const cpu_fiji = Cpu{
&feature_noXnackSupport,
&feature_ldsbankcount32,
&feature_unpackedD16Vmem,
- &feature_fp64,
- &feature_sMemrealtime,
- &feature_gfx8Insts,
- &feature_dpp,
+ &feature_mimgR128,
+ &feature_inv2piInlineImm,
&feature_ciInsts,
+ &feature_vgprIndexMode,
&feature_scalarStores,
- &feature_intClampInsts,
&feature_gcn3Encoding,
+ &feature_fp64,
+ &feature_dpp,
+ &feature_trigReducedRange,
&feature_gfx7Gfx8Gfx9Insts,
- &feature_wavefrontsize64,
+ &feature_sMemrealtime,
&feature_movrel,
- &feature_vgprIndexMode,
- &feature_trigReducedRange,
- &feature_noSramEccSupport,
- &feature_sdwa,
- &feature_sdwaMav,
- &feature_sdwaOutModsVopc,
&feature_localmemorysize65536,
- &feature_mimgR128,
+ &feature_noSramEccSupport,
+ &feature_gfx8Insts,
&feature_flatAddressSpace,
- &feature_inv2piInlineImm,
&feature_BitInsts16,
- &feature_volcanicIslands,
+ &feature_sdwaMav,
+ &feature_sdwa,
+ &feature_sdwaOutModsVopc,
+ &feature_wavefrontsize64,
+ &feature_intClampInsts,
},
};
@@ -1092,41 +944,40 @@ pub const cpu_gfx1010 = Cpu{
&feature_dlInsts,
&feature_noXnackSupport,
&feature_flatSegmentOffsetBug,
- &feature_registerBanking,
- &feature_fp64,
- &feature_vop3p,
- &feature_sMemrealtime,
- &feature_gfx8Insts,
- &feature_dpp,
- &feature_sdwaSdst,
+ &feature_mimgR128,
+ &feature_addNoCarryInsts,
+ &feature_dpp8,
+ &feature_gfx9Insts,
&feature_ciInsts,
+ &feature_inv2piInlineImm,
+ &feature_fastFmaf,
+ &feature_registerBanking,
&feature_apertureRegs,
- &feature_intClampInsts,
+ &feature_flatGlobalInsts,
+ &feature_fp64,
+ &feature_vscnt,
&feature_flatScratchInsts,
+ &feature_dpp,
+ &feature_sMemrealtime,
+ &feature_vop3p,
+ &feature_flatInstOffsets,
&feature_sdwaScalar,
- &feature_fastFmaf,
- &feature_pkFmacF16Inst,
- &feature_vscnt,
+ &feature_sdwaSdst,
&feature_movrel,
- &feature_fmaMixInsts,
+ &feature_localmemorysize65536,
+ &feature_noSdstCmpx,
+ &feature_pkFmacF16Inst,
&feature_noSramEccSupport,
- &feature_sdwa,
- &feature_sdwaOmod,
&feature_vop3Literal,
- &feature_dpp8,
- &feature_gfx10Insts,
- &feature_localmemorysize65536,
- &feature_mimgR128,
+ &feature_gfx8Insts,
&feature_flatAddressSpace,
- &feature_addNoCarryInsts,
- &feature_noDataDepHazard,
- &feature_flatInstOffsets,
- &feature_inv2piInlineImm,
- &feature_gfx9Insts,
- &feature_flatGlobalInsts,
&feature_BitInsts16,
- &feature_noSdstCmpx,
- &feature_gfx10,
+ &feature_gfx10Insts,
+ &feature_sdwa,
+ &feature_intClampInsts,
+ &feature_noDataDepHazard,
+ &feature_fmaMixInsts,
+ &feature_sdwaOmod,
&feature_instFwdPrefetchBug,
&feature_ldsbankcount32,
&feature_ldsBranchVmemWarHazard,
@@ -1157,41 +1008,40 @@ pub const cpu_gfx1011 = Cpu{
&feature_dot5Insts,
&feature_dot6Insts,
&feature_flatSegmentOffsetBug,
+ &feature_mimgR128,
+ &feature_addNoCarryInsts,
+ &feature_dpp8,
+ &feature_gfx9Insts,
+ &feature_ciInsts,
+ &feature_inv2piInlineImm,
+ &feature_fastFmaf,
&feature_registerBanking,
+ &feature_apertureRegs,
+ &feature_flatGlobalInsts,
&feature_fp64,
- &feature_vop3p,
+ &feature_vscnt,
+ &feature_flatScratchInsts,
+ &feature_dpp,
&feature_sMemrealtime,
- &feature_gfx8Insts,
- &feature_dpp,
- &feature_sdwaSdst,
- &feature_ciInsts,
- &feature_apertureRegs,
- &feature_intClampInsts,
- &feature_flatScratchInsts,
+ &feature_vop3p,
+ &feature_flatInstOffsets,
&feature_sdwaScalar,
- &feature_fastFmaf,
- &feature_pkFmacF16Inst,
- &feature_vscnt,
+ &feature_sdwaSdst,
&feature_movrel,
- &feature_fmaMixInsts,
+ &feature_localmemorysize65536,
+ &feature_noSdstCmpx,
+ &feature_pkFmacF16Inst,
&feature_noSramEccSupport,
- &feature_sdwa,
- &feature_sdwaOmod,
&feature_vop3Literal,
- &feature_dpp8,
- &feature_gfx10Insts,
- &feature_localmemorysize65536,
- &feature_mimgR128,
+ &feature_gfx8Insts,
&feature_flatAddressSpace,
- &feature_addNoCarryInsts,
- &feature_noDataDepHazard,
- &feature_flatInstOffsets,
- &feature_inv2piInlineImm,
- &feature_gfx9Insts,
- &feature_flatGlobalInsts,
&feature_BitInsts16,
- &feature_noSdstCmpx,
- &feature_gfx10,
+ &feature_gfx10Insts,
+ &feature_sdwa,
+ &feature_intClampInsts,
+ &feature_noDataDepHazard,
+ &feature_fmaMixInsts,
+ &feature_sdwaOmod,
&feature_instFwdPrefetchBug,
&feature_ldsbankcount32,
&feature_ldsBranchVmemWarHazard,
@@ -1221,41 +1071,40 @@ pub const cpu_gfx1012 = Cpu{
&feature_dot5Insts,
&feature_dot6Insts,
&feature_flatSegmentOffsetBug,
- &feature_registerBanking,
- &feature_fp64,
- &feature_vop3p,
- &feature_sMemrealtime,
- &feature_gfx8Insts,
- &feature_dpp,
- &feature_sdwaSdst,
+ &feature_mimgR128,
+ &feature_addNoCarryInsts,
+ &feature_dpp8,
+ &feature_gfx9Insts,
&feature_ciInsts,
+ &feature_inv2piInlineImm,
+ &feature_fastFmaf,
+ &feature_registerBanking,
&feature_apertureRegs,
- &feature_intClampInsts,
+ &feature_flatGlobalInsts,
+ &feature_fp64,
+ &feature_vscnt,
&feature_flatScratchInsts,
+ &feature_dpp,
+ &feature_sMemrealtime,
+ &feature_vop3p,
+ &feature_flatInstOffsets,
&feature_sdwaScalar,
- &feature_fastFmaf,
- &feature_pkFmacF16Inst,
- &feature_vscnt,
+ &feature_sdwaSdst,
&feature_movrel,
- &feature_fmaMixInsts,
+ &feature_localmemorysize65536,
+ &feature_noSdstCmpx,
+ &feature_pkFmacF16Inst,
&feature_noSramEccSupport,
- &feature_sdwa,
- &feature_sdwaOmod,
&feature_vop3Literal,
- &feature_dpp8,
- &feature_gfx10Insts,
- &feature_localmemorysize65536,
- &feature_mimgR128,
+ &feature_gfx8Insts,
&feature_flatAddressSpace,
- &feature_addNoCarryInsts,
- &feature_noDataDepHazard,
- &feature_flatInstOffsets,
- &feature_inv2piInlineImm,
- &feature_gfx9Insts,
- &feature_flatGlobalInsts,
&feature_BitInsts16,
- &feature_noSdstCmpx,
- &feature_gfx10,
+ &feature_gfx10Insts,
+ &feature_sdwa,
+ &feature_intClampInsts,
+ &feature_noDataDepHazard,
+ &feature_fmaMixInsts,
+ &feature_sdwaOmod,
&feature_instFwdPrefetchBug,
&feature_ldsbankcount32,
&feature_ldsBranchVmemWarHazard,
@@ -1282,14 +1131,13 @@ pub const cpu_gfx600 = Cpu{
&feature_noXnackSupport,
&feature_fastFmaf,
&feature_ldsbankcount32,
- &feature_localmemorysize32768,
- &feature_trigReducedRange,
&feature_noSramEccSupport,
- &feature_fp64,
- &feature_movrel,
&feature_mimgR128,
+ &feature_trigReducedRange,
&feature_wavefrontsize64,
- &feature_southernIslands,
+ &feature_localmemorysize32768,
+ &feature_fp64,
+ &feature_movrel,
&feature_halfRate64Ops,
},
};
@@ -1301,14 +1149,13 @@ pub const cpu_gfx601 = Cpu{
&feature_codeObjectV3,
&feature_noXnackSupport,
&feature_ldsbankcount32,
- &feature_localmemorysize32768,
- &feature_trigReducedRange,
&feature_noSramEccSupport,
- &feature_fp64,
- &feature_movrel,
&feature_mimgR128,
+ &feature_trigReducedRange,
&feature_wavefrontsize64,
- &feature_southernIslands,
+ &feature_localmemorysize32768,
+ &feature_fp64,
+ &feature_movrel,
},
};
@@ -1319,17 +1166,16 @@ pub const cpu_gfx700 = Cpu{
&feature_codeObjectV3,
&feature_noXnackSupport,
&feature_ldsbankcount32,
- &feature_trigReducedRange,
&feature_noSramEccSupport,
+ &feature_flatAddressSpace,
+ &feature_mimgR128,
+ &feature_trigReducedRange,
+ &feature_gfx7Gfx8Gfx9Insts,
+ &feature_ciInsts,
+ &feature_wavefrontsize64,
&feature_fp64,
&feature_movrel,
- &feature_ciInsts,
&feature_localmemorysize65536,
- &feature_mimgR128,
- &feature_wavefrontsize64,
- &feature_flatAddressSpace,
- &feature_gfx7Gfx8Gfx9Insts,
- &feature_seaIslands,
},
};
@@ -1341,17 +1187,16 @@ pub const cpu_gfx701 = Cpu{
&feature_noXnackSupport,
&feature_fastFmaf,
&feature_ldsbankcount32,
- &feature_trigReducedRange,
&feature_noSramEccSupport,
+ &feature_flatAddressSpace,
+ &feature_mimgR128,
+ &feature_trigReducedRange,
+ &feature_gfx7Gfx8Gfx9Insts,
+ &feature_ciInsts,
+ &feature_wavefrontsize64,
&feature_fp64,
&feature_movrel,
- &feature_ciInsts,
&feature_localmemorysize65536,
- &feature_mimgR128,
- &feature_wavefrontsize64,
- &feature_flatAddressSpace,
- &feature_gfx7Gfx8Gfx9Insts,
- &feature_seaIslands,
&feature_halfRate64Ops,
},
};
@@ -1364,17 +1209,16 @@ pub const cpu_gfx702 = Cpu{
&feature_noXnackSupport,
&feature_fastFmaf,
&feature_ldsbankcount16,
- &feature_trigReducedRange,
&feature_noSramEccSupport,
+ &feature_flatAddressSpace,
+ &feature_mimgR128,
+ &feature_trigReducedRange,
+ &feature_gfx7Gfx8Gfx9Insts,
+ &feature_ciInsts,
+ &feature_wavefrontsize64,
&feature_fp64,
&feature_movrel,
- &feature_ciInsts,
&feature_localmemorysize65536,
- &feature_mimgR128,
- &feature_wavefrontsize64,
- &feature_flatAddressSpace,
- &feature_gfx7Gfx8Gfx9Insts,
- &feature_seaIslands,
},
};
@@ -1385,17 +1229,16 @@ pub const cpu_gfx703 = Cpu{
&feature_codeObjectV3,
&feature_noXnackSupport,
&feature_ldsbankcount16,
- &feature_trigReducedRange,
&feature_noSramEccSupport,
+ &feature_flatAddressSpace,
+ &feature_mimgR128,
+ &feature_trigReducedRange,
+ &feature_gfx7Gfx8Gfx9Insts,
+ &feature_ciInsts,
+ &feature_wavefrontsize64,
&feature_fp64,
&feature_movrel,
- &feature_ciInsts,
&feature_localmemorysize65536,
- &feature_mimgR128,
- &feature_wavefrontsize64,
- &feature_flatAddressSpace,
- &feature_gfx7Gfx8Gfx9Insts,
- &feature_seaIslands,
},
};
@@ -1406,17 +1249,16 @@ pub const cpu_gfx704 = Cpu{
&feature_codeObjectV3,
&feature_noXnackSupport,
&feature_ldsbankcount32,
- &feature_trigReducedRange,
&feature_noSramEccSupport,
+ &feature_flatAddressSpace,
+ &feature_mimgR128,
+ &feature_trigReducedRange,
+ &feature_gfx7Gfx8Gfx9Insts,
+ &feature_ciInsts,
+ &feature_wavefrontsize64,
&feature_fp64,
&feature_movrel,
- &feature_ciInsts,
&feature_localmemorysize65536,
- &feature_mimgR128,
- &feature_wavefrontsize64,
- &feature_flatAddressSpace,
- &feature_gfx7Gfx8Gfx9Insts,
- &feature_seaIslands,
},
};
@@ -1428,29 +1270,28 @@ pub const cpu_gfx801 = Cpu{
&feature_fastFmaf,
&feature_ldsbankcount32,
&feature_unpackedD16Vmem,
- &feature_fp64,
- &feature_sMemrealtime,
- &feature_gfx8Insts,
- &feature_dpp,
+ &feature_mimgR128,
+ &feature_inv2piInlineImm,
&feature_ciInsts,
+ &feature_vgprIndexMode,
&feature_scalarStores,
- &feature_intClampInsts,
&feature_gcn3Encoding,
+ &feature_fp64,
+ &feature_dpp,
+ &feature_trigReducedRange,
&feature_gfx7Gfx8Gfx9Insts,
- &feature_wavefrontsize64,
+ &feature_sMemrealtime,
&feature_movrel,
- &feature_vgprIndexMode,
- &feature_trigReducedRange,
- &feature_noSramEccSupport,
- &feature_sdwa,
- &feature_sdwaMav,
- &feature_sdwaOutModsVopc,
&feature_localmemorysize65536,
- &feature_mimgR128,
+ &feature_noSramEccSupport,
+ &feature_gfx8Insts,
&feature_flatAddressSpace,
- &feature_inv2piInlineImm,
&feature_BitInsts16,
- &feature_volcanicIslands,
+ &feature_sdwaMav,
+ &feature_sdwa,
+ &feature_sdwaOutModsVopc,
+ &feature_wavefrontsize64,
+ &feature_intClampInsts,
&feature_xnack,
&feature_halfRate64Ops,
},
@@ -1465,29 +1306,28 @@ pub const cpu_gfx802 = Cpu{
&feature_ldsbankcount32,
&feature_sgprInitBug,
&feature_unpackedD16Vmem,
- &feature_fp64,
- &feature_sMemrealtime,
- &feature_gfx8Insts,
- &feature_dpp,
+ &feature_mimgR128,
+ &feature_inv2piInlineImm,
&feature_ciInsts,
+ &feature_vgprIndexMode,
&feature_scalarStores,
- &feature_intClampInsts,
&feature_gcn3Encoding,
+ &feature_fp64,
+ &feature_dpp,
+ &feature_trigReducedRange,
&feature_gfx7Gfx8Gfx9Insts,
- &feature_wavefrontsize64,
+ &feature_sMemrealtime,
&feature_movrel,
- &feature_vgprIndexMode,
- &feature_trigReducedRange,
- &feature_noSramEccSupport,
- &feature_sdwa,
- &feature_sdwaMav,
- &feature_sdwaOutModsVopc,
&feature_localmemorysize65536,
- &feature_mimgR128,
+ &feature_noSramEccSupport,
+ &feature_gfx8Insts,
&feature_flatAddressSpace,
- &feature_inv2piInlineImm,
&feature_BitInsts16,
- &feature_volcanicIslands,
+ &feature_sdwaMav,
+ &feature_sdwa,
+ &feature_sdwaOutModsVopc,
+ &feature_wavefrontsize64,
+ &feature_intClampInsts,
},
};
@@ -1499,29 +1339,28 @@ pub const cpu_gfx803 = Cpu{
&feature_noXnackSupport,
&feature_ldsbankcount32,
&feature_unpackedD16Vmem,
- &feature_fp64,
- &feature_sMemrealtime,
- &feature_gfx8Insts,
- &feature_dpp,
+ &feature_mimgR128,
+ &feature_inv2piInlineImm,
&feature_ciInsts,
+ &feature_vgprIndexMode,
&feature_scalarStores,
- &feature_intClampInsts,
&feature_gcn3Encoding,
+ &feature_fp64,
+ &feature_dpp,
+ &feature_trigReducedRange,
&feature_gfx7Gfx8Gfx9Insts,
- &feature_wavefrontsize64,
+ &feature_sMemrealtime,
&feature_movrel,
- &feature_vgprIndexMode,
- &feature_trigReducedRange,
- &feature_noSramEccSupport,
- &feature_sdwa,
- &feature_sdwaMav,
- &feature_sdwaOutModsVopc,
&feature_localmemorysize65536,
- &feature_mimgR128,
+ &feature_noSramEccSupport,
+ &feature_gfx8Insts,
&feature_flatAddressSpace,
- &feature_inv2piInlineImm,
&feature_BitInsts16,
- &feature_volcanicIslands,
+ &feature_sdwaMav,
+ &feature_sdwa,
+ &feature_sdwaOutModsVopc,
+ &feature_wavefrontsize64,
+ &feature_intClampInsts,
},
};
@@ -1531,29 +1370,28 @@ pub const cpu_gfx810 = Cpu{
.subfeatures = &[_]*const Feature {
&feature_codeObjectV3,
&feature_ldsbankcount16,
- &feature_fp64,
- &feature_sMemrealtime,
- &feature_gfx8Insts,
- &feature_dpp,
+ &feature_mimgR128,
+ &feature_inv2piInlineImm,
&feature_ciInsts,
+ &feature_vgprIndexMode,
&feature_scalarStores,
- &feature_intClampInsts,
&feature_gcn3Encoding,
- &feature_gfx7Gfx8Gfx9Insts,
- &feature_wavefrontsize64,
- &feature_movrel,
- &feature_vgprIndexMode,
+ &feature_fp64,
+ &feature_dpp,
&feature_trigReducedRange,
- &feature_noSramEccSupport,
- &feature_sdwa,
- &feature_sdwaMav,
- &feature_sdwaOutModsVopc,
+ &feature_gfx7Gfx8Gfx9Insts,
+ &feature_sMemrealtime,
+ &feature_movrel,
&feature_localmemorysize65536,
- &feature_mimgR128,
+ &feature_noSramEccSupport,
+ &feature_gfx8Insts,
&feature_flatAddressSpace,
- &feature_inv2piInlineImm,
&feature_BitInsts16,
- &feature_volcanicIslands,
+ &feature_sdwaMav,
+ &feature_sdwa,
+ &feature_sdwaOutModsVopc,
+ &feature_wavefrontsize64,
+ &feature_intClampInsts,
&feature_xnack,
},
};
@@ -1565,37 +1403,36 @@ pub const cpu_gfx900 = Cpu{
&feature_codeObjectV3,
&feature_noSramEccSupport,
&feature_noXnackSupport,
- &feature_fp64,
- &feature_vop3p,
- &feature_sMemrealtime,
- &feature_gfx8Insts,
- &feature_dpp,
- &feature_sdwaSdst,
+ &feature_r128A16,
+ &feature_addNoCarryInsts,
+ &feature_inv2piInlineImm,
+ &feature_gfx9Insts,
&feature_ciInsts,
- &feature_apertureRegs,
+ &feature_vgprIndexMode,
+ &feature_fastFmaf,
&feature_scalarStores,
- &feature_intClampInsts,
&feature_gcn3Encoding,
+ &feature_apertureRegs,
+ &feature_scalarAtomics,
+ &feature_flatGlobalInsts,
+ &feature_fp64,
&feature_flatScratchInsts,
+ &feature_dpp,
+ &feature_scalarFlatScratchInsts,
&feature_gfx7Gfx8Gfx9Insts,
- &feature_wavefrontsize64,
- &feature_scalarAtomics,
+ &feature_sMemrealtime,
+ &feature_vop3p,
+ &feature_flatInstOffsets,
&feature_sdwaScalar,
- &feature_fastFmaf,
- &feature_vgprIndexMode,
- &feature_scalarFlatScratchInsts,
- &feature_sdwa,
- &feature_sdwaOmod,
+ &feature_sdwaSdst,
&feature_localmemorysize65536,
+ &feature_gfx8Insts,
&feature_flatAddressSpace,
- &feature_addNoCarryInsts,
- &feature_flatInstOffsets,
- &feature_inv2piInlineImm,
- &feature_gfx9Insts,
- &feature_flatGlobalInsts,
&feature_BitInsts16,
- &feature_r128A16,
- &feature_gfx9,
+ &feature_sdwa,
+ &feature_wavefrontsize64,
+ &feature_intClampInsts,
+ &feature_sdwaOmod,
&feature_ldsbankcount32,
&feature_madMixInsts,
},
@@ -1607,37 +1444,36 @@ pub const cpu_gfx902 = Cpu{
.subfeatures = &[_]*const Feature {
&feature_codeObjectV3,
&feature_noSramEccSupport,
- &feature_fp64,
- &feature_vop3p,
- &feature_sMemrealtime,
- &feature_gfx8Insts,
- &feature_dpp,
- &feature_sdwaSdst,
+ &feature_r128A16,
+ &feature_addNoCarryInsts,
+ &feature_inv2piInlineImm,
+ &feature_gfx9Insts,
&feature_ciInsts,
- &feature_apertureRegs,
+ &feature_vgprIndexMode,
+ &feature_fastFmaf,
&feature_scalarStores,
- &feature_intClampInsts,
&feature_gcn3Encoding,
+ &feature_apertureRegs,
+ &feature_scalarAtomics,
+ &feature_flatGlobalInsts,
+ &feature_fp64,
&feature_flatScratchInsts,
+ &feature_dpp,
+ &feature_scalarFlatScratchInsts,
&feature_gfx7Gfx8Gfx9Insts,
- &feature_wavefrontsize64,
- &feature_scalarAtomics,
+ &feature_sMemrealtime,
+ &feature_vop3p,
+ &feature_flatInstOffsets,
&feature_sdwaScalar,
- &feature_fastFmaf,
- &feature_vgprIndexMode,
- &feature_scalarFlatScratchInsts,
- &feature_sdwa,
- &feature_sdwaOmod,
+ &feature_sdwaSdst,
&feature_localmemorysize65536,
+ &feature_gfx8Insts,
&feature_flatAddressSpace,
- &feature_addNoCarryInsts,
- &feature_flatInstOffsets,
- &feature_inv2piInlineImm,
- &feature_gfx9Insts,
- &feature_flatGlobalInsts,
&feature_BitInsts16,
- &feature_r128A16,
- &feature_gfx9,
+ &feature_sdwa,
+ &feature_wavefrontsize64,
+ &feature_intClampInsts,
+ &feature_sdwaOmod,
&feature_ldsbankcount32,
&feature_madMixInsts,
&feature_xnack,
@@ -1652,37 +1488,36 @@ pub const cpu_gfx904 = Cpu{
&feature_noSramEccSupport,
&feature_noXnackSupport,
&feature_fmaMixInsts,
- &feature_fp64,
- &feature_vop3p,
- &feature_sMemrealtime,
- &feature_gfx8Insts,
- &feature_dpp,
- &feature_sdwaSdst,
+ &feature_r128A16,
+ &feature_addNoCarryInsts,
+ &feature_inv2piInlineImm,
+ &feature_gfx9Insts,
&feature_ciInsts,
- &feature_apertureRegs,
+ &feature_vgprIndexMode,
+ &feature_fastFmaf,
&feature_scalarStores,
- &feature_intClampInsts,
&feature_gcn3Encoding,
+ &feature_apertureRegs,
+ &feature_scalarAtomics,
+ &feature_flatGlobalInsts,
+ &feature_fp64,
&feature_flatScratchInsts,
+ &feature_dpp,
+ &feature_scalarFlatScratchInsts,
&feature_gfx7Gfx8Gfx9Insts,
- &feature_wavefrontsize64,
- &feature_scalarAtomics,
+ &feature_sMemrealtime,
+ &feature_vop3p,
+ &feature_flatInstOffsets,
&feature_sdwaScalar,
- &feature_fastFmaf,
- &feature_vgprIndexMode,
- &feature_scalarFlatScratchInsts,
- &feature_sdwa,
- &feature_sdwaOmod,
+ &feature_sdwaSdst,
&feature_localmemorysize65536,
+ &feature_gfx8Insts,
&feature_flatAddressSpace,
- &feature_addNoCarryInsts,
- &feature_flatInstOffsets,
- &feature_inv2piInlineImm,
- &feature_gfx9Insts,
- &feature_flatGlobalInsts,
&feature_BitInsts16,
- &feature_r128A16,
- &feature_gfx9,
+ &feature_sdwa,
+ &feature_wavefrontsize64,
+ &feature_intClampInsts,
+ &feature_sdwaOmod,
&feature_ldsbankcount32,
},
};
@@ -1697,37 +1532,36 @@ pub const cpu_gfx906 = Cpu{
&feature_dot1Insts,
&feature_dot2Insts,
&feature_fmaMixInsts,
- &feature_fp64,
- &feature_vop3p,
- &feature_sMemrealtime,
- &feature_gfx8Insts,
- &feature_dpp,
- &feature_sdwaSdst,
+ &feature_r128A16,
+ &feature_addNoCarryInsts,
+ &feature_inv2piInlineImm,
+ &feature_gfx9Insts,
&feature_ciInsts,
- &feature_apertureRegs,
+ &feature_vgprIndexMode,
+ &feature_fastFmaf,
&feature_scalarStores,
- &feature_intClampInsts,
&feature_gcn3Encoding,
+ &feature_apertureRegs,
+ &feature_scalarAtomics,
+ &feature_flatGlobalInsts,
+ &feature_fp64,
&feature_flatScratchInsts,
+ &feature_dpp,
+ &feature_scalarFlatScratchInsts,
&feature_gfx7Gfx8Gfx9Insts,
- &feature_wavefrontsize64,
- &feature_scalarAtomics,
+ &feature_sMemrealtime,
+ &feature_vop3p,
+ &feature_flatInstOffsets,
&feature_sdwaScalar,
- &feature_fastFmaf,
- &feature_vgprIndexMode,
- &feature_scalarFlatScratchInsts,
- &feature_sdwa,
- &feature_sdwaOmod,
+ &feature_sdwaSdst,
&feature_localmemorysize65536,
+ &feature_gfx8Insts,
&feature_flatAddressSpace,
- &feature_addNoCarryInsts,
- &feature_flatInstOffsets,
- &feature_inv2piInlineImm,
- &feature_gfx9Insts,
- &feature_flatGlobalInsts,
&feature_BitInsts16,
- &feature_r128A16,
- &feature_gfx9,
+ &feature_sdwa,
+ &feature_wavefrontsize64,
+ &feature_intClampInsts,
+ &feature_sdwaOmod,
&feature_ldsbankcount32,
&feature_halfRate64Ops,
},
@@ -1747,37 +1581,36 @@ pub const cpu_gfx908 = Cpu{
&feature_dot5Insts,
&feature_dot6Insts,
&feature_fmaMixInsts,
- &feature_fp64,
- &feature_vop3p,
- &feature_sMemrealtime,
- &feature_gfx8Insts,
- &feature_dpp,
- &feature_sdwaSdst,
+ &feature_r128A16,
+ &feature_addNoCarryInsts,
+ &feature_inv2piInlineImm,
+ &feature_gfx9Insts,
&feature_ciInsts,
- &feature_apertureRegs,
+ &feature_vgprIndexMode,
+ &feature_fastFmaf,
&feature_scalarStores,
- &feature_intClampInsts,
&feature_gcn3Encoding,
+ &feature_apertureRegs,
+ &feature_scalarAtomics,
+ &feature_flatGlobalInsts,
+ &feature_fp64,
&feature_flatScratchInsts,
+ &feature_dpp,
+ &feature_scalarFlatScratchInsts,
&feature_gfx7Gfx8Gfx9Insts,
- &feature_wavefrontsize64,
- &feature_scalarAtomics,
+ &feature_sMemrealtime,
+ &feature_vop3p,
+ &feature_flatInstOffsets,
&feature_sdwaScalar,
- &feature_fastFmaf,
- &feature_vgprIndexMode,
- &feature_scalarFlatScratchInsts,
- &feature_sdwa,
- &feature_sdwaOmod,
+ &feature_sdwaSdst,
&feature_localmemorysize65536,
+ &feature_gfx8Insts,
&feature_flatAddressSpace,
- &feature_addNoCarryInsts,
- &feature_flatInstOffsets,
- &feature_inv2piInlineImm,
- &feature_gfx9Insts,
- &feature_flatGlobalInsts,
&feature_BitInsts16,
- &feature_r128A16,
- &feature_gfx9,
+ &feature_sdwa,
+ &feature_wavefrontsize64,
+ &feature_intClampInsts,
+ &feature_sdwaOmod,
&feature_ldsbankcount32,
&feature_maiInsts,
&feature_mfmaInlineLiteralBug,
@@ -1792,37 +1625,36 @@ pub const cpu_gfx909 = Cpu{
.llvm_name = "gfx909",
.subfeatures = &[_]*const Feature {
&feature_codeObjectV3,
- &feature_fp64,
- &feature_vop3p,
- &feature_sMemrealtime,
- &feature_gfx8Insts,
- &feature_dpp,
- &feature_sdwaSdst,
+ &feature_r128A16,
+ &feature_addNoCarryInsts,
+ &feature_inv2piInlineImm,
+ &feature_gfx9Insts,
&feature_ciInsts,
- &feature_apertureRegs,
+ &feature_vgprIndexMode,
+ &feature_fastFmaf,
&feature_scalarStores,
- &feature_intClampInsts,
&feature_gcn3Encoding,
+ &feature_apertureRegs,
+ &feature_scalarAtomics,
+ &feature_flatGlobalInsts,
+ &feature_fp64,
&feature_flatScratchInsts,
+ &feature_dpp,
+ &feature_scalarFlatScratchInsts,
&feature_gfx7Gfx8Gfx9Insts,
- &feature_wavefrontsize64,
- &feature_scalarAtomics,
+ &feature_sMemrealtime,
+ &feature_vop3p,
+ &feature_flatInstOffsets,
&feature_sdwaScalar,
- &feature_fastFmaf,
- &feature_vgprIndexMode,
- &feature_scalarFlatScratchInsts,
- &feature_sdwa,
- &feature_sdwaOmod,
+ &feature_sdwaSdst,
&feature_localmemorysize65536,
+ &feature_gfx8Insts,
&feature_flatAddressSpace,
- &feature_addNoCarryInsts,
- &feature_flatInstOffsets,
- &feature_inv2piInlineImm,
- &feature_gfx9Insts,
- &feature_flatGlobalInsts,
&feature_BitInsts16,
- &feature_r128A16,
- &feature_gfx9,
+ &feature_sdwa,
+ &feature_wavefrontsize64,
+ &feature_intClampInsts,
+ &feature_sdwaOmod,
&feature_ldsbankcount32,
&feature_madMixInsts,
&feature_xnack,
@@ -1836,14 +1668,13 @@ pub const cpu_hainan = Cpu{
&feature_codeObjectV3,
&feature_noXnackSupport,
&feature_ldsbankcount32,
- &feature_localmemorysize32768,
- &feature_trigReducedRange,
&feature_noSramEccSupport,
- &feature_fp64,
- &feature_movrel,
&feature_mimgR128,
+ &feature_trigReducedRange,
&feature_wavefrontsize64,
- &feature_southernIslands,
+ &feature_localmemorysize32768,
+ &feature_fp64,
+ &feature_movrel,
},
};
@@ -1855,17 +1686,16 @@ pub const cpu_hawaii = Cpu{
&feature_noXnackSupport,
&feature_fastFmaf,
&feature_ldsbankcount32,
- &feature_trigReducedRange,
&feature_noSramEccSupport,
+ &feature_flatAddressSpace,
+ &feature_mimgR128,
+ &feature_trigReducedRange,
+ &feature_gfx7Gfx8Gfx9Insts,
+ &feature_ciInsts,
+ &feature_wavefrontsize64,
&feature_fp64,
&feature_movrel,
- &feature_ciInsts,
&feature_localmemorysize65536,
- &feature_mimgR128,
- &feature_wavefrontsize64,
- &feature_flatAddressSpace,
- &feature_gfx7Gfx8Gfx9Insts,
- &feature_seaIslands,
&feature_halfRate64Ops,
},
};
@@ -1879,29 +1709,28 @@ pub const cpu_iceland = Cpu{
&feature_ldsbankcount32,
&feature_sgprInitBug,
&feature_unpackedD16Vmem,
- &feature_fp64,
- &feature_sMemrealtime,
- &feature_gfx8Insts,
- &feature_dpp,
+ &feature_mimgR128,
+ &feature_inv2piInlineImm,
&feature_ciInsts,
+ &feature_vgprIndexMode,
&feature_scalarStores,
- &feature_intClampInsts,
&feature_gcn3Encoding,
+ &feature_fp64,
+ &feature_dpp,
+ &feature_trigReducedRange,
&feature_gfx7Gfx8Gfx9Insts,
- &feature_wavefrontsize64,
+ &feature_sMemrealtime,
&feature_movrel,
- &feature_vgprIndexMode,
- &feature_trigReducedRange,
- &feature_noSramEccSupport,
- &feature_sdwa,
- &feature_sdwaMav,
- &feature_sdwaOutModsVopc,
&feature_localmemorysize65536,
- &feature_mimgR128,
+ &feature_noSramEccSupport,
+ &feature_gfx8Insts,
&feature_flatAddressSpace,
- &feature_inv2piInlineImm,
&feature_BitInsts16,
- &feature_volcanicIslands,
+ &feature_sdwaMav,
+ &feature_sdwa,
+ &feature_sdwaOutModsVopc,
+ &feature_wavefrontsize64,
+ &feature_intClampInsts,
},
};
@@ -1912,17 +1741,16 @@ pub const cpu_kabini = Cpu{
&feature_codeObjectV3,
&feature_noXnackSupport,
&feature_ldsbankcount16,
- &feature_trigReducedRange,
&feature_noSramEccSupport,
+ &feature_flatAddressSpace,
+ &feature_mimgR128,
+ &feature_trigReducedRange,
+ &feature_gfx7Gfx8Gfx9Insts,
+ &feature_ciInsts,
+ &feature_wavefrontsize64,
&feature_fp64,
&feature_movrel,
- &feature_ciInsts,
&feature_localmemorysize65536,
- &feature_mimgR128,
- &feature_wavefrontsize64,
- &feature_flatAddressSpace,
- &feature_gfx7Gfx8Gfx9Insts,
- &feature_seaIslands,
},
};
@@ -1933,17 +1761,16 @@ pub const cpu_kaveri = Cpu{
&feature_codeObjectV3,
&feature_noXnackSupport,
&feature_ldsbankcount32,
- &feature_trigReducedRange,
&feature_noSramEccSupport,
+ &feature_flatAddressSpace,
+ &feature_mimgR128,
+ &feature_trigReducedRange,
+ &feature_gfx7Gfx8Gfx9Insts,
+ &feature_ciInsts,
+ &feature_wavefrontsize64,
&feature_fp64,
&feature_movrel,
- &feature_ciInsts,
&feature_localmemorysize65536,
- &feature_mimgR128,
- &feature_wavefrontsize64,
- &feature_flatAddressSpace,
- &feature_gfx7Gfx8Gfx9Insts,
- &feature_seaIslands,
},
};
@@ -1954,17 +1781,16 @@ pub const cpu_mullins = Cpu{
&feature_codeObjectV3,
&feature_noXnackSupport,
&feature_ldsbankcount16,
- &feature_trigReducedRange,
&feature_noSramEccSupport,
+ &feature_flatAddressSpace,
+ &feature_mimgR128,
+ &feature_trigReducedRange,
+ &feature_gfx7Gfx8Gfx9Insts,
+ &feature_ciInsts,
+ &feature_wavefrontsize64,
&feature_fp64,
&feature_movrel,
- &feature_ciInsts,
&feature_localmemorysize65536,
- &feature_mimgR128,
- &feature_wavefrontsize64,
- &feature_flatAddressSpace,
- &feature_gfx7Gfx8Gfx9Insts,
- &feature_seaIslands,
},
};
@@ -1975,14 +1801,13 @@ pub const cpu_oland = Cpu{
&feature_codeObjectV3,
&feature_noXnackSupport,
&feature_ldsbankcount32,
- &feature_localmemorysize32768,
- &feature_trigReducedRange,
&feature_noSramEccSupport,
- &feature_fp64,
- &feature_movrel,
&feature_mimgR128,
+ &feature_trigReducedRange,
&feature_wavefrontsize64,
- &feature_southernIslands,
+ &feature_localmemorysize32768,
+ &feature_fp64,
+ &feature_movrel,
},
};
@@ -1993,14 +1818,13 @@ pub const cpu_pitcairn = Cpu{
&feature_codeObjectV3,
&feature_noXnackSupport,
&feature_ldsbankcount32,
- &feature_localmemorysize32768,
- &feature_trigReducedRange,
&feature_noSramEccSupport,
- &feature_fp64,
- &feature_movrel,
&feature_mimgR128,
+ &feature_trigReducedRange,
&feature_wavefrontsize64,
- &feature_southernIslands,
+ &feature_localmemorysize32768,
+ &feature_fp64,
+ &feature_movrel,
},
};
@@ -2012,29 +1836,28 @@ pub const cpu_polaris10 = Cpu{
&feature_noXnackSupport,
&feature_ldsbankcount32,
&feature_unpackedD16Vmem,
- &feature_fp64,
- &feature_sMemrealtime,
- &feature_gfx8Insts,
- &feature_dpp,
+ &feature_mimgR128,
+ &feature_inv2piInlineImm,
&feature_ciInsts,
+ &feature_vgprIndexMode,
&feature_scalarStores,
- &feature_intClampInsts,
&feature_gcn3Encoding,
+ &feature_fp64,
+ &feature_dpp,
+ &feature_trigReducedRange,
&feature_gfx7Gfx8Gfx9Insts,
- &feature_wavefrontsize64,
+ &feature_sMemrealtime,
&feature_movrel,
- &feature_vgprIndexMode,
- &feature_trigReducedRange,
- &feature_noSramEccSupport,
- &feature_sdwa,
- &feature_sdwaMav,
- &feature_sdwaOutModsVopc,
&feature_localmemorysize65536,
- &feature_mimgR128,
+ &feature_noSramEccSupport,
+ &feature_gfx8Insts,
&feature_flatAddressSpace,
- &feature_inv2piInlineImm,
&feature_BitInsts16,
- &feature_volcanicIslands,
+ &feature_sdwaMav,
+ &feature_sdwa,
+ &feature_sdwaOutModsVopc,
+ &feature_wavefrontsize64,
+ &feature_intClampInsts,
},
};
@@ -2046,29 +1869,28 @@ pub const cpu_polaris11 = Cpu{
&feature_noXnackSupport,
&feature_ldsbankcount32,
&feature_unpackedD16Vmem,
- &feature_fp64,
- &feature_sMemrealtime,
- &feature_gfx8Insts,
- &feature_dpp,
+ &feature_mimgR128,
+ &feature_inv2piInlineImm,
&feature_ciInsts,
+ &feature_vgprIndexMode,
&feature_scalarStores,
- &feature_intClampInsts,
&feature_gcn3Encoding,
+ &feature_fp64,
+ &feature_dpp,
+ &feature_trigReducedRange,
&feature_gfx7Gfx8Gfx9Insts,
- &feature_wavefrontsize64,
+ &feature_sMemrealtime,
&feature_movrel,
- &feature_vgprIndexMode,
- &feature_trigReducedRange,
- &feature_noSramEccSupport,
- &feature_sdwa,
- &feature_sdwaMav,
- &feature_sdwaOutModsVopc,
&feature_localmemorysize65536,
- &feature_mimgR128,
+ &feature_noSramEccSupport,
+ &feature_gfx8Insts,
&feature_flatAddressSpace,
- &feature_inv2piInlineImm,
&feature_BitInsts16,
- &feature_volcanicIslands,
+ &feature_sdwaMav,
+ &feature_sdwa,
+ &feature_sdwaOutModsVopc,
+ &feature_wavefrontsize64,
+ &feature_intClampInsts,
},
};
@@ -2078,29 +1900,28 @@ pub const cpu_stoney = Cpu{
.subfeatures = &[_]*const Feature {
&feature_codeObjectV3,
&feature_ldsbankcount16,
- &feature_fp64,
- &feature_sMemrealtime,
- &feature_gfx8Insts,
- &feature_dpp,
+ &feature_mimgR128,
+ &feature_inv2piInlineImm,
&feature_ciInsts,
+ &feature_vgprIndexMode,
&feature_scalarStores,
- &feature_intClampInsts,
&feature_gcn3Encoding,
+ &feature_fp64,
+ &feature_dpp,
+ &feature_trigReducedRange,
&feature_gfx7Gfx8Gfx9Insts,
- &feature_wavefrontsize64,
+ &feature_sMemrealtime,
&feature_movrel,
- &feature_vgprIndexMode,
- &feature_trigReducedRange,
- &feature_noSramEccSupport,
- &feature_sdwa,
- &feature_sdwaMav,
- &feature_sdwaOutModsVopc,
&feature_localmemorysize65536,
- &feature_mimgR128,
+ &feature_noSramEccSupport,
+ &feature_gfx8Insts,
&feature_flatAddressSpace,
- &feature_inv2piInlineImm,
&feature_BitInsts16,
- &feature_volcanicIslands,
+ &feature_sdwaMav,
+ &feature_sdwa,
+ &feature_sdwaOutModsVopc,
+ &feature_wavefrontsize64,
+ &feature_intClampInsts,
&feature_xnack,
},
};
@@ -2113,14 +1934,13 @@ pub const cpu_tahiti = Cpu{
&feature_noXnackSupport,
&feature_fastFmaf,
&feature_ldsbankcount32,
- &feature_localmemorysize32768,
- &feature_trigReducedRange,
&feature_noSramEccSupport,
- &feature_fp64,
- &feature_movrel,
&feature_mimgR128,
+ &feature_trigReducedRange,
&feature_wavefrontsize64,
- &feature_southernIslands,
+ &feature_localmemorysize32768,
+ &feature_fp64,
+ &feature_movrel,
&feature_halfRate64Ops,
},
};
@@ -2134,29 +1954,28 @@ pub const cpu_tonga = Cpu{
&feature_ldsbankcount32,
&feature_sgprInitBug,
&feature_unpackedD16Vmem,
- &feature_fp64,
- &feature_sMemrealtime,
- &feature_gfx8Insts,
- &feature_dpp,
+ &feature_mimgR128,
+ &feature_inv2piInlineImm,
&feature_ciInsts,
+ &feature_vgprIndexMode,
&feature_scalarStores,
- &feature_intClampInsts,
&feature_gcn3Encoding,
+ &feature_fp64,
+ &feature_dpp,
+ &feature_trigReducedRange,
&feature_gfx7Gfx8Gfx9Insts,
- &feature_wavefrontsize64,
+ &feature_sMemrealtime,
&feature_movrel,
- &feature_vgprIndexMode,
- &feature_trigReducedRange,
- &feature_noSramEccSupport,
- &feature_sdwa,
- &feature_sdwaMav,
- &feature_sdwaOutModsVopc,
&feature_localmemorysize65536,
- &feature_mimgR128,
+ &feature_noSramEccSupport,
+ &feature_gfx8Insts,
&feature_flatAddressSpace,
- &feature_inv2piInlineImm,
&feature_BitInsts16,
- &feature_volcanicIslands,
+ &feature_sdwaMav,
+ &feature_sdwa,
+ &feature_sdwaOutModsVopc,
+ &feature_wavefrontsize64,
+ &feature_intClampInsts,
},
};
@@ -2167,14 +1986,13 @@ pub const cpu_verde = Cpu{
&feature_codeObjectV3,
&feature_noXnackSupport,
&feature_ldsbankcount32,
- &feature_localmemorysize32768,
- &feature_trigReducedRange,
&feature_noSramEccSupport,
- &feature_fp64,
- &feature_movrel,
&feature_mimgR128,
+ &feature_trigReducedRange,
&feature_wavefrontsize64,
- &feature_southernIslands,
+ &feature_localmemorysize32768,
+ &feature_fp64,
+ &feature_movrel,
},
};
lib/std/target/arm.zig
@@ -1,1646 +1,706 @@
const Feature = @import("std").target.Feature;
const Cpu = @import("std").target.Cpu;
-pub const feature_armv2 = Feature{
- .name = "armv2",
- .description = "ARMv2 architecture",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_armv2a = Feature{
- .name = "armv2a",
- .description = "ARMv2a architecture",
+pub const feature_msecext8 = Feature{
+ .name = "8msecext",
+ .description = "Enable support for ARMv8-M Security Extensions",
.subfeatures = &[_]*const Feature {
},
};
-pub const feature_armv3 = Feature{
- .name = "armv3",
- .description = "ARMv3 architecture",
+pub const feature_aclass = Feature{
+ .name = "aclass",
+ .description = "Is application profile ('A' series)",
.subfeatures = &[_]*const Feature {
},
};
-pub const feature_armv3m = Feature{
- .name = "armv3m",
- .description = "ARMv3m architecture",
+pub const feature_aes = Feature{
+ .name = "aes",
+ .description = "Enable AES support",
.subfeatures = &[_]*const Feature {
+ &feature_fpregs,
+ &feature_d32,
},
};
-pub const feature_armv4 = Feature{
- .name = "armv4",
- .description = "ARMv4 architecture",
+pub const feature_acquireRelease = Feature{
+ .name = "acquire-release",
+ .description = "Has v8 acquire/release (lda/ldaex etc) instructions",
.subfeatures = &[_]*const Feature {
},
};
-pub const feature_armv4t = Feature{
- .name = "armv4t",
- .description = "ARMv4t architecture",
+pub const feature_avoidMovsShop = Feature{
+ .name = "avoid-movs-shop",
+ .description = "Avoid movs instructions with shifter operand",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
},
};
-pub const feature_armv5t = Feature{
- .name = "armv5t",
- .description = "ARMv5t architecture",
+pub const feature_avoidPartialCpsr = Feature{
+ .name = "avoid-partial-cpsr",
+ .description = "Avoid CPSR partial update for OOO execution",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
},
};
-pub const feature_armv5te = Feature{
- .name = "armv5te",
- .description = "ARMv5te architecture",
+pub const feature_crc = Feature{
+ .name = "crc",
+ .description = "Enable support for CRC instructions",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
},
};
-pub const feature_armv5tej = Feature{
- .name = "armv5tej",
- .description = "ARMv5tej architecture",
+pub const feature_cheapPredicableCpsr = Feature{
+ .name = "cheap-predicable-cpsr",
+ .description = "Disable +1 predication cost for instructions updating CPSR",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
},
};
-pub const feature_armv6 = Feature{
- .name = "armv6",
- .description = "ARMv6 architecture",
+pub const feature_vldnAlign = Feature{
+ .name = "vldn-align",
+ .description = "Check for VLDn unaligned access",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
- &feature_dsp,
},
};
-pub const feature_armv6j = Feature{
- .name = "armv6j",
- .description = "ARMv7a architecture",
+pub const feature_crypto = Feature{
+ .name = "crypto",
+ .description = "Enable support for Cryptography extensions",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
- &feature_dsp,
+ &feature_fpregs,
+ &feature_d32,
},
};
-pub const feature_armv6k = Feature{
- .name = "armv6k",
- .description = "ARMv6k architecture",
+pub const feature_d32 = Feature{
+ .name = "d32",
+ .description = "Extend FP to 32 double registers",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
},
};
-pub const feature_armv6kz = Feature{
- .name = "armv6kz",
- .description = "ARMv6kz architecture",
+pub const feature_db = Feature{
+ .name = "db",
+ .description = "Has data barrier (dmb/dsb) instructions",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
- &feature_trustzone,
},
};
-pub const feature_armv6M = Feature{
- .name = "armv6-m",
- .description = "ARMv6m architecture",
+pub const feature_dfb = Feature{
+ .name = "dfb",
+ .description = "Has full data barrier (dfb) instruction",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_mclass,
- &feature_thumbMode,
- &feature_strictAlign,
- &feature_noarm,
- &feature_v4t,
},
};
-pub const feature_armv6sM = Feature{
- .name = "armv6s-m",
- .description = "ARMv6sm architecture",
+pub const feature_dsp = Feature{
+ .name = "dsp",
+ .description = "Supports DSP instructions in ARM and/or Thumb2",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_mclass,
- &feature_thumbMode,
- &feature_strictAlign,
- &feature_noarm,
- &feature_v4t,
},
};
-pub const feature_armv6t2 = Feature{
- .name = "armv6t2",
- .description = "ARMv6t2 architecture",
+pub const feature_dontWidenVmovs = Feature{
+ .name = "dont-widen-vmovs",
+ .description = "Don't widen VMOVS to VMOVD",
.subfeatures = &[_]*const Feature {
- &feature_thumb2,
- &feature_dsp,
- &feature_v4t,
},
};
-pub const feature_armv7A = Feature{
- .name = "armv7-a",
- .description = "ARMv7a architecture",
+pub const feature_dotprod = Feature{
+ .name = "dotprod",
+ .description = "Enable support for dot product instructions",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_dsp,
&feature_fpregs,
- &feature_thumb2,
- &feature_v7clrex,
- &feature_aclass,
- &feature_perfmon,
- &feature_v4t,
&feature_d32,
},
};
-pub const feature_armv7eM = Feature{
- .name = "armv7e-m",
- .description = "ARMv7em architecture",
+pub const feature_executeOnly = Feature{
+ .name = "execute-only",
+ .description = "Enable the generation of execute only code.",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_mclass,
- &feature_hwdiv,
- &feature_dsp,
- &feature_thumbMode,
- &feature_thumb2,
- &feature_v7clrex,
- &feature_perfmon,
- &feature_noarm,
- &feature_v4t,
},
};
-pub const feature_armv7k = Feature{
- .name = "armv7k",
- .description = "ARMv7a architecture",
+pub const feature_expandFpMlx = Feature{
+ .name = "expand-fp-mlx",
+ .description = "Expand VFP/NEON MLA/MLS instructions",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_dsp,
- &feature_fpregs,
- &feature_thumb2,
- &feature_v7clrex,
- &feature_aclass,
- &feature_perfmon,
- &feature_v4t,
- &feature_d32,
},
};
-pub const feature_armv7M = Feature{
- .name = "armv7-m",
- .description = "ARMv7m architecture",
+pub const feature_fp16 = Feature{
+ .name = "fp16",
+ .description = "Enable half-precision floating point",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_mclass,
- &feature_hwdiv,
- &feature_thumbMode,
- &feature_thumb2,
- &feature_v7clrex,
- &feature_perfmon,
- &feature_noarm,
- &feature_v4t,
},
};
-pub const feature_armv7R = Feature{
- .name = "armv7-r",
- .description = "ARMv7r architecture",
+pub const feature_fp16fml = Feature{
+ .name = "fp16fml",
+ .description = "Enable full half-precision floating point fml instructions",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_dsp,
- &feature_hwdiv,
- &feature_rclass,
- &feature_thumb2,
- &feature_v7clrex,
- &feature_perfmon,
- &feature_v4t,
+ &feature_fp16,
+ &feature_fpregs,
},
};
-pub const feature_armv7s = Feature{
- .name = "armv7s",
- .description = "ARMv7a architecture",
+pub const feature_fp64 = Feature{
+ .name = "fp64",
+ .description = "Floating point unit supports double precision",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_dsp,
&feature_fpregs,
- &feature_thumb2,
- &feature_v7clrex,
- &feature_aclass,
- &feature_perfmon,
- &feature_v4t,
- &feature_d32,
},
};
-pub const feature_armv7ve = Feature{
- .name = "armv7ve",
- .description = "ARMv7ve architecture",
+pub const feature_fpao = Feature{
+ .name = "fpao",
+ .description = "Enable fast computation of positive address offsets",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_dsp,
- &feature_hwdivArm,
- &feature_hwdiv,
- &feature_trustzone,
- &feature_fpregs,
- &feature_thumb2,
- &feature_v7clrex,
- &feature_aclass,
- &feature_mp,
- &feature_perfmon,
- &feature_v4t,
- &feature_d32,
},
};
-pub const feature_armv8A = Feature{
- .name = "armv8-a",
- .description = "ARMv8a architecture",
+pub const feature_fpArmv8 = Feature{
+ .name = "fp-armv8",
+ .description = "Enable ARMv8 FP",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_dsp,
- &feature_hwdivArm,
- &feature_hwdiv,
- &feature_trustzone,
- &feature_fpregs,
- &feature_v4t,
- &feature_thumb2,
- &feature_v7clrex,
- &feature_aclass,
- &feature_crc,
- &feature_mp,
- &feature_acquireRelease,
&feature_fp16,
- &feature_perfmon,
+ &feature_fpregs,
&feature_d32,
},
};
-pub const feature_armv8Mbase = Feature{
- .name = "armv8-m.base",
- .description = "ARMv8mBaseline architecture",
- .subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_mclass,
- &feature_hwdiv,
- &feature_thumbMode,
- &feature_strictAlign,
- &feature_v7clrex,
- &feature_msecext8,
- &feature_acquireRelease,
- &feature_noarm,
- &feature_v4t,
- },
-};
-
-pub const feature_armv8Mmain = Feature{
- .name = "armv8-m.main",
- .description = "ARMv8mMainline architecture",
+pub const feature_fpArmv8d16 = Feature{
+ .name = "fp-armv8d16",
+ .description = "Enable ARMv8 FP with only 16 d-registers",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_mclass,
- &feature_hwdiv,
- &feature_thumbMode,
- &feature_thumb2,
- &feature_v7clrex,
- &feature_msecext8,
- &feature_acquireRelease,
- &feature_perfmon,
- &feature_noarm,
- &feature_v4t,
+ &feature_fp16,
+ &feature_fpregs,
},
};
-pub const feature_armv8R = Feature{
- .name = "armv8-r",
- .description = "ARMv8r architecture",
+pub const feature_fpArmv8d16sp = Feature{
+ .name = "fp-armv8d16sp",
+ .description = "Enable ARMv8 FP with only 16 d-registers and no double precision",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_dsp,
- &feature_hwdivArm,
- &feature_hwdiv,
- &feature_rclass,
- &feature_fpregs,
- &feature_v4t,
- &feature_dfb,
- &feature_thumb2,
- &feature_v7clrex,
- &feature_perfmon,
- &feature_crc,
- &feature_mp,
- &feature_acquireRelease,
&feature_fp16,
- &feature_d32,
+ &feature_fpregs,
},
};
-pub const feature_armv81A = Feature{
- .name = "armv8.1-a",
- .description = "ARMv81a architecture",
+pub const feature_fpArmv8sp = Feature{
+ .name = "fp-armv8sp",
+ .description = "Enable ARMv8 FP with no double precision",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_dsp,
- &feature_hwdivArm,
- &feature_hwdiv,
- &feature_trustzone,
- &feature_fpregs,
- &feature_v4t,
- &feature_thumb2,
- &feature_v7clrex,
- &feature_aclass,
- &feature_crc,
- &feature_mp,
- &feature_acquireRelease,
&feature_fp16,
- &feature_perfmon,
+ &feature_fpregs,
&feature_d32,
},
};
-pub const feature_armv81Mmain = Feature{
- .name = "armv8.1-m.main",
- .description = "ARMv81mMainline architecture",
- .subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_mclass,
- &feature_hwdiv,
- &feature_lob,
- &feature_thumbMode,
- &feature_thumb2,
- &feature_ras,
- &feature_v7clrex,
- &feature_msecext8,
- &feature_acquireRelease,
- &feature_perfmon,
- &feature_noarm,
- &feature_v4t,
- },
-};
-
-pub const feature_armv82A = Feature{
- .name = "armv8.2-a",
- .description = "ARMv82a architecture",
+pub const feature_fpregs = Feature{
+ .name = "fpregs",
+ .description = "Enable FP registers",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_dsp,
- &feature_hwdivArm,
- &feature_hwdiv,
- &feature_trustzone,
- &feature_fpregs,
- &feature_v4t,
- &feature_thumb2,
- &feature_ras,
- &feature_v7clrex,
- &feature_aclass,
- &feature_crc,
- &feature_mp,
- &feature_acquireRelease,
- &feature_fp16,
- &feature_perfmon,
- &feature_d32,
},
};
-pub const feature_armv83A = Feature{
- .name = "armv8.3-a",
- .description = "ARMv83a architecture",
- .subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_dsp,
- &feature_hwdivArm,
- &feature_hwdiv,
- &feature_trustzone,
- &feature_fpregs,
- &feature_v4t,
- &feature_thumb2,
- &feature_ras,
- &feature_v7clrex,
- &feature_aclass,
- &feature_crc,
- &feature_mp,
- &feature_acquireRelease,
- &feature_fp16,
- &feature_perfmon,
- &feature_d32,
- },
-};
-
-pub const feature_armv84A = Feature{
- .name = "armv8.4-a",
- .description = "ARMv84a architecture",
- .subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_dsp,
- &feature_hwdivArm,
- &feature_hwdiv,
- &feature_trustzone,
- &feature_fpregs,
- &feature_v4t,
- &feature_thumb2,
- &feature_ras,
- &feature_v7clrex,
- &feature_aclass,
- &feature_crc,
- &feature_mp,
- &feature_acquireRelease,
- &feature_fp16,
- &feature_perfmon,
- &feature_d32,
- },
-};
-
-pub const feature_armv85A = Feature{
- .name = "armv8.5-a",
- .description = "ARMv85a architecture",
- .subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_dsp,
- &feature_hwdivArm,
- &feature_hwdiv,
- &feature_trustzone,
- &feature_fpregs,
- &feature_v4t,
- &feature_thumb2,
- &feature_ras,
- &feature_sb,
- &feature_aclass,
- &feature_crc,
- &feature_mp,
- &feature_v7clrex,
- &feature_fp16,
- &feature_acquireRelease,
- &feature_d32,
- &feature_perfmon,
- },
-};
-
-pub const feature_msecext8 = Feature{
- .name = "8msecext",
- .description = "Enable support for ARMv8-M Security Extensions",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_aclass = Feature{
- .name = "aclass",
- .description = "Is application profile ('A' series)",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_aes = Feature{
- .name = "aes",
- .description = "Enable AES support",
- .subfeatures = &[_]*const Feature {
- &feature_fpregs,
- &feature_d32,
- },
-};
-
-pub const feature_acquireRelease = Feature{
- .name = "acquire-release",
- .description = "Has v8 acquire/release (lda/ldaex etc) instructions",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_avoidMovsShop = Feature{
- .name = "avoid-movs-shop",
- .description = "Avoid movs instructions with shifter operand",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_avoidPartialCpsr = Feature{
- .name = "avoid-partial-cpsr",
- .description = "Avoid CPSR partial update for OOO execution",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_crc = Feature{
- .name = "crc",
- .description = "Enable support for CRC instructions",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_cheapPredicableCpsr = Feature{
- .name = "cheap-predicable-cpsr",
- .description = "Disable +1 predication cost for instructions updating CPSR",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_vldnAlign = Feature{
- .name = "vldn-align",
- .description = "Check for VLDn unaligned access",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_crypto = Feature{
- .name = "crypto",
- .description = "Enable support for Cryptography extensions",
- .subfeatures = &[_]*const Feature {
- &feature_fpregs,
- &feature_d32,
- },
-};
-
-pub const feature_d32 = Feature{
- .name = "d32",
- .description = "Extend FP to 32 double registers",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_db = Feature{
- .name = "db",
- .description = "Has data barrier (dmb/dsb) instructions",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_dfb = Feature{
- .name = "dfb",
- .description = "Has full data barrier (dfb) instruction",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_dsp = Feature{
- .name = "dsp",
- .description = "Supports DSP instructions in ARM and/or Thumb2",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_dontWidenVmovs = Feature{
- .name = "dont-widen-vmovs",
- .description = "Don't widen VMOVS to VMOVD",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_dotprod = Feature{
- .name = "dotprod",
- .description = "Enable support for dot product instructions",
- .subfeatures = &[_]*const Feature {
- &feature_fpregs,
- &feature_d32,
- },
-};
-
-pub const feature_executeOnly = Feature{
- .name = "execute-only",
- .description = "Enable the generation of execute only code.",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_expandFpMlx = Feature{
- .name = "expand-fp-mlx",
- .description = "Expand VFP/NEON MLA/MLS instructions",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_fp16 = Feature{
- .name = "fp16",
- .description = "Enable half-precision floating point",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_fp16fml = Feature{
- .name = "fp16fml",
- .description = "Enable full half-precision floating point fml instructions",
- .subfeatures = &[_]*const Feature {
- &feature_fp16,
- &feature_fpregs,
- },
-};
-
-pub const feature_fp64 = Feature{
- .name = "fp64",
- .description = "Floating point unit supports double precision",
- .subfeatures = &[_]*const Feature {
- &feature_fpregs,
- },
-};
-
-pub const feature_fpao = Feature{
- .name = "fpao",
- .description = "Enable fast computation of positive address offsets",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_fpArmv8 = Feature{
- .name = "fp-armv8",
- .description = "Enable ARMv8 FP",
- .subfeatures = &[_]*const Feature {
- &feature_fpregs,
- &feature_d32,
- &feature_fp16,
- },
-};
-
-pub const feature_fpArmv8d16 = Feature{
- .name = "fp-armv8d16",
- .description = "Enable ARMv8 FP with only 16 d-registers",
- .subfeatures = &[_]*const Feature {
- &feature_fpregs,
- &feature_fp16,
- },
-};
-
-pub const feature_fpArmv8d16sp = Feature{
- .name = "fp-armv8d16sp",
- .description = "Enable ARMv8 FP with only 16 d-registers and no double precision",
- .subfeatures = &[_]*const Feature {
- &feature_fp16,
- &feature_fpregs,
- },
-};
-
-pub const feature_fpArmv8sp = Feature{
- .name = "fp-armv8sp",
- .description = "Enable ARMv8 FP with no double precision",
- .subfeatures = &[_]*const Feature {
- &feature_fp16,
- &feature_d32,
- &feature_fpregs,
- },
-};
-
-pub const feature_fpregs = Feature{
- .name = "fpregs",
- .description = "Enable FP registers",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_fpregs16 = Feature{
- .name = "fpregs16",
- .description = "Enable 16-bit FP registers",
- .subfeatures = &[_]*const Feature {
- &feature_fpregs,
- },
-};
-
-pub const feature_fpregs64 = Feature{
- .name = "fpregs64",
- .description = "Enable 64-bit FP registers",
- .subfeatures = &[_]*const Feature {
- &feature_fpregs,
- },
-};
-
-pub const feature_fullfp16 = Feature{
- .name = "fullfp16",
- .description = "Enable full half-precision floating point",
- .subfeatures = &[_]*const Feature {
- &feature_fp16,
- &feature_fpregs,
- },
-};
-
-pub const feature_fuseAes = Feature{
- .name = "fuse-aes",
- .description = "CPU fuses AES crypto operations",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_fuseLiterals = Feature{
- .name = "fuse-literals",
- .description = "CPU fuses literal generation operations",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_hwdivArm = Feature{
- .name = "hwdiv-arm",
- .description = "Enable divide instructions in ARM mode",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_hwdiv = Feature{
- .name = "hwdiv",
- .description = "Enable divide instructions in Thumb",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_noBranchPredictor = Feature{
- .name = "no-branch-predictor",
- .description = "Has no branch predictor",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_retAddrStack = Feature{
- .name = "ret-addr-stack",
- .description = "Has return address stack",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_slowfpvmlx = Feature{
- .name = "slowfpvmlx",
- .description = "Disable VFP / NEON MAC instructions",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_vmlxHazards = Feature{
- .name = "vmlx-hazards",
- .description = "Has VMLx hazards",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_lob = Feature{
- .name = "lob",
- .description = "Enable Low Overhead Branch extensions",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_longCalls = Feature{
- .name = "long-calls",
- .description = "Generate calls via indirect call instructions",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_mclass = Feature{
- .name = "mclass",
- .description = "Is microcontroller profile ('M' series)",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_mp = Feature{
- .name = "mp",
- .description = "Supports Multiprocessing extension",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_mve1beat = Feature{
- .name = "mve1beat",
- .description = "Model MVE instructions as a 1 beat per tick architecture",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_mve2beat = Feature{
- .name = "mve2beat",
- .description = "Model MVE instructions as a 2 beats per tick architecture",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_mve4beat = Feature{
- .name = "mve4beat",
- .description = "Model MVE instructions as a 4 beats per tick architecture",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_muxedUnits = Feature{
- .name = "muxed-units",
- .description = "Has muxed AGU and NEON/FPU",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_neon = Feature{
- .name = "neon",
- .description = "Enable NEON instructions",
- .subfeatures = &[_]*const Feature {
- &feature_fpregs,
- &feature_d32,
- },
-};
-
-pub const feature_neonfp = Feature{
- .name = "neonfp",
- .description = "Use NEON for single precision FP",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_neonFpmovs = Feature{
- .name = "neon-fpmovs",
- .description = "Convert VMOVSR, VMOVRS, VMOVS to NEON",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_naclTrap = Feature{
- .name = "nacl-trap",
- .description = "NaCl trap",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_noarm = Feature{
- .name = "noarm",
- .description = "Does not support ARM mode execution",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_noMovt = Feature{
- .name = "no-movt",
- .description = "Don't use movt/movw pairs for 32-bit imms",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_noNegImmediates = Feature{
- .name = "no-neg-immediates",
- .description = "Convert immediates and instructions to their negated or complemented equivalent when the immediate does not fit in the encoding.",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_disablePostraScheduler = Feature{
- .name = "disable-postra-scheduler",
- .description = "Don't schedule again after register allocation",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_nonpipelinedVfp = Feature{
- .name = "nonpipelined-vfp",
- .description = "VFP instructions are not pipelined",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_perfmon = Feature{
- .name = "perfmon",
- .description = "Enable support for Performance Monitor extensions",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_bit32 = Feature{
- .name = "32bit",
- .description = "Prefer 32-bit Thumb instrs",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_preferIshst = Feature{
- .name = "prefer-ishst",
- .description = "Prefer ISHST barriers",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_loopAlign = Feature{
- .name = "loop-align",
- .description = "Prefer 32-bit alignment for loops",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_preferVmovsr = Feature{
- .name = "prefer-vmovsr",
- .description = "Prefer VMOVSR",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_profUnpr = Feature{
- .name = "prof-unpr",
- .description = "Is profitable to unpredicate",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_ras = Feature{
- .name = "ras",
- .description = "Enable Reliability, Availability and Serviceability extensions",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_rclass = Feature{
- .name = "rclass",
- .description = "Is realtime profile ('R' series)",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_readTpHard = Feature{
- .name = "read-tp-hard",
- .description = "Reading thread pointer from register",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_reserveR9 = Feature{
- .name = "reserve-r9",
- .description = "Reserve R9, making it unavailable as GPR",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_sb = Feature{
- .name = "sb",
- .description = "Enable v8.5a Speculation Barrier",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_sha2 = Feature{
- .name = "sha2",
- .description = "Enable SHA1 and SHA256 support",
- .subfeatures = &[_]*const Feature {
- &feature_fpregs,
- &feature_d32,
- },
-};
-
-pub const feature_slowFpBrcc = Feature{
- .name = "slow-fp-brcc",
- .description = "FP compare + branch is slow",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_slowLoadDSubreg = Feature{
- .name = "slow-load-D-subreg",
- .description = "Loading into D subregs is slow",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_slowOddReg = Feature{
- .name = "slow-odd-reg",
- .description = "VLDM/VSTM starting with an odd register is slow",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_slowVdup32 = Feature{
- .name = "slow-vdup32",
- .description = "Has slow VDUP32 - prefer VMOV",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_slowVgetlni32 = Feature{
- .name = "slow-vgetlni32",
- .description = "Has slow VGETLNi32 - prefer VMOV",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_splatVfpNeon = Feature{
- .name = "splat-vfp-neon",
- .description = "Splat register from VFP to NEON",
- .subfeatures = &[_]*const Feature {
- &feature_dontWidenVmovs,
- },
-};
-
-pub const feature_strictAlign = Feature{
- .name = "strict-align",
- .description = "Disallow all unaligned memory access",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_thumb2 = Feature{
- .name = "thumb2",
- .description = "Enable Thumb2 instructions",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_trustzone = Feature{
- .name = "trustzone",
- .description = "Enable support for TrustZone security extensions",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_useAa = Feature{
- .name = "use-aa",
- .description = "Use alias analysis during codegen",
+pub const feature_fpregs16 = Feature{
+ .name = "fpregs16",
+ .description = "Enable 16-bit FP registers",
.subfeatures = &[_]*const Feature {
+ &feature_fpregs,
},
};
-pub const feature_useMisched = Feature{
- .name = "use-misched",
- .description = "Use the MachineScheduler",
+pub const feature_fpregs64 = Feature{
+ .name = "fpregs64",
+ .description = "Enable 64-bit FP registers",
.subfeatures = &[_]*const Feature {
+ &feature_fpregs,
},
};
-pub const feature_wideStrideVfp = Feature{
- .name = "wide-stride-vfp",
- .description = "Use a wide stride when allocating VFP registers",
+pub const feature_fullfp16 = Feature{
+ .name = "fullfp16",
+ .description = "Enable full half-precision floating point",
.subfeatures = &[_]*const Feature {
+ &feature_fp16,
+ &feature_fpregs,
},
};
-pub const feature_v7clrex = Feature{
- .name = "v7clrex",
- .description = "Has v7 clrex instruction",
+pub const feature_fuseAes = Feature{
+ .name = "fuse-aes",
+ .description = "CPU fuses AES crypto operations",
.subfeatures = &[_]*const Feature {
},
};
-pub const feature_vfp2 = Feature{
- .name = "vfp2",
- .description = "Enable VFP2 instructions",
+pub const feature_fuseLiterals = Feature{
+ .name = "fuse-literals",
+ .description = "CPU fuses literal generation operations",
.subfeatures = &[_]*const Feature {
- &feature_fpregs,
},
};
-pub const feature_vfp2sp = Feature{
- .name = "vfp2sp",
- .description = "Enable VFP2 instructions with no double precision",
+pub const feature_hwdivArm = Feature{
+ .name = "hwdiv-arm",
+ .description = "Enable divide instructions in ARM mode",
.subfeatures = &[_]*const Feature {
- &feature_fpregs,
},
};
-pub const feature_vfp3 = Feature{
- .name = "vfp3",
- .description = "Enable VFP3 instructions",
+pub const feature_hwdiv = Feature{
+ .name = "hwdiv",
+ .description = "Enable divide instructions in Thumb",
.subfeatures = &[_]*const Feature {
- &feature_fpregs,
- &feature_d32,
},
};
-pub const feature_vfp3d16 = Feature{
- .name = "vfp3d16",
- .description = "Enable VFP3 instructions with only 16 d-registers",
+pub const feature_noBranchPredictor = Feature{
+ .name = "no-branch-predictor",
+ .description = "Has no branch predictor",
.subfeatures = &[_]*const Feature {
- &feature_fpregs,
},
};
-pub const feature_vfp3d16sp = Feature{
- .name = "vfp3d16sp",
- .description = "Enable VFP3 instructions with only 16 d-registers and no double precision",
+pub const feature_retAddrStack = Feature{
+ .name = "ret-addr-stack",
+ .description = "Has return address stack",
.subfeatures = &[_]*const Feature {
- &feature_fpregs,
},
};
-pub const feature_vfp3sp = Feature{
- .name = "vfp3sp",
- .description = "Enable VFP3 instructions with no double precision",
+pub const feature_slowfpvmlx = Feature{
+ .name = "slowfpvmlx",
+ .description = "Disable VFP / NEON MAC instructions",
.subfeatures = &[_]*const Feature {
- &feature_fpregs,
- &feature_d32,
},
};
-pub const feature_vfp4 = Feature{
- .name = "vfp4",
- .description = "Enable VFP4 instructions",
+pub const feature_vmlxHazards = Feature{
+ .name = "vmlx-hazards",
+ .description = "Has VMLx hazards",
.subfeatures = &[_]*const Feature {
- &feature_fp16,
- &feature_d32,
- &feature_fpregs,
},
};
-pub const feature_vfp4d16 = Feature{
- .name = "vfp4d16",
- .description = "Enable VFP4 instructions with only 16 d-registers",
+pub const feature_lob = Feature{
+ .name = "lob",
+ .description = "Enable Low Overhead Branch extensions",
.subfeatures = &[_]*const Feature {
- &feature_fp16,
- &feature_fpregs,
},
};
-pub const feature_vfp4d16sp = Feature{
- .name = "vfp4d16sp",
- .description = "Enable VFP4 instructions with only 16 d-registers and no double precision",
+pub const feature_longCalls = Feature{
+ .name = "long-calls",
+ .description = "Generate calls via indirect call instructions",
.subfeatures = &[_]*const Feature {
- &feature_fp16,
- &feature_fpregs,
},
};
-pub const feature_vfp4sp = Feature{
- .name = "vfp4sp",
- .description = "Enable VFP4 instructions with no double precision",
+pub const feature_mclass = Feature{
+ .name = "mclass",
+ .description = "Is microcontroller profile ('M' series)",
.subfeatures = &[_]*const Feature {
- &feature_fp16,
- &feature_d32,
- &feature_fpregs,
},
};
-pub const feature_vmlxForwarding = Feature{
- .name = "vmlx-forwarding",
- .description = "Has multiplier accumulator forwarding",
+pub const feature_mp = Feature{
+ .name = "mp",
+ .description = "Supports Multiprocessing extension",
.subfeatures = &[_]*const Feature {
},
};
-pub const feature_virtualization = Feature{
- .name = "virtualization",
- .description = "Supports Virtualization extension",
+pub const feature_mve1beat = Feature{
+ .name = "mve1beat",
+ .description = "Model MVE instructions as a 1 beat per tick architecture",
.subfeatures = &[_]*const Feature {
- &feature_hwdivArm,
- &feature_hwdiv,
},
};
-pub const feature_zcz = Feature{
- .name = "zcz",
- .description = "Has zero-cycle zeroing instructions",
+pub const feature_mve2beat = Feature{
+ .name = "mve2beat",
+ .description = "Model MVE instructions as a 2 beats per tick architecture",
.subfeatures = &[_]*const Feature {
},
};
-pub const feature_mvefp = Feature{
- .name = "mve.fp",
- .description = "Support M-Class Vector Extension with integer and floating ops",
+pub const feature_mve4beat = Feature{
+ .name = "mve4beat",
+ .description = "Model MVE instructions as a 4 beats per tick architecture",
.subfeatures = &[_]*const Feature {
- &feature_dsp,
- &feature_fpregs,
- &feature_v4t,
- &feature_thumb2,
- &feature_v7clrex,
- &feature_perfmon,
- &feature_fp16,
},
};
-pub const feature_mve = Feature{
- .name = "mve",
- .description = "Support M-Class Vector Extension with integer ops",
+pub const feature_muxedUnits = Feature{
+ .name = "muxed-units",
+ .description = "Has muxed AGU and NEON/FPU",
.subfeatures = &[_]*const Feature {
- &feature_dsp,
- &feature_fpregs,
- &feature_thumb2,
- &feature_v7clrex,
- &feature_perfmon,
- &feature_v4t,
},
};
-pub const feature_v4t = Feature{
- .name = "v4t",
- .description = "Support ARM v4T instructions",
+pub const feature_neon = Feature{
+ .name = "neon",
+ .description = "Enable NEON instructions",
.subfeatures = &[_]*const Feature {
+ &feature_fpregs,
+ &feature_d32,
},
};
-pub const feature_v5te = Feature{
- .name = "v5te",
- .description = "Support ARM v5TE, v5TEj, and v5TExp instructions",
+pub const feature_neonfp = Feature{
+ .name = "neonfp",
+ .description = "Use NEON for single precision FP",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
},
};
-pub const feature_v5t = Feature{
- .name = "v5t",
- .description = "Support ARM v5T instructions",
+pub const feature_neonFpmovs = Feature{
+ .name = "neon-fpmovs",
+ .description = "Convert VMOVSR, VMOVRS, VMOVS to NEON",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
},
};
-pub const feature_v6k = Feature{
- .name = "v6k",
- .description = "Support ARM v6k instructions",
+pub const feature_naclTrap = Feature{
+ .name = "nacl-trap",
+ .description = "NaCl trap",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
},
};
-pub const feature_v6m = Feature{
- .name = "v6m",
- .description = "Support ARM v6M instructions",
+pub const feature_noarm = Feature{
+ .name = "noarm",
+ .description = "Does not support ARM mode execution",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
},
};
-pub const feature_v6 = Feature{
- .name = "v6",
- .description = "Support ARM v6 instructions",
+pub const feature_noMovt = Feature{
+ .name = "no-movt",
+ .description = "Don't use movt/movw pairs for 32-bit imms",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
},
};
-pub const feature_v6t2 = Feature{
- .name = "v6t2",
- .description = "Support ARM v6t2 instructions",
+pub const feature_noNegImmediates = Feature{
+ .name = "no-neg-immediates",
+ .description = "Convert immediates and instructions to their negated or complemented equivalent when the immediate does not fit in the encoding.",
.subfeatures = &[_]*const Feature {
- &feature_thumb2,
- &feature_v4t,
},
};
-pub const feature_v7 = Feature{
- .name = "v7",
- .description = "Support ARM v7 instructions",
+pub const feature_disablePostraScheduler = Feature{
+ .name = "disable-postra-scheduler",
+ .description = "Don't schedule again after register allocation",
.subfeatures = &[_]*const Feature {
- &feature_thumb2,
- &feature_v7clrex,
- &feature_v4t,
- &feature_perfmon,
},
};
-pub const feature_v8m = Feature{
- .name = "v8m",
- .description = "Support ARM v8M Baseline instructions",
+pub const feature_nonpipelinedVfp = Feature{
+ .name = "nonpipelined-vfp",
+ .description = "VFP instructions are not pipelined",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
},
};
-pub const feature_v8mmain = Feature{
- .name = "v8m.main",
- .description = "Support ARM v8M Mainline instructions",
+pub const feature_perfmon = Feature{
+ .name = "perfmon",
+ .description = "Enable support for Performance Monitor extensions",
.subfeatures = &[_]*const Feature {
- &feature_thumb2,
- &feature_v7clrex,
- &feature_v4t,
- &feature_perfmon,
},
};
-pub const feature_v8 = Feature{
- .name = "v8",
- .description = "Support ARM v8 instructions",
+pub const feature_bit32 = Feature{
+ .name = "32bit",
+ .description = "Prefer 32-bit Thumb instrs",
.subfeatures = &[_]*const Feature {
- &feature_thumb2,
- &feature_v7clrex,
- &feature_acquireRelease,
- &feature_perfmon,
- &feature_v4t,
},
};
-pub const feature_v81mmain = Feature{
- .name = "v8.1m.main",
- .description = "Support ARM v8-1M Mainline instructions",
+pub const feature_preferIshst = Feature{
+ .name = "prefer-ishst",
+ .description = "Prefer ISHST barriers",
.subfeatures = &[_]*const Feature {
- &feature_thumb2,
- &feature_v7clrex,
- &feature_v4t,
- &feature_perfmon,
},
};
-pub const feature_v81a = Feature{
- .name = "v8.1a",
- .description = "Support ARM v8.1a instructions",
+pub const feature_loopAlign = Feature{
+ .name = "loop-align",
+ .description = "Prefer 32-bit alignment for loops",
.subfeatures = &[_]*const Feature {
- &feature_thumb2,
- &feature_v7clrex,
- &feature_acquireRelease,
- &feature_perfmon,
- &feature_v4t,
},
};
-pub const feature_v82a = Feature{
- .name = "v8.2a",
- .description = "Support ARM v8.2a instructions",
+pub const feature_preferVmovsr = Feature{
+ .name = "prefer-vmovsr",
+ .description = "Prefer VMOVSR",
.subfeatures = &[_]*const Feature {
- &feature_thumb2,
- &feature_v7clrex,
- &feature_acquireRelease,
- &feature_perfmon,
- &feature_v4t,
},
};
-pub const feature_v83a = Feature{
- .name = "v8.3a",
- .description = "Support ARM v8.3a instructions",
+pub const feature_profUnpr = Feature{
+ .name = "prof-unpr",
+ .description = "Is profitable to unpredicate",
.subfeatures = &[_]*const Feature {
- &feature_thumb2,
- &feature_v7clrex,
- &feature_acquireRelease,
- &feature_perfmon,
- &feature_v4t,
},
};
-pub const feature_v84a = Feature{
- .name = "v8.4a",
- .description = "Support ARM v8.4a instructions",
+pub const feature_ras = Feature{
+ .name = "ras",
+ .description = "Enable Reliability, Availability and Serviceability extensions",
.subfeatures = &[_]*const Feature {
- &feature_fpregs,
- &feature_thumb2,
- &feature_v7clrex,
- &feature_acquireRelease,
- &feature_perfmon,
- &feature_v4t,
- &feature_d32,
},
};
-pub const feature_v85a = Feature{
- .name = "v8.5a",
- .description = "Support ARM v8.5a instructions",
+pub const feature_rclass = Feature{
+ .name = "rclass",
+ .description = "Is realtime profile ('R' series)",
.subfeatures = &[_]*const Feature {
- &feature_fpregs,
- &feature_thumb2,
- &feature_sb,
- &feature_v7clrex,
- &feature_acquireRelease,
- &feature_perfmon,
- &feature_v4t,
- &feature_d32,
},
};
-pub const feature_iwmmxt = Feature{
- .name = "iwmmxt",
- .description = "ARMv5te architecture",
+pub const feature_readTpHard = Feature{
+ .name = "read-tp-hard",
+ .description = "Reading thread pointer from register",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
},
};
-pub const feature_iwmmxt2 = Feature{
- .name = "iwmmxt2",
- .description = "ARMv5te architecture",
+pub const feature_reserveR9 = Feature{
+ .name = "reserve-r9",
+ .description = "Reserve R9, making it unavailable as GPR",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
},
};
-pub const feature_softFloat = Feature{
- .name = "soft-float",
- .description = "Use software floating point features.",
+pub const feature_sb = Feature{
+ .name = "sb",
+ .description = "Enable v8.5a Speculation Barrier",
.subfeatures = &[_]*const Feature {
},
};
-pub const feature_thumbMode = Feature{
- .name = "thumb-mode",
- .description = "Thumb mode",
+pub const feature_sha2 = Feature{
+ .name = "sha2",
+ .description = "Enable SHA1 and SHA256 support",
.subfeatures = &[_]*const Feature {
+ &feature_fpregs,
+ &feature_d32,
},
};
-pub const feature_a5 = Feature{
- .name = "a5",
- .description = "Cortex-A5 ARM processors",
+pub const feature_slowFpBrcc = Feature{
+ .name = "slow-fp-brcc",
+ .description = "FP compare + branch is slow",
.subfeatures = &[_]*const Feature {
},
};
-pub const feature_a7 = Feature{
- .name = "a7",
- .description = "Cortex-A7 ARM processors",
+pub const feature_slowLoadDSubreg = Feature{
+ .name = "slow-load-D-subreg",
+ .description = "Loading into D subregs is slow",
.subfeatures = &[_]*const Feature {
},
};
-pub const feature_a8 = Feature{
- .name = "a8",
- .description = "Cortex-A8 ARM processors",
+pub const feature_slowOddReg = Feature{
+ .name = "slow-odd-reg",
+ .description = "VLDM/VSTM starting with an odd register is slow",
.subfeatures = &[_]*const Feature {
},
};
-pub const feature_a9 = Feature{
- .name = "a9",
- .description = "Cortex-A9 ARM processors",
+pub const feature_slowVdup32 = Feature{
+ .name = "slow-vdup32",
+ .description = "Has slow VDUP32 - prefer VMOV",
.subfeatures = &[_]*const Feature {
},
};
-pub const feature_a12 = Feature{
- .name = "a12",
- .description = "Cortex-A12 ARM processors",
+pub const feature_slowVgetlni32 = Feature{
+ .name = "slow-vgetlni32",
+ .description = "Has slow VGETLNi32 - prefer VMOV",
.subfeatures = &[_]*const Feature {
},
};
-pub const feature_a15 = Feature{
- .name = "a15",
- .description = "Cortex-A15 ARM processors",
+pub const feature_splatVfpNeon = Feature{
+ .name = "splat-vfp-neon",
+ .description = "Splat register from VFP to NEON",
.subfeatures = &[_]*const Feature {
+ &feature_dontWidenVmovs,
},
};
-pub const feature_a17 = Feature{
- .name = "a17",
- .description = "Cortex-A17 ARM processors",
+pub const feature_strictAlign = Feature{
+ .name = "strict-align",
+ .description = "Disallow all unaligned memory access",
.subfeatures = &[_]*const Feature {
},
};
-pub const feature_a32 = Feature{
- .name = "a32",
- .description = "Cortex-A32 ARM processors",
+pub const feature_thumb2 = Feature{
+ .name = "thumb2",
+ .description = "Enable Thumb2 instructions",
.subfeatures = &[_]*const Feature {
},
};
-pub const feature_a35 = Feature{
- .name = "a35",
- .description = "Cortex-A35 ARM processors",
+pub const feature_trustzone = Feature{
+ .name = "trustzone",
+ .description = "Enable support for TrustZone security extensions",
.subfeatures = &[_]*const Feature {
},
};
-pub const feature_a53 = Feature{
- .name = "a53",
- .description = "Cortex-A53 ARM processors",
+pub const feature_useAa = Feature{
+ .name = "use-aa",
+ .description = "Use alias analysis during codegen",
.subfeatures = &[_]*const Feature {
},
};
-pub const feature_a55 = Feature{
- .name = "a55",
- .description = "Cortex-A55 ARM processors",
+pub const feature_useMisched = Feature{
+ .name = "use-misched",
+ .description = "Use the MachineScheduler",
.subfeatures = &[_]*const Feature {
},
};
-pub const feature_a57 = Feature{
- .name = "a57",
- .description = "Cortex-A57 ARM processors",
+pub const feature_wideStrideVfp = Feature{
+ .name = "wide-stride-vfp",
+ .description = "Use a wide stride when allocating VFP registers",
.subfeatures = &[_]*const Feature {
},
};
-pub const feature_a72 = Feature{
- .name = "a72",
- .description = "Cortex-A72 ARM processors",
+pub const feature_v7clrex = Feature{
+ .name = "v7clrex",
+ .description = "Has v7 clrex instruction",
.subfeatures = &[_]*const Feature {
},
};
-pub const feature_a73 = Feature{
- .name = "a73",
- .description = "Cortex-A73 ARM processors",
+pub const feature_vfp2 = Feature{
+ .name = "vfp2",
+ .description = "Enable VFP2 instructions",
.subfeatures = &[_]*const Feature {
+ &feature_fpregs,
},
};
-pub const feature_a75 = Feature{
- .name = "a75",
- .description = "Cortex-A75 ARM processors",
+pub const feature_vfp2sp = Feature{
+ .name = "vfp2sp",
+ .description = "Enable VFP2 instructions with no double precision",
.subfeatures = &[_]*const Feature {
+ &feature_fpregs,
},
};
-pub const feature_a76 = Feature{
- .name = "a76",
- .description = "Cortex-A76 ARM processors",
+pub const feature_vfp3 = Feature{
+ .name = "vfp3",
+ .description = "Enable VFP3 instructions",
.subfeatures = &[_]*const Feature {
+ &feature_fpregs,
+ &feature_d32,
},
};
-pub const feature_exynos = Feature{
- .name = "exynos",
- .description = "Samsung Exynos processors",
+pub const feature_vfp3d16 = Feature{
+ .name = "vfp3d16",
+ .description = "Enable VFP3 instructions with only 16 d-registers",
.subfeatures = &[_]*const Feature {
- &feature_useAa,
- &feature_hwdivArm,
- &feature_zcz,
- &feature_hwdiv,
- &feature_expandFpMlx,
- &feature_slowVdup32,
&feature_fpregs,
- &feature_slowVgetlni32,
- &feature_profUnpr,
- &feature_wideStrideVfp,
- &feature_retAddrStack,
- &feature_fuseAes,
- &feature_fuseLiterals,
- &feature_crc,
- &feature_slowfpvmlx,
- &feature_slowFpBrcc,
- &feature_dontWidenVmovs,
- &feature_d32,
},
};
-pub const feature_krait = Feature{
- .name = "krait",
- .description = "Qualcomm Krait processors",
+pub const feature_vfp3d16sp = Feature{
+ .name = "vfp3d16sp",
+ .description = "Enable VFP3 instructions with only 16 d-registers and no double precision",
.subfeatures = &[_]*const Feature {
+ &feature_fpregs,
},
};
-pub const feature_kryo = Feature{
- .name = "kryo",
- .description = "Qualcomm Kryo processors",
+pub const feature_vfp3sp = Feature{
+ .name = "vfp3sp",
+ .description = "Enable VFP3 instructions with no double precision",
.subfeatures = &[_]*const Feature {
+ &feature_fpregs,
+ &feature_d32,
},
};
-pub const feature_m3 = Feature{
- .name = "m3",
- .description = "Cortex-M3 ARM processors",
+pub const feature_vfp4 = Feature{
+ .name = "vfp4",
+ .description = "Enable VFP4 instructions",
.subfeatures = &[_]*const Feature {
+ &feature_fp16,
+ &feature_fpregs,
+ &feature_d32,
},
};
-pub const feature_r4 = Feature{
- .name = "r4",
- .description = "Cortex-R4 ARM processors",
+pub const feature_vfp4d16 = Feature{
+ .name = "vfp4d16",
+ .description = "Enable VFP4 instructions with only 16 d-registers",
.subfeatures = &[_]*const Feature {
+ &feature_fp16,
+ &feature_fpregs,
},
};
-pub const feature_r5 = Feature{
- .name = "r5",
- .description = "Cortex-R5 ARM processors",
+pub const feature_vfp4d16sp = Feature{
+ .name = "vfp4d16sp",
+ .description = "Enable VFP4 instructions with only 16 d-registers and no double precision",
.subfeatures = &[_]*const Feature {
+ &feature_fp16,
+ &feature_fpregs,
},
};
-pub const feature_r7 = Feature{
- .name = "r7",
- .description = "Cortex-R7 ARM processors",
+pub const feature_vfp4sp = Feature{
+ .name = "vfp4sp",
+ .description = "Enable VFP4 instructions with no double precision",
.subfeatures = &[_]*const Feature {
+ &feature_fp16,
+ &feature_fpregs,
+ &feature_d32,
},
};
-pub const feature_r52 = Feature{
- .name = "r52",
- .description = "Cortex-R52 ARM processors",
+pub const feature_vmlxForwarding = Feature{
+ .name = "vmlx-forwarding",
+ .description = "Has multiplier accumulator forwarding",
.subfeatures = &[_]*const Feature {
},
};
-pub const feature_swift = Feature{
- .name = "swift",
- .description = "Swift ARM processors",
+pub const feature_virtualization = Feature{
+ .name = "virtualization",
+ .description = "Supports Virtualization extension",
.subfeatures = &[_]*const Feature {
+ &feature_hwdiv,
+ &feature_hwdivArm,
},
};
-pub const feature_xscale = Feature{
- .name = "xscale",
- .description = "ARMv5te architecture",
+pub const feature_zcz = Feature{
+ .name = "zcz",
+ .description = "Has zero-cycle zeroing instructions",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
},
};
pub const features = &[_]*const Feature {
- &feature_armv2,
- &feature_armv2a,
- &feature_armv3,
- &feature_armv3m,
- &feature_armv4,
- &feature_armv4t,
- &feature_armv5t,
- &feature_armv5te,
- &feature_armv5tej,
- &feature_armv6,
- &feature_armv6j,
- &feature_armv6k,
- &feature_armv6kz,
- &feature_armv6M,
- &feature_armv6sM,
- &feature_armv6t2,
- &feature_armv7A,
- &feature_armv7eM,
- &feature_armv7k,
- &feature_armv7M,
- &feature_armv7R,
- &feature_armv7s,
- &feature_armv7ve,
- &feature_armv8A,
- &feature_armv8Mbase,
- &feature_armv8Mmain,
- &feature_armv8R,
- &feature_armv81A,
- &feature_armv81Mmain,
- &feature_armv82A,
- &feature_armv83A,
- &feature_armv84A,
- &feature_armv85A,
&feature_msecext8,
&feature_aclass,
&feature_aes,
@@ -1734,63 +794,12 @@ pub const features = &[_]*const Feature {
&feature_vmlxForwarding,
&feature_virtualization,
&feature_zcz,
- &feature_mvefp,
- &feature_mve,
- &feature_v4t,
- &feature_v5te,
- &feature_v5t,
- &feature_v6k,
- &feature_v6m,
- &feature_v6,
- &feature_v6t2,
- &feature_v7,
- &feature_v8m,
- &feature_v8mmain,
- &feature_v8,
- &feature_v81mmain,
- &feature_v81a,
- &feature_v82a,
- &feature_v83a,
- &feature_v84a,
- &feature_v85a,
- &feature_iwmmxt,
- &feature_iwmmxt2,
- &feature_softFloat,
- &feature_thumbMode,
- &feature_a5,
- &feature_a7,
- &feature_a8,
- &feature_a9,
- &feature_a12,
- &feature_a15,
- &feature_a17,
- &feature_a32,
- &feature_a35,
- &feature_a53,
- &feature_a55,
- &feature_a57,
- &feature_a72,
- &feature_a73,
- &feature_a75,
- &feature_a76,
- &feature_exynos,
- &feature_krait,
- &feature_kryo,
- &feature_m3,
- &feature_r4,
- &feature_r5,
- &feature_r7,
- &feature_r52,
- &feature_swift,
- &feature_xscale,
};
pub const cpu_arm1020e = Cpu{
.name = "arm1020e",
.llvm_name = "arm1020e",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
- &feature_armv5te,
},
};
@@ -1798,8 +807,6 @@ pub const cpu_arm1020t = Cpu{
.name = "arm1020t",
.llvm_name = "arm1020t",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
- &feature_armv5t,
},
};
@@ -1807,8 +814,6 @@ pub const cpu_arm1022e = Cpu{
.name = "arm1022e",
.llvm_name = "arm1022e",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
- &feature_armv5te,
},
};
@@ -1816,8 +821,6 @@ pub const cpu_arm10e = Cpu{
.name = "arm10e",
.llvm_name = "arm10e",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
- &feature_armv5te,
},
};
@@ -1825,8 +828,6 @@ pub const cpu_arm10tdmi = Cpu{
.name = "arm10tdmi",
.llvm_name = "arm10tdmi",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
- &feature_armv5t,
},
};
@@ -1834,9 +835,7 @@ pub const cpu_arm1136jS = Cpu{
.name = "arm1136j-s",
.llvm_name = "arm1136j-s",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
&feature_dsp,
- &feature_armv6,
},
};
@@ -1844,9 +843,7 @@ pub const cpu_arm1136jfS = Cpu{
.name = "arm1136jf-s",
.llvm_name = "arm1136jf-s",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
&feature_dsp,
- &feature_armv6,
&feature_slowfpvmlx,
&feature_fpregs,
&feature_vfp2,
@@ -1857,10 +854,8 @@ pub const cpu_arm1156t2S = Cpu{
.name = "arm1156t2-s",
.llvm_name = "arm1156t2-s",
.subfeatures = &[_]*const Feature {
- &feature_thumb2,
&feature_dsp,
- &feature_v4t,
- &feature_armv6t2,
+ &feature_thumb2,
},
};
@@ -1868,10 +863,8 @@ pub const cpu_arm1156t2fS = Cpu{
.name = "arm1156t2f-s",
.llvm_name = "arm1156t2f-s",
.subfeatures = &[_]*const Feature {
- &feature_thumb2,
&feature_dsp,
- &feature_v4t,
- &feature_armv6t2,
+ &feature_thumb2,
&feature_slowfpvmlx,
&feature_fpregs,
&feature_vfp2,
@@ -1882,9 +875,7 @@ pub const cpu_arm1176jS = Cpu{
.name = "arm1176j-s",
.llvm_name = "arm1176j-s",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
&feature_trustzone,
- &feature_armv6kz,
},
};
@@ -1892,9 +883,7 @@ pub const cpu_arm1176jzS = Cpu{
.name = "arm1176jz-s",
.llvm_name = "arm1176jz-s",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
&feature_trustzone,
- &feature_armv6kz,
},
};
@@ -1902,9 +891,7 @@ pub const cpu_arm1176jzfS = Cpu{
.name = "arm1176jzf-s",
.llvm_name = "arm1176jzf-s",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
&feature_trustzone,
- &feature_armv6kz,
&feature_slowfpvmlx,
&feature_fpregs,
&feature_vfp2,
@@ -1915,8 +902,6 @@ pub const cpu_arm710t = Cpu{
.name = "arm710t",
.llvm_name = "arm710t",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
- &feature_armv4t,
},
};
@@ -1924,8 +909,6 @@ pub const cpu_arm720t = Cpu{
.name = "arm720t",
.llvm_name = "arm720t",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
- &feature_armv4t,
},
};
@@ -1933,8 +916,6 @@ pub const cpu_arm7tdmi = Cpu{
.name = "arm7tdmi",
.llvm_name = "arm7tdmi",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
- &feature_armv4t,
},
};
@@ -1942,8 +923,6 @@ pub const cpu_arm7tdmiS = Cpu{
.name = "arm7tdmi-s",
.llvm_name = "arm7tdmi-s",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
- &feature_armv4t,
},
};
@@ -1951,7 +930,6 @@ pub const cpu_arm8 = Cpu{
.name = "arm8",
.llvm_name = "arm8",
.subfeatures = &[_]*const Feature {
- &feature_armv4,
},
};
@@ -1959,7 +937,6 @@ pub const cpu_arm810 = Cpu{
.name = "arm810",
.llvm_name = "arm810",
.subfeatures = &[_]*const Feature {
- &feature_armv4,
},
};
@@ -1967,8 +944,6 @@ pub const cpu_arm9 = Cpu{
.name = "arm9",
.llvm_name = "arm9",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
- &feature_armv4t,
},
};
@@ -1976,8 +951,6 @@ pub const cpu_arm920 = Cpu{
.name = "arm920",
.llvm_name = "arm920",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
- &feature_armv4t,
},
};
@@ -1985,8 +958,6 @@ pub const cpu_arm920t = Cpu{
.name = "arm920t",
.llvm_name = "arm920t",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
- &feature_armv4t,
},
};
@@ -1994,8 +965,6 @@ pub const cpu_arm922t = Cpu{
.name = "arm922t",
.llvm_name = "arm922t",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
- &feature_armv4t,
},
};
@@ -2003,8 +972,6 @@ pub const cpu_arm926ejS = Cpu{
.name = "arm926ej-s",
.llvm_name = "arm926ej-s",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
- &feature_armv5te,
},
};
@@ -2012,8 +979,6 @@ pub const cpu_arm940t = Cpu{
.name = "arm940t",
.llvm_name = "arm940t",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
- &feature_armv4t,
},
};
@@ -2021,8 +986,6 @@ pub const cpu_arm946eS = Cpu{
.name = "arm946e-s",
.llvm_name = "arm946e-s",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
- &feature_armv5te,
},
};
@@ -2030,8 +993,6 @@ pub const cpu_arm966eS = Cpu{
.name = "arm966e-s",
.llvm_name = "arm966e-s",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
- &feature_armv5te,
},
};
@@ -2039,8 +1000,6 @@ pub const cpu_arm968eS = Cpu{
.name = "arm968e-s",
.llvm_name = "arm968e-s",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
- &feature_armv5te,
},
};
@@ -2048,8 +1007,6 @@ pub const cpu_arm9e = Cpu{
.name = "arm9e",
.llvm_name = "arm9e",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
- &feature_armv5te,
},
};
@@ -2057,8 +1014,6 @@ pub const cpu_arm9tdmi = Cpu{
.name = "arm9tdmi",
.llvm_name = "arm9tdmi",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
- &feature_armv4t,
},
};
@@ -2066,16 +1021,14 @@ pub const cpu_cortexA12 = Cpu{
.name = "cortex-a12",
.llvm_name = "cortex-a12",
.subfeatures = &[_]*const Feature {
+ &feature_fpregs,
&feature_db,
+ &feature_d32,
+ &feature_perfmon,
&feature_dsp,
- &feature_fpregs,
- &feature_thumb2,
- &feature_v7clrex,
&feature_aclass,
- &feature_perfmon,
- &feature_v4t,
- &feature_d32,
- &feature_armv7A,
+ &feature_v7clrex,
+ &feature_thumb2,
&feature_avoidPartialCpsr,
&feature_retAddrStack,
&feature_mp,
@@ -2083,10 +1036,9 @@ pub const cpu_cortexA12 = Cpu{
&feature_fp16,
&feature_vfp4,
&feature_vmlxForwarding,
- &feature_hwdivArm,
&feature_hwdiv,
+ &feature_hwdivArm,
&feature_virtualization,
- &feature_a12,
},
};
@@ -2094,16 +1046,14 @@ pub const cpu_cortexA15 = Cpu{
.name = "cortex-a15",
.llvm_name = "cortex-a15",
.subfeatures = &[_]*const Feature {
+ &feature_fpregs,
&feature_db,
+ &feature_d32,
+ &feature_perfmon,
&feature_dsp,
- &feature_fpregs,
- &feature_thumb2,
- &feature_v7clrex,
&feature_aclass,
- &feature_perfmon,
- &feature_v4t,
- &feature_d32,
- &feature_armv7A,
+ &feature_v7clrex,
+ &feature_thumb2,
&feature_avoidPartialCpsr,
&feature_vldnAlign,
&feature_dontWidenVmovs,
@@ -2114,10 +1064,9 @@ pub const cpu_cortexA15 = Cpu{
&feature_trustzone,
&feature_fp16,
&feature_vfp4,
- &feature_hwdivArm,
&feature_hwdiv,
+ &feature_hwdivArm,
&feature_virtualization,
- &feature_a15,
},
};
@@ -2125,16 +1074,14 @@ pub const cpu_cortexA17 = Cpu{
.name = "cortex-a17",
.llvm_name = "cortex-a17",
.subfeatures = &[_]*const Feature {
+ &feature_fpregs,
&feature_db,
+ &feature_d32,
+ &feature_perfmon,
&feature_dsp,
- &feature_fpregs,
- &feature_thumb2,
- &feature_v7clrex,
&feature_aclass,
- &feature_perfmon,
- &feature_v4t,
- &feature_d32,
- &feature_armv7A,
+ &feature_v7clrex,
+ &feature_thumb2,
&feature_avoidPartialCpsr,
&feature_retAddrStack,
&feature_mp,
@@ -2142,10 +1089,9 @@ pub const cpu_cortexA17 = Cpu{
&feature_fp16,
&feature_vfp4,
&feature_vmlxForwarding,
- &feature_hwdivArm,
&feature_hwdiv,
+ &feature_hwdivArm,
&feature_virtualization,
- &feature_a17,
},
};
@@ -2153,23 +1099,21 @@ pub const cpu_cortexA32 = Cpu{
.name = "cortex-a32",
.llvm_name = "cortex-a32",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_dsp,
- &feature_hwdivArm,
&feature_hwdiv,
&feature_trustzone,
&feature_fpregs,
- &feature_v4t,
- &feature_thumb2,
- &feature_v7clrex,
- &feature_aclass,
- &feature_crc,
- &feature_mp,
+ &feature_db,
&feature_acquireRelease,
- &feature_fp16,
- &feature_perfmon,
&feature_d32,
- &feature_armv8A,
+ &feature_perfmon,
+ &feature_mp,
+ &feature_hwdivArm,
+ &feature_dsp,
+ &feature_aclass,
+ &feature_fp16,
+ &feature_v7clrex,
+ &feature_crc,
+ &feature_thumb2,
&feature_crypto,
},
};
@@ -2178,25 +1122,22 @@ pub const cpu_cortexA35 = Cpu{
.name = "cortex-a35",
.llvm_name = "cortex-a35",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_dsp,
- &feature_hwdivArm,
&feature_hwdiv,
&feature_trustzone,
&feature_fpregs,
- &feature_v4t,
- &feature_thumb2,
- &feature_v7clrex,
- &feature_aclass,
- &feature_crc,
- &feature_mp,
+ &feature_db,
&feature_acquireRelease,
- &feature_fp16,
- &feature_perfmon,
&feature_d32,
- &feature_armv8A,
+ &feature_perfmon,
+ &feature_mp,
+ &feature_hwdivArm,
+ &feature_dsp,
+ &feature_aclass,
+ &feature_fp16,
+ &feature_v7clrex,
+ &feature_crc,
+ &feature_thumb2,
&feature_crypto,
- &feature_a35,
},
};
@@ -2204,16 +1145,14 @@ pub const cpu_cortexA5 = Cpu{
.name = "cortex-a5",
.llvm_name = "cortex-a5",
.subfeatures = &[_]*const Feature {
+ &feature_fpregs,
&feature_db,
+ &feature_d32,
+ &feature_perfmon,
&feature_dsp,
- &feature_fpregs,
- &feature_thumb2,
- &feature_v7clrex,
&feature_aclass,
- &feature_perfmon,
- &feature_v4t,
- &feature_d32,
- &feature_armv7A,
+ &feature_v7clrex,
+ &feature_thumb2,
&feature_retAddrStack,
&feature_slowfpvmlx,
&feature_mp,
@@ -2222,7 +1161,6 @@ pub const cpu_cortexA5 = Cpu{
&feature_fp16,
&feature_vfp4,
&feature_vmlxForwarding,
- &feature_a5,
},
};
@@ -2230,26 +1168,23 @@ pub const cpu_cortexA53 = Cpu{
.name = "cortex-a53",
.llvm_name = "cortex-a53",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_dsp,
- &feature_hwdivArm,
&feature_hwdiv,
&feature_trustzone,
&feature_fpregs,
- &feature_v4t,
- &feature_thumb2,
- &feature_v7clrex,
- &feature_aclass,
- &feature_crc,
- &feature_mp,
+ &feature_db,
&feature_acquireRelease,
- &feature_fp16,
- &feature_perfmon,
&feature_d32,
- &feature_armv8A,
+ &feature_perfmon,
+ &feature_mp,
+ &feature_hwdivArm,
+ &feature_dsp,
+ &feature_aclass,
+ &feature_fp16,
+ &feature_v7clrex,
+ &feature_crc,
+ &feature_thumb2,
&feature_crypto,
&feature_fpao,
- &feature_a53,
},
};
@@ -2257,26 +1192,23 @@ pub const cpu_cortexA55 = Cpu{
.name = "cortex-a55",
.llvm_name = "cortex-a55",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_dsp,
- &feature_hwdivArm,
&feature_hwdiv,
&feature_trustzone,
&feature_fpregs,
- &feature_v4t,
- &feature_thumb2,
+ &feature_db,
+ &feature_acquireRelease,
+ &feature_d32,
+ &feature_perfmon,
+ &feature_mp,
&feature_ras,
- &feature_v7clrex,
+ &feature_hwdivArm,
+ &feature_dsp,
&feature_aclass,
- &feature_crc,
- &feature_mp,
- &feature_acquireRelease,
&feature_fp16,
- &feature_perfmon,
- &feature_d32,
- &feature_armv82A,
+ &feature_v7clrex,
+ &feature_crc,
+ &feature_thumb2,
&feature_dotprod,
- &feature_a55,
},
};
@@ -2284,28 +1216,25 @@ pub const cpu_cortexA57 = Cpu{
.name = "cortex-a57",
.llvm_name = "cortex-a57",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_dsp,
- &feature_hwdivArm,
&feature_hwdiv,
&feature_trustzone,
&feature_fpregs,
- &feature_v4t,
- &feature_thumb2,
- &feature_v7clrex,
- &feature_aclass,
- &feature_crc,
- &feature_mp,
+ &feature_db,
&feature_acquireRelease,
- &feature_fp16,
- &feature_perfmon,
&feature_d32,
- &feature_armv8A,
+ &feature_perfmon,
+ &feature_mp,
+ &feature_hwdivArm,
+ &feature_dsp,
+ &feature_aclass,
+ &feature_fp16,
+ &feature_v7clrex,
+ &feature_crc,
+ &feature_thumb2,
&feature_avoidPartialCpsr,
&feature_cheapPredicableCpsr,
&feature_crypto,
&feature_fpao,
- &feature_a57,
},
};
@@ -2313,16 +1242,14 @@ pub const cpu_cortexA7 = Cpu{
.name = "cortex-a7",
.llvm_name = "cortex-a7",
.subfeatures = &[_]*const Feature {
+ &feature_fpregs,
&feature_db,
+ &feature_d32,
+ &feature_perfmon,
&feature_dsp,
- &feature_fpregs,
- &feature_thumb2,
- &feature_v7clrex,
&feature_aclass,
- &feature_perfmon,
- &feature_v4t,
- &feature_d32,
- &feature_armv7A,
+ &feature_v7clrex,
+ &feature_thumb2,
&feature_retAddrStack,
&feature_slowfpvmlx,
&feature_vmlxHazards,
@@ -2332,10 +1259,9 @@ pub const cpu_cortexA7 = Cpu{
&feature_fp16,
&feature_vfp4,
&feature_vmlxForwarding,
- &feature_hwdivArm,
&feature_hwdiv,
+ &feature_hwdivArm,
&feature_virtualization,
- &feature_a7,
},
};
@@ -2343,25 +1269,22 @@ pub const cpu_cortexA72 = Cpu{
.name = "cortex-a72",
.llvm_name = "cortex-a72",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_dsp,
- &feature_hwdivArm,
&feature_hwdiv,
&feature_trustzone,
&feature_fpregs,
- &feature_v4t,
- &feature_thumb2,
- &feature_v7clrex,
- &feature_aclass,
- &feature_crc,
- &feature_mp,
+ &feature_db,
&feature_acquireRelease,
- &feature_fp16,
- &feature_perfmon,
&feature_d32,
- &feature_armv8A,
+ &feature_perfmon,
+ &feature_mp,
+ &feature_hwdivArm,
+ &feature_dsp,
+ &feature_aclass,
+ &feature_fp16,
+ &feature_v7clrex,
+ &feature_crc,
+ &feature_thumb2,
&feature_crypto,
- &feature_a72,
},
};
@@ -2369,25 +1292,22 @@ pub const cpu_cortexA73 = Cpu{
.name = "cortex-a73",
.llvm_name = "cortex-a73",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_dsp,
- &feature_hwdivArm,
&feature_hwdiv,
&feature_trustzone,
&feature_fpregs,
- &feature_v4t,
- &feature_thumb2,
- &feature_v7clrex,
- &feature_aclass,
- &feature_crc,
- &feature_mp,
+ &feature_db,
&feature_acquireRelease,
- &feature_fp16,
- &feature_perfmon,
&feature_d32,
- &feature_armv8A,
+ &feature_perfmon,
+ &feature_mp,
+ &feature_hwdivArm,
+ &feature_dsp,
+ &feature_aclass,
+ &feature_fp16,
+ &feature_v7clrex,
+ &feature_crc,
+ &feature_thumb2,
&feature_crypto,
- &feature_a73,
},
};
@@ -2395,26 +1315,23 @@ pub const cpu_cortexA75 = Cpu{
.name = "cortex-a75",
.llvm_name = "cortex-a75",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_dsp,
- &feature_hwdivArm,
&feature_hwdiv,
&feature_trustzone,
&feature_fpregs,
- &feature_v4t,
- &feature_thumb2,
+ &feature_db,
+ &feature_acquireRelease,
+ &feature_d32,
+ &feature_perfmon,
+ &feature_mp,
&feature_ras,
- &feature_v7clrex,
+ &feature_hwdivArm,
+ &feature_dsp,
&feature_aclass,
- &feature_crc,
- &feature_mp,
- &feature_acquireRelease,
&feature_fp16,
- &feature_perfmon,
- &feature_d32,
- &feature_armv82A,
+ &feature_v7clrex,
+ &feature_crc,
+ &feature_thumb2,
&feature_dotprod,
- &feature_a75,
},
};
@@ -2422,28 +1339,25 @@ pub const cpu_cortexA76 = Cpu{
.name = "cortex-a76",
.llvm_name = "cortex-a76",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_dsp,
- &feature_hwdivArm,
&feature_hwdiv,
&feature_trustzone,
&feature_fpregs,
- &feature_v4t,
- &feature_thumb2,
+ &feature_db,
+ &feature_acquireRelease,
+ &feature_d32,
+ &feature_perfmon,
+ &feature_mp,
&feature_ras,
- &feature_v7clrex,
+ &feature_hwdivArm,
+ &feature_dsp,
&feature_aclass,
- &feature_crc,
- &feature_mp,
- &feature_acquireRelease,
&feature_fp16,
- &feature_perfmon,
- &feature_d32,
- &feature_armv82A,
+ &feature_v7clrex,
+ &feature_crc,
+ &feature_thumb2,
&feature_crypto,
&feature_dotprod,
&feature_fullfp16,
- &feature_a76,
},
};
@@ -2451,28 +1365,25 @@ pub const cpu_cortexA76ae = Cpu{
.name = "cortex-a76ae",
.llvm_name = "cortex-a76ae",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_dsp,
- &feature_hwdivArm,
&feature_hwdiv,
&feature_trustzone,
&feature_fpregs,
- &feature_v4t,
- &feature_thumb2,
+ &feature_db,
+ &feature_acquireRelease,
+ &feature_d32,
+ &feature_perfmon,
+ &feature_mp,
&feature_ras,
- &feature_v7clrex,
+ &feature_hwdivArm,
+ &feature_dsp,
&feature_aclass,
- &feature_crc,
- &feature_mp,
- &feature_acquireRelease,
&feature_fp16,
- &feature_perfmon,
- &feature_d32,
- &feature_armv82A,
+ &feature_v7clrex,
+ &feature_crc,
+ &feature_thumb2,
&feature_crypto,
&feature_dotprod,
&feature_fullfp16,
- &feature_a76,
},
};
@@ -2480,16 +1391,14 @@ pub const cpu_cortexA8 = Cpu{
.name = "cortex-a8",
.llvm_name = "cortex-a8",
.subfeatures = &[_]*const Feature {
+ &feature_fpregs,
&feature_db,
+ &feature_d32,
+ &feature_perfmon,
&feature_dsp,
- &feature_fpregs,
- &feature_thumb2,
- &feature_v7clrex,
&feature_aclass,
- &feature_perfmon,
- &feature_v4t,
- &feature_d32,
- &feature_armv7A,
+ &feature_v7clrex,
+ &feature_thumb2,
&feature_retAddrStack,
&feature_slowfpvmlx,
&feature_vmlxHazards,
@@ -2497,7 +1406,6 @@ pub const cpu_cortexA8 = Cpu{
&feature_slowFpBrcc,
&feature_trustzone,
&feature_vmlxForwarding,
- &feature_a8,
},
};
@@ -2505,16 +1413,14 @@ pub const cpu_cortexA9 = Cpu{
.name = "cortex-a9",
.llvm_name = "cortex-a9",
.subfeatures = &[_]*const Feature {
+ &feature_fpregs,
&feature_db,
+ &feature_d32,
+ &feature_perfmon,
&feature_dsp,
- &feature_fpregs,
- &feature_thumb2,
- &feature_v7clrex,
&feature_aclass,
- &feature_perfmon,
- &feature_v4t,
- &feature_d32,
- &feature_armv7A,
+ &feature_v7clrex,
+ &feature_thumb2,
&feature_avoidPartialCpsr,
&feature_vldnAlign,
&feature_expandFpMlx,
@@ -2527,7 +1433,6 @@ pub const cpu_cortexA9 = Cpu{
&feature_preferVmovsr,
&feature_trustzone,
&feature_vmlxForwarding,
- &feature_a9,
},
};
@@ -2536,12 +1441,9 @@ pub const cpu_cortexM0 = Cpu{
.llvm_name = "cortex-m0",
.subfeatures = &[_]*const Feature {
&feature_db,
- &feature_mclass,
- &feature_thumbMode,
&feature_strictAlign,
&feature_noarm,
- &feature_v4t,
- &feature_armv6M,
+ &feature_mclass,
},
};
@@ -2550,12 +1452,9 @@ pub const cpu_cortexM0plus = Cpu{
.llvm_name = "cortex-m0plus",
.subfeatures = &[_]*const Feature {
&feature_db,
- &feature_mclass,
- &feature_thumbMode,
&feature_strictAlign,
&feature_noarm,
- &feature_v4t,
- &feature_armv6M,
+ &feature_mclass,
},
};
@@ -2564,12 +1463,9 @@ pub const cpu_cortexM1 = Cpu{
.llvm_name = "cortex-m1",
.subfeatures = &[_]*const Feature {
&feature_db,
- &feature_mclass,
- &feature_thumbMode,
&feature_strictAlign,
&feature_noarm,
- &feature_v4t,
- &feature_armv6M,
+ &feature_mclass,
},
};
@@ -2577,17 +1473,14 @@ pub const cpu_cortexM23 = Cpu{
.name = "cortex-m23",
.llvm_name = "cortex-m23",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_mclass,
&feature_hwdiv,
- &feature_thumbMode,
- &feature_strictAlign,
- &feature_v7clrex,
&feature_msecext8,
+ &feature_db,
+ &feature_strictAlign,
&feature_acquireRelease,
&feature_noarm,
- &feature_v4t,
- &feature_armv8Mbase,
+ &feature_v7clrex,
+ &feature_mclass,
&feature_noMovt,
},
};
@@ -2596,21 +1489,17 @@ pub const cpu_cortexM3 = Cpu{
.name = "cortex-m3",
.llvm_name = "cortex-m3",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_mclass,
&feature_hwdiv,
- &feature_thumbMode,
- &feature_thumb2,
- &feature_v7clrex,
+ &feature_db,
&feature_perfmon,
&feature_noarm,
- &feature_v4t,
- &feature_armv7M,
+ &feature_v7clrex,
+ &feature_mclass,
+ &feature_thumb2,
&feature_noBranchPredictor,
&feature_loopAlign,
&feature_useAa,
&feature_useMisched,
- &feature_m3,
},
};
@@ -2618,18 +1507,15 @@ pub const cpu_cortexM33 = Cpu{
.name = "cortex-m33",
.llvm_name = "cortex-m33",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_mclass,
&feature_hwdiv,
- &feature_thumbMode,
- &feature_thumb2,
- &feature_v7clrex,
&feature_msecext8,
+ &feature_db,
&feature_acquireRelease,
&feature_perfmon,
&feature_noarm,
- &feature_v4t,
- &feature_armv8Mmain,
+ &feature_v7clrex,
+ &feature_mclass,
+ &feature_thumb2,
&feature_dsp,
&feature_fp16,
&feature_fpregs,
@@ -2646,18 +1532,15 @@ pub const cpu_cortexM35p = Cpu{
.name = "cortex-m35p",
.llvm_name = "cortex-m35p",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_mclass,
&feature_hwdiv,
- &feature_thumbMode,
- &feature_thumb2,
- &feature_v7clrex,
&feature_msecext8,
+ &feature_db,
&feature_acquireRelease,
&feature_perfmon,
&feature_noarm,
- &feature_v4t,
- &feature_armv8Mmain,
+ &feature_v7clrex,
+ &feature_mclass,
+ &feature_thumb2,
&feature_dsp,
&feature_fp16,
&feature_fpregs,
@@ -2674,17 +1557,14 @@ pub const cpu_cortexM4 = Cpu{
.name = "cortex-m4",
.llvm_name = "cortex-m4",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_mclass,
&feature_hwdiv,
- &feature_dsp,
- &feature_thumbMode,
- &feature_thumb2,
- &feature_v7clrex,
+ &feature_db,
&feature_perfmon,
&feature_noarm,
- &feature_v4t,
- &feature_armv7eM,
+ &feature_dsp,
+ &feature_v7clrex,
+ &feature_mclass,
+ &feature_thumb2,
&feature_noBranchPredictor,
&feature_slowfpvmlx,
&feature_loopAlign,
@@ -2700,19 +1580,16 @@ pub const cpu_cortexM7 = Cpu{
.name = "cortex-m7",
.llvm_name = "cortex-m7",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_mclass,
&feature_hwdiv,
- &feature_dsp,
- &feature_thumbMode,
- &feature_thumb2,
- &feature_v7clrex,
+ &feature_db,
&feature_perfmon,
&feature_noarm,
- &feature_v4t,
- &feature_armv7eM,
- &feature_fpregs,
+ &feature_dsp,
+ &feature_v7clrex,
+ &feature_mclass,
+ &feature_thumb2,
&feature_fp16,
+ &feature_fpregs,
&feature_fpArmv8d16,
},
};
@@ -2721,18 +1598,15 @@ pub const cpu_cortexR4 = Cpu{
.name = "cortex-r4",
.llvm_name = "cortex-r4",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_dsp,
&feature_hwdiv,
&feature_rclass,
- &feature_thumb2,
- &feature_v7clrex,
+ &feature_db,
&feature_perfmon,
- &feature_v4t,
- &feature_armv7R,
+ &feature_dsp,
+ &feature_v7clrex,
+ &feature_thumb2,
&feature_avoidPartialCpsr,
&feature_retAddrStack,
- &feature_r4,
},
};
@@ -2740,22 +1614,19 @@ pub const cpu_cortexR4f = Cpu{
.name = "cortex-r4f",
.llvm_name = "cortex-r4f",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_dsp,
&feature_hwdiv,
&feature_rclass,
- &feature_thumb2,
- &feature_v7clrex,
+ &feature_db,
&feature_perfmon,
- &feature_v4t,
- &feature_armv7R,
+ &feature_dsp,
+ &feature_v7clrex,
+ &feature_thumb2,
&feature_avoidPartialCpsr,
&feature_retAddrStack,
&feature_slowfpvmlx,
&feature_slowFpBrcc,
&feature_fpregs,
&feature_vfp3d16,
- &feature_r4,
},
};
@@ -2763,15 +1634,13 @@ pub const cpu_cortexR5 = Cpu{
.name = "cortex-r5",
.llvm_name = "cortex-r5",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_dsp,
&feature_hwdiv,
&feature_rclass,
- &feature_thumb2,
- &feature_v7clrex,
+ &feature_db,
&feature_perfmon,
- &feature_v4t,
- &feature_armv7R,
+ &feature_dsp,
+ &feature_v7clrex,
+ &feature_thumb2,
&feature_avoidPartialCpsr,
&feature_hwdivArm,
&feature_retAddrStack,
@@ -2779,7 +1648,6 @@ pub const cpu_cortexR5 = Cpu{
&feature_slowFpBrcc,
&feature_fpregs,
&feature_vfp3d16,
- &feature_r5,
},
};
@@ -2787,27 +1655,24 @@ pub const cpu_cortexR52 = Cpu{
.name = "cortex-r52",
.llvm_name = "cortex-r52",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_dsp,
- &feature_hwdivArm,
&feature_hwdiv,
&feature_rclass,
&feature_fpregs,
- &feature_v4t,
- &feature_dfb,
- &feature_thumb2,
- &feature_v7clrex,
+ &feature_db,
+ &feature_acquireRelease,
+ &feature_d32,
&feature_perfmon,
- &feature_crc,
&feature_mp,
- &feature_acquireRelease,
+ &feature_dfb,
+ &feature_hwdivArm,
+ &feature_dsp,
&feature_fp16,
- &feature_d32,
- &feature_armv8R,
+ &feature_v7clrex,
+ &feature_crc,
+ &feature_thumb2,
&feature_fpao,
&feature_useAa,
&feature_useMisched,
- &feature_r52,
},
};
@@ -2815,15 +1680,13 @@ pub const cpu_cortexR7 = Cpu{
.name = "cortex-r7",
.llvm_name = "cortex-r7",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_dsp,
&feature_hwdiv,
&feature_rclass,
- &feature_thumb2,
- &feature_v7clrex,
+ &feature_db,
&feature_perfmon,
- &feature_v4t,
- &feature_armv7R,
+ &feature_dsp,
+ &feature_v7clrex,
+ &feature_thumb2,
&feature_avoidPartialCpsr,
&feature_fp16,
&feature_hwdivArm,
@@ -2833,7 +1696,6 @@ pub const cpu_cortexR7 = Cpu{
&feature_slowFpBrcc,
&feature_fpregs,
&feature_vfp3d16,
- &feature_r7,
},
};
@@ -2841,15 +1703,13 @@ pub const cpu_cortexR8 = Cpu{
.name = "cortex-r8",
.llvm_name = "cortex-r8",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_dsp,
&feature_hwdiv,
&feature_rclass,
- &feature_thumb2,
- &feature_v7clrex,
+ &feature_db,
&feature_perfmon,
- &feature_v4t,
- &feature_armv7R,
+ &feature_dsp,
+ &feature_v7clrex,
+ &feature_thumb2,
&feature_avoidPartialCpsr,
&feature_fp16,
&feature_hwdivArm,
@@ -2866,23 +1726,21 @@ pub const cpu_cyclone = Cpu{
.name = "cyclone",
.llvm_name = "cyclone",
.subfeatures = &[_]*const Feature {
+ &feature_hwdiv,
+ &feature_trustzone,
+ &feature_fpregs,
&feature_db,
- &feature_dsp,
+ &feature_acquireRelease,
+ &feature_d32,
+ &feature_perfmon,
+ &feature_mp,
&feature_hwdivArm,
- &feature_hwdiv,
- &feature_trustzone,
- &feature_fpregs,
- &feature_v4t,
- &feature_thumb2,
- &feature_v7clrex,
+ &feature_dsp,
&feature_aclass,
- &feature_crc,
- &feature_mp,
- &feature_acquireRelease,
&feature_fp16,
- &feature_perfmon,
- &feature_d32,
- &feature_armv8A,
+ &feature_v7clrex,
+ &feature_crc,
+ &feature_thumb2,
&feature_avoidMovsShop,
&feature_avoidPartialCpsr,
&feature_crypto,
@@ -2893,7 +1751,6 @@ pub const cpu_cyclone = Cpu{
&feature_useMisched,
&feature_vfp4,
&feature_zcz,
- &feature_swift,
},
};
@@ -2901,8 +1758,6 @@ pub const cpu_ep9312 = Cpu{
.name = "ep9312",
.llvm_name = "ep9312",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
- &feature_armv4t,
},
};
@@ -2910,37 +1765,34 @@ pub const cpu_exynosM1 = Cpu{
.name = "exynos-m1",
.llvm_name = "exynos-m1",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_dsp,
- &feature_hwdivArm,
&feature_hwdiv,
&feature_trustzone,
&feature_fpregs,
- &feature_v4t,
- &feature_thumb2,
- &feature_v7clrex,
- &feature_aclass,
- &feature_crc,
- &feature_mp,
+ &feature_db,
&feature_acquireRelease,
- &feature_fp16,
- &feature_perfmon,
&feature_d32,
- &feature_armv8A,
- &feature_useAa,
- &feature_zcz,
- &feature_expandFpMlx,
+ &feature_perfmon,
+ &feature_mp,
+ &feature_hwdivArm,
+ &feature_dsp,
+ &feature_aclass,
+ &feature_fp16,
+ &feature_v7clrex,
+ &feature_crc,
+ &feature_thumb2,
&feature_slowVdup32,
+ &feature_expandFpMlx,
&feature_slowVgetlni32,
- &feature_profUnpr,
+ &feature_fuseLiterals,
&feature_wideStrideVfp,
+ &feature_slowFpBrcc,
&feature_retAddrStack,
+ &feature_dontWidenVmovs,
+ &feature_zcz,
&feature_fuseAes,
- &feature_fuseLiterals,
&feature_slowfpvmlx,
- &feature_slowFpBrcc,
- &feature_dontWidenVmovs,
- &feature_exynos,
+ &feature_profUnpr,
+ &feature_useAa,
},
};
@@ -2948,37 +1800,34 @@ pub const cpu_exynosM2 = Cpu{
.name = "exynos-m2",
.llvm_name = "exynos-m2",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_dsp,
- &feature_hwdivArm,
&feature_hwdiv,
&feature_trustzone,
&feature_fpregs,
- &feature_v4t,
- &feature_thumb2,
- &feature_v7clrex,
- &feature_aclass,
- &feature_crc,
- &feature_mp,
+ &feature_db,
&feature_acquireRelease,
- &feature_fp16,
- &feature_perfmon,
&feature_d32,
- &feature_armv8A,
- &feature_useAa,
- &feature_zcz,
- &feature_expandFpMlx,
+ &feature_perfmon,
+ &feature_mp,
+ &feature_hwdivArm,
+ &feature_dsp,
+ &feature_aclass,
+ &feature_fp16,
+ &feature_v7clrex,
+ &feature_crc,
+ &feature_thumb2,
&feature_slowVdup32,
+ &feature_expandFpMlx,
&feature_slowVgetlni32,
- &feature_profUnpr,
+ &feature_fuseLiterals,
&feature_wideStrideVfp,
+ &feature_slowFpBrcc,
&feature_retAddrStack,
+ &feature_dontWidenVmovs,
+ &feature_zcz,
&feature_fuseAes,
- &feature_fuseLiterals,
&feature_slowfpvmlx,
- &feature_slowFpBrcc,
- &feature_dontWidenVmovs,
- &feature_exynos,
+ &feature_profUnpr,
+ &feature_useAa,
},
};
@@ -2986,37 +1835,34 @@ pub const cpu_exynosM3 = Cpu{
.name = "exynos-m3",
.llvm_name = "exynos-m3",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_dsp,
- &feature_hwdivArm,
&feature_hwdiv,
&feature_trustzone,
&feature_fpregs,
- &feature_v4t,
- &feature_thumb2,
- &feature_v7clrex,
- &feature_aclass,
- &feature_crc,
- &feature_mp,
+ &feature_db,
&feature_acquireRelease,
- &feature_fp16,
- &feature_perfmon,
&feature_d32,
- &feature_armv8A,
- &feature_useAa,
- &feature_zcz,
- &feature_expandFpMlx,
+ &feature_perfmon,
+ &feature_mp,
+ &feature_hwdivArm,
+ &feature_dsp,
+ &feature_aclass,
+ &feature_fp16,
+ &feature_v7clrex,
+ &feature_crc,
+ &feature_thumb2,
&feature_slowVdup32,
+ &feature_expandFpMlx,
&feature_slowVgetlni32,
- &feature_profUnpr,
+ &feature_fuseLiterals,
&feature_wideStrideVfp,
+ &feature_slowFpBrcc,
&feature_retAddrStack,
+ &feature_dontWidenVmovs,
+ &feature_zcz,
&feature_fuseAes,
- &feature_fuseLiterals,
&feature_slowfpvmlx,
- &feature_slowFpBrcc,
- &feature_dontWidenVmovs,
- &feature_exynos,
+ &feature_profUnpr,
+ &feature_useAa,
},
};
@@ -3024,40 +1870,37 @@ pub const cpu_exynosM4 = Cpu{
.name = "exynos-m4",
.llvm_name = "exynos-m4",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_dsp,
- &feature_hwdivArm,
&feature_hwdiv,
&feature_trustzone,
&feature_fpregs,
- &feature_v4t,
- &feature_thumb2,
+ &feature_db,
+ &feature_acquireRelease,
+ &feature_d32,
+ &feature_perfmon,
+ &feature_mp,
&feature_ras,
- &feature_v7clrex,
+ &feature_hwdivArm,
+ &feature_dsp,
&feature_aclass,
- &feature_crc,
- &feature_mp,
- &feature_acquireRelease,
&feature_fp16,
- &feature_perfmon,
- &feature_d32,
- &feature_armv82A,
+ &feature_v7clrex,
+ &feature_crc,
+ &feature_thumb2,
&feature_dotprod,
&feature_fullfp16,
- &feature_useAa,
- &feature_zcz,
- &feature_expandFpMlx,
&feature_slowVdup32,
+ &feature_expandFpMlx,
&feature_slowVgetlni32,
- &feature_profUnpr,
+ &feature_fuseLiterals,
&feature_wideStrideVfp,
+ &feature_slowFpBrcc,
&feature_retAddrStack,
+ &feature_dontWidenVmovs,
+ &feature_zcz,
&feature_fuseAes,
- &feature_fuseLiterals,
&feature_slowfpvmlx,
- &feature_slowFpBrcc,
- &feature_dontWidenVmovs,
- &feature_exynos,
+ &feature_profUnpr,
+ &feature_useAa,
},
};
@@ -3065,40 +1908,37 @@ pub const cpu_exynosM5 = Cpu{
.name = "exynos-m5",
.llvm_name = "exynos-m5",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_dsp,
- &feature_hwdivArm,
&feature_hwdiv,
&feature_trustzone,
&feature_fpregs,
- &feature_v4t,
- &feature_thumb2,
+ &feature_db,
+ &feature_acquireRelease,
+ &feature_d32,
+ &feature_perfmon,
+ &feature_mp,
&feature_ras,
- &feature_v7clrex,
+ &feature_hwdivArm,
+ &feature_dsp,
&feature_aclass,
- &feature_crc,
- &feature_mp,
- &feature_acquireRelease,
&feature_fp16,
- &feature_perfmon,
- &feature_d32,
- &feature_armv82A,
+ &feature_v7clrex,
+ &feature_crc,
+ &feature_thumb2,
&feature_dotprod,
&feature_fullfp16,
- &feature_useAa,
- &feature_zcz,
- &feature_expandFpMlx,
&feature_slowVdup32,
+ &feature_expandFpMlx,
&feature_slowVgetlni32,
- &feature_profUnpr,
+ &feature_fuseLiterals,
&feature_wideStrideVfp,
+ &feature_slowFpBrcc,
&feature_retAddrStack,
+ &feature_dontWidenVmovs,
+ &feature_zcz,
&feature_fuseAes,
- &feature_fuseLiterals,
&feature_slowfpvmlx,
- &feature_slowFpBrcc,
- &feature_dontWidenVmovs,
- &feature_exynos,
+ &feature_profUnpr,
+ &feature_useAa,
},
};
@@ -3113,8 +1953,6 @@ pub const cpu_iwmmxt = Cpu{
.name = "iwmmxt",
.llvm_name = "iwmmxt",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
- &feature_armv5te,
},
};
@@ -3122,16 +1960,14 @@ pub const cpu_krait = Cpu{
.name = "krait",
.llvm_name = "krait",
.subfeatures = &[_]*const Feature {
+ &feature_fpregs,
&feature_db,
+ &feature_d32,
+ &feature_perfmon,
&feature_dsp,
- &feature_fpregs,
- &feature_thumb2,
- &feature_v7clrex,
&feature_aclass,
- &feature_perfmon,
- &feature_v4t,
- &feature_d32,
- &feature_armv7A,
+ &feature_v7clrex,
+ &feature_thumb2,
&feature_avoidPartialCpsr,
&feature_vldnAlign,
&feature_fp16,
@@ -3141,7 +1977,6 @@ pub const cpu_krait = Cpu{
&feature_muxedUnits,
&feature_vfp4,
&feature_vmlxForwarding,
- &feature_krait,
},
};
@@ -3149,25 +1984,22 @@ pub const cpu_kryo = Cpu{
.name = "kryo",
.llvm_name = "kryo",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_dsp,
- &feature_hwdivArm,
&feature_hwdiv,
&feature_trustzone,
&feature_fpregs,
- &feature_v4t,
- &feature_thumb2,
- &feature_v7clrex,
- &feature_aclass,
- &feature_crc,
- &feature_mp,
+ &feature_db,
&feature_acquireRelease,
- &feature_fp16,
- &feature_perfmon,
&feature_d32,
- &feature_armv8A,
+ &feature_perfmon,
+ &feature_mp,
+ &feature_hwdivArm,
+ &feature_dsp,
+ &feature_aclass,
+ &feature_fp16,
+ &feature_v7clrex,
+ &feature_crc,
+ &feature_thumb2,
&feature_crypto,
- &feature_kryo,
},
};
@@ -3175,8 +2007,6 @@ pub const cpu_mpcore = Cpu{
.name = "mpcore",
.llvm_name = "mpcore",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
- &feature_armv6k,
&feature_slowfpvmlx,
&feature_fpregs,
&feature_vfp2,
@@ -3187,8 +2017,6 @@ pub const cpu_mpcorenovfp = Cpu{
.name = "mpcorenovfp",
.llvm_name = "mpcorenovfp",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
- &feature_armv6k,
},
};
@@ -3196,24 +2024,22 @@ pub const cpu_neoverseN1 = Cpu{
.name = "neoverse-n1",
.llvm_name = "neoverse-n1",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_dsp,
- &feature_hwdivArm,
&feature_hwdiv,
&feature_trustzone,
&feature_fpregs,
- &feature_v4t,
- &feature_thumb2,
+ &feature_db,
+ &feature_acquireRelease,
+ &feature_d32,
+ &feature_perfmon,
+ &feature_mp,
&feature_ras,
- &feature_v7clrex,
+ &feature_hwdivArm,
+ &feature_dsp,
&feature_aclass,
- &feature_crc,
- &feature_mp,
- &feature_acquireRelease,
&feature_fp16,
- &feature_perfmon,
- &feature_d32,
- &feature_armv82A,
+ &feature_v7clrex,
+ &feature_crc,
+ &feature_thumb2,
&feature_crypto,
&feature_dotprod,
},
@@ -3224,12 +2050,9 @@ pub const cpu_sc000 = Cpu{
.llvm_name = "sc000",
.subfeatures = &[_]*const Feature {
&feature_db,
- &feature_mclass,
- &feature_thumbMode,
&feature_strictAlign,
&feature_noarm,
- &feature_v4t,
- &feature_armv6M,
+ &feature_mclass,
},
};
@@ -3237,20 +2060,16 @@ pub const cpu_sc300 = Cpu{
.name = "sc300",
.llvm_name = "sc300",
.subfeatures = &[_]*const Feature {
- &feature_db,
- &feature_mclass,
&feature_hwdiv,
- &feature_thumbMode,
- &feature_thumb2,
- &feature_v7clrex,
+ &feature_db,
&feature_perfmon,
&feature_noarm,
- &feature_v4t,
- &feature_armv7M,
+ &feature_v7clrex,
+ &feature_mclass,
+ &feature_thumb2,
&feature_noBranchPredictor,
&feature_useAa,
&feature_useMisched,
- &feature_m3,
},
};
@@ -3258,7 +2077,6 @@ pub const cpu_strongarm = Cpu{
.name = "strongarm",
.llvm_name = "strongarm",
.subfeatures = &[_]*const Feature {
- &feature_armv4,
},
};
@@ -3266,7 +2084,6 @@ pub const cpu_strongarm110 = Cpu{
.name = "strongarm110",
.llvm_name = "strongarm110",
.subfeatures = &[_]*const Feature {
- &feature_armv4,
},
};
@@ -3274,7 +2091,6 @@ pub const cpu_strongarm1100 = Cpu{
.name = "strongarm1100",
.llvm_name = "strongarm1100",
.subfeatures = &[_]*const Feature {
- &feature_armv4,
},
};
@@ -3282,7 +2098,6 @@ pub const cpu_strongarm1110 = Cpu{
.name = "strongarm1110",
.llvm_name = "strongarm1110",
.subfeatures = &[_]*const Feature {
- &feature_armv4,
},
};
@@ -3290,16 +2105,14 @@ pub const cpu_swift = Cpu{
.name = "swift",
.llvm_name = "swift",
.subfeatures = &[_]*const Feature {
+ &feature_fpregs,
&feature_db,
+ &feature_d32,
+ &feature_perfmon,
&feature_dsp,
- &feature_fpregs,
- &feature_thumb2,
- &feature_v7clrex,
&feature_aclass,
- &feature_perfmon,
- &feature_v4t,
- &feature_d32,
- &feature_armv7A,
+ &feature_v7clrex,
+ &feature_thumb2,
&feature_avoidMovsShop,
&feature_avoidPartialCpsr,
&feature_hwdivArm,
@@ -3320,7 +2133,6 @@ pub const cpu_swift = Cpu{
&feature_wideStrideVfp,
&feature_fp16,
&feature_vfp4,
- &feature_swift,
},
};
@@ -3328,8 +2140,6 @@ pub const cpu_xscale = Cpu{
.name = "xscale",
.llvm_name = "xscale",
.subfeatures = &[_]*const Feature {
- &feature_v4t,
- &feature_armv5te,
},
};
lib/std/target/avr.zig
@@ -1,227 +1,6 @@
const Feature = @import("std").target.Feature;
const Cpu = @import("std").target.Cpu;
-pub const feature_avr0 = Feature{
- .name = "avr0",
- .description = "The device is a part of the avr0 family",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_avr1 = Feature{
- .name = "avr1",
- .description = "The device is a part of the avr1 family",
- .subfeatures = &[_]*const Feature {
- &feature_lpm,
- &feature_avr0,
- },
-};
-
-pub const feature_avr2 = Feature{
- .name = "avr2",
- .description = "The device is a part of the avr2 family",
- .subfeatures = &[_]*const Feature {
- &feature_ijmpcall,
- &feature_sram,
- &feature_addsubiw,
- &feature_lpm,
- &feature_avr0,
- },
-};
-
-pub const feature_avr3 = Feature{
- .name = "avr3",
- .description = "The device is a part of the avr3 family",
- .subfeatures = &[_]*const Feature {
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
- &feature_addsubiw,
- &feature_lpm,
- &feature_avr0,
- },
-};
-
-pub const feature_avr4 = Feature{
- .name = "avr4",
- .description = "The device is a part of the avr4 family",
- .subfeatures = &[_]*const Feature {
- &feature_spm,
- &feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
- &feature_addsubiw,
- &feature_mul,
- &feature_break,
- &feature_lpm,
- &feature_avr0,
- &feature_movw,
- },
-};
-
-pub const feature_avr5 = Feature{
- .name = "avr5",
- .description = "The device is a part of the avr5 family",
- .subfeatures = &[_]*const Feature {
- &feature_spm,
- &feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
- &feature_addsubiw,
- &feature_mul,
- &feature_break,
- &feature_lpm,
- &feature_avr0,
- &feature_movw,
- },
-};
-
-pub const feature_avr6 = Feature{
- .name = "avr6",
- .description = "The device is a part of the avr6 family",
- .subfeatures = &[_]*const Feature {
- &feature_spm,
- &feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
- &feature_addsubiw,
- &feature_elpm,
- &feature_mul,
- &feature_break,
- &feature_lpm,
- &feature_elpmx,
- &feature_avr0,
- &feature_movw,
- },
-};
-
-pub const feature_avr25 = Feature{
- .name = "avr25",
- .description = "The device is a part of the avr25 family",
- .subfeatures = &[_]*const Feature {
- &feature_spm,
- &feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
- &feature_addsubiw,
- &feature_break,
- &feature_lpm,
- &feature_avr0,
- &feature_movw,
- },
-};
-
-pub const feature_avr31 = Feature{
- .name = "avr31",
- .description = "The device is a part of the avr31 family",
- .subfeatures = &[_]*const Feature {
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
- &feature_addsubiw,
- &feature_elpm,
- &feature_lpm,
- &feature_avr0,
- },
-};
-
-pub const feature_avr35 = Feature{
- .name = "avr35",
- .description = "The device is a part of the avr35 family",
- .subfeatures = &[_]*const Feature {
- &feature_spm,
- &feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
- &feature_addsubiw,
- &feature_break,
- &feature_lpm,
- &feature_avr0,
- &feature_movw,
- },
-};
-
-pub const feature_avr51 = Feature{
- .name = "avr51",
- .description = "The device is a part of the avr51 family",
- .subfeatures = &[_]*const Feature {
- &feature_spm,
- &feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
- &feature_addsubiw,
- &feature_elpm,
- &feature_mul,
- &feature_break,
- &feature_lpm,
- &feature_elpmx,
- &feature_avr0,
- &feature_movw,
- },
-};
-
-pub const feature_avrtiny = Feature{
- .name = "avrtiny",
- .description = "The device is a part of the avrtiny family",
- .subfeatures = &[_]*const Feature {
- &feature_avr0,
- &feature_sram,
- &feature_tinyencoding,
- &feature_break,
- },
-};
-
-pub const feature_xmega = Feature{
- .name = "xmega",
- .description = "The device is a part of the xmega family",
- .subfeatures = &[_]*const Feature {
- &feature_spm,
- &feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
- &feature_addsubiw,
- &feature_elpm,
- &feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
- &feature_elpmx,
- &feature_avr0,
- &feature_movw,
- &feature_spmx,
- },
-};
-
-pub const feature_xmegau = Feature{
- .name = "xmegau",
- .description = "The device is a part of the xmegau family",
- .subfeatures = &[_]*const Feature {
- &feature_spm,
- &feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
- &feature_rmw,
- &feature_addsubiw,
- &feature_elpm,
- &feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
- &feature_elpmx,
- &feature_avr0,
- &feature_movw,
- &feature_spmx,
- },
-};
-
pub const feature_addsubiw = Feature{
.name = "addsubiw",
.description = "Enable 16-bit register-immediate addition and subtraction instructions",
@@ -334,29 +113,6 @@ pub const feature_sram = Feature{
},
};
-pub const feature_special = Feature{
- .name = "special",
- .description = "Enable use of the entire instruction set - used for debugging",
- .subfeatures = &[_]*const Feature {
- &feature_spm,
- &feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_rmw,
- &feature_sram,
- &feature_elpm,
- &feature_addsubiw,
- &feature_eijmpcall,
- &feature_elpmx,
- &feature_break,
- &feature_lpm,
- &feature_mul,
- &feature_movw,
- &feature_spmx,
- },
-};
-
pub const feature_smallstack = Feature{
.name = "smallstack",
.description = "The device has an 8-bit stack pointer",
@@ -372,20 +128,6 @@ pub const feature_tinyencoding = Feature{
};
pub const features = &[_]*const Feature {
- &feature_avr0,
- &feature_avr1,
- &feature_avr2,
- &feature_avr3,
- &feature_avr4,
- &feature_avr5,
- &feature_avr6,
- &feature_avr25,
- &feature_avr31,
- &feature_avr35,
- &feature_avr51,
- &feature_avrtiny,
- &feature_xmega,
- &feature_xmegau,
&feature_addsubiw,
&feature_break,
&feature_des,
@@ -402,7 +144,6 @@ pub const features = &[_]*const Feature {
&feature_spm,
&feature_spmx,
&feature_sram,
- &feature_special,
&feature_smallstack,
&feature_tinyencoding,
};
@@ -411,14 +152,12 @@ pub const cpu_at43usb320 = Cpu{
.name = "at43usb320",
.llvm_name = "at43usb320",
.subfeatures = &[_]*const Feature {
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
&feature_addsubiw,
- &feature_elpm,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
- &feature_avr31,
+ &feature_elpm,
+ &feature_sram,
+ &feature_ijmpcall,
},
};
@@ -426,13 +165,11 @@ pub const cpu_at43usb355 = Cpu{
.name = "at43usb355",
.llvm_name = "at43usb355",
.subfeatures = &[_]*const Feature {
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
&feature_addsubiw,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
- &feature_avr3,
+ &feature_sram,
+ &feature_ijmpcall,
},
};
@@ -440,13 +177,11 @@ pub const cpu_at76c711 = Cpu{
.name = "at76c711",
.llvm_name = "at76c711",
.subfeatures = &[_]*const Feature {
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
&feature_addsubiw,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
- &feature_avr3,
+ &feature_sram,
+ &feature_ijmpcall,
},
};
@@ -454,12 +189,10 @@ pub const cpu_at86rf401 = Cpu{
.name = "at86rf401",
.llvm_name = "at86rf401",
.subfeatures = &[_]*const Feature {
- &feature_ijmpcall,
- &feature_sram,
&feature_addsubiw,
&feature_lpm,
- &feature_avr0,
- &feature_avr2,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_lpmx,
&feature_movw,
},
@@ -469,12 +202,10 @@ pub const cpu_at90c8534 = Cpu{
.name = "at90c8534",
.llvm_name = "at90c8534",
.subfeatures = &[_]*const Feature {
- &feature_ijmpcall,
- &feature_sram,
&feature_addsubiw,
&feature_lpm,
- &feature_avr0,
- &feature_avr2,
+ &feature_sram,
+ &feature_ijmpcall,
},
};
@@ -482,20 +213,18 @@ pub const cpu_at90can128 = Cpu{
.name = "at90can128",
.llvm_name = "at90can128",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_elpm,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
+ &feature_break,
+ &feature_mul,
+ &feature_elpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr51,
},
};
@@ -503,18 +232,16 @@ pub const cpu_at90can32 = Cpu{
.name = "at90can32",
.llvm_name = "at90can32",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -522,18 +249,16 @@ pub const cpu_at90can64 = Cpu{
.name = "at90can64",
.llvm_name = "at90can64",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -541,17 +266,15 @@ pub const cpu_at90pwm1 = Cpu{
.name = "at90pwm1",
.llvm_name = "at90pwm1",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr4,
},
};
@@ -559,18 +282,16 @@ pub const cpu_at90pwm161 = Cpu{
.name = "at90pwm161",
.llvm_name = "at90pwm161",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -578,17 +299,15 @@ pub const cpu_at90pwm2 = Cpu{
.name = "at90pwm2",
.llvm_name = "at90pwm2",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr4,
},
};
@@ -596,18 +315,16 @@ pub const cpu_at90pwm216 = Cpu{
.name = "at90pwm216",
.llvm_name = "at90pwm216",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -615,17 +332,15 @@ pub const cpu_at90pwm2b = Cpu{
.name = "at90pwm2b",
.llvm_name = "at90pwm2b",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr4,
},
};
@@ -633,17 +348,15 @@ pub const cpu_at90pwm3 = Cpu{
.name = "at90pwm3",
.llvm_name = "at90pwm3",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr4,
},
};
@@ -651,18 +364,16 @@ pub const cpu_at90pwm316 = Cpu{
.name = "at90pwm316",
.llvm_name = "at90pwm316",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -670,17 +381,15 @@ pub const cpu_at90pwm3b = Cpu{
.name = "at90pwm3b",
.llvm_name = "at90pwm3b",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr4,
},
};
@@ -688,17 +397,15 @@ pub const cpu_at90pwm81 = Cpu{
.name = "at90pwm81",
.llvm_name = "at90pwm81",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr4,
},
};
@@ -706,7 +413,6 @@ pub const cpu_at90s1200 = Cpu{
.name = "at90s1200",
.llvm_name = "at90s1200",
.subfeatures = &[_]*const Feature {
- &feature_avr0,
},
};
@@ -714,12 +420,10 @@ pub const cpu_at90s2313 = Cpu{
.name = "at90s2313",
.llvm_name = "at90s2313",
.subfeatures = &[_]*const Feature {
- &feature_ijmpcall,
- &feature_sram,
&feature_addsubiw,
&feature_lpm,
- &feature_avr0,
- &feature_avr2,
+ &feature_sram,
+ &feature_ijmpcall,
},
};
@@ -727,12 +431,10 @@ pub const cpu_at90s2323 = Cpu{
.name = "at90s2323",
.llvm_name = "at90s2323",
.subfeatures = &[_]*const Feature {
- &feature_ijmpcall,
- &feature_sram,
&feature_addsubiw,
&feature_lpm,
- &feature_avr0,
- &feature_avr2,
+ &feature_sram,
+ &feature_ijmpcall,
},
};
@@ -740,12 +442,10 @@ pub const cpu_at90s2333 = Cpu{
.name = "at90s2333",
.llvm_name = "at90s2333",
.subfeatures = &[_]*const Feature {
- &feature_ijmpcall,
- &feature_sram,
&feature_addsubiw,
&feature_lpm,
- &feature_avr0,
- &feature_avr2,
+ &feature_sram,
+ &feature_ijmpcall,
},
};
@@ -753,12 +453,10 @@ pub const cpu_at90s2343 = Cpu{
.name = "at90s2343",
.llvm_name = "at90s2343",
.subfeatures = &[_]*const Feature {
- &feature_ijmpcall,
- &feature_sram,
&feature_addsubiw,
&feature_lpm,
- &feature_avr0,
- &feature_avr2,
+ &feature_sram,
+ &feature_ijmpcall,
},
};
@@ -766,12 +464,10 @@ pub const cpu_at90s4414 = Cpu{
.name = "at90s4414",
.llvm_name = "at90s4414",
.subfeatures = &[_]*const Feature {
- &feature_ijmpcall,
- &feature_sram,
&feature_addsubiw,
&feature_lpm,
- &feature_avr0,
- &feature_avr2,
+ &feature_sram,
+ &feature_ijmpcall,
},
};
@@ -779,12 +475,10 @@ pub const cpu_at90s4433 = Cpu{
.name = "at90s4433",
.llvm_name = "at90s4433",
.subfeatures = &[_]*const Feature {
- &feature_ijmpcall,
- &feature_sram,
&feature_addsubiw,
&feature_lpm,
- &feature_avr0,
- &feature_avr2,
+ &feature_sram,
+ &feature_ijmpcall,
},
};
@@ -792,12 +486,10 @@ pub const cpu_at90s4434 = Cpu{
.name = "at90s4434",
.llvm_name = "at90s4434",
.subfeatures = &[_]*const Feature {
- &feature_ijmpcall,
- &feature_sram,
&feature_addsubiw,
&feature_lpm,
- &feature_avr0,
- &feature_avr2,
+ &feature_sram,
+ &feature_ijmpcall,
},
};
@@ -805,12 +497,10 @@ pub const cpu_at90s8515 = Cpu{
.name = "at90s8515",
.llvm_name = "at90s8515",
.subfeatures = &[_]*const Feature {
- &feature_ijmpcall,
- &feature_sram,
&feature_addsubiw,
&feature_lpm,
- &feature_avr0,
- &feature_avr2,
+ &feature_sram,
+ &feature_ijmpcall,
},
};
@@ -818,12 +508,10 @@ pub const cpu_at90s8535 = Cpu{
.name = "at90s8535",
.llvm_name = "at90s8535",
.subfeatures = &[_]*const Feature {
- &feature_ijmpcall,
- &feature_sram,
&feature_addsubiw,
&feature_lpm,
- &feature_avr0,
- &feature_avr2,
+ &feature_sram,
+ &feature_ijmpcall,
},
};
@@ -831,18 +519,16 @@ pub const cpu_at90scr100 = Cpu{
.name = "at90scr100",
.llvm_name = "at90scr100",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -850,20 +536,18 @@ pub const cpu_at90usb1286 = Cpu{
.name = "at90usb1286",
.llvm_name = "at90usb1286",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_elpm,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
+ &feature_break,
+ &feature_mul,
+ &feature_elpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr51,
},
};
@@ -871,20 +555,18 @@ pub const cpu_at90usb1287 = Cpu{
.name = "at90usb1287",
.llvm_name = "at90usb1287",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_elpm,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
+ &feature_break,
+ &feature_mul,
+ &feature_elpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr51,
},
};
@@ -892,17 +574,15 @@ pub const cpu_at90usb162 = Cpu{
.name = "at90usb162",
.llvm_name = "at90usb162",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr35,
},
};
@@ -910,18 +590,16 @@ pub const cpu_at90usb646 = Cpu{
.name = "at90usb646",
.llvm_name = "at90usb646",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -929,18 +607,16 @@ pub const cpu_at90usb647 = Cpu{
.name = "at90usb647",
.llvm_name = "at90usb647",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -948,17 +624,15 @@ pub const cpu_at90usb82 = Cpu{
.name = "at90usb82",
.llvm_name = "at90usb82",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr35,
},
};
@@ -966,13 +640,11 @@ pub const cpu_at94k = Cpu{
.name = "at94k",
.llvm_name = "at94k",
.subfeatures = &[_]*const Feature {
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
&feature_addsubiw,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
- &feature_avr3,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_lpmx,
&feature_movw,
&feature_mul,
@@ -983,16 +655,14 @@ pub const cpu_ata5272 = Cpu{
.name = "ata5272",
.llvm_name = "ata5272",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr25,
},
};
@@ -1000,17 +670,15 @@ pub const cpu_ata5505 = Cpu{
.name = "ata5505",
.llvm_name = "ata5505",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr35,
},
};
@@ -1018,18 +686,16 @@ pub const cpu_ata5790 = Cpu{
.name = "ata5790",
.llvm_name = "ata5790",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -1037,36 +703,32 @@ pub const cpu_ata5795 = Cpu{
.name = "ata5795",
.llvm_name = "ata5795",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
- &feature_movw,
- &feature_avr5,
- },
-};
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
+ &feature_movw,
+ },
+};
pub const cpu_ata6285 = Cpu{
.name = "ata6285",
.llvm_name = "ata6285",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr4,
},
};
@@ -1074,17 +736,15 @@ pub const cpu_ata6286 = Cpu{
.name = "ata6286",
.llvm_name = "ata6286",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr4,
},
};
@@ -1092,17 +752,15 @@ pub const cpu_ata6289 = Cpu{
.name = "ata6289",
.llvm_name = "ata6289",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr4,
},
};
@@ -1110,14 +768,12 @@ pub const cpu_atmega103 = Cpu{
.name = "atmega103",
.llvm_name = "atmega103",
.subfeatures = &[_]*const Feature {
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
&feature_addsubiw,
- &feature_elpm,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
- &feature_avr31,
+ &feature_elpm,
+ &feature_sram,
+ &feature_ijmpcall,
},
};
@@ -1125,20 +781,18 @@ pub const cpu_atmega128 = Cpu{
.name = "atmega128",
.llvm_name = "atmega128",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_elpm,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
+ &feature_break,
+ &feature_mul,
+ &feature_elpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr51,
},
};
@@ -1146,20 +800,18 @@ pub const cpu_atmega1280 = Cpu{
.name = "atmega1280",
.llvm_name = "atmega1280",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_elpm,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
+ &feature_break,
+ &feature_mul,
+ &feature_elpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr51,
},
};
@@ -1167,20 +819,18 @@ pub const cpu_atmega1281 = Cpu{
.name = "atmega1281",
.llvm_name = "atmega1281",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_elpm,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
+ &feature_break,
+ &feature_mul,
+ &feature_elpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr51,
},
};
@@ -1188,20 +838,18 @@ pub const cpu_atmega1284 = Cpu{
.name = "atmega1284",
.llvm_name = "atmega1284",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_elpm,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
+ &feature_break,
+ &feature_mul,
+ &feature_elpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr51,
},
};
@@ -1209,20 +857,18 @@ pub const cpu_atmega1284p = Cpu{
.name = "atmega1284p",
.llvm_name = "atmega1284p",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_elpm,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
+ &feature_break,
+ &feature_mul,
+ &feature_elpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr51,
},
};
@@ -1230,20 +876,18 @@ pub const cpu_atmega1284rfr2 = Cpu{
.name = "atmega1284rfr2",
.llvm_name = "atmega1284rfr2",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_elpm,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
+ &feature_break,
+ &feature_mul,
+ &feature_elpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr51,
},
};
@@ -1251,20 +895,18 @@ pub const cpu_atmega128a = Cpu{
.name = "atmega128a",
.llvm_name = "atmega128a",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_elpm,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
+ &feature_break,
+ &feature_mul,
+ &feature_elpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr51,
},
};
@@ -1272,20 +914,18 @@ pub const cpu_atmega128rfa1 = Cpu{
.name = "atmega128rfa1",
.llvm_name = "atmega128rfa1",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_elpm,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
+ &feature_break,
+ &feature_mul,
+ &feature_elpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr51,
},
};
@@ -1293,20 +933,18 @@ pub const cpu_atmega128rfr2 = Cpu{
.name = "atmega128rfr2",
.llvm_name = "atmega128rfr2",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_elpm,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
+ &feature_break,
+ &feature_mul,
+ &feature_elpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr51,
},
};
@@ -1314,18 +952,16 @@ pub const cpu_atmega16 = Cpu{
.name = "atmega16",
.llvm_name = "atmega16",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -1333,13 +969,11 @@ pub const cpu_atmega161 = Cpu{
.name = "atmega161",
.llvm_name = "atmega161",
.subfeatures = &[_]*const Feature {
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
&feature_addsubiw,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
- &feature_avr3,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_lpmx,
&feature_movw,
&feature_mul,
@@ -1351,18 +985,16 @@ pub const cpu_atmega162 = Cpu{
.name = "atmega162",
.llvm_name = "atmega162",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -1370,13 +1002,11 @@ pub const cpu_atmega163 = Cpu{
.name = "atmega163",
.llvm_name = "atmega163",
.subfeatures = &[_]*const Feature {
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
&feature_addsubiw,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
- &feature_avr3,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_lpmx,
&feature_movw,
&feature_mul,
@@ -1388,18 +1018,16 @@ pub const cpu_atmega164a = Cpu{
.name = "atmega164a",
.llvm_name = "atmega164a",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -1407,18 +1035,16 @@ pub const cpu_atmega164p = Cpu{
.name = "atmega164p",
.llvm_name = "atmega164p",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -1426,18 +1052,16 @@ pub const cpu_atmega164pa = Cpu{
.name = "atmega164pa",
.llvm_name = "atmega164pa",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -1445,18 +1069,16 @@ pub const cpu_atmega165 = Cpu{
.name = "atmega165",
.llvm_name = "atmega165",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -1464,18 +1086,16 @@ pub const cpu_atmega165a = Cpu{
.name = "atmega165a",
.llvm_name = "atmega165a",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
+ &feature_spm,
+ &feature_addsubiw,
&feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_sram,
- &feature_addsubiw,
- &feature_mul,
- &feature_break,
- &feature_lpm,
- &feature_avr0,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -1483,18 +1103,16 @@ pub const cpu_atmega165p = Cpu{
.name = "atmega165p",
.llvm_name = "atmega165p",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -1502,18 +1120,16 @@ pub const cpu_atmega165pa = Cpu{
.name = "atmega165pa",
.llvm_name = "atmega165pa",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -1521,18 +1137,16 @@ pub const cpu_atmega168 = Cpu{
.name = "atmega168",
.llvm_name = "atmega168",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -1540,18 +1154,16 @@ pub const cpu_atmega168a = Cpu{
.name = "atmega168a",
.llvm_name = "atmega168a",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -1559,18 +1171,16 @@ pub const cpu_atmega168p = Cpu{
.name = "atmega168p",
.llvm_name = "atmega168p",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -1578,18 +1188,16 @@ pub const cpu_atmega168pa = Cpu{
.name = "atmega168pa",
.llvm_name = "atmega168pa",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -1597,18 +1205,16 @@ pub const cpu_atmega169 = Cpu{
.name = "atmega169",
.llvm_name = "atmega169",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -1616,18 +1222,16 @@ pub const cpu_atmega169a = Cpu{
.name = "atmega169a",
.llvm_name = "atmega169a",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -1635,18 +1239,16 @@ pub const cpu_atmega169p = Cpu{
.name = "atmega169p",
.llvm_name = "atmega169p",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -1654,18 +1256,16 @@ pub const cpu_atmega169pa = Cpu{
.name = "atmega169pa",
.llvm_name = "atmega169pa",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -1673,18 +1273,16 @@ pub const cpu_atmega16a = Cpu{
.name = "atmega16a",
.llvm_name = "atmega16a",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -1692,18 +1290,16 @@ pub const cpu_atmega16hva = Cpu{
.name = "atmega16hva",
.llvm_name = "atmega16hva",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -1711,18 +1307,16 @@ pub const cpu_atmega16hva2 = Cpu{
.name = "atmega16hva2",
.llvm_name = "atmega16hva2",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -1730,18 +1324,16 @@ pub const cpu_atmega16hvb = Cpu{
.name = "atmega16hvb",
.llvm_name = "atmega16hvb",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -1749,18 +1341,16 @@ pub const cpu_atmega16hvbrevb = Cpu{
.name = "atmega16hvbrevb",
.llvm_name = "atmega16hvbrevb",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -1768,18 +1358,16 @@ pub const cpu_atmega16m1 = Cpu{
.name = "atmega16m1",
.llvm_name = "atmega16m1",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -1787,17 +1375,15 @@ pub const cpu_atmega16u2 = Cpu{
.name = "atmega16u2",
.llvm_name = "atmega16u2",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr35,
},
};
@@ -1805,18 +1391,16 @@ pub const cpu_atmega16u4 = Cpu{
.name = "atmega16u4",
.llvm_name = "atmega16u4",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -1824,20 +1408,18 @@ pub const cpu_atmega2560 = Cpu{
.name = "atmega2560",
.llvm_name = "atmega2560",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_elpm,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
+ &feature_break,
+ &feature_mul,
+ &feature_elpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr6,
},
};
@@ -1845,20 +1427,18 @@ pub const cpu_atmega2561 = Cpu{
.name = "atmega2561",
.llvm_name = "atmega2561",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_elpm,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
+ &feature_break,
+ &feature_mul,
+ &feature_elpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr6,
},
};
@@ -1866,20 +1446,18 @@ pub const cpu_atmega2564rfr2 = Cpu{
.name = "atmega2564rfr2",
.llvm_name = "atmega2564rfr2",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_elpm,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
+ &feature_break,
+ &feature_mul,
+ &feature_elpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr6,
},
};
@@ -1887,20 +1465,18 @@ pub const cpu_atmega256rfr2 = Cpu{
.name = "atmega256rfr2",
.llvm_name = "atmega256rfr2",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_elpm,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
+ &feature_break,
+ &feature_mul,
+ &feature_elpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr6,
},
};
@@ -1908,18 +1484,16 @@ pub const cpu_atmega32 = Cpu{
.name = "atmega32",
.llvm_name = "atmega32",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -1927,18 +1501,16 @@ pub const cpu_atmega323 = Cpu{
.name = "atmega323",
.llvm_name = "atmega323",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -1946,18 +1518,16 @@ pub const cpu_atmega324a = Cpu{
.name = "atmega324a",
.llvm_name = "atmega324a",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -1965,18 +1535,16 @@ pub const cpu_atmega324p = Cpu{
.name = "atmega324p",
.llvm_name = "atmega324p",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -1984,18 +1552,16 @@ pub const cpu_atmega324pa = Cpu{
.name = "atmega324pa",
.llvm_name = "atmega324pa",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2003,18 +1569,16 @@ pub const cpu_atmega325 = Cpu{
.name = "atmega325",
.llvm_name = "atmega325",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2022,18 +1586,16 @@ pub const cpu_atmega3250 = Cpu{
.name = "atmega3250",
.llvm_name = "atmega3250",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2041,18 +1603,16 @@ pub const cpu_atmega3250a = Cpu{
.name = "atmega3250a",
.llvm_name = "atmega3250a",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2060,18 +1620,16 @@ pub const cpu_atmega3250p = Cpu{
.name = "atmega3250p",
.llvm_name = "atmega3250p",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2079,18 +1637,16 @@ pub const cpu_atmega3250pa = Cpu{
.name = "atmega3250pa",
.llvm_name = "atmega3250pa",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2098,18 +1654,16 @@ pub const cpu_atmega325a = Cpu{
.name = "atmega325a",
.llvm_name = "atmega325a",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2117,18 +1671,16 @@ pub const cpu_atmega325p = Cpu{
.name = "atmega325p",
.llvm_name = "atmega325p",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2136,18 +1688,16 @@ pub const cpu_atmega325pa = Cpu{
.name = "atmega325pa",
.llvm_name = "atmega325pa",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2155,18 +1705,16 @@ pub const cpu_atmega328 = Cpu{
.name = "atmega328",
.llvm_name = "atmega328",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2174,18 +1722,16 @@ pub const cpu_atmega328p = Cpu{
.name = "atmega328p",
.llvm_name = "atmega328p",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2193,18 +1739,16 @@ pub const cpu_atmega329 = Cpu{
.name = "atmega329",
.llvm_name = "atmega329",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2212,18 +1756,16 @@ pub const cpu_atmega3290 = Cpu{
.name = "atmega3290",
.llvm_name = "atmega3290",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2231,18 +1773,16 @@ pub const cpu_atmega3290a = Cpu{
.name = "atmega3290a",
.llvm_name = "atmega3290a",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2250,18 +1790,16 @@ pub const cpu_atmega3290p = Cpu{
.name = "atmega3290p",
.llvm_name = "atmega3290p",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2269,18 +1807,16 @@ pub const cpu_atmega3290pa = Cpu{
.name = "atmega3290pa",
.llvm_name = "atmega3290pa",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
- &feature_movw,
- &feature_avr5,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
+ &feature_movw,
},
};
@@ -2288,18 +1824,16 @@ pub const cpu_atmega329a = Cpu{
.name = "atmega329a",
.llvm_name = "atmega329a",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2307,18 +1841,16 @@ pub const cpu_atmega329p = Cpu{
.name = "atmega329p",
.llvm_name = "atmega329p",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2326,18 +1858,16 @@ pub const cpu_atmega329pa = Cpu{
.name = "atmega329pa",
.llvm_name = "atmega329pa",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2345,18 +1875,16 @@ pub const cpu_atmega32a = Cpu{
.name = "atmega32a",
.llvm_name = "atmega32a",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2364,18 +1892,16 @@ pub const cpu_atmega32c1 = Cpu{
.name = "atmega32c1",
.llvm_name = "atmega32c1",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2383,18 +1909,16 @@ pub const cpu_atmega32hvb = Cpu{
.name = "atmega32hvb",
.llvm_name = "atmega32hvb",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2402,18 +1926,16 @@ pub const cpu_atmega32hvbrevb = Cpu{
.name = "atmega32hvbrevb",
.llvm_name = "atmega32hvbrevb",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2421,18 +1943,16 @@ pub const cpu_atmega32m1 = Cpu{
.name = "atmega32m1",
.llvm_name = "atmega32m1",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2440,17 +1960,15 @@ pub const cpu_atmega32u2 = Cpu{
.name = "atmega32u2",
.llvm_name = "atmega32u2",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr35,
},
};
@@ -2458,18 +1976,16 @@ pub const cpu_atmega32u4 = Cpu{
.name = "atmega32u4",
.llvm_name = "atmega32u4",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2477,18 +1993,16 @@ pub const cpu_atmega32u6 = Cpu{
.name = "atmega32u6",
.llvm_name = "atmega32u6",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2496,18 +2010,16 @@ pub const cpu_atmega406 = Cpu{
.name = "atmega406",
.llvm_name = "atmega406",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2515,17 +2027,15 @@ pub const cpu_atmega48 = Cpu{
.name = "atmega48",
.llvm_name = "atmega48",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr4,
},
};
@@ -2533,17 +2043,15 @@ pub const cpu_atmega48a = Cpu{
.name = "atmega48a",
.llvm_name = "atmega48a",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr4,
},
};
@@ -2551,17 +2059,15 @@ pub const cpu_atmega48p = Cpu{
.name = "atmega48p",
.llvm_name = "atmega48p",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr4,
},
};
@@ -2569,17 +2075,15 @@ pub const cpu_atmega48pa = Cpu{
.name = "atmega48pa",
.llvm_name = "atmega48pa",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr4,
},
};
@@ -2587,18 +2091,16 @@ pub const cpu_atmega64 = Cpu{
.name = "atmega64",
.llvm_name = "atmega64",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2606,18 +2108,16 @@ pub const cpu_atmega640 = Cpu{
.name = "atmega640",
.llvm_name = "atmega640",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2625,18 +2125,16 @@ pub const cpu_atmega644 = Cpu{
.name = "atmega644",
.llvm_name = "atmega644",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2644,18 +2142,16 @@ pub const cpu_atmega644a = Cpu{
.name = "atmega644a",
.llvm_name = "atmega644a",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2663,18 +2159,16 @@ pub const cpu_atmega644p = Cpu{
.name = "atmega644p",
.llvm_name = "atmega644p",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2682,18 +2176,16 @@ pub const cpu_atmega644pa = Cpu{
.name = "atmega644pa",
.llvm_name = "atmega644pa",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2701,18 +2193,16 @@ pub const cpu_atmega644rfr2 = Cpu{
.name = "atmega644rfr2",
.llvm_name = "atmega644rfr2",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2720,18 +2210,16 @@ pub const cpu_atmega645 = Cpu{
.name = "atmega645",
.llvm_name = "atmega645",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2739,18 +2227,16 @@ pub const cpu_atmega6450 = Cpu{
.name = "atmega6450",
.llvm_name = "atmega6450",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2758,18 +2244,16 @@ pub const cpu_atmega6450a = Cpu{
.name = "atmega6450a",
.llvm_name = "atmega6450a",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2777,18 +2261,16 @@ pub const cpu_atmega6450p = Cpu{
.name = "atmega6450p",
.llvm_name = "atmega6450p",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2796,18 +2278,16 @@ pub const cpu_atmega645a = Cpu{
.name = "atmega645a",
.llvm_name = "atmega645a",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2815,18 +2295,16 @@ pub const cpu_atmega645p = Cpu{
.name = "atmega645p",
.llvm_name = "atmega645p",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2834,18 +2312,16 @@ pub const cpu_atmega649 = Cpu{
.name = "atmega649",
.llvm_name = "atmega649",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2853,18 +2329,16 @@ pub const cpu_atmega6490 = Cpu{
.name = "atmega6490",
.llvm_name = "atmega6490",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2872,18 +2346,16 @@ pub const cpu_atmega6490a = Cpu{
.name = "atmega6490a",
.llvm_name = "atmega6490a",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2891,18 +2363,16 @@ pub const cpu_atmega6490p = Cpu{
.name = "atmega6490p",
.llvm_name = "atmega6490p",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2910,18 +2380,16 @@ pub const cpu_atmega649a = Cpu{
.name = "atmega649a",
.llvm_name = "atmega649a",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2929,18 +2397,16 @@ pub const cpu_atmega649p = Cpu{
.name = "atmega649p",
.llvm_name = "atmega649p",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2948,18 +2414,16 @@ pub const cpu_atmega64a = Cpu{
.name = "atmega64a",
.llvm_name = "atmega64a",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2967,18 +2431,16 @@ pub const cpu_atmega64c1 = Cpu{
.name = "atmega64c1",
.llvm_name = "atmega64c1",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -2986,18 +2448,16 @@ pub const cpu_atmega64hve = Cpu{
.name = "atmega64hve",
.llvm_name = "atmega64hve",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -3005,18 +2465,16 @@ pub const cpu_atmega64m1 = Cpu{
.name = "atmega64m1",
.llvm_name = "atmega64m1",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -3024,18 +2482,16 @@ pub const cpu_atmega64rfr2 = Cpu{
.name = "atmega64rfr2",
.llvm_name = "atmega64rfr2",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -3043,17 +2499,15 @@ pub const cpu_atmega8 = Cpu{
.name = "atmega8",
.llvm_name = "atmega8",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr4,
},
};
@@ -3061,12 +2515,10 @@ pub const cpu_atmega8515 = Cpu{
.name = "atmega8515",
.llvm_name = "atmega8515",
.subfeatures = &[_]*const Feature {
- &feature_ijmpcall,
- &feature_sram,
&feature_addsubiw,
&feature_lpm,
- &feature_avr0,
- &feature_avr2,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_lpmx,
&feature_movw,
&feature_mul,
@@ -3078,12 +2530,10 @@ pub const cpu_atmega8535 = Cpu{
.name = "atmega8535",
.llvm_name = "atmega8535",
.subfeatures = &[_]*const Feature {
- &feature_ijmpcall,
- &feature_sram,
&feature_addsubiw,
&feature_lpm,
- &feature_avr0,
- &feature_avr2,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_lpmx,
&feature_movw,
&feature_mul,
@@ -3095,17 +2545,15 @@ pub const cpu_atmega88 = Cpu{
.name = "atmega88",
.llvm_name = "atmega88",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr4,
},
};
@@ -3113,17 +2561,15 @@ pub const cpu_atmega88a = Cpu{
.name = "atmega88a",
.llvm_name = "atmega88a",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr4,
},
};
@@ -3131,17 +2577,15 @@ pub const cpu_atmega88p = Cpu{
.name = "atmega88p",
.llvm_name = "atmega88p",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr4,
},
};
@@ -3149,17 +2593,15 @@ pub const cpu_atmega88pa = Cpu{
.name = "atmega88pa",
.llvm_name = "atmega88pa",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr4,
},
};
@@ -3167,17 +2609,15 @@ pub const cpu_atmega8a = Cpu{
.name = "atmega8a",
.llvm_name = "atmega8a",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr4,
},
};
@@ -3185,17 +2625,15 @@ pub const cpu_atmega8hva = Cpu{
.name = "atmega8hva",
.llvm_name = "atmega8hva",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr4,
},
};
@@ -3203,17 +2641,15 @@ pub const cpu_atmega8u2 = Cpu{
.name = "atmega8u2",
.llvm_name = "atmega8u2",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr35,
},
};
@@ -3221,11 +2657,9 @@ pub const cpu_attiny10 = Cpu{
.name = "attiny10",
.llvm_name = "attiny10",
.subfeatures = &[_]*const Feature {
- &feature_avr0,
+ &feature_break,
&feature_sram,
&feature_tinyencoding,
- &feature_break,
- &feature_avrtiny,
},
};
@@ -3233,11 +2667,9 @@ pub const cpu_attiny102 = Cpu{
.name = "attiny102",
.llvm_name = "attiny102",
.subfeatures = &[_]*const Feature {
- &feature_avr0,
+ &feature_break,
&feature_sram,
&feature_tinyencoding,
- &feature_break,
- &feature_avrtiny,
},
};
@@ -3245,11 +2677,9 @@ pub const cpu_attiny104 = Cpu{
.name = "attiny104",
.llvm_name = "attiny104",
.subfeatures = &[_]*const Feature {
- &feature_avr0,
+ &feature_break,
&feature_sram,
&feature_tinyencoding,
- &feature_break,
- &feature_avrtiny,
},
};
@@ -3258,8 +2688,6 @@ pub const cpu_attiny11 = Cpu{
.llvm_name = "attiny11",
.subfeatures = &[_]*const Feature {
&feature_lpm,
- &feature_avr0,
- &feature_avr1,
},
};
@@ -3268,8 +2696,6 @@ pub const cpu_attiny12 = Cpu{
.llvm_name = "attiny12",
.subfeatures = &[_]*const Feature {
&feature_lpm,
- &feature_avr0,
- &feature_avr1,
},
};
@@ -3277,16 +2703,14 @@ pub const cpu_attiny13 = Cpu{
.name = "attiny13",
.llvm_name = "attiny13",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr25,
},
};
@@ -3294,16 +2718,14 @@ pub const cpu_attiny13a = Cpu{
.name = "attiny13a",
.llvm_name = "attiny13a",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr25,
},
};
@@ -3312,8 +2734,6 @@ pub const cpu_attiny15 = Cpu{
.llvm_name = "attiny15",
.subfeatures = &[_]*const Feature {
&feature_lpm,
- &feature_avr0,
- &feature_avr1,
},
};
@@ -3321,17 +2741,15 @@ pub const cpu_attiny1634 = Cpu{
.name = "attiny1634",
.llvm_name = "attiny1634",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr35,
},
};
@@ -3339,17 +2757,15 @@ pub const cpu_attiny167 = Cpu{
.name = "attiny167",
.llvm_name = "attiny167",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr35,
},
};
@@ -3357,11 +2773,9 @@ pub const cpu_attiny20 = Cpu{
.name = "attiny20",
.llvm_name = "attiny20",
.subfeatures = &[_]*const Feature {
- &feature_avr0,
+ &feature_break,
&feature_sram,
&feature_tinyencoding,
- &feature_break,
- &feature_avrtiny,
},
};
@@ -3369,12 +2783,10 @@ pub const cpu_attiny22 = Cpu{
.name = "attiny22",
.llvm_name = "attiny22",
.subfeatures = &[_]*const Feature {
- &feature_ijmpcall,
- &feature_sram,
&feature_addsubiw,
&feature_lpm,
- &feature_avr0,
- &feature_avr2,
+ &feature_sram,
+ &feature_ijmpcall,
},
};
@@ -3382,16 +2794,14 @@ pub const cpu_attiny2313 = Cpu{
.name = "attiny2313",
.llvm_name = "attiny2313",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr25,
},
};
@@ -3399,16 +2809,14 @@ pub const cpu_attiny2313a = Cpu{
.name = "attiny2313a",
.llvm_name = "attiny2313a",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr25,
},
};
@@ -3416,16 +2824,14 @@ pub const cpu_attiny24 = Cpu{
.name = "attiny24",
.llvm_name = "attiny24",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr25,
},
};
@@ -3433,16 +2839,14 @@ pub const cpu_attiny24a = Cpu{
.name = "attiny24a",
.llvm_name = "attiny24a",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr25,
},
};
@@ -3450,16 +2854,14 @@ pub const cpu_attiny25 = Cpu{
.name = "attiny25",
.llvm_name = "attiny25",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr25,
},
};
@@ -3467,12 +2869,10 @@ pub const cpu_attiny26 = Cpu{
.name = "attiny26",
.llvm_name = "attiny26",
.subfeatures = &[_]*const Feature {
- &feature_ijmpcall,
- &feature_sram,
&feature_addsubiw,
&feature_lpm,
- &feature_avr0,
- &feature_avr2,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_lpmx,
},
};
@@ -3481,16 +2881,14 @@ pub const cpu_attiny261 = Cpu{
.name = "attiny261",
.llvm_name = "attiny261",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr25,
},
};
@@ -3498,16 +2896,14 @@ pub const cpu_attiny261a = Cpu{
.name = "attiny261a",
.llvm_name = "attiny261a",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr25,
},
};
@@ -3516,8 +2912,6 @@ pub const cpu_attiny28 = Cpu{
.llvm_name = "attiny28",
.subfeatures = &[_]*const Feature {
&feature_lpm,
- &feature_avr0,
- &feature_avr1,
},
};
@@ -3525,11 +2919,9 @@ pub const cpu_attiny4 = Cpu{
.name = "attiny4",
.llvm_name = "attiny4",
.subfeatures = &[_]*const Feature {
- &feature_avr0,
+ &feature_break,
&feature_sram,
&feature_tinyencoding,
- &feature_break,
- &feature_avrtiny,
},
};
@@ -3537,11 +2929,9 @@ pub const cpu_attiny40 = Cpu{
.name = "attiny40",
.llvm_name = "attiny40",
.subfeatures = &[_]*const Feature {
- &feature_avr0,
+ &feature_break,
&feature_sram,
&feature_tinyencoding,
- &feature_break,
- &feature_avrtiny,
},
};
@@ -3549,16 +2939,14 @@ pub const cpu_attiny4313 = Cpu{
.name = "attiny4313",
.llvm_name = "attiny4313",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr25,
},
};
@@ -3566,16 +2954,14 @@ pub const cpu_attiny43u = Cpu{
.name = "attiny43u",
.llvm_name = "attiny43u",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr25,
},
};
@@ -3583,16 +2969,14 @@ pub const cpu_attiny44 = Cpu{
.name = "attiny44",
.llvm_name = "attiny44",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr25,
},
};
@@ -3600,16 +2984,14 @@ pub const cpu_attiny44a = Cpu{
.name = "attiny44a",
.llvm_name = "attiny44a",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr25,
},
};
@@ -3617,16 +2999,14 @@ pub const cpu_attiny45 = Cpu{
.name = "attiny45",
.llvm_name = "attiny45",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr25,
},
};
@@ -3634,16 +3014,14 @@ pub const cpu_attiny461 = Cpu{
.name = "attiny461",
.llvm_name = "attiny461",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr25,
},
};
@@ -3651,16 +3029,14 @@ pub const cpu_attiny461a = Cpu{
.name = "attiny461a",
.llvm_name = "attiny461a",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr25,
},
};
@@ -3668,16 +3044,14 @@ pub const cpu_attiny48 = Cpu{
.name = "attiny48",
.llvm_name = "attiny48",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr25,
},
};
@@ -3685,11 +3059,9 @@ pub const cpu_attiny5 = Cpu{
.name = "attiny5",
.llvm_name = "attiny5",
.subfeatures = &[_]*const Feature {
- &feature_avr0,
+ &feature_break,
&feature_sram,
&feature_tinyencoding,
- &feature_break,
- &feature_avrtiny,
},
};
@@ -3697,16 +3069,14 @@ pub const cpu_attiny828 = Cpu{
.name = "attiny828",
.llvm_name = "attiny828",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr25,
},
};
@@ -3714,16 +3084,14 @@ pub const cpu_attiny84 = Cpu{
.name = "attiny84",
.llvm_name = "attiny84",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr25,
},
};
@@ -3731,16 +3099,14 @@ pub const cpu_attiny84a = Cpu{
.name = "attiny84a",
.llvm_name = "attiny84a",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr25,
},
};
@@ -3748,16 +3114,14 @@ pub const cpu_attiny85 = Cpu{
.name = "attiny85",
.llvm_name = "attiny85",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr25,
},
};
@@ -3765,16 +3129,14 @@ pub const cpu_attiny861 = Cpu{
.name = "attiny861",
.llvm_name = "attiny861",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr25,
},
};
@@ -3782,16 +3144,14 @@ pub const cpu_attiny861a = Cpu{
.name = "attiny861a",
.llvm_name = "attiny861a",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr25,
},
};
@@ -3799,16 +3159,14 @@ pub const cpu_attiny87 = Cpu{
.name = "attiny87",
.llvm_name = "attiny87",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr25,
},
};
@@ -3816,16 +3174,14 @@ pub const cpu_attiny88 = Cpu{
.name = "attiny88",
.llvm_name = "attiny88",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr25,
},
};
@@ -3833,11 +3189,9 @@ pub const cpu_attiny9 = Cpu{
.name = "attiny9",
.llvm_name = "attiny9",
.subfeatures = &[_]*const Feature {
- &feature_avr0,
+ &feature_break,
&feature_sram,
&feature_tinyencoding,
- &feature_break,
- &feature_avrtiny,
},
};
@@ -3845,23 +3199,21 @@ pub const cpu_atxmega128a1 = Cpu{
.name = "atxmega128a1",
.llvm_name = "atxmega128a1",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmega,
},
};
@@ -3869,24 +3221,22 @@ pub const cpu_atxmega128a1u = Cpu{
.name = "atxmega128a1u",
.llvm_name = "atxmega128a1u",
.subfeatures = &[_]*const Feature {
- &feature_spm,
- &feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
&feature_rmw,
+ &feature_lpmx,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
- &feature_movw,
- &feature_spmx,
- &feature_xmegau,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
+ &feature_movw,
+ &feature_spmx,
},
};
@@ -3894,23 +3244,21 @@ pub const cpu_atxmega128a3 = Cpu{
.name = "atxmega128a3",
.llvm_name = "atxmega128a3",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmega,
},
};
@@ -3918,24 +3266,22 @@ pub const cpu_atxmega128a3u = Cpu{
.name = "atxmega128a3u",
.llvm_name = "atxmega128a3u",
.subfeatures = &[_]*const Feature {
- &feature_spm,
- &feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
&feature_rmw,
+ &feature_lpmx,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmegau,
},
};
@@ -3943,24 +3289,22 @@ pub const cpu_atxmega128a4u = Cpu{
.name = "atxmega128a4u",
.llvm_name = "atxmega128a4u",
.subfeatures = &[_]*const Feature {
- &feature_spm,
- &feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
&feature_rmw,
+ &feature_lpmx,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmegau,
},
};
@@ -3968,24 +3312,22 @@ pub const cpu_atxmega128b1 = Cpu{
.name = "atxmega128b1",
.llvm_name = "atxmega128b1",
.subfeatures = &[_]*const Feature {
- &feature_spm,
- &feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
&feature_rmw,
+ &feature_lpmx,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmegau,
},
};
@@ -3993,24 +3335,22 @@ pub const cpu_atxmega128b3 = Cpu{
.name = "atxmega128b3",
.llvm_name = "atxmega128b3",
.subfeatures = &[_]*const Feature {
- &feature_spm,
- &feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
&feature_rmw,
+ &feature_lpmx,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmegau,
},
};
@@ -4018,24 +3358,22 @@ pub const cpu_atxmega128c3 = Cpu{
.name = "atxmega128c3",
.llvm_name = "atxmega128c3",
.subfeatures = &[_]*const Feature {
- &feature_spm,
- &feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
&feature_rmw,
+ &feature_lpmx,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmegau,
},
};
@@ -4043,23 +3381,21 @@ pub const cpu_atxmega128d3 = Cpu{
.name = "atxmega128d3",
.llvm_name = "atxmega128d3",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmega,
},
};
@@ -4067,23 +3403,21 @@ pub const cpu_atxmega128d4 = Cpu{
.name = "atxmega128d4",
.llvm_name = "atxmega128d4",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmega,
},
};
@@ -4091,23 +3425,21 @@ pub const cpu_atxmega16a4 = Cpu{
.name = "atxmega16a4",
.llvm_name = "atxmega16a4",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmega,
},
};
@@ -4115,24 +3447,22 @@ pub const cpu_atxmega16a4u = Cpu{
.name = "atxmega16a4u",
.llvm_name = "atxmega16a4u",
.subfeatures = &[_]*const Feature {
- &feature_spm,
- &feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
&feature_rmw,
+ &feature_lpmx,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmegau,
},
};
@@ -4140,24 +3470,22 @@ pub const cpu_atxmega16c4 = Cpu{
.name = "atxmega16c4",
.llvm_name = "atxmega16c4",
.subfeatures = &[_]*const Feature {
- &feature_spm,
- &feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
&feature_rmw,
+ &feature_lpmx,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmegau,
},
};
@@ -4165,23 +3493,21 @@ pub const cpu_atxmega16d4 = Cpu{
.name = "atxmega16d4",
.llvm_name = "atxmega16d4",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmega,
},
};
@@ -4189,23 +3515,21 @@ pub const cpu_atxmega16e5 = Cpu{
.name = "atxmega16e5",
.llvm_name = "atxmega16e5",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmega,
},
};
@@ -4213,23 +3537,21 @@ pub const cpu_atxmega192a3 = Cpu{
.name = "atxmega192a3",
.llvm_name = "atxmega192a3",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmega,
},
};
@@ -4237,24 +3559,22 @@ pub const cpu_atxmega192a3u = Cpu{
.name = "atxmega192a3u",
.llvm_name = "atxmega192a3u",
.subfeatures = &[_]*const Feature {
- &feature_spm,
- &feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
&feature_rmw,
+ &feature_lpmx,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmegau,
},
};
@@ -4262,24 +3582,22 @@ pub const cpu_atxmega192c3 = Cpu{
.name = "atxmega192c3",
.llvm_name = "atxmega192c3",
.subfeatures = &[_]*const Feature {
- &feature_spm,
- &feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
&feature_rmw,
+ &feature_lpmx,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmegau,
},
};
@@ -4287,23 +3605,21 @@ pub const cpu_atxmega192d3 = Cpu{
.name = "atxmega192d3",
.llvm_name = "atxmega192d3",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmega,
},
};
@@ -4311,23 +3627,21 @@ pub const cpu_atxmega256a3 = Cpu{
.name = "atxmega256a3",
.llvm_name = "atxmega256a3",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmega,
},
};
@@ -4335,23 +3649,21 @@ pub const cpu_atxmega256a3b = Cpu{
.name = "atxmega256a3b",
.llvm_name = "atxmega256a3b",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmega,
},
};
@@ -4359,24 +3671,22 @@ pub const cpu_atxmega256a3bu = Cpu{
.name = "atxmega256a3bu",
.llvm_name = "atxmega256a3bu",
.subfeatures = &[_]*const Feature {
- &feature_spm,
- &feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
&feature_rmw,
+ &feature_lpmx,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmegau,
},
};
@@ -4384,24 +3694,22 @@ pub const cpu_atxmega256a3u = Cpu{
.name = "atxmega256a3u",
.llvm_name = "atxmega256a3u",
.subfeatures = &[_]*const Feature {
- &feature_spm,
- &feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
&feature_rmw,
+ &feature_lpmx,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmegau,
},
};
@@ -4409,24 +3717,22 @@ pub const cpu_atxmega256c3 = Cpu{
.name = "atxmega256c3",
.llvm_name = "atxmega256c3",
.subfeatures = &[_]*const Feature {
- &feature_spm,
- &feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
&feature_rmw,
+ &feature_lpmx,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmegau,
},
};
@@ -4434,23 +3740,21 @@ pub const cpu_atxmega256d3 = Cpu{
.name = "atxmega256d3",
.llvm_name = "atxmega256d3",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmega,
},
};
@@ -4458,23 +3762,21 @@ pub const cpu_atxmega32a4 = Cpu{
.name = "atxmega32a4",
.llvm_name = "atxmega32a4",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmega,
},
};
@@ -4482,24 +3784,22 @@ pub const cpu_atxmega32a4u = Cpu{
.name = "atxmega32a4u",
.llvm_name = "atxmega32a4u",
.subfeatures = &[_]*const Feature {
- &feature_spm,
- &feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
&feature_rmw,
+ &feature_lpmx,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmegau,
},
};
@@ -4507,24 +3807,22 @@ pub const cpu_atxmega32c4 = Cpu{
.name = "atxmega32c4",
.llvm_name = "atxmega32c4",
.subfeatures = &[_]*const Feature {
- &feature_spm,
- &feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
&feature_rmw,
+ &feature_lpmx,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmegau,
},
};
@@ -4532,23 +3830,21 @@ pub const cpu_atxmega32d4 = Cpu{
.name = "atxmega32d4",
.llvm_name = "atxmega32d4",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmega,
},
};
@@ -4556,23 +3852,21 @@ pub const cpu_atxmega32e5 = Cpu{
.name = "atxmega32e5",
.llvm_name = "atxmega32e5",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmega,
},
};
@@ -4580,23 +3874,21 @@ pub const cpu_atxmega32x1 = Cpu{
.name = "atxmega32x1",
.llvm_name = "atxmega32x1",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmega,
},
};
@@ -4604,24 +3896,22 @@ pub const cpu_atxmega384c3 = Cpu{
.name = "atxmega384c3",
.llvm_name = "atxmega384c3",
.subfeatures = &[_]*const Feature {
- &feature_spm,
- &feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
&feature_rmw,
+ &feature_lpmx,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmegau,
},
};
@@ -4629,23 +3919,21 @@ pub const cpu_atxmega384d3 = Cpu{
.name = "atxmega384d3",
.llvm_name = "atxmega384d3",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmega,
},
};
@@ -4653,23 +3941,21 @@ pub const cpu_atxmega64a1 = Cpu{
.name = "atxmega64a1",
.llvm_name = "atxmega64a1",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmega,
},
};
@@ -4677,24 +3963,22 @@ pub const cpu_atxmega64a1u = Cpu{
.name = "atxmega64a1u",
.llvm_name = "atxmega64a1u",
.subfeatures = &[_]*const Feature {
- &feature_spm,
- &feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
&feature_rmw,
+ &feature_lpmx,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmegau,
},
};
@@ -4702,23 +3986,21 @@ pub const cpu_atxmega64a3 = Cpu{
.name = "atxmega64a3",
.llvm_name = "atxmega64a3",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmega,
},
};
@@ -4726,24 +4008,22 @@ pub const cpu_atxmega64a3u = Cpu{
.name = "atxmega64a3u",
.llvm_name = "atxmega64a3u",
.subfeatures = &[_]*const Feature {
- &feature_spm,
- &feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
&feature_rmw,
+ &feature_lpmx,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmegau,
},
};
@@ -4751,24 +4031,22 @@ pub const cpu_atxmega64a4u = Cpu{
.name = "atxmega64a4u",
.llvm_name = "atxmega64a4u",
.subfeatures = &[_]*const Feature {
- &feature_spm,
- &feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
&feature_rmw,
+ &feature_lpmx,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmegau,
},
};
@@ -4776,24 +4054,22 @@ pub const cpu_atxmega64b1 = Cpu{
.name = "atxmega64b1",
.llvm_name = "atxmega64b1",
.subfeatures = &[_]*const Feature {
- &feature_spm,
- &feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
&feature_rmw,
+ &feature_lpmx,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmegau,
},
};
@@ -4801,24 +4077,22 @@ pub const cpu_atxmega64b3 = Cpu{
.name = "atxmega64b3",
.llvm_name = "atxmega64b3",
.subfeatures = &[_]*const Feature {
- &feature_spm,
- &feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
&feature_rmw,
+ &feature_lpmx,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmegau,
},
};
@@ -4826,24 +4100,22 @@ pub const cpu_atxmega64c3 = Cpu{
.name = "atxmega64c3",
.llvm_name = "atxmega64c3",
.subfeatures = &[_]*const Feature {
- &feature_spm,
- &feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
&feature_rmw,
+ &feature_lpmx,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmegau,
},
};
@@ -4851,23 +4123,21 @@ pub const cpu_atxmega64d3 = Cpu{
.name = "atxmega64d3",
.llvm_name = "atxmega64d3",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmega,
},
};
@@ -4875,23 +4145,21 @@ pub const cpu_atxmega64d4 = Cpu{
.name = "atxmega64d4",
.llvm_name = "atxmega64d4",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmega,
},
};
@@ -4899,23 +4167,21 @@ pub const cpu_atxmega8e5 = Cpu{
.name = "atxmega8e5",
.llvm_name = "atxmega8e5",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmega,
},
};
@@ -4924,8 +4190,6 @@ pub const cpu_avr1 = Cpu{
.llvm_name = "avr1",
.subfeatures = &[_]*const Feature {
&feature_lpm,
- &feature_avr0,
- &feature_avr1,
},
};
@@ -4933,12 +4197,10 @@ pub const cpu_avr2 = Cpu{
.name = "avr2",
.llvm_name = "avr2",
.subfeatures = &[_]*const Feature {
- &feature_ijmpcall,
- &feature_sram,
&feature_addsubiw,
&feature_lpm,
- &feature_avr0,
- &feature_avr2,
+ &feature_sram,
+ &feature_ijmpcall,
},
};
@@ -4946,16 +4208,14 @@ pub const cpu_avr25 = Cpu{
.name = "avr25",
.llvm_name = "avr25",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr25,
},
};
@@ -4963,13 +4223,11 @@ pub const cpu_avr3 = Cpu{
.name = "avr3",
.llvm_name = "avr3",
.subfeatures = &[_]*const Feature {
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
&feature_addsubiw,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
- &feature_avr3,
+ &feature_sram,
+ &feature_ijmpcall,
},
};
@@ -4977,14 +4235,12 @@ pub const cpu_avr31 = Cpu{
.name = "avr31",
.llvm_name = "avr31",
.subfeatures = &[_]*const Feature {
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
&feature_addsubiw,
- &feature_elpm,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
- &feature_avr31,
+ &feature_elpm,
+ &feature_sram,
+ &feature_ijmpcall,
},
};
@@ -4992,17 +4248,15 @@ pub const cpu_avr35 = Cpu{
.name = "avr35",
.llvm_name = "avr35",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr35,
},
};
@@ -5010,17 +4264,15 @@ pub const cpu_avr4 = Cpu{
.name = "avr4",
.llvm_name = "avr4",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
&feature_break,
&feature_lpm,
- &feature_avr0,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr4,
},
};
@@ -5028,18 +4280,16 @@ pub const cpu_avr5 = Cpu{
.name = "avr5",
.llvm_name = "avr5",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
@@ -5047,20 +4297,18 @@ pub const cpu_avr51 = Cpu{
.name = "avr51",
.llvm_name = "avr51",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_elpm,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
+ &feature_break,
+ &feature_mul,
+ &feature_elpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr51,
},
};
@@ -5068,20 +4316,18 @@ pub const cpu_avr6 = Cpu{
.name = "avr6",
.llvm_name = "avr6",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_elpm,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
+ &feature_break,
+ &feature_mul,
+ &feature_elpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr6,
},
};
@@ -5089,11 +4335,9 @@ pub const cpu_avrtiny = Cpu{
.name = "avrtiny",
.llvm_name = "avrtiny",
.subfeatures = &[_]*const Feature {
- &feature_avr0,
+ &feature_break,
&feature_sram,
&feature_tinyencoding,
- &feature_break,
- &feature_avrtiny,
},
};
@@ -5101,23 +4345,21 @@ pub const cpu_avrxmega1 = Cpu{
.name = "avrxmega1",
.llvm_name = "avrxmega1",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmega,
},
};
@@ -5125,23 +4367,21 @@ pub const cpu_avrxmega2 = Cpu{
.name = "avrxmega2",
.llvm_name = "avrxmega2",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmega,
},
};
@@ -5149,23 +4389,21 @@ pub const cpu_avrxmega3 = Cpu{
.name = "avrxmega3",
.llvm_name = "avrxmega3",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmega,
},
};
@@ -5173,23 +4411,21 @@ pub const cpu_avrxmega4 = Cpu{
.name = "avrxmega4",
.llvm_name = "avrxmega4",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmega,
},
};
@@ -5197,23 +4433,21 @@ pub const cpu_avrxmega5 = Cpu{
.name = "avrxmega5",
.llvm_name = "avrxmega5",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmega,
},
};
@@ -5221,23 +4455,21 @@ pub const cpu_avrxmega6 = Cpu{
.name = "avrxmega6",
.llvm_name = "avrxmega6",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmega,
},
};
@@ -5245,23 +4477,21 @@ pub const cpu_avrxmega7 = Cpu{
.name = "avrxmega7",
.llvm_name = "avrxmega7",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_des,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
+ &feature_jmpcall,
+ &feature_lpm,
+ &feature_break,
+ &feature_mul,
&feature_elpm,
&feature_eijmpcall,
- &feature_mul,
- &feature_break,
- &feature_lpm,
&feature_elpmx,
- &feature_avr0,
+ &feature_sram,
+ &feature_des,
+ &feature_ijmpcall,
&feature_movw,
&feature_spmx,
- &feature_xmega,
},
};
@@ -5269,18 +4499,16 @@ pub const cpu_m3000 = Cpu{
.name = "m3000",
.llvm_name = "m3000",
.subfeatures = &[_]*const Feature {
- &feature_spm,
&feature_lpmx,
- &feature_ijmpcall,
- &feature_jmpcall,
- &feature_sram,
+ &feature_spm,
&feature_addsubiw,
- &feature_mul,
- &feature_break,
+ &feature_jmpcall,
&feature_lpm,
- &feature_avr0,
+ &feature_break,
+ &feature_mul,
+ &feature_sram,
+ &feature_ijmpcall,
&feature_movw,
- &feature_avr5,
},
};
lib/std/target/hexagon.zig
@@ -1,111 +1,6 @@
const Feature = @import("std").target.Feature;
const Cpu = @import("std").target.Cpu;
-pub const feature_v5 = Feature{
- .name = "v5",
- .description = "Enable Hexagon V5 architecture",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_v55 = Feature{
- .name = "v55",
- .description = "Enable Hexagon V55 architecture",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_v60 = Feature{
- .name = "v60",
- .description = "Enable Hexagon V60 architecture",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_v62 = Feature{
- .name = "v62",
- .description = "Enable Hexagon V62 architecture",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_v65 = Feature{
- .name = "v65",
- .description = "Enable Hexagon V65 architecture",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_v66 = Feature{
- .name = "v66",
- .description = "Enable Hexagon V66 architecture",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_hvx = Feature{
- .name = "hvx",
- .description = "Hexagon HVX instructions",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_hvxLength64b = Feature{
- .name = "hvx-length64b",
- .description = "Hexagon HVX 64B instructions",
- .subfeatures = &[_]*const Feature {
- &feature_hvx,
- },
-};
-
-pub const feature_hvxLength128b = Feature{
- .name = "hvx-length128b",
- .description = "Hexagon HVX 128B instructions",
- .subfeatures = &[_]*const Feature {
- &feature_hvx,
- },
-};
-
-pub const feature_hvxv60 = Feature{
- .name = "hvxv60",
- .description = "Hexagon HVX instructions",
- .subfeatures = &[_]*const Feature {
- &feature_hvx,
- },
-};
-
-pub const feature_hvxv62 = Feature{
- .name = "hvxv62",
- .description = "Hexagon HVX instructions",
- .subfeatures = &[_]*const Feature {
- &feature_hvx,
- },
-};
-
-pub const feature_hvxv65 = Feature{
- .name = "hvxv65",
- .description = "Hexagon HVX instructions",
- .subfeatures = &[_]*const Feature {
- &feature_hvx,
- },
-};
-
-pub const feature_hvxv66 = Feature{
- .name = "hvxv66",
- .description = "Hexagon HVX instructions",
- .subfeatures = &[_]*const Feature {
- &feature_zreg,
- &feature_hvx,
- },
-};
-
-pub const feature_zreg = Feature{
- .name = "zreg",
- .description = "Hexagon ZReg extension instructions",
- .subfeatures = &[_]*const Feature {
- },
-};
-
pub const feature_duplex = Feature{
.name = "duplex",
.description = "Enable generation of duplex instruction",
@@ -179,20 +74,6 @@ pub const feature_smallData = Feature{
};
pub const features = &[_]*const Feature {
- &feature_v5,
- &feature_v55,
- &feature_v60,
- &feature_v62,
- &feature_v65,
- &feature_v66,
- &feature_hvx,
- &feature_hvxLength64b,
- &feature_hvxLength128b,
- &feature_hvxv60,
- &feature_hvxv62,
- &feature_hvxv65,
- &feature_hvxv66,
- &feature_zreg,
&feature_duplex,
&feature_longCalls,
&feature_mem_noshuf,
@@ -209,9 +90,6 @@ pub const cpu_generic = Cpu{
.name = "generic",
.llvm_name = "generic",
.subfeatures = &[_]*const Feature {
- &feature_v5,
- &feature_v55,
- &feature_v60,
&feature_duplex,
&feature_memops,
&feature_packets,
@@ -225,7 +103,6 @@ pub const cpu_hexagonv5 = Cpu{
.name = "hexagonv5",
.llvm_name = "hexagonv5",
.subfeatures = &[_]*const Feature {
- &feature_v5,
&feature_duplex,
&feature_memops,
&feature_packets,
@@ -239,8 +116,6 @@ pub const cpu_hexagonv55 = Cpu{
.name = "hexagonv55",
.llvm_name = "hexagonv55",
.subfeatures = &[_]*const Feature {
- &feature_v5,
- &feature_v55,
&feature_duplex,
&feature_memops,
&feature_packets,
@@ -254,9 +129,6 @@ pub const cpu_hexagonv60 = Cpu{
.name = "hexagonv60",
.llvm_name = "hexagonv60",
.subfeatures = &[_]*const Feature {
- &feature_v5,
- &feature_v55,
- &feature_v60,
&feature_duplex,
&feature_memops,
&feature_packets,
@@ -270,10 +142,6 @@ pub const cpu_hexagonv62 = Cpu{
.name = "hexagonv62",
.llvm_name = "hexagonv62",
.subfeatures = &[_]*const Feature {
- &feature_v5,
- &feature_v55,
- &feature_v60,
- &feature_v62,
&feature_duplex,
&feature_memops,
&feature_packets,
@@ -287,11 +155,6 @@ pub const cpu_hexagonv65 = Cpu{
.name = "hexagonv65",
.llvm_name = "hexagonv65",
.subfeatures = &[_]*const Feature {
- &feature_v5,
- &feature_v55,
- &feature_v60,
- &feature_v62,
- &feature_v65,
&feature_duplex,
&feature_mem_noshuf,
&feature_memops,
@@ -306,12 +169,6 @@ pub const cpu_hexagonv66 = Cpu{
.name = "hexagonv66",
.llvm_name = "hexagonv66",
.subfeatures = &[_]*const Feature {
- &feature_v5,
- &feature_v55,
- &feature_v60,
- &feature_v62,
- &feature_v65,
- &feature_v66,
&feature_duplex,
&feature_mem_noshuf,
&feature_memops,
lib/std/target/mips.zig
@@ -19,14 +19,14 @@ pub const feature_cnmips = Feature{
.name = "cnmips",
.description = "Octeon cnMIPS Support",
.subfeatures = &[_]*const Feature {
- &feature_mips3_32r2,
- &feature_mips3_32,
+ &feature_fp64,
&feature_mips4_32r2,
&feature_mips1,
- &feature_fp64,
- &feature_mips5_32r2,
&feature_gp64,
&feature_mips4_32,
+ &feature_mips5_32r2,
+ &feature_mips3_32r2,
+ &feature_mips3_32,
},
};
@@ -142,11 +142,11 @@ pub const feature_mips3 = Feature{
.name = "mips3",
.description = "MIPS III ISA Support [highly experimental]",
.subfeatures = &[_]*const Feature {
- &feature_mips3_32r2,
- &feature_mips3_32,
- &feature_mips1,
&feature_fp64,
+ &feature_mips1,
&feature_gp64,
+ &feature_mips3_32r2,
+ &feature_mips3_32,
},
};
@@ -168,13 +168,13 @@ pub const feature_mips4 = Feature{
.name = "mips4",
.description = "MIPS IV ISA Support",
.subfeatures = &[_]*const Feature {
- &feature_mips3_32r2,
- &feature_mips3_32,
+ &feature_fp64,
&feature_mips4_32r2,
&feature_mips1,
- &feature_fp64,
&feature_gp64,
&feature_mips4_32,
+ &feature_mips3_32r2,
+ &feature_mips3_32,
},
};
@@ -196,14 +196,14 @@ pub const feature_mips5 = Feature{
.name = "mips5",
.description = "MIPS V ISA Support [highly experimental]",
.subfeatures = &[_]*const Feature {
- &feature_mips3_32r2,
- &feature_mips3_32,
+ &feature_fp64,
&feature_mips4_32r2,
&feature_mips1,
- &feature_fp64,
- &feature_mips5_32r2,
&feature_gp64,
&feature_mips4_32,
+ &feature_mips5_32r2,
+ &feature_mips3_32r2,
+ &feature_mips3_32,
},
};
@@ -235,12 +235,12 @@ pub const feature_mips32r2 = Feature{
.name = "mips32r2",
.description = "Mips32r2 ISA Support",
.subfeatures = &[_]*const Feature {
- &feature_mips3_32r2,
- &feature_mips3_32,
&feature_mips4_32r2,
&feature_mips1,
- &feature_mips5_32r2,
&feature_mips4_32,
+ &feature_mips5_32r2,
+ &feature_mips3_32r2,
+ &feature_mips3_32,
},
};
@@ -248,12 +248,12 @@ pub const feature_mips32r3 = Feature{
.name = "mips32r3",
.description = "Mips32r3 ISA Support",
.subfeatures = &[_]*const Feature {
- &feature_mips3_32r2,
- &feature_mips3_32,
&feature_mips4_32r2,
&feature_mips1,
- &feature_mips5_32r2,
&feature_mips4_32,
+ &feature_mips5_32r2,
+ &feature_mips3_32r2,
+ &feature_mips3_32,
},
};
@@ -261,12 +261,12 @@ pub const feature_mips32r5 = Feature{
.name = "mips32r5",
.description = "Mips32r5 ISA Support",
.subfeatures = &[_]*const Feature {
- &feature_mips3_32r2,
- &feature_mips3_32,
&feature_mips4_32r2,
&feature_mips1,
- &feature_mips5_32r2,
&feature_mips4_32,
+ &feature_mips5_32r2,
+ &feature_mips3_32r2,
+ &feature_mips3_32,
},
};
@@ -274,15 +274,15 @@ pub const feature_mips32r6 = Feature{
.name = "mips32r6",
.description = "Mips32r6 ISA Support [experimental]",
.subfeatures = &[_]*const Feature {
- &feature_mips3_32r2,
- &feature_mips3_32,
- &feature_nan2008,
- &feature_mips4_32r2,
- &feature_mips1,
&feature_abs2008,
&feature_fp64,
- &feature_mips5_32r2,
+ &feature_mips4_32r2,
+ &feature_nan2008,
+ &feature_mips1,
&feature_mips4_32,
+ &feature_mips5_32r2,
+ &feature_mips3_32r2,
+ &feature_mips3_32,
},
};
@@ -290,14 +290,14 @@ pub const feature_mips64 = Feature{
.name = "mips64",
.description = "Mips64 ISA Support",
.subfeatures = &[_]*const Feature {
- &feature_mips3_32r2,
- &feature_mips3_32,
+ &feature_fp64,
&feature_mips4_32r2,
&feature_mips1,
- &feature_fp64,
- &feature_mips5_32r2,
&feature_gp64,
&feature_mips4_32,
+ &feature_mips5_32r2,
+ &feature_mips3_32r2,
+ &feature_mips3_32,
},
};
@@ -305,14 +305,14 @@ pub const feature_mips64r2 = Feature{
.name = "mips64r2",
.description = "Mips64r2 ISA Support",
.subfeatures = &[_]*const Feature {
- &feature_mips3_32r2,
- &feature_mips3_32,
+ &feature_fp64,
&feature_mips4_32r2,
&feature_mips1,
- &feature_fp64,
- &feature_mips5_32r2,
&feature_gp64,
&feature_mips4_32,
+ &feature_mips5_32r2,
+ &feature_mips3_32r2,
+ &feature_mips3_32,
},
};
@@ -320,14 +320,14 @@ pub const feature_mips64r3 = Feature{
.name = "mips64r3",
.description = "Mips64r3 ISA Support",
.subfeatures = &[_]*const Feature {
- &feature_mips3_32r2,
- &feature_mips3_32,
+ &feature_fp64,
&feature_mips4_32r2,
&feature_mips1,
- &feature_fp64,
- &feature_mips5_32r2,
&feature_gp64,
&feature_mips4_32,
+ &feature_mips5_32r2,
+ &feature_mips3_32r2,
+ &feature_mips3_32,
},
};
@@ -335,14 +335,14 @@ pub const feature_mips64r5 = Feature{
.name = "mips64r5",
.description = "Mips64r5 ISA Support",
.subfeatures = &[_]*const Feature {
- &feature_mips3_32r2,
- &feature_mips3_32,
+ &feature_fp64,
&feature_mips4_32r2,
&feature_mips1,
- &feature_fp64,
- &feature_mips5_32r2,
&feature_gp64,
&feature_mips4_32,
+ &feature_mips5_32r2,
+ &feature_mips3_32r2,
+ &feature_mips3_32,
},
};
@@ -350,16 +350,16 @@ pub const feature_mips64r6 = Feature{
.name = "mips64r6",
.description = "Mips64r6 ISA Support [experimental]",
.subfeatures = &[_]*const Feature {
- &feature_mips3_32r2,
- &feature_mips3_32,
- &feature_nan2008,
- &feature_mips4_32r2,
- &feature_mips1,
&feature_abs2008,
&feature_fp64,
- &feature_mips5_32r2,
+ &feature_mips4_32r2,
+ &feature_mips1,
&feature_gp64,
+ &feature_mips5_32r2,
&feature_mips4_32,
+ &feature_nan2008,
+ &feature_mips3_32r2,
+ &feature_mips3_32,
},
};
@@ -451,12 +451,12 @@ pub const feature_p5600 = Feature{
.name = "p5600",
.description = "The P5600 Processor",
.subfeatures = &[_]*const Feature {
- &feature_mips3_32r2,
- &feature_mips3_32,
&feature_mips4_32r2,
&feature_mips1,
- &feature_mips5_32r2,
&feature_mips4_32,
+ &feature_mips5_32r2,
+ &feature_mips3_32r2,
+ &feature_mips3_32,
},
};
@@ -534,11 +534,11 @@ pub const cpu_mips3 = Cpu{
.name = "mips3",
.llvm_name = "mips3",
.subfeatures = &[_]*const Feature {
- &feature_mips3_32r2,
- &feature_mips3_32,
- &feature_mips1,
&feature_fp64,
+ &feature_mips1,
&feature_gp64,
+ &feature_mips3_32r2,
+ &feature_mips3_32,
&feature_mips3,
},
};
@@ -558,12 +558,12 @@ pub const cpu_mips32r2 = Cpu{
.name = "mips32r2",
.llvm_name = "mips32r2",
.subfeatures = &[_]*const Feature {
- &feature_mips3_32r2,
- &feature_mips3_32,
&feature_mips4_32r2,
&feature_mips1,
- &feature_mips5_32r2,
&feature_mips4_32,
+ &feature_mips5_32r2,
+ &feature_mips3_32r2,
+ &feature_mips3_32,
&feature_mips32r2,
},
};
@@ -572,12 +572,12 @@ pub const cpu_mips32r3 = Cpu{
.name = "mips32r3",
.llvm_name = "mips32r3",
.subfeatures = &[_]*const Feature {
- &feature_mips3_32r2,
- &feature_mips3_32,
&feature_mips4_32r2,
&feature_mips1,
- &feature_mips5_32r2,
&feature_mips4_32,
+ &feature_mips5_32r2,
+ &feature_mips3_32r2,
+ &feature_mips3_32,
&feature_mips32r3,
},
};
@@ -586,12 +586,12 @@ pub const cpu_mips32r5 = Cpu{
.name = "mips32r5",
.llvm_name = "mips32r5",
.subfeatures = &[_]*const Feature {
- &feature_mips3_32r2,
- &feature_mips3_32,
&feature_mips4_32r2,
&feature_mips1,
- &feature_mips5_32r2,
&feature_mips4_32,
+ &feature_mips5_32r2,
+ &feature_mips3_32r2,
+ &feature_mips3_32,
&feature_mips32r5,
},
};
@@ -600,15 +600,15 @@ pub const cpu_mips32r6 = Cpu{
.name = "mips32r6",
.llvm_name = "mips32r6",
.subfeatures = &[_]*const Feature {
- &feature_mips3_32r2,
- &feature_mips3_32,
- &feature_nan2008,
- &feature_mips4_32r2,
- &feature_mips1,
&feature_abs2008,
&feature_fp64,
- &feature_mips5_32r2,
+ &feature_mips4_32r2,
+ &feature_nan2008,
+ &feature_mips1,
&feature_mips4_32,
+ &feature_mips5_32r2,
+ &feature_mips3_32r2,
+ &feature_mips3_32,
&feature_mips32r6,
},
};
@@ -617,13 +617,13 @@ pub const cpu_mips4 = Cpu{
.name = "mips4",
.llvm_name = "mips4",
.subfeatures = &[_]*const Feature {
- &feature_mips3_32r2,
- &feature_mips3_32,
+ &feature_fp64,
&feature_mips4_32r2,
&feature_mips1,
- &feature_fp64,
&feature_gp64,
&feature_mips4_32,
+ &feature_mips3_32r2,
+ &feature_mips3_32,
&feature_mips4,
},
};
@@ -632,14 +632,14 @@ pub const cpu_mips5 = Cpu{
.name = "mips5",
.llvm_name = "mips5",
.subfeatures = &[_]*const Feature {
- &feature_mips3_32r2,
- &feature_mips3_32,
+ &feature_fp64,
&feature_mips4_32r2,
&feature_mips1,
- &feature_fp64,
- &feature_mips5_32r2,
&feature_gp64,
&feature_mips4_32,
+ &feature_mips5_32r2,
+ &feature_mips3_32r2,
+ &feature_mips3_32,
&feature_mips5,
},
};
@@ -648,14 +648,14 @@ pub const cpu_mips64 = Cpu{
.name = "mips64",
.llvm_name = "mips64",
.subfeatures = &[_]*const Feature {
- &feature_mips3_32r2,
- &feature_mips3_32,
+ &feature_fp64,
&feature_mips4_32r2,
&feature_mips1,
- &feature_fp64,
- &feature_mips5_32r2,
&feature_gp64,
&feature_mips4_32,
+ &feature_mips5_32r2,
+ &feature_mips3_32r2,
+ &feature_mips3_32,
&feature_mips64,
},
};
@@ -664,14 +664,14 @@ pub const cpu_mips64r2 = Cpu{
.name = "mips64r2",
.llvm_name = "mips64r2",
.subfeatures = &[_]*const Feature {
- &feature_mips3_32r2,
- &feature_mips3_32,
+ &feature_fp64,
&feature_mips4_32r2,
&feature_mips1,
- &feature_fp64,
- &feature_mips5_32r2,
&feature_gp64,
&feature_mips4_32,
+ &feature_mips5_32r2,
+ &feature_mips3_32r2,
+ &feature_mips3_32,
&feature_mips64r2,
},
};
@@ -680,14 +680,14 @@ pub const cpu_mips64r3 = Cpu{
.name = "mips64r3",
.llvm_name = "mips64r3",
.subfeatures = &[_]*const Feature {
- &feature_mips3_32r2,
- &feature_mips3_32,
+ &feature_fp64,
&feature_mips4_32r2,
&feature_mips1,
- &feature_fp64,
- &feature_mips5_32r2,
&feature_gp64,
&feature_mips4_32,
+ &feature_mips5_32r2,
+ &feature_mips3_32r2,
+ &feature_mips3_32,
&feature_mips64r3,
},
};
@@ -696,14 +696,14 @@ pub const cpu_mips64r5 = Cpu{
.name = "mips64r5",
.llvm_name = "mips64r5",
.subfeatures = &[_]*const Feature {
- &feature_mips3_32r2,
- &feature_mips3_32,
+ &feature_fp64,
&feature_mips4_32r2,
&feature_mips1,
- &feature_fp64,
- &feature_mips5_32r2,
&feature_gp64,
&feature_mips4_32,
+ &feature_mips5_32r2,
+ &feature_mips3_32r2,
+ &feature_mips3_32,
&feature_mips64r5,
},
};
@@ -712,16 +712,16 @@ pub const cpu_mips64r6 = Cpu{
.name = "mips64r6",
.llvm_name = "mips64r6",
.subfeatures = &[_]*const Feature {
- &feature_mips3_32r2,
- &feature_mips3_32,
- &feature_nan2008,
- &feature_mips4_32r2,
- &feature_mips1,
&feature_abs2008,
&feature_fp64,
- &feature_mips5_32r2,
+ &feature_mips4_32r2,
+ &feature_mips1,
&feature_gp64,
+ &feature_mips5_32r2,
&feature_mips4_32,
+ &feature_nan2008,
+ &feature_mips3_32r2,
+ &feature_mips3_32,
&feature_mips64r6,
},
};
@@ -730,14 +730,14 @@ pub const cpu_octeon = Cpu{
.name = "octeon",
.llvm_name = "octeon",
.subfeatures = &[_]*const Feature {
- &feature_mips3_32r2,
- &feature_mips3_32,
+ &feature_fp64,
&feature_mips4_32r2,
&feature_mips1,
- &feature_fp64,
- &feature_mips5_32r2,
&feature_gp64,
&feature_mips4_32,
+ &feature_mips5_32r2,
+ &feature_mips3_32r2,
+ &feature_mips3_32,
&feature_cnmips,
&feature_mips64r2,
},
@@ -747,12 +747,12 @@ pub const cpu_p5600 = Cpu{
.name = "p5600",
.llvm_name = "p5600",
.subfeatures = &[_]*const Feature {
- &feature_mips3_32r2,
- &feature_mips3_32,
&feature_mips4_32r2,
&feature_mips1,
- &feature_mips5_32r2,
&feature_mips4_32,
+ &feature_mips5_32r2,
+ &feature_mips3_32r2,
+ &feature_mips3_32,
&feature_p5600,
},
};
lib/std/target/powerpc.zig
@@ -261,8 +261,8 @@ pub const feature_power9Altivec = Feature{
.name = "power9-altivec",
.description = "Enable POWER9 Altivec instructions",
.subfeatures = &[_]*const Feature {
- &feature_hardFloat,
&feature_isaV30Instructions,
+ &feature_hardFloat,
},
};
@@ -270,8 +270,8 @@ pub const feature_power9Vector = Feature{
.name = "power9-vector",
.description = "Enable POWER9 vector instructions",
.subfeatures = &[_]*const Feature {
- &feature_hardFloat,
&feature_isaV30Instructions,
+ &feature_hardFloat,
},
};
lib/std/target/sparc.zig
@@ -1,13 +1,6 @@
const Feature = @import("std").target.Feature;
const Cpu = @import("std").target.Cpu;
-pub const feature_detectroundchange = Feature{
- .name = "detectroundchange",
- .description = "LEON3 erratum detection: Detects any rounding mode change request: use only the round-to-nearest rounding mode",
- .subfeatures = &[_]*const Feature {
- },
-};
-
pub const feature_hardQuadFloat = Feature{
.name = "hard-quad-float",
.description = "Enable quad-word floating point instructions",
@@ -92,50 +85,7 @@ pub const feature_vis3 = Feature{
},
};
-pub const feature_fixallfdivsqrt = Feature{
- .name = "fixallfdivsqrt",
- .description = "LEON erratum fix: Fix FDIVS/FDIVD/FSQRTS/FSQRTD instructions with NOPs and floating-point store",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_insertnopload = Feature{
- .name = "insertnopload",
- .description = "LEON3 erratum fix: Insert a NOP instruction after every single-cycle load instruction when the next instruction is another load/store instruction",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_hasleoncasa = Feature{
- .name = "hasleoncasa",
- .description = "Enable CASA instruction for LEON3 and LEON4 processors",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_leoncyclecounter = Feature{
- .name = "leoncyclecounter",
- .description = "Use the Leon cycle counter register",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_hasumacsmac = Feature{
- .name = "hasumacsmac",
- .description = "Enable UMAC and SMAC for LEON3 and LEON4 processors",
- .subfeatures = &[_]*const Feature {
- },
-};
-
-pub const feature_popc = Feature{
- .name = "popc",
- .description = "Use the popc (population count) instruction",
- .subfeatures = &[_]*const Feature {
- },
-};
-
pub const features = &[_]*const Feature {
- &feature_detectroundchange,
&feature_hardQuadFloat,
&feature_leon,
&feature_noFmuls,
@@ -148,12 +98,6 @@ pub const features = &[_]*const Feature {
&feature_vis,
&feature_vis2,
&feature_vis3,
- &feature_fixallfdivsqrt,
- &feature_insertnopload,
- &feature_hasleoncasa,
- &feature_leoncyclecounter,
- &feature_hasumacsmac,
- &feature_popc,
};
pub const cpu_at697e = Cpu{
@@ -161,7 +105,6 @@ pub const cpu_at697e = Cpu{
.llvm_name = "at697e",
.subfeatures = &[_]*const Feature {
&feature_leon,
- &feature_insertnopload,
},
};
@@ -170,7 +113,6 @@ pub const cpu_at697f = Cpu{
.llvm_name = "at697f",
.subfeatures = &[_]*const Feature {
&feature_leon,
- &feature_insertnopload,
},
};
@@ -193,7 +135,6 @@ pub const cpu_gr712rc = Cpu{
.llvm_name = "gr712rc",
.subfeatures = &[_]*const Feature {
&feature_leon,
- &feature_hasleoncasa,
},
};
@@ -203,9 +144,6 @@ pub const cpu_gr740 = Cpu{
.subfeatures = &[_]*const Feature {
&feature_leon,
&feature_leonpwrpsr,
- &feature_hasleoncasa,
- &feature_leoncyclecounter,
- &feature_hasumacsmac,
},
};
@@ -229,7 +167,6 @@ pub const cpu_leon3 = Cpu{
.llvm_name = "leon3",
.subfeatures = &[_]*const Feature {
&feature_leon,
- &feature_hasumacsmac,
},
};
@@ -238,8 +175,6 @@ pub const cpu_leon4 = Cpu{
.llvm_name = "leon4",
.subfeatures = &[_]*const Feature {
&feature_leon,
- &feature_hasleoncasa,
- &feature_hasumacsmac,
},
};
@@ -248,7 +183,6 @@ pub const cpu_ma2080 = Cpu{
.llvm_name = "ma2080",
.subfeatures = &[_]*const Feature {
&feature_leon,
- &feature_hasleoncasa,
},
};
@@ -257,7 +191,6 @@ pub const cpu_ma2085 = Cpu{
.llvm_name = "ma2085",
.subfeatures = &[_]*const Feature {
&feature_leon,
- &feature_hasleoncasa,
},
};
@@ -266,7 +199,6 @@ pub const cpu_ma2100 = Cpu{
.llvm_name = "ma2100",
.subfeatures = &[_]*const Feature {
&feature_leon,
- &feature_hasleoncasa,
},
};
@@ -275,7 +207,6 @@ pub const cpu_ma2150 = Cpu{
.llvm_name = "ma2150",
.subfeatures = &[_]*const Feature {
&feature_leon,
- &feature_hasleoncasa,
},
};
@@ -284,7 +215,6 @@ pub const cpu_ma2155 = Cpu{
.llvm_name = "ma2155",
.subfeatures = &[_]*const Feature {
&feature_leon,
- &feature_hasleoncasa,
},
};
@@ -293,7 +223,6 @@ pub const cpu_ma2450 = Cpu{
.llvm_name = "ma2450",
.subfeatures = &[_]*const Feature {
&feature_leon,
- &feature_hasleoncasa,
},
};
@@ -302,7 +231,6 @@ pub const cpu_ma2455 = Cpu{
.llvm_name = "ma2455",
.subfeatures = &[_]*const Feature {
&feature_leon,
- &feature_hasleoncasa,
},
};
@@ -311,7 +239,6 @@ pub const cpu_ma2480 = Cpu{
.llvm_name = "ma2480",
.subfeatures = &[_]*const Feature {
&feature_leon,
- &feature_hasleoncasa,
},
};
@@ -320,7 +247,6 @@ pub const cpu_ma2485 = Cpu{
.llvm_name = "ma2485",
.subfeatures = &[_]*const Feature {
&feature_leon,
- &feature_hasleoncasa,
},
};
@@ -329,7 +255,6 @@ pub const cpu_ma2x5x = Cpu{
.llvm_name = "ma2x5x",
.subfeatures = &[_]*const Feature {
&feature_leon,
- &feature_hasleoncasa,
},
};
@@ -338,7 +263,6 @@ pub const cpu_ma2x8x = Cpu{
.llvm_name = "ma2x8x",
.subfeatures = &[_]*const Feature {
&feature_leon,
- &feature_hasleoncasa,
},
};
@@ -347,7 +271,6 @@ pub const cpu_myriad2 = Cpu{
.llvm_name = "myriad2",
.subfeatures = &[_]*const Feature {
&feature_leon,
- &feature_hasleoncasa,
},
};
@@ -356,7 +279,6 @@ pub const cpu_myriad21 = Cpu{
.llvm_name = "myriad2.1",
.subfeatures = &[_]*const Feature {
&feature_leon,
- &feature_hasleoncasa,
},
};
@@ -365,7 +287,6 @@ pub const cpu_myriad22 = Cpu{
.llvm_name = "myriad2.2",
.subfeatures = &[_]*const Feature {
&feature_leon,
- &feature_hasleoncasa,
},
};
@@ -374,7 +295,6 @@ pub const cpu_myriad23 = Cpu{
.llvm_name = "myriad2.3",
.subfeatures = &[_]*const Feature {
&feature_leon,
- &feature_hasleoncasa,
},
};
@@ -397,7 +317,6 @@ pub const cpu_niagara2 = Cpu{
&feature_v9,
&feature_vis,
&feature_vis2,
- &feature_popc,
},
};
@@ -409,7 +328,6 @@ pub const cpu_niagara3 = Cpu{
&feature_v9,
&feature_vis,
&feature_vis2,
- &feature_popc,
},
};
@@ -422,7 +340,6 @@ pub const cpu_niagara4 = Cpu{
&feature_vis,
&feature_vis2,
&feature_vis3,
- &feature_popc,
},
};
@@ -489,8 +406,6 @@ pub const cpu_ut699 = Cpu{
&feature_leon,
&feature_noFmuls,
&feature_noFsmuld,
- &feature_fixallfdivsqrt,
- &feature_insertnopload,
},
};