Commit de8a5cf5f5

Layne Gustafson <lgustaf1@binghamton.edu>
2020-01-16 20:24:55
Remove features/cpus not in LLVM v9
1 parent a5c9397
lib/std/target/aarch64.zig
@@ -228,15 +228,6 @@ pub const feature_dotprod = Feature{
     },
 };
 
-pub const feature_ete = Feature{
-    .name = "ete",
-    .llvm_name = "ete",
-    .description = "Enable Embedded Trace Extension",
-    .dependencies = &[_]*const Feature {
-        &feature_trbe,
-    },
-};
-
 pub const feature_exynosCheapAsMove = Feature{
     .name = "exynosCheapAsMove",
     .llvm_name = "exynos-cheap-as-move",
@@ -806,8 +797,8 @@ pub const feature_sve2Aes = Feature{
     .llvm_name = "sve2-aes",
     .description = "Enable AES SVE2 instructions",
     .dependencies = &[_]*const Feature {
-        &feature_fpArmv8,
         &feature_sve,
+        &feature_fpArmv8,
     },
 };
 
@@ -825,8 +816,8 @@ pub const feature_sve2Sha3 = Feature{
     .llvm_name = "sve2-sha3",
     .description = "Enable SHA3 SVE2 instructions",
     .dependencies = &[_]*const Feature {
-        &feature_fpArmv8,
         &feature_sve,
+        &feature_fpArmv8,
     },
 };
 
@@ -835,8 +826,8 @@ pub const feature_sve2Sm4 = Feature{
     .llvm_name = "sve2-sm4",
     .description = "Enable SM4 SVE2 instructions",
     .dependencies = &[_]*const Feature {
-        &feature_fpArmv8,
         &feature_sve,
+        &feature_fpArmv8,
     },
 };
 
@@ -888,14 +879,6 @@ pub const feature_tlbRmi = Feature{
     },
 };
 
-pub const feature_tme = Feature{
-    .name = "tme",
-    .llvm_name = "tme",
-    .description = "Enable Transactional Memory Extension",
-    .dependencies = &[_]*const Feature {
-    },
-};
-
 pub const feature_tracev84 = Feature{
     .name = "tracev84",
     .llvm_name = "tracev8.4",
@@ -904,22 +887,6 @@ pub const feature_tracev84 = Feature{
     },
 };
 
-pub const feature_trbe = Feature{
-    .name = "trbe",
-    .llvm_name = "trbe",
-    .description = "Enable Trace Buffer Extension",
-    .dependencies = &[_]*const Feature {
-    },
-};
-
-pub const feature_taggedGlobals = Feature{
-    .name = "taggedGlobals",
-    .llvm_name = "tagged-globals",
-    .description = "Use an instruction sequence for taking the address of a global that allows a memory tag in the upper address bits",
-    .dependencies = &[_]*const Feature {
-    },
-};
-
 pub const feature_useAa = Feature{
     .name = "useAa",
     .llvm_name = "use-aa",
@@ -1039,7 +1006,6 @@ pub const features = &[_]*const Feature {
     &feature_dit,
     &feature_disableLatencySchedHeuristic,
     &feature_dotprod,
-    &feature_ete,
     &feature_exynosCheapAsMove,
     &feature_fmi,
     &feature_fp16fml,
@@ -1119,10 +1085,7 @@ pub const features = &[_]*const Feature {
     &feature_specrestrict,
     &feature_strictAlign,
     &feature_tlbRmi,
-    &feature_tme,
     &feature_tracev84,
-    &feature_trbe,
-    &feature_taggedGlobals,
     &feature_useAa,
     &feature_tpidrEl1,
     &feature_tpidrEl2,
@@ -1140,18 +1103,18 @@ pub const cpu_appleLatest = Cpu{
     .name = "appleLatest",
     .llvm_name = "apple-latest",
     .dependencies = &[_]*const Feature {
-        &feature_fpArmv8,
+        &feature_arithCbzFusion,
+        &feature_zczFpWorkaround,
         &feature_alternateSextloadCvtF32Pattern,
-        &feature_arithBccFusion,
-        &feature_zczFp,
-        &feature_zczGp,
-        &feature_zcm,
-        &feature_fuseAes,
-        &feature_disableLatencySchedHeuristic,
         &feature_fuseCryptoEor,
+        &feature_zcm,
+        &feature_zczGp,
         &feature_perfmon,
-        &feature_zczFpWorkaround,
-        &feature_arithCbzFusion,
+        &feature_disableLatencySchedHeuristic,
+        &feature_fpArmv8,
+        &feature_zczFp,
+        &feature_arithBccFusion,
+        &feature_fuseAes,
     },
 };
 
@@ -1159,9 +1122,9 @@ pub const cpu_cortexA35 = Cpu{
     .name = "cortexA35",
     .llvm_name = "cortex-a35",
     .dependencies = &[_]*const Feature {
+        &feature_perfmon,
         &feature_fpArmv8,
         &feature_crc,
-        &feature_perfmon,
     },
 };
 
@@ -1169,14 +1132,14 @@ pub const cpu_cortexA53 = Cpu{
     .name = "cortexA53",
     .llvm_name = "cortex-a53",
     .dependencies = &[_]*const Feature {
-        &feature_fpArmv8,
-        &feature_balanceFpOps,
-        &feature_usePostraScheduler,
-        &feature_crc,
         &feature_customCheapAsMove,
+        &feature_crc,
+        &feature_perfmon,
         &feature_useAa,
+        &feature_fpArmv8,
         &feature_fuseAes,
-        &feature_perfmon,
+        &feature_balanceFpOps,
+        &feature_usePostraScheduler,
     },
 };
 
@@ -1184,20 +1147,20 @@ pub const cpu_cortexA55 = Cpu{
     .name = "cortexA55",
     .llvm_name = "cortex-a55",
     .dependencies = &[_]*const Feature {
-        &feature_fpArmv8,
-        &feature_pan,
-        &feature_vh,
-        &feature_dotprod,
+        &feature_ccpp,
         &feature_rcpc,
-        &feature_lse,
-        &feature_crc,
         &feature_uaops,
         &feature_rdm,
-        &feature_lor,
-        &feature_fuseAes,
         &feature_ras,
+        &feature_lse,
+        &feature_crc,
         &feature_perfmon,
-        &feature_ccpp,
+        &feature_fpArmv8,
+        &feature_vh,
+        &feature_fuseAes,
+        &feature_lor,
+        &feature_dotprod,
+        &feature_pan,
     },
 };
 
@@ -1205,55 +1168,15 @@ pub const cpu_cortexA57 = Cpu{
     .name = "cortexA57",
     .llvm_name = "cortex-a57",
     .dependencies = &[_]*const Feature {
-        &feature_fpArmv8,
-        &feature_balanceFpOps,
         &feature_fuseLiterals,
-        &feature_usePostraScheduler,
-        &feature_crc,
-        &feature_customCheapAsMove,
-        &feature_fuseAes,
-        &feature_perfmon,
         &feature_predictableSelectExpensive,
-    },
-};
-
-pub const cpu_cortexA65 = Cpu{
-    .name = "cortexA65",
-    .llvm_name = "cortex-a65",
-    .dependencies = &[_]*const Feature {
-        &feature_fpArmv8,
-        &feature_pan,
-        &feature_vh,
-        &feature_dotprod,
-        &feature_rcpc,
-        &feature_lse,
+        &feature_customCheapAsMove,
         &feature_crc,
-        &feature_uaops,
-        &feature_rdm,
-        &feature_lor,
-        &feature_ras,
-        &feature_ssbs,
-        &feature_ccpp,
-    },
-};
-
-pub const cpu_cortexA65ae = Cpu{
-    .name = "cortexA65ae",
-    .llvm_name = "cortex-a65ae",
-    .dependencies = &[_]*const Feature {
+        &feature_perfmon,
         &feature_fpArmv8,
-        &feature_pan,
-        &feature_vh,
-        &feature_dotprod,
-        &feature_rcpc,
-        &feature_lse,
-        &feature_crc,
-        &feature_uaops,
-        &feature_rdm,
-        &feature_lor,
-        &feature_ras,
-        &feature_ssbs,
-        &feature_ccpp,
+        &feature_fuseAes,
+        &feature_balanceFpOps,
+        &feature_usePostraScheduler,
     },
 };
 
@@ -1261,10 +1184,10 @@ pub const cpu_cortexA72 = Cpu{
     .name = "cortexA72",
     .llvm_name = "cortex-a72",
     .dependencies = &[_]*const Feature {
+        &feature_fuseAes,
         &feature_fpArmv8,
-        &feature_crc,
         &feature_perfmon,
-        &feature_fuseAes,
+        &feature_crc,
     },
 };
 
@@ -1272,10 +1195,10 @@ pub const cpu_cortexA73 = Cpu{
     .name = "cortexA73",
     .llvm_name = "cortex-a73",
     .dependencies = &[_]*const Feature {
+        &feature_fuseAes,
         &feature_fpArmv8,
-        &feature_crc,
         &feature_perfmon,
-        &feature_fuseAes,
+        &feature_crc,
     },
 };
 
@@ -1283,20 +1206,20 @@ pub const cpu_cortexA75 = Cpu{
     .name = "cortexA75",
     .llvm_name = "cortex-a75",
     .dependencies = &[_]*const Feature {
-        &feature_fpArmv8,
-        &feature_pan,
-        &feature_vh,
-        &feature_dotprod,
+        &feature_ccpp,
         &feature_rcpc,
-        &feature_lse,
-        &feature_crc,
         &feature_uaops,
         &feature_rdm,
-        &feature_lor,
-        &feature_fuseAes,
         &feature_ras,
+        &feature_lse,
+        &feature_crc,
         &feature_perfmon,
-        &feature_ccpp,
+        &feature_fpArmv8,
+        &feature_vh,
+        &feature_fuseAes,
+        &feature_lor,
+        &feature_dotprod,
+        &feature_pan,
     },
 };
 
@@ -1304,19 +1227,19 @@ pub const cpu_cortexA76 = Cpu{
     .name = "cortexA76",
     .llvm_name = "cortex-a76",
     .dependencies = &[_]*const Feature {
-        &feature_fpArmv8,
-        &feature_pan,
-        &feature_vh,
-        &feature_dotprod,
+        &feature_ccpp,
         &feature_rcpc,
-        &feature_lse,
-        &feature_crc,
         &feature_uaops,
         &feature_rdm,
-        &feature_lor,
         &feature_ras,
+        &feature_lse,
+        &feature_crc,
+        &feature_fpArmv8,
+        &feature_vh,
+        &feature_lor,
         &feature_ssbs,
-        &feature_ccpp,
+        &feature_dotprod,
+        &feature_pan,
     },
 };
 
@@ -1324,19 +1247,19 @@ pub const cpu_cortexA76ae = Cpu{
     .name = "cortexA76ae",
     .llvm_name = "cortex-a76ae",
     .dependencies = &[_]*const Feature {
-        &feature_fpArmv8,
-        &feature_pan,
-        &feature_vh,
-        &feature_dotprod,
+        &feature_ccpp,
         &feature_rcpc,
-        &feature_lse,
-        &feature_crc,
         &feature_uaops,
         &feature_rdm,
-        &feature_lor,
         &feature_ras,
+        &feature_lse,
+        &feature_crc,
+        &feature_fpArmv8,
+        &feature_vh,
+        &feature_lor,
         &feature_ssbs,
-        &feature_ccpp,
+        &feature_dotprod,
+        &feature_pan,
     },
 };
 
@@ -1344,18 +1267,18 @@ pub const cpu_cyclone = Cpu{
     .name = "cyclone",
     .llvm_name = "cyclone",
     .dependencies = &[_]*const Feature {
-        &feature_fpArmv8,
+        &feature_arithCbzFusion,
+        &feature_zczFpWorkaround,
         &feature_alternateSextloadCvtF32Pattern,
-        &feature_arithBccFusion,
-        &feature_zczFp,
-        &feature_zczGp,
-        &feature_zcm,
-        &feature_fuseAes,
-        &feature_disableLatencySchedHeuristic,
         &feature_fuseCryptoEor,
+        &feature_zcm,
+        &feature_zczGp,
         &feature_perfmon,
-        &feature_zczFpWorkaround,
-        &feature_arithCbzFusion,
+        &feature_disableLatencySchedHeuristic,
+        &feature_fpArmv8,
+        &feature_zczFp,
+        &feature_arithBccFusion,
+        &feature_fuseAes,
     },
 };
 
@@ -1363,17 +1286,17 @@ pub const cpu_exynosM1 = Cpu{
     .name = "exynosM1",
     .llvm_name = "exynos-m1",
     .dependencies = &[_]*const Feature {
-        &feature_fpArmv8,
+        &feature_customCheapAsMove,
+        &feature_crc,
+        &feature_force32bitJumpTables,
+        &feature_perfmon,
         &feature_slowMisaligned128store,
-        &feature_usePostraScheduler,
         &feature_useReciprocalSquareRoot,
-        &feature_crc,
+        &feature_fpArmv8,
         &feature_zczFp,
-        &feature_customCheapAsMove,
-        &feature_force32bitJumpTables,
         &feature_fuseAes,
         &feature_slowPaired128,
-        &feature_perfmon,
+        &feature_usePostraScheduler,
     },
 };
 
@@ -1381,16 +1304,16 @@ pub const cpu_exynosM2 = Cpu{
     .name = "exynosM2",
     .llvm_name = "exynos-m2",
     .dependencies = &[_]*const Feature {
-        &feature_fpArmv8,
-        &feature_slowMisaligned128store,
-        &feature_usePostraScheduler,
-        &feature_crc,
-        &feature_zczFp,
         &feature_customCheapAsMove,
+        &feature_crc,
         &feature_force32bitJumpTables,
+        &feature_perfmon,
+        &feature_slowMisaligned128store,
+        &feature_fpArmv8,
+        &feature_zczFp,
         &feature_fuseAes,
         &feature_slowPaired128,
-        &feature_perfmon,
+        &feature_usePostraScheduler,
     },
 };
 
@@ -1398,19 +1321,19 @@ pub const cpu_exynosM3 = Cpu{
     .name = "exynosM3",
     .llvm_name = "exynos-m3",
     .dependencies = &[_]*const Feature {
-        &feature_fpArmv8,
-        &feature_fuseAddress,
         &feature_fuseLiterals,
-        &feature_usePostraScheduler,
-        &feature_crc,
-        &feature_lslFast,
+        &feature_predictableSelectExpensive,
         &feature_customCheapAsMove,
-        &feature_zczFp,
+        &feature_crc,
         &feature_force32bitJumpTables,
+        &feature_fuseAddress,
         &feature_fuseCsel,
-        &feature_fuseAes,
         &feature_perfmon,
-        &feature_predictableSelectExpensive,
+        &feature_fpArmv8,
+        &feature_zczFp,
+        &feature_fuseAes,
+        &feature_lslFast,
+        &feature_usePostraScheduler,
     },
 };
 
@@ -1418,31 +1341,31 @@ pub const cpu_exynosM4 = Cpu{
     .name = "exynosM4",
     .llvm_name = "exynos-m4",
     .dependencies = &[_]*const Feature {
+        &feature_arithCbzFusion,
+        &feature_customCheapAsMove,
+        &feature_lse,
+        &feature_zczFp,
+        &feature_lslFast,
+        &feature_lor,
+        &feature_fuseLiterals,
+        &feature_ccpp,
+        &feature_ras,
+        &feature_fpArmv8,
+        &feature_fuseAes,
         &feature_pan,
-        &feature_fuseAddress,
-        &feature_usePostraScheduler,
+        &feature_fuseArithLogic,
         &feature_crc,
-        &feature_customCheapAsMove,
         &feature_force32bitJumpTables,
-        &feature_uaops,
-        &feature_lor,
+        &feature_fuseAddress,
+        &feature_fuseCsel,
         &feature_arithBccFusion,
-        &feature_arithCbzFusion,
-        &feature_dotprod,
-        &feature_fuseArithLogic,
-        &feature_zczGp,
+        &feature_uaops,
         &feature_rdm,
-        &feature_fuseCsel,
+        &feature_zczGp,
         &feature_perfmon,
-        &feature_fpArmv8,
         &feature_vh,
-        &feature_fuseLiterals,
-        &feature_lse,
-        &feature_zczFp,
-        &feature_lslFast,
-        &feature_fuseAes,
-        &feature_ras,
-        &feature_ccpp,
+        &feature_usePostraScheduler,
+        &feature_dotprod,
     },
 };
 
@@ -1450,31 +1373,31 @@ pub const cpu_exynosM5 = Cpu{
     .name = "exynosM5",
     .llvm_name = "exynos-m5",
     .dependencies = &[_]*const Feature {
+        &feature_arithCbzFusion,
+        &feature_customCheapAsMove,
+        &feature_lse,
+        &feature_zczFp,
+        &feature_lslFast,
+        &feature_lor,
+        &feature_fuseLiterals,
+        &feature_ccpp,
+        &feature_ras,
+        &feature_fpArmv8,
+        &feature_fuseAes,
         &feature_pan,
-        &feature_fuseAddress,
-        &feature_usePostraScheduler,
+        &feature_fuseArithLogic,
         &feature_crc,
-        &feature_customCheapAsMove,
         &feature_force32bitJumpTables,
-        &feature_uaops,
-        &feature_lor,
+        &feature_fuseAddress,
+        &feature_fuseCsel,
         &feature_arithBccFusion,
-        &feature_arithCbzFusion,
-        &feature_dotprod,
-        &feature_fuseArithLogic,
-        &feature_zczGp,
+        &feature_uaops,
         &feature_rdm,
-        &feature_fuseCsel,
+        &feature_zczGp,
         &feature_perfmon,
-        &feature_fpArmv8,
         &feature_vh,
-        &feature_fuseLiterals,
-        &feature_lse,
-        &feature_zczFp,
-        &feature_lslFast,
-        &feature_fuseAes,
-        &feature_ras,
-        &feature_ccpp,
+        &feature_usePostraScheduler,
+        &feature_dotprod,
     },
 };
 
@@ -1482,17 +1405,17 @@ pub const cpu_falkor = Cpu{
     .name = "falkor",
     .llvm_name = "falkor",
     .dependencies = &[_]*const Feature {
-        &feature_fpArmv8,
-        &feature_usePostraScheduler,
-        &feature_crc,
-        &feature_lslFast,
+        &feature_predictableSelectExpensive,
         &feature_customCheapAsMove,
-        &feature_slowStrqroStore,
-        &feature_zczFp,
         &feature_rdm,
+        &feature_slowStrqroStore,
         &feature_zczGp,
+        &feature_crc,
         &feature_perfmon,
-        &feature_predictableSelectExpensive,
+        &feature_fpArmv8,
+        &feature_zczFp,
+        &feature_lslFast,
+        &feature_usePostraScheduler,
     },
 };
 
@@ -1500,8 +1423,6 @@ pub const cpu_generic = Cpu{
     .name = "generic",
     .llvm_name = "generic",
     .dependencies = &[_]*const Feature {
-        &feature_trbe,
-        &feature_ete,
         &feature_fpArmv8,
         &feature_fuseAes,
         &feature_neon,
@@ -1514,93 +1435,52 @@ pub const cpu_kryo = Cpu{
     .name = "kryo",
     .llvm_name = "kryo",
     .dependencies = &[_]*const Feature {
-        &feature_fpArmv8,
-        &feature_usePostraScheduler,
-        &feature_crc,
-        &feature_lslFast,
+        &feature_predictableSelectExpensive,
         &feature_customCheapAsMove,
-        &feature_zczFp,
         &feature_zczGp,
+        &feature_crc,
         &feature_perfmon,
-        &feature_predictableSelectExpensive,
+        &feature_fpArmv8,
+        &feature_zczFp,
+        &feature_lslFast,
+        &feature_usePostraScheduler,
     },
 };
 
-pub const cpu_neoverseE1 = Cpu{
-    .name = "neoverseE1",
-    .llvm_name = "neoverse-e1",
+pub const cpu_saphira = Cpu{
+    .name = "saphira",
+    .llvm_name = "saphira",
     .dependencies = &[_]*const Feature {
-        &feature_fpArmv8,
-        &feature_pan,
-        &feature_vh,
-        &feature_dotprod,
-        &feature_rcpc,
+        &feature_predictableSelectExpensive,
+        &feature_customCheapAsMove,
+        &feature_fmi,
         &feature_lse,
-        &feature_crc,
-        &feature_uaops,
-        &feature_rdm,
+        &feature_zczFp,
+        &feature_lslFast,
         &feature_lor,
-        &feature_ras,
-        &feature_ssbs,
+        &feature_dit,
+        &feature_pa,
         &feature_ccpp,
-    },
-};
-
-pub const cpu_neoverseN1 = Cpu{
-    .name = "neoverseN1",
-    .llvm_name = "neoverse-n1",
-    .dependencies = &[_]*const Feature {
+        &feature_sel2,
+        &feature_ras,
         &feature_fpArmv8,
+        &feature_ccidx,
         &feature_pan,
-        &feature_vh,
-        &feature_dotprod,
         &feature_rcpc,
-        &feature_lse,
         &feature_crc,
-        &feature_uaops,
-        &feature_rdm,
-        &feature_spe,
-        &feature_lor,
-        &feature_ras,
-        &feature_ssbs,
-        &feature_ccpp,
-    },
-};
-
-pub const cpu_saphira = Cpu{
-    .name = "saphira",
-    .llvm_name = "saphira",
-    .dependencies = &[_]*const Feature {
-        &feature_am,
-        &feature_pan,
-        &feature_usePostraScheduler,
         &feature_tracev84,
-        &feature_rcpc,
-        &feature_sel2,
-        &feature_crc,
-        &feature_customCheapAsMove,
+        &feature_mpam,
+        &feature_am,
+        &feature_nv,
         &feature_tlbRmi,
         &feature_uaops,
-        &feature_lor,
-        &feature_dotprod,
-        &feature_zczGp,
         &feature_rdm,
-        &feature_pa,
+        &feature_zczGp,
         &feature_perfmon,
-        &feature_fpArmv8,
         &feature_vh,
-        &feature_lse,
-        &feature_zczFp,
+        &feature_usePostraScheduler,
+        &feature_dotprod,
         &feature_spe,
-        &feature_predictableSelectExpensive,
-        &feature_fmi,
-        &feature_lslFast,
-        &feature_mpam,
-        &feature_dit,
-        &feature_nv,
-        &feature_ccidx,
-        &feature_ras,
-        &feature_ccpp,
     },
 };
 
@@ -1608,11 +1488,11 @@ pub const cpu_thunderx = Cpu{
     .name = "thunderx",
     .llvm_name = "thunderx",
     .dependencies = &[_]*const Feature {
-        &feature_fpArmv8,
-        &feature_usePostraScheduler,
+        &feature_predictableSelectExpensive,
         &feature_crc,
         &feature_perfmon,
-        &feature_predictableSelectExpensive,
+        &feature_fpArmv8,
+        &feature_usePostraScheduler,
     },
 };
 
@@ -1620,17 +1500,17 @@ pub const cpu_thunderx2t99 = Cpu{
     .name = "thunderx2t99",
     .llvm_name = "thunderx2t99",
     .dependencies = &[_]*const Feature {
+        &feature_predictableSelectExpensive,
+        &feature_aggressiveFma,
+        &feature_rdm,
+        &feature_lse,
+        &feature_crc,
         &feature_fpArmv8,
-        &feature_pan,
         &feature_vh,
-        &feature_usePostraScheduler,
-        &feature_crc,
-        &feature_lse,
-        &feature_rdm,
-        &feature_lor,
         &feature_arithBccFusion,
-        &feature_predictableSelectExpensive,
-        &feature_aggressiveFma,
+        &feature_lor,
+        &feature_usePostraScheduler,
+        &feature_pan,
     },
 };
 
@@ -1638,11 +1518,11 @@ pub const cpu_thunderxt81 = Cpu{
     .name = "thunderxt81",
     .llvm_name = "thunderxt81",
     .dependencies = &[_]*const Feature {
-        &feature_fpArmv8,
-        &feature_usePostraScheduler,
+        &feature_predictableSelectExpensive,
         &feature_crc,
         &feature_perfmon,
-        &feature_predictableSelectExpensive,
+        &feature_fpArmv8,
+        &feature_usePostraScheduler,
     },
 };
 
@@ -1650,11 +1530,11 @@ pub const cpu_thunderxt83 = Cpu{
     .name = "thunderxt83",
     .llvm_name = "thunderxt83",
     .dependencies = &[_]*const Feature {
-        &feature_fpArmv8,
-        &feature_usePostraScheduler,
+        &feature_predictableSelectExpensive,
         &feature_crc,
         &feature_perfmon,
-        &feature_predictableSelectExpensive,
+        &feature_fpArmv8,
+        &feature_usePostraScheduler,
     },
 };
 
@@ -1662,11 +1542,11 @@ pub const cpu_thunderxt88 = Cpu{
     .name = "thunderxt88",
     .llvm_name = "thunderxt88",
     .dependencies = &[_]*const Feature {
-        &feature_fpArmv8,
-        &feature_usePostraScheduler,
+        &feature_predictableSelectExpensive,
         &feature_crc,
         &feature_perfmon,
-        &feature_predictableSelectExpensive,
+        &feature_fpArmv8,
+        &feature_usePostraScheduler,
     },
 };
 
@@ -1674,22 +1554,22 @@ pub const cpu_tsv110 = Cpu{
     .name = "tsv110",
     .llvm_name = "tsv110",
     .dependencies = &[_]*const Feature {
-        &feature_fpArmv8,
-        &feature_pan,
-        &feature_vh,
-        &feature_usePostraScheduler,
-        &feature_dotprod,
-        &feature_lse,
-        &feature_crc,
+        &feature_ccpp,
         &feature_customCheapAsMove,
         &feature_uaops,
         &feature_rdm,
-        &feature_spe,
-        &feature_lor,
-        &feature_fuseAes,
         &feature_ras,
+        &feature_lse,
+        &feature_crc,
         &feature_perfmon,
-        &feature_ccpp,
+        &feature_fpArmv8,
+        &feature_vh,
+        &feature_fuseAes,
+        &feature_lor,
+        &feature_usePostraScheduler,
+        &feature_dotprod,
+        &feature_pan,
+        &feature_spe,
     },
 };
 
@@ -1699,8 +1579,6 @@ pub const cpus = &[_]*const Cpu {
     &cpu_cortexA53,
     &cpu_cortexA55,
     &cpu_cortexA57,
-    &cpu_cortexA65,
-    &cpu_cortexA65ae,
     &cpu_cortexA72,
     &cpu_cortexA73,
     &cpu_cortexA75,
@@ -1715,8 +1593,6 @@ pub const cpus = &[_]*const Cpu {
     &cpu_falkor,
     &cpu_generic,
     &cpu_kryo,
-    &cpu_neoverseE1,
-    &cpu_neoverseN1,
     &cpu_saphira,
     &cpu_thunderx,
     &cpu_thunderx2t99,
lib/std/target/amdgpu.zig
@@ -460,14 +460,6 @@ pub const feature_maiInsts = Feature{
     },
 };
 
-pub const feature_mfmaInlineLiteralBug = Feature{
-    .name = "mfmaInlineLiteralBug",
-    .llvm_name = "mfma-inline-literal-bug",
-    .description = "MFMA cannot use inline literal as SrcC",
-    .dependencies = &[_]*const Feature {
-    },
-};
-
 pub const feature_mimgR128 = Feature{
     .name = "mimgR128",
     .llvm_name = "mimg-r128",
@@ -886,7 +878,6 @@ pub const features = &[_]*const Feature {
     &feature_localmemorysize32768,
     &feature_localmemorysize65536,
     &feature_maiInsts,
-    &feature_mfmaInlineLiteralBug,
     &feature_mimgR128,
     &feature_madMixInsts,
     &feature_maxPrivateElementSize4,
@@ -941,15 +932,15 @@ pub const cpu_bonaire = Cpu{
         &feature_codeObjectV3,
         &feature_noXnackSupport,
         &feature_ldsbankcount32,
-        &feature_movrel,
         &feature_trigReducedRange,
+        &feature_gfx7Gfx8Gfx9Insts,
+        &feature_movrel,
+        &feature_flatAddressSpace,
         &feature_wavefrontsize64,
-        &feature_ciInsts,
         &feature_fp64,
-        &feature_gfx7Gfx8Gfx9Insts,
         &feature_mimgR128,
         &feature_noSramEccSupport,
-        &feature_flatAddressSpace,
+        &feature_ciInsts,
         &feature_localmemorysize65536,
     },
 };
@@ -962,28 +953,28 @@ pub const cpu_carrizo = Cpu{
         &feature_fastFmaf,
         &feature_ldsbankcount32,
         &feature_unpackedD16Vmem,
-        &feature_BitInsts16,
-        &feature_flatAddressSpace,
-        &feature_dpp,
-        &feature_sdwa,
-        &feature_mimgR128,
-        &feature_inv2piInlineImm,
-        &feature_sdwaOutModsVopc,
-        &feature_sMemrealtime,
         &feature_trigReducedRange,
         &feature_vgprIndexMode,
+        &feature_movrel,
         &feature_fp64,
+        &feature_gcn3Encoding,
+        &feature_mimgR128,
+        &feature_sdwa,
         &feature_gfx7Gfx8Gfx9Insts,
-        &feature_noSramEccSupport,
-        &feature_gfx8Insts,
-        &feature_localmemorysize65536,
-        &feature_movrel,
         &feature_intClampInsts,
-        &feature_sdwaMav,
-        &feature_wavefrontsize64,
         &feature_ciInsts,
+        &feature_sdwaOutModsVopc,
+        &feature_sMemrealtime,
+        &feature_flatAddressSpace,
+        &feature_inv2piInlineImm,
+        &feature_wavefrontsize64,
+        &feature_noSramEccSupport,
+        &feature_sdwaMav,
+        &feature_localmemorysize65536,
         &feature_scalarStores,
-        &feature_gcn3Encoding,
+        &feature_gfx8Insts,
+        &feature_dpp,
+        &feature_BitInsts16,
         &feature_xnack,
         &feature_halfRate64Ops,
     },
@@ -997,28 +988,28 @@ pub const cpu_fiji = Cpu{
         &feature_noXnackSupport,
         &feature_ldsbankcount32,
         &feature_unpackedD16Vmem,
-        &feature_BitInsts16,
-        &feature_flatAddressSpace,
-        &feature_dpp,
-        &feature_sdwa,
-        &feature_mimgR128,
-        &feature_inv2piInlineImm,
-        &feature_sdwaOutModsVopc,
-        &feature_sMemrealtime,
         &feature_trigReducedRange,
         &feature_vgprIndexMode,
+        &feature_movrel,
         &feature_fp64,
+        &feature_gcn3Encoding,
+        &feature_mimgR128,
+        &feature_sdwa,
         &feature_gfx7Gfx8Gfx9Insts,
-        &feature_noSramEccSupport,
-        &feature_gfx8Insts,
-        &feature_localmemorysize65536,
-        &feature_movrel,
         &feature_intClampInsts,
-        &feature_sdwaMav,
-        &feature_wavefrontsize64,
         &feature_ciInsts,
+        &feature_sdwaOutModsVopc,
+        &feature_sMemrealtime,
+        &feature_flatAddressSpace,
+        &feature_inv2piInlineImm,
+        &feature_wavefrontsize64,
+        &feature_noSramEccSupport,
+        &feature_sdwaMav,
+        &feature_localmemorysize65536,
         &feature_scalarStores,
-        &feature_gcn3Encoding,
+        &feature_gfx8Insts,
+        &feature_dpp,
+        &feature_BitInsts16,
     },
 };
 
@@ -1047,40 +1038,40 @@ pub const cpu_gfx1010 = Cpu{
         &feature_dlInsts,
         &feature_noXnackSupport,
         &feature_flatSegmentOffsetBug,
-        &feature_vop3Literal,
-        &feature_apertureRegs,
+        &feature_fmaMixInsts,
+        &feature_movrel,
+        &feature_registerBanking,
+        &feature_addNoCarryInsts,
+        &feature_fp64,
+        &feature_sdwaScalar,
         &feature_flatGlobalInsts,
-        &feature_gfx10Insts,
-        &feature_BitInsts16,
-        &feature_pkFmacF16Inst,
-        &feature_vop3p,
-        &feature_flatAddressSpace,
-        &feature_dpp,
-        &feature_inv2piInlineImm,
-        &feature_dpp8,
-        &feature_flatScratchInsts,
-        &feature_flatInstOffsets,
         &feature_mimgR128,
+        &feature_flatInstOffsets,
+        &feature_apertureRegs,
+        &feature_noSdstCmpx,
+        &feature_vop3p,
         &feature_sdwa,
-        &feature_fmaMixInsts,
+        &feature_intClampInsts,
+        &feature_sdwaSdst,
+        &feature_noDataDepHazard,
+        &feature_flatScratchInsts,
+        &feature_ciInsts,
         &feature_sMemrealtime,
-        &feature_vscnt,
+        &feature_pkFmacF16Inst,
+        &feature_dpp8,
+        &feature_flatAddressSpace,
+        &feature_inv2piInlineImm,
         &feature_fastFmaf,
-        &feature_registerBanking,
-        &feature_gfx9Insts,
-        &feature_sdwaSdst,
-        &feature_noSdstCmpx,
-        &feature_fp64,
         &feature_noSramEccSupport,
-        &feature_gfx8Insts,
+        &feature_gfx10Insts,
         &feature_localmemorysize65536,
-        &feature_movrel,
-        &feature_intClampInsts,
-        &feature_sdwaScalar,
+        &feature_gfx9Insts,
+        &feature_gfx8Insts,
+        &feature_dpp,
+        &feature_BitInsts16,
+        &feature_vop3Literal,
         &feature_sdwaOmod,
-        &feature_noDataDepHazard,
-        &feature_ciInsts,
-        &feature_addNoCarryInsts,
+        &feature_vscnt,
         &feature_instFwdPrefetchBug,
         &feature_ldsbankcount32,
         &feature_ldsBranchVmemWarHazard,
@@ -1111,40 +1102,40 @@ pub const cpu_gfx1011 = Cpu{
         &feature_dot5Insts,
         &feature_dot6Insts,
         &feature_flatSegmentOffsetBug,
-        &feature_vop3Literal,
-        &feature_apertureRegs,
+        &feature_fmaMixInsts,
+        &feature_movrel,
+        &feature_registerBanking,
+        &feature_addNoCarryInsts,
+        &feature_fp64,
+        &feature_sdwaScalar,
         &feature_flatGlobalInsts,
-        &feature_gfx10Insts,
-        &feature_BitInsts16,
-        &feature_pkFmacF16Inst,
-        &feature_vop3p,
-        &feature_flatAddressSpace,
-        &feature_dpp,
-        &feature_inv2piInlineImm,
-        &feature_dpp8,
-        &feature_flatScratchInsts,
-        &feature_flatInstOffsets,
         &feature_mimgR128,
+        &feature_flatInstOffsets,
+        &feature_apertureRegs,
+        &feature_noSdstCmpx,
+        &feature_vop3p,
         &feature_sdwa,
-        &feature_fmaMixInsts,
+        &feature_intClampInsts,
+        &feature_sdwaSdst,
+        &feature_noDataDepHazard,
+        &feature_flatScratchInsts,
+        &feature_ciInsts,
         &feature_sMemrealtime,
-        &feature_vscnt,
+        &feature_pkFmacF16Inst,
+        &feature_dpp8,
+        &feature_flatAddressSpace,
+        &feature_inv2piInlineImm,
         &feature_fastFmaf,
-        &feature_registerBanking,
-        &feature_gfx9Insts,
-        &feature_sdwaSdst,
-        &feature_noSdstCmpx,
-        &feature_fp64,
         &feature_noSramEccSupport,
-        &feature_gfx8Insts,
+        &feature_gfx10Insts,
         &feature_localmemorysize65536,
-        &feature_movrel,
-        &feature_intClampInsts,
-        &feature_sdwaScalar,
+        &feature_gfx9Insts,
+        &feature_gfx8Insts,
+        &feature_dpp,
+        &feature_BitInsts16,
+        &feature_vop3Literal,
         &feature_sdwaOmod,
-        &feature_noDataDepHazard,
-        &feature_ciInsts,
-        &feature_addNoCarryInsts,
+        &feature_vscnt,
         &feature_instFwdPrefetchBug,
         &feature_ldsbankcount32,
         &feature_ldsBranchVmemWarHazard,
@@ -1174,40 +1165,40 @@ pub const cpu_gfx1012 = Cpu{
         &feature_dot5Insts,
         &feature_dot6Insts,
         &feature_flatSegmentOffsetBug,
-        &feature_vop3Literal,
-        &feature_apertureRegs,
+        &feature_fmaMixInsts,
+        &feature_movrel,
+        &feature_registerBanking,
+        &feature_addNoCarryInsts,
+        &feature_fp64,
+        &feature_sdwaScalar,
         &feature_flatGlobalInsts,
-        &feature_gfx10Insts,
-        &feature_BitInsts16,
-        &feature_pkFmacF16Inst,
-        &feature_vop3p,
-        &feature_flatAddressSpace,
-        &feature_dpp,
-        &feature_inv2piInlineImm,
-        &feature_dpp8,
-        &feature_flatScratchInsts,
-        &feature_flatInstOffsets,
         &feature_mimgR128,
+        &feature_flatInstOffsets,
+        &feature_apertureRegs,
+        &feature_noSdstCmpx,
+        &feature_vop3p,
         &feature_sdwa,
-        &feature_fmaMixInsts,
+        &feature_intClampInsts,
+        &feature_sdwaSdst,
+        &feature_noDataDepHazard,
+        &feature_flatScratchInsts,
+        &feature_ciInsts,
         &feature_sMemrealtime,
-        &feature_vscnt,
+        &feature_pkFmacF16Inst,
+        &feature_dpp8,
+        &feature_flatAddressSpace,
+        &feature_inv2piInlineImm,
         &feature_fastFmaf,
-        &feature_registerBanking,
-        &feature_gfx9Insts,
-        &feature_sdwaSdst,
-        &feature_noSdstCmpx,
-        &feature_fp64,
         &feature_noSramEccSupport,
-        &feature_gfx8Insts,
+        &feature_gfx10Insts,
         &feature_localmemorysize65536,
-        &feature_movrel,
-        &feature_intClampInsts,
-        &feature_sdwaScalar,
+        &feature_gfx9Insts,
+        &feature_gfx8Insts,
+        &feature_dpp,
+        &feature_BitInsts16,
+        &feature_vop3Literal,
         &feature_sdwaOmod,
-        &feature_noDataDepHazard,
-        &feature_ciInsts,
-        &feature_addNoCarryInsts,
+        &feature_vscnt,
         &feature_instFwdPrefetchBug,
         &feature_ldsbankcount32,
         &feature_ldsBranchVmemWarHazard,
@@ -1234,13 +1225,13 @@ pub const cpu_gfx600 = Cpu{
         &feature_noXnackSupport,
         &feature_fastFmaf,
         &feature_ldsbankcount32,
-        &feature_movrel,
         &feature_trigReducedRange,
+        &feature_movrel,
         &feature_wavefrontsize64,
-        &feature_localmemorysize32768,
         &feature_fp64,
-        &feature_noSramEccSupport,
         &feature_mimgR128,
+        &feature_noSramEccSupport,
+        &feature_localmemorysize32768,
         &feature_halfRate64Ops,
     },
 };
@@ -1252,13 +1243,13 @@ pub const cpu_gfx601 = Cpu{
         &feature_codeObjectV3,
         &feature_noXnackSupport,
         &feature_ldsbankcount32,
-        &feature_movrel,
         &feature_trigReducedRange,
+        &feature_movrel,
         &feature_wavefrontsize64,
-        &feature_localmemorysize32768,
         &feature_fp64,
-        &feature_noSramEccSupport,
         &feature_mimgR128,
+        &feature_noSramEccSupport,
+        &feature_localmemorysize32768,
     },
 };
 
@@ -1269,15 +1260,15 @@ pub const cpu_gfx700 = Cpu{
         &feature_codeObjectV3,
         &feature_noXnackSupport,
         &feature_ldsbankcount32,
-        &feature_movrel,
         &feature_trigReducedRange,
+        &feature_gfx7Gfx8Gfx9Insts,
+        &feature_movrel,
+        &feature_flatAddressSpace,
         &feature_wavefrontsize64,
-        &feature_ciInsts,
         &feature_fp64,
-        &feature_gfx7Gfx8Gfx9Insts,
         &feature_mimgR128,
         &feature_noSramEccSupport,
-        &feature_flatAddressSpace,
+        &feature_ciInsts,
         &feature_localmemorysize65536,
     },
 };
@@ -1290,15 +1281,15 @@ pub const cpu_gfx701 = Cpu{
         &feature_noXnackSupport,
         &feature_fastFmaf,
         &feature_ldsbankcount32,
-        &feature_movrel,
         &feature_trigReducedRange,
+        &feature_gfx7Gfx8Gfx9Insts,
+        &feature_movrel,
+        &feature_flatAddressSpace,
         &feature_wavefrontsize64,
-        &feature_ciInsts,
         &feature_fp64,
-        &feature_gfx7Gfx8Gfx9Insts,
         &feature_mimgR128,
         &feature_noSramEccSupport,
-        &feature_flatAddressSpace,
+        &feature_ciInsts,
         &feature_localmemorysize65536,
         &feature_halfRate64Ops,
     },
@@ -1312,15 +1303,15 @@ pub const cpu_gfx702 = Cpu{
         &feature_noXnackSupport,
         &feature_fastFmaf,
         &feature_ldsbankcount16,
-        &feature_movrel,
         &feature_trigReducedRange,
+        &feature_gfx7Gfx8Gfx9Insts,
+        &feature_movrel,
+        &feature_flatAddressSpace,
         &feature_wavefrontsize64,
-        &feature_ciInsts,
         &feature_fp64,
-        &feature_gfx7Gfx8Gfx9Insts,
         &feature_mimgR128,
         &feature_noSramEccSupport,
-        &feature_flatAddressSpace,
+        &feature_ciInsts,
         &feature_localmemorysize65536,
     },
 };
@@ -1332,15 +1323,15 @@ pub const cpu_gfx703 = Cpu{
         &feature_codeObjectV3,
         &feature_noXnackSupport,
         &feature_ldsbankcount16,
-        &feature_movrel,
         &feature_trigReducedRange,
+        &feature_gfx7Gfx8Gfx9Insts,
+        &feature_movrel,
+        &feature_flatAddressSpace,
         &feature_wavefrontsize64,
-        &feature_ciInsts,
         &feature_fp64,
-        &feature_gfx7Gfx8Gfx9Insts,
         &feature_mimgR128,
         &feature_noSramEccSupport,
-        &feature_flatAddressSpace,
+        &feature_ciInsts,
         &feature_localmemorysize65536,
     },
 };
@@ -1352,15 +1343,15 @@ pub const cpu_gfx704 = Cpu{
         &feature_codeObjectV3,
         &feature_noXnackSupport,
         &feature_ldsbankcount32,
-        &feature_movrel,
         &feature_trigReducedRange,
+        &feature_gfx7Gfx8Gfx9Insts,
+        &feature_movrel,
+        &feature_flatAddressSpace,
         &feature_wavefrontsize64,
-        &feature_ciInsts,
         &feature_fp64,
-        &feature_gfx7Gfx8Gfx9Insts,
         &feature_mimgR128,
         &feature_noSramEccSupport,
-        &feature_flatAddressSpace,
+        &feature_ciInsts,
         &feature_localmemorysize65536,
     },
 };
@@ -1373,28 +1364,28 @@ pub const cpu_gfx801 = Cpu{
         &feature_fastFmaf,
         &feature_ldsbankcount32,
         &feature_unpackedD16Vmem,
-        &feature_BitInsts16,
-        &feature_flatAddressSpace,
-        &feature_dpp,
-        &feature_sdwa,
-        &feature_mimgR128,
-        &feature_inv2piInlineImm,
-        &feature_sdwaOutModsVopc,
-        &feature_sMemrealtime,
         &feature_trigReducedRange,
         &feature_vgprIndexMode,
+        &feature_movrel,
         &feature_fp64,
+        &feature_gcn3Encoding,
+        &feature_mimgR128,
+        &feature_sdwa,
         &feature_gfx7Gfx8Gfx9Insts,
-        &feature_noSramEccSupport,
-        &feature_gfx8Insts,
-        &feature_localmemorysize65536,
-        &feature_movrel,
         &feature_intClampInsts,
-        &feature_sdwaMav,
-        &feature_wavefrontsize64,
         &feature_ciInsts,
+        &feature_sdwaOutModsVopc,
+        &feature_sMemrealtime,
+        &feature_flatAddressSpace,
+        &feature_inv2piInlineImm,
+        &feature_wavefrontsize64,
+        &feature_noSramEccSupport,
+        &feature_sdwaMav,
+        &feature_localmemorysize65536,
         &feature_scalarStores,
-        &feature_gcn3Encoding,
+        &feature_gfx8Insts,
+        &feature_dpp,
+        &feature_BitInsts16,
         &feature_xnack,
         &feature_halfRate64Ops,
     },
@@ -1409,28 +1400,28 @@ pub const cpu_gfx802 = Cpu{
         &feature_ldsbankcount32,
         &feature_sgprInitBug,
         &feature_unpackedD16Vmem,
-        &feature_BitInsts16,
-        &feature_flatAddressSpace,
-        &feature_dpp,
-        &feature_sdwa,
-        &feature_mimgR128,
-        &feature_inv2piInlineImm,
-        &feature_sdwaOutModsVopc,
-        &feature_sMemrealtime,
         &feature_trigReducedRange,
         &feature_vgprIndexMode,
+        &feature_movrel,
         &feature_fp64,
+        &feature_gcn3Encoding,
+        &feature_mimgR128,
+        &feature_sdwa,
         &feature_gfx7Gfx8Gfx9Insts,
-        &feature_noSramEccSupport,
-        &feature_gfx8Insts,
-        &feature_localmemorysize65536,
-        &feature_movrel,
         &feature_intClampInsts,
-        &feature_sdwaMav,
-        &feature_wavefrontsize64,
         &feature_ciInsts,
+        &feature_sdwaOutModsVopc,
+        &feature_sMemrealtime,
+        &feature_flatAddressSpace,
+        &feature_inv2piInlineImm,
+        &feature_wavefrontsize64,
+        &feature_noSramEccSupport,
+        &feature_sdwaMav,
+        &feature_localmemorysize65536,
         &feature_scalarStores,
-        &feature_gcn3Encoding,
+        &feature_gfx8Insts,
+        &feature_dpp,
+        &feature_BitInsts16,
     },
 };
 
@@ -1442,28 +1433,28 @@ pub const cpu_gfx803 = Cpu{
         &feature_noXnackSupport,
         &feature_ldsbankcount32,
         &feature_unpackedD16Vmem,
-        &feature_BitInsts16,
-        &feature_flatAddressSpace,
-        &feature_dpp,
-        &feature_sdwa,
-        &feature_mimgR128,
-        &feature_inv2piInlineImm,
-        &feature_sdwaOutModsVopc,
-        &feature_sMemrealtime,
         &feature_trigReducedRange,
         &feature_vgprIndexMode,
+        &feature_movrel,
         &feature_fp64,
+        &feature_gcn3Encoding,
+        &feature_mimgR128,
+        &feature_sdwa,
         &feature_gfx7Gfx8Gfx9Insts,
-        &feature_noSramEccSupport,
-        &feature_gfx8Insts,
-        &feature_localmemorysize65536,
-        &feature_movrel,
         &feature_intClampInsts,
-        &feature_sdwaMav,
-        &feature_wavefrontsize64,
         &feature_ciInsts,
+        &feature_sdwaOutModsVopc,
+        &feature_sMemrealtime,
+        &feature_flatAddressSpace,
+        &feature_inv2piInlineImm,
+        &feature_wavefrontsize64,
+        &feature_noSramEccSupport,
+        &feature_sdwaMav,
+        &feature_localmemorysize65536,
         &feature_scalarStores,
-        &feature_gcn3Encoding,
+        &feature_gfx8Insts,
+        &feature_dpp,
+        &feature_BitInsts16,
     },
 };
 
@@ -1473,28 +1464,28 @@ pub const cpu_gfx810 = Cpu{
     .dependencies = &[_]*const Feature {
         &feature_codeObjectV3,
         &feature_ldsbankcount16,
-        &feature_BitInsts16,
-        &feature_flatAddressSpace,
-        &feature_dpp,
-        &feature_sdwa,
-        &feature_mimgR128,
-        &feature_inv2piInlineImm,
-        &feature_sdwaOutModsVopc,
-        &feature_sMemrealtime,
         &feature_trigReducedRange,
         &feature_vgprIndexMode,
+        &feature_movrel,
         &feature_fp64,
+        &feature_gcn3Encoding,
+        &feature_mimgR128,
+        &feature_sdwa,
         &feature_gfx7Gfx8Gfx9Insts,
-        &feature_noSramEccSupport,
-        &feature_gfx8Insts,
-        &feature_localmemorysize65536,
-        &feature_movrel,
         &feature_intClampInsts,
-        &feature_sdwaMav,
-        &feature_wavefrontsize64,
         &feature_ciInsts,
+        &feature_sdwaOutModsVopc,
+        &feature_sMemrealtime,
+        &feature_flatAddressSpace,
+        &feature_inv2piInlineImm,
+        &feature_wavefrontsize64,
+        &feature_noSramEccSupport,
+        &feature_sdwaMav,
+        &feature_localmemorysize65536,
         &feature_scalarStores,
-        &feature_gcn3Encoding,
+        &feature_gfx8Insts,
+        &feature_dpp,
+        &feature_BitInsts16,
         &feature_xnack,
     },
 };
@@ -1506,36 +1497,36 @@ pub const cpu_gfx900 = Cpu{
         &feature_codeObjectV3,
         &feature_noSramEccSupport,
         &feature_noXnackSupport,
-        &feature_apertureRegs,
+        &feature_vgprIndexMode,
+        &feature_addNoCarryInsts,
+        &feature_fp64,
+        &feature_gcn3Encoding,
+        &feature_sdwaScalar,
         &feature_flatGlobalInsts,
-        &feature_BitInsts16,
+        &feature_scalarFlatScratchInsts,
+        &feature_flatInstOffsets,
+        &feature_apertureRegs,
         &feature_vop3p,
-        &feature_flatAddressSpace,
-        &feature_dpp,
-        &feature_inv2piInlineImm,
         &feature_sdwa,
+        &feature_gfx7Gfx8Gfx9Insts,
+        &feature_intClampInsts,
+        &feature_sdwaSdst,
         &feature_flatScratchInsts,
-        &feature_flatInstOffsets,
-        &feature_scalarFlatScratchInsts,
+        &feature_ciInsts,
+        &feature_r128A16,
         &feature_sMemrealtime,
+        &feature_flatAddressSpace,
+        &feature_scalarAtomics,
+        &feature_inv2piInlineImm,
         &feature_fastFmaf,
+        &feature_wavefrontsize64,
+        &feature_localmemorysize65536,
+        &feature_scalarStores,
         &feature_gfx9Insts,
-        &feature_sdwaSdst,
-        &feature_vgprIndexMode,
-        &feature_fp64,
-        &feature_gfx7Gfx8Gfx9Insts,
         &feature_gfx8Insts,
-        &feature_localmemorysize65536,
-        &feature_intClampInsts,
-        &feature_sdwaScalar,
+        &feature_dpp,
+        &feature_BitInsts16,
         &feature_sdwaOmod,
-        &feature_scalarAtomics,
-        &feature_r128A16,
-        &feature_wavefrontsize64,
-        &feature_ciInsts,
-        &feature_scalarStores,
-        &feature_gcn3Encoding,
-        &feature_addNoCarryInsts,
         &feature_ldsbankcount32,
         &feature_madMixInsts,
     },
@@ -1547,36 +1538,36 @@ pub const cpu_gfx902 = Cpu{
     .dependencies = &[_]*const Feature {
         &feature_codeObjectV3,
         &feature_noSramEccSupport,
-        &feature_apertureRegs,
+        &feature_vgprIndexMode,
+        &feature_addNoCarryInsts,
+        &feature_fp64,
+        &feature_gcn3Encoding,
+        &feature_sdwaScalar,
         &feature_flatGlobalInsts,
-        &feature_BitInsts16,
+        &feature_scalarFlatScratchInsts,
+        &feature_flatInstOffsets,
+        &feature_apertureRegs,
         &feature_vop3p,
-        &feature_flatAddressSpace,
-        &feature_dpp,
-        &feature_inv2piInlineImm,
         &feature_sdwa,
+        &feature_gfx7Gfx8Gfx9Insts,
+        &feature_intClampInsts,
+        &feature_sdwaSdst,
         &feature_flatScratchInsts,
-        &feature_flatInstOffsets,
-        &feature_scalarFlatScratchInsts,
+        &feature_ciInsts,
+        &feature_r128A16,
         &feature_sMemrealtime,
+        &feature_flatAddressSpace,
+        &feature_scalarAtomics,
+        &feature_inv2piInlineImm,
         &feature_fastFmaf,
+        &feature_wavefrontsize64,
+        &feature_localmemorysize65536,
+        &feature_scalarStores,
         &feature_gfx9Insts,
-        &feature_sdwaSdst,
-        &feature_vgprIndexMode,
-        &feature_fp64,
-        &feature_gfx7Gfx8Gfx9Insts,
         &feature_gfx8Insts,
-        &feature_localmemorysize65536,
-        &feature_intClampInsts,
-        &feature_sdwaScalar,
+        &feature_dpp,
+        &feature_BitInsts16,
         &feature_sdwaOmod,
-        &feature_scalarAtomics,
-        &feature_r128A16,
-        &feature_wavefrontsize64,
-        &feature_ciInsts,
-        &feature_scalarStores,
-        &feature_gcn3Encoding,
-        &feature_addNoCarryInsts,
         &feature_ldsbankcount32,
         &feature_madMixInsts,
         &feature_xnack,
@@ -1591,36 +1582,36 @@ pub const cpu_gfx904 = Cpu{
         &feature_noSramEccSupport,
         &feature_noXnackSupport,
         &feature_fmaMixInsts,
-        &feature_apertureRegs,
+        &feature_vgprIndexMode,
+        &feature_addNoCarryInsts,
+        &feature_fp64,
+        &feature_gcn3Encoding,
+        &feature_sdwaScalar,
         &feature_flatGlobalInsts,
-        &feature_BitInsts16,
+        &feature_scalarFlatScratchInsts,
+        &feature_flatInstOffsets,
+        &feature_apertureRegs,
         &feature_vop3p,
-        &feature_flatAddressSpace,
-        &feature_dpp,
-        &feature_inv2piInlineImm,
         &feature_sdwa,
+        &feature_gfx7Gfx8Gfx9Insts,
+        &feature_intClampInsts,
+        &feature_sdwaSdst,
         &feature_flatScratchInsts,
-        &feature_flatInstOffsets,
-        &feature_scalarFlatScratchInsts,
+        &feature_ciInsts,
+        &feature_r128A16,
         &feature_sMemrealtime,
+        &feature_flatAddressSpace,
+        &feature_scalarAtomics,
+        &feature_inv2piInlineImm,
         &feature_fastFmaf,
+        &feature_wavefrontsize64,
+        &feature_localmemorysize65536,
+        &feature_scalarStores,
         &feature_gfx9Insts,
-        &feature_sdwaSdst,
-        &feature_vgprIndexMode,
-        &feature_fp64,
-        &feature_gfx7Gfx8Gfx9Insts,
         &feature_gfx8Insts,
-        &feature_localmemorysize65536,
-        &feature_intClampInsts,
-        &feature_sdwaScalar,
+        &feature_dpp,
+        &feature_BitInsts16,
         &feature_sdwaOmod,
-        &feature_scalarAtomics,
-        &feature_r128A16,
-        &feature_wavefrontsize64,
-        &feature_ciInsts,
-        &feature_scalarStores,
-        &feature_gcn3Encoding,
-        &feature_addNoCarryInsts,
         &feature_ldsbankcount32,
     },
 };
@@ -1635,36 +1626,36 @@ pub const cpu_gfx906 = Cpu{
         &feature_dot1Insts,
         &feature_dot2Insts,
         &feature_fmaMixInsts,
-        &feature_apertureRegs,
+        &feature_vgprIndexMode,
+        &feature_addNoCarryInsts,
+        &feature_fp64,
+        &feature_gcn3Encoding,
+        &feature_sdwaScalar,
         &feature_flatGlobalInsts,
-        &feature_BitInsts16,
+        &feature_scalarFlatScratchInsts,
+        &feature_flatInstOffsets,
+        &feature_apertureRegs,
         &feature_vop3p,
-        &feature_flatAddressSpace,
-        &feature_dpp,
-        &feature_inv2piInlineImm,
         &feature_sdwa,
+        &feature_gfx7Gfx8Gfx9Insts,
+        &feature_intClampInsts,
+        &feature_sdwaSdst,
         &feature_flatScratchInsts,
-        &feature_flatInstOffsets,
-        &feature_scalarFlatScratchInsts,
+        &feature_ciInsts,
+        &feature_r128A16,
         &feature_sMemrealtime,
+        &feature_flatAddressSpace,
+        &feature_scalarAtomics,
+        &feature_inv2piInlineImm,
         &feature_fastFmaf,
+        &feature_wavefrontsize64,
+        &feature_localmemorysize65536,
+        &feature_scalarStores,
         &feature_gfx9Insts,
-        &feature_sdwaSdst,
-        &feature_vgprIndexMode,
-        &feature_fp64,
-        &feature_gfx7Gfx8Gfx9Insts,
         &feature_gfx8Insts,
-        &feature_localmemorysize65536,
-        &feature_intClampInsts,
-        &feature_sdwaScalar,
+        &feature_dpp,
+        &feature_BitInsts16,
         &feature_sdwaOmod,
-        &feature_scalarAtomics,
-        &feature_r128A16,
-        &feature_wavefrontsize64,
-        &feature_ciInsts,
-        &feature_scalarStores,
-        &feature_gcn3Encoding,
-        &feature_addNoCarryInsts,
         &feature_ldsbankcount32,
         &feature_halfRate64Ops,
     },
@@ -1684,39 +1675,38 @@ pub const cpu_gfx908 = Cpu{
         &feature_dot5Insts,
         &feature_dot6Insts,
         &feature_fmaMixInsts,
-        &feature_apertureRegs,
+        &feature_vgprIndexMode,
+        &feature_addNoCarryInsts,
+        &feature_fp64,
+        &feature_gcn3Encoding,
+        &feature_sdwaScalar,
         &feature_flatGlobalInsts,
-        &feature_BitInsts16,
+        &feature_scalarFlatScratchInsts,
+        &feature_flatInstOffsets,
+        &feature_apertureRegs,
         &feature_vop3p,
-        &feature_flatAddressSpace,
-        &feature_dpp,
-        &feature_inv2piInlineImm,
         &feature_sdwa,
-        &feature_flatScratchInsts,
-        &feature_flatInstOffsets,
-        &feature_scalarFlatScratchInsts,
-        &feature_sMemrealtime,
-        &feature_fastFmaf,
-        &feature_gfx9Insts,
-        &feature_sdwaSdst,
-        &feature_vgprIndexMode,
-        &feature_fp64,
         &feature_gfx7Gfx8Gfx9Insts,
-        &feature_gfx8Insts,
-        &feature_localmemorysize65536,
         &feature_intClampInsts,
-        &feature_sdwaScalar,
-        &feature_sdwaOmod,
-        &feature_scalarAtomics,
+        &feature_sdwaSdst,
+        &feature_flatScratchInsts,
+        &feature_ciInsts,
         &feature_r128A16,
+        &feature_sMemrealtime,
+        &feature_flatAddressSpace,
+        &feature_scalarAtomics,
+        &feature_inv2piInlineImm,
+        &feature_fastFmaf,
         &feature_wavefrontsize64,
-        &feature_ciInsts,
+        &feature_localmemorysize65536,
         &feature_scalarStores,
-        &feature_gcn3Encoding,
-        &feature_addNoCarryInsts,
+        &feature_gfx9Insts,
+        &feature_gfx8Insts,
+        &feature_dpp,
+        &feature_BitInsts16,
+        &feature_sdwaOmod,
         &feature_ldsbankcount32,
         &feature_maiInsts,
-        &feature_mfmaInlineLiteralBug,
         &feature_pkFmacF16Inst,
         &feature_sramEcc,
         &feature_halfRate64Ops,
@@ -1728,36 +1718,36 @@ pub const cpu_gfx909 = Cpu{
     .llvm_name = "gfx909",
     .dependencies = &[_]*const Feature {
         &feature_codeObjectV3,
-        &feature_apertureRegs,
+        &feature_vgprIndexMode,
+        &feature_addNoCarryInsts,
+        &feature_fp64,
+        &feature_gcn3Encoding,
+        &feature_sdwaScalar,
         &feature_flatGlobalInsts,
-        &feature_BitInsts16,
+        &feature_scalarFlatScratchInsts,
+        &feature_flatInstOffsets,
+        &feature_apertureRegs,
         &feature_vop3p,
-        &feature_flatAddressSpace,
-        &feature_dpp,
-        &feature_inv2piInlineImm,
         &feature_sdwa,
+        &feature_gfx7Gfx8Gfx9Insts,
+        &feature_intClampInsts,
+        &feature_sdwaSdst,
         &feature_flatScratchInsts,
-        &feature_flatInstOffsets,
-        &feature_scalarFlatScratchInsts,
+        &feature_ciInsts,
+        &feature_r128A16,
         &feature_sMemrealtime,
+        &feature_flatAddressSpace,
+        &feature_scalarAtomics,
+        &feature_inv2piInlineImm,
         &feature_fastFmaf,
+        &feature_wavefrontsize64,
+        &feature_localmemorysize65536,
+        &feature_scalarStores,
         &feature_gfx9Insts,
-        &feature_sdwaSdst,
-        &feature_vgprIndexMode,
-        &feature_fp64,
-        &feature_gfx7Gfx8Gfx9Insts,
         &feature_gfx8Insts,
-        &feature_localmemorysize65536,
-        &feature_intClampInsts,
-        &feature_sdwaScalar,
+        &feature_dpp,
+        &feature_BitInsts16,
         &feature_sdwaOmod,
-        &feature_scalarAtomics,
-        &feature_r128A16,
-        &feature_wavefrontsize64,
-        &feature_ciInsts,
-        &feature_scalarStores,
-        &feature_gcn3Encoding,
-        &feature_addNoCarryInsts,
         &feature_ldsbankcount32,
         &feature_madMixInsts,
         &feature_xnack,
@@ -1771,13 +1761,13 @@ pub const cpu_hainan = Cpu{
         &feature_codeObjectV3,
         &feature_noXnackSupport,
         &feature_ldsbankcount32,
-        &feature_movrel,
         &feature_trigReducedRange,
+        &feature_movrel,
         &feature_wavefrontsize64,
-        &feature_localmemorysize32768,
         &feature_fp64,
-        &feature_noSramEccSupport,
         &feature_mimgR128,
+        &feature_noSramEccSupport,
+        &feature_localmemorysize32768,
     },
 };
 
@@ -1789,15 +1779,15 @@ pub const cpu_hawaii = Cpu{
         &feature_noXnackSupport,
         &feature_fastFmaf,
         &feature_ldsbankcount32,
-        &feature_movrel,
         &feature_trigReducedRange,
+        &feature_gfx7Gfx8Gfx9Insts,
+        &feature_movrel,
+        &feature_flatAddressSpace,
         &feature_wavefrontsize64,
-        &feature_ciInsts,
         &feature_fp64,
-        &feature_gfx7Gfx8Gfx9Insts,
         &feature_mimgR128,
         &feature_noSramEccSupport,
-        &feature_flatAddressSpace,
+        &feature_ciInsts,
         &feature_localmemorysize65536,
         &feature_halfRate64Ops,
     },
@@ -1812,28 +1802,28 @@ pub const cpu_iceland = Cpu{
         &feature_ldsbankcount32,
         &feature_sgprInitBug,
         &feature_unpackedD16Vmem,
-        &feature_BitInsts16,
-        &feature_flatAddressSpace,
-        &feature_dpp,
-        &feature_sdwa,
-        &feature_mimgR128,
-        &feature_inv2piInlineImm,
-        &feature_sdwaOutModsVopc,
-        &feature_sMemrealtime,
         &feature_trigReducedRange,
         &feature_vgprIndexMode,
+        &feature_movrel,
         &feature_fp64,
+        &feature_gcn3Encoding,
+        &feature_mimgR128,
+        &feature_sdwa,
         &feature_gfx7Gfx8Gfx9Insts,
-        &feature_noSramEccSupport,
-        &feature_gfx8Insts,
-        &feature_localmemorysize65536,
-        &feature_movrel,
         &feature_intClampInsts,
-        &feature_sdwaMav,
-        &feature_wavefrontsize64,
         &feature_ciInsts,
+        &feature_sdwaOutModsVopc,
+        &feature_sMemrealtime,
+        &feature_flatAddressSpace,
+        &feature_inv2piInlineImm,
+        &feature_wavefrontsize64,
+        &feature_noSramEccSupport,
+        &feature_sdwaMav,
+        &feature_localmemorysize65536,
         &feature_scalarStores,
-        &feature_gcn3Encoding,
+        &feature_gfx8Insts,
+        &feature_dpp,
+        &feature_BitInsts16,
     },
 };
 
@@ -1844,15 +1834,15 @@ pub const cpu_kabini = Cpu{
         &feature_codeObjectV3,
         &feature_noXnackSupport,
         &feature_ldsbankcount16,
-        &feature_movrel,
         &feature_trigReducedRange,
+        &feature_gfx7Gfx8Gfx9Insts,
+        &feature_movrel,
+        &feature_flatAddressSpace,
         &feature_wavefrontsize64,
-        &feature_ciInsts,
         &feature_fp64,
-        &feature_gfx7Gfx8Gfx9Insts,
         &feature_mimgR128,
         &feature_noSramEccSupport,
-        &feature_flatAddressSpace,
+        &feature_ciInsts,
         &feature_localmemorysize65536,
     },
 };
@@ -1864,15 +1854,15 @@ pub const cpu_kaveri = Cpu{
         &feature_codeObjectV3,
         &feature_noXnackSupport,
         &feature_ldsbankcount32,
-        &feature_movrel,
         &feature_trigReducedRange,
+        &feature_gfx7Gfx8Gfx9Insts,
+        &feature_movrel,
+        &feature_flatAddressSpace,
         &feature_wavefrontsize64,
-        &feature_ciInsts,
         &feature_fp64,
-        &feature_gfx7Gfx8Gfx9Insts,
         &feature_mimgR128,
         &feature_noSramEccSupport,
-        &feature_flatAddressSpace,
+        &feature_ciInsts,
         &feature_localmemorysize65536,
     },
 };
@@ -1884,15 +1874,15 @@ pub const cpu_mullins = Cpu{
         &feature_codeObjectV3,
         &feature_noXnackSupport,
         &feature_ldsbankcount16,
-        &feature_movrel,
         &feature_trigReducedRange,
+        &feature_gfx7Gfx8Gfx9Insts,
+        &feature_movrel,
+        &feature_flatAddressSpace,
         &feature_wavefrontsize64,
-        &feature_ciInsts,
         &feature_fp64,
-        &feature_gfx7Gfx8Gfx9Insts,
         &feature_mimgR128,
         &feature_noSramEccSupport,
-        &feature_flatAddressSpace,
+        &feature_ciInsts,
         &feature_localmemorysize65536,
     },
 };
@@ -1904,13 +1894,13 @@ pub const cpu_oland = Cpu{
         &feature_codeObjectV3,
         &feature_noXnackSupport,
         &feature_ldsbankcount32,
-        &feature_movrel,
         &feature_trigReducedRange,
+        &feature_movrel,
         &feature_wavefrontsize64,
-        &feature_localmemorysize32768,
         &feature_fp64,
-        &feature_noSramEccSupport,
         &feature_mimgR128,
+        &feature_noSramEccSupport,
+        &feature_localmemorysize32768,
     },
 };
 
@@ -1921,13 +1911,13 @@ pub const cpu_pitcairn = Cpu{
         &feature_codeObjectV3,
         &feature_noXnackSupport,
         &feature_ldsbankcount32,
-        &feature_movrel,
         &feature_trigReducedRange,
+        &feature_movrel,
         &feature_wavefrontsize64,
-        &feature_localmemorysize32768,
         &feature_fp64,
-        &feature_noSramEccSupport,
         &feature_mimgR128,
+        &feature_noSramEccSupport,
+        &feature_localmemorysize32768,
     },
 };
 
@@ -1939,28 +1929,28 @@ pub const cpu_polaris10 = Cpu{
         &feature_noXnackSupport,
         &feature_ldsbankcount32,
         &feature_unpackedD16Vmem,
-        &feature_BitInsts16,
-        &feature_flatAddressSpace,
-        &feature_dpp,
-        &feature_sdwa,
-        &feature_mimgR128,
-        &feature_inv2piInlineImm,
-        &feature_sdwaOutModsVopc,
-        &feature_sMemrealtime,
         &feature_trigReducedRange,
         &feature_vgprIndexMode,
+        &feature_movrel,
         &feature_fp64,
+        &feature_gcn3Encoding,
+        &feature_mimgR128,
+        &feature_sdwa,
         &feature_gfx7Gfx8Gfx9Insts,
-        &feature_noSramEccSupport,
-        &feature_gfx8Insts,
-        &feature_localmemorysize65536,
-        &feature_movrel,
         &feature_intClampInsts,
-        &feature_sdwaMav,
-        &feature_wavefrontsize64,
         &feature_ciInsts,
+        &feature_sdwaOutModsVopc,
+        &feature_sMemrealtime,
+        &feature_flatAddressSpace,
+        &feature_inv2piInlineImm,
+        &feature_wavefrontsize64,
+        &feature_noSramEccSupport,
+        &feature_sdwaMav,
+        &feature_localmemorysize65536,
         &feature_scalarStores,
-        &feature_gcn3Encoding,
+        &feature_gfx8Insts,
+        &feature_dpp,
+        &feature_BitInsts16,
     },
 };
 
@@ -1972,28 +1962,28 @@ pub const cpu_polaris11 = Cpu{
         &feature_noXnackSupport,
         &feature_ldsbankcount32,
         &feature_unpackedD16Vmem,
-        &feature_BitInsts16,
-        &feature_flatAddressSpace,
-        &feature_dpp,
-        &feature_sdwa,
-        &feature_mimgR128,
-        &feature_inv2piInlineImm,
-        &feature_sdwaOutModsVopc,
-        &feature_sMemrealtime,
         &feature_trigReducedRange,
         &feature_vgprIndexMode,
+        &feature_movrel,
         &feature_fp64,
+        &feature_gcn3Encoding,
+        &feature_mimgR128,
+        &feature_sdwa,
         &feature_gfx7Gfx8Gfx9Insts,
-        &feature_noSramEccSupport,
-        &feature_gfx8Insts,
-        &feature_localmemorysize65536,
-        &feature_movrel,
         &feature_intClampInsts,
-        &feature_sdwaMav,
-        &feature_wavefrontsize64,
         &feature_ciInsts,
+        &feature_sdwaOutModsVopc,
+        &feature_sMemrealtime,
+        &feature_flatAddressSpace,
+        &feature_inv2piInlineImm,
+        &feature_wavefrontsize64,
+        &feature_noSramEccSupport,
+        &feature_sdwaMav,
+        &feature_localmemorysize65536,
         &feature_scalarStores,
-        &feature_gcn3Encoding,
+        &feature_gfx8Insts,
+        &feature_dpp,
+        &feature_BitInsts16,
     },
 };
 
@@ -2003,28 +1993,28 @@ pub const cpu_stoney = Cpu{
     .dependencies = &[_]*const Feature {
         &feature_codeObjectV3,
         &feature_ldsbankcount16,
-        &feature_BitInsts16,
-        &feature_flatAddressSpace,
-        &feature_dpp,
-        &feature_sdwa,
-        &feature_mimgR128,
-        &feature_inv2piInlineImm,
-        &feature_sdwaOutModsVopc,
-        &feature_sMemrealtime,
         &feature_trigReducedRange,
         &feature_vgprIndexMode,
+        &feature_movrel,
         &feature_fp64,
+        &feature_gcn3Encoding,
+        &feature_mimgR128,
+        &feature_sdwa,
         &feature_gfx7Gfx8Gfx9Insts,
-        &feature_noSramEccSupport,
-        &feature_gfx8Insts,
-        &feature_localmemorysize65536,
-        &feature_movrel,
         &feature_intClampInsts,
-        &feature_sdwaMav,
-        &feature_wavefrontsize64,
         &feature_ciInsts,
+        &feature_sdwaOutModsVopc,
+        &feature_sMemrealtime,
+        &feature_flatAddressSpace,
+        &feature_inv2piInlineImm,
+        &feature_wavefrontsize64,
+        &feature_noSramEccSupport,
+        &feature_sdwaMav,
+        &feature_localmemorysize65536,
         &feature_scalarStores,
-        &feature_gcn3Encoding,
+        &feature_gfx8Insts,
+        &feature_dpp,
+        &feature_BitInsts16,
         &feature_xnack,
     },
 };
@@ -2037,13 +2027,13 @@ pub const cpu_tahiti = Cpu{
         &feature_noXnackSupport,
         &feature_fastFmaf,
         &feature_ldsbankcount32,
-        &feature_movrel,
         &feature_trigReducedRange,
+        &feature_movrel,
         &feature_wavefrontsize64,
-        &feature_localmemorysize32768,
         &feature_fp64,
-        &feature_noSramEccSupport,
         &feature_mimgR128,
+        &feature_noSramEccSupport,
+        &feature_localmemorysize32768,
         &feature_halfRate64Ops,
     },
 };
@@ -2057,28 +2047,28 @@ pub const cpu_tonga = Cpu{
         &feature_ldsbankcount32,
         &feature_sgprInitBug,
         &feature_unpackedD16Vmem,
-        &feature_BitInsts16,
-        &feature_flatAddressSpace,
-        &feature_dpp,
-        &feature_sdwa,
-        &feature_mimgR128,
-        &feature_inv2piInlineImm,
-        &feature_sdwaOutModsVopc,
-        &feature_sMemrealtime,
         &feature_trigReducedRange,
         &feature_vgprIndexMode,
+        &feature_movrel,
         &feature_fp64,
+        &feature_gcn3Encoding,
+        &feature_mimgR128,
+        &feature_sdwa,
         &feature_gfx7Gfx8Gfx9Insts,
-        &feature_noSramEccSupport,
-        &feature_gfx8Insts,
-        &feature_localmemorysize65536,
-        &feature_movrel,
         &feature_intClampInsts,
-        &feature_sdwaMav,
-        &feature_wavefrontsize64,
         &feature_ciInsts,
+        &feature_sdwaOutModsVopc,
+        &feature_sMemrealtime,
+        &feature_flatAddressSpace,
+        &feature_inv2piInlineImm,
+        &feature_wavefrontsize64,
+        &feature_noSramEccSupport,
+        &feature_sdwaMav,
+        &feature_localmemorysize65536,
         &feature_scalarStores,
-        &feature_gcn3Encoding,
+        &feature_gfx8Insts,
+        &feature_dpp,
+        &feature_BitInsts16,
     },
 };
 
@@ -2089,13 +2079,13 @@ pub const cpu_verde = Cpu{
         &feature_codeObjectV3,
         &feature_noXnackSupport,
         &feature_ldsbankcount32,
-        &feature_movrel,
         &feature_trigReducedRange,
+        &feature_movrel,
         &feature_wavefrontsize64,
-        &feature_localmemorysize32768,
         &feature_fp64,
-        &feature_noSramEccSupport,
         &feature_mimgR128,
+        &feature_noSramEccSupport,
+        &feature_localmemorysize32768,
     },
 };
 
lib/std/target/arm.zig
@@ -22,8 +22,8 @@ pub const feature_aes = Feature{
     .llvm_name = "aes",
     .description = "Enable AES support",
     .dependencies = &[_]*const Feature {
-        &feature_d32,
         &feature_fpregs,
+        &feature_d32,
     },
 };
 
@@ -130,8 +130,8 @@ pub const feature_dotprod = Feature{
     .llvm_name = "dotprod",
     .description = "Enable support for dot product instructions",
     .dependencies = &[_]*const Feature {
-        &feature_d32,
         &feature_fpregs,
+        &feature_d32,
     },
 };
 
@@ -164,8 +164,8 @@ pub const feature_fp16fml = Feature{
     .llvm_name = "fp16fml",
     .description = "Enable full half-precision floating point fml instructions",
     .dependencies = &[_]*const Feature {
-        &feature_fpregs,
         &feature_fp16,
+        &feature_fpregs,
     },
 };
 
@@ -191,9 +191,9 @@ pub const feature_fpArmv8 = Feature{
     .llvm_name = "fp-armv8",
     .description = "Enable ARMv8 FP",
     .dependencies = &[_]*const Feature {
+        &feature_fp16,
         &feature_d32,
         &feature_fpregs,
-        &feature_fp16,
     },
 };
 
@@ -202,8 +202,8 @@ pub const feature_fpArmv8d16 = Feature{
     .llvm_name = "fp-armv8d16",
     .description = "Enable ARMv8 FP with only 16 d-registers",
     .dependencies = &[_]*const Feature {
-        &feature_fpregs,
         &feature_fp16,
+        &feature_fpregs,
     },
 };
 
@@ -212,8 +212,8 @@ pub const feature_fpArmv8d16sp = Feature{
     .llvm_name = "fp-armv8d16sp",
     .description = "Enable ARMv8 FP with only 16 d-registers and no double precision",
     .dependencies = &[_]*const Feature {
-        &feature_fpregs,
         &feature_fp16,
+        &feature_fpregs,
     },
 };
 
@@ -222,9 +222,9 @@ pub const feature_fpArmv8sp = Feature{
     .llvm_name = "fp-armv8sp",
     .description = "Enable ARMv8 FP with no double precision",
     .dependencies = &[_]*const Feature {
-        &feature_d32,
-        &feature_fpregs,
         &feature_fp16,
+        &feature_fpregs,
+        &feature_d32,
     },
 };
 
@@ -259,8 +259,8 @@ pub const feature_fullfp16 = Feature{
     .llvm_name = "fullfp16",
     .description = "Enable full half-precision floating point",
     .dependencies = &[_]*const Feature {
-        &feature_fpregs,
         &feature_fp16,
+        &feature_fpregs,
     },
 };
 
@@ -360,30 +360,6 @@ pub const feature_mp = Feature{
     },
 };
 
-pub const feature_mve1beat = Feature{
-    .name = "mve1beat",
-    .llvm_name = "mve1beat",
-    .description = "Model MVE instructions as a 1 beat per tick architecture",
-    .dependencies = &[_]*const Feature {
-    },
-};
-
-pub const feature_mve2beat = Feature{
-    .name = "mve2beat",
-    .llvm_name = "mve2beat",
-    .description = "Model MVE instructions as a 2 beats per tick architecture",
-    .dependencies = &[_]*const Feature {
-    },
-};
-
-pub const feature_mve4beat = Feature{
-    .name = "mve4beat",
-    .llvm_name = "mve4beat",
-    .description = "Model MVE instructions as a 4 beats per tick architecture",
-    .dependencies = &[_]*const Feature {
-    },
-};
-
 pub const feature_muxedUnits = Feature{
     .name = "muxedUnits",
     .llvm_name = "muxed-units",
@@ -559,8 +535,8 @@ pub const feature_sha2 = Feature{
     .llvm_name = "sha2",
     .description = "Enable SHA1 and SHA256 support",
     .dependencies = &[_]*const Feature {
-        &feature_d32,
         &feature_fpregs,
+        &feature_d32,
     },
 };
 
@@ -673,6 +649,25 @@ pub const feature_vfp2 = Feature{
     .name = "vfp2",
     .llvm_name = "vfp2",
     .description = "Enable VFP2 instructions",
+    .dependencies = &[_]*const Feature {
+        &feature_d32,
+        &feature_fpregs,
+    },
+};
+
+pub const feature_vfp2d16 = Feature{
+    .name = "vfp2d16",
+    .llvm_name = "vfp2d16",
+    .description = "Enable VFP2 instructions with only 16 d-registers",
+    .dependencies = &[_]*const Feature {
+        &feature_fpregs,
+    },
+};
+
+pub const feature_vfp2d16sp = Feature{
+    .name = "vfp2d16sp",
+    .llvm_name = "vfp2d16sp",
+    .description = "Enable VFP2 instructions with only 16 d-registers and no double precision",
     .dependencies = &[_]*const Feature {
         &feature_fpregs,
     },
@@ -684,6 +679,7 @@ pub const feature_vfp2sp = Feature{
     .description = "Enable VFP2 instructions with no double precision",
     .dependencies = &[_]*const Feature {
         &feature_fpregs,
+        &feature_d32,
     },
 };
 
@@ -692,8 +688,8 @@ pub const feature_vfp3 = Feature{
     .llvm_name = "vfp3",
     .description = "Enable VFP3 instructions",
     .dependencies = &[_]*const Feature {
-        &feature_d32,
         &feature_fpregs,
+        &feature_d32,
     },
 };
 
@@ -720,8 +716,8 @@ pub const feature_vfp3sp = Feature{
     .llvm_name = "vfp3sp",
     .description = "Enable VFP3 instructions with no double precision",
     .dependencies = &[_]*const Feature {
-        &feature_d32,
         &feature_fpregs,
+        &feature_d32,
     },
 };
 
@@ -730,9 +726,9 @@ pub const feature_vfp4 = Feature{
     .llvm_name = "vfp4",
     .description = "Enable VFP4 instructions",
     .dependencies = &[_]*const Feature {
-        &feature_fpregs,
-        &feature_d32,
         &feature_fp16,
+        &feature_d32,
+        &feature_fpregs,
     },
 };
 
@@ -741,8 +737,8 @@ pub const feature_vfp4d16 = Feature{
     .llvm_name = "vfp4d16",
     .description = "Enable VFP4 instructions with only 16 d-registers",
     .dependencies = &[_]*const Feature {
-        &feature_fpregs,
         &feature_fp16,
+        &feature_fpregs,
     },
 };
 
@@ -751,8 +747,8 @@ pub const feature_vfp4d16sp = Feature{
     .llvm_name = "vfp4d16sp",
     .description = "Enable VFP4 instructions with only 16 d-registers and no double precision",
     .dependencies = &[_]*const Feature {
-        &feature_fpregs,
         &feature_fp16,
+        &feature_fpregs,
     },
 };
 
@@ -761,9 +757,9 @@ pub const feature_vfp4sp = Feature{
     .llvm_name = "vfp4sp",
     .description = "Enable VFP4 instructions with no double precision",
     .dependencies = &[_]*const Feature {
+        &feature_fp16,
         &feature_fpregs,
         &feature_d32,
-        &feature_fp16,
     },
 };
 
@@ -836,9 +832,6 @@ pub const features = &[_]*const Feature {
     &feature_longCalls,
     &feature_mclass,
     &feature_mp,
-    &feature_mve1beat,
-    &feature_mve2beat,
-    &feature_mve4beat,
     &feature_muxedUnits,
     &feature_neon,
     &feature_neonfp,
@@ -875,6 +868,8 @@ pub const features = &[_]*const Feature {
     &feature_wideStrideVfp,
     &feature_v7clrex,
     &feature_vfp2,
+    &feature_vfp2d16,
+    &feature_vfp2d16sp,
     &feature_vfp2sp,
     &feature_vfp3,
     &feature_vfp3d16,
@@ -938,6 +933,7 @@ pub const cpu_arm1136jfS = Cpu{
     .dependencies = &[_]*const Feature {
         &feature_dsp,
         &feature_slowfpvmlx,
+        &feature_d32,
         &feature_fpregs,
         &feature_vfp2,
     },
@@ -947,8 +943,8 @@ pub const cpu_arm1156t2S = Cpu{
     .name = "arm1156t2S",
     .llvm_name = "arm1156t2-s",
     .dependencies = &[_]*const Feature {
-        &feature_thumb2,
         &feature_dsp,
+        &feature_thumb2,
     },
 };
 
@@ -956,9 +952,10 @@ pub const cpu_arm1156t2fS = Cpu{
     .name = "arm1156t2fS",
     .llvm_name = "arm1156t2f-s",
     .dependencies = &[_]*const Feature {
-        &feature_thumb2,
         &feature_dsp,
+        &feature_thumb2,
         &feature_slowfpvmlx,
+        &feature_d32,
         &feature_fpregs,
         &feature_vfp2,
     },
@@ -986,6 +983,7 @@ pub const cpu_arm1176jzfS = Cpu{
     .dependencies = &[_]*const Feature {
         &feature_trustzone,
         &feature_slowfpvmlx,
+        &feature_d32,
         &feature_fpregs,
         &feature_vfp2,
     },
@@ -1114,14 +1112,14 @@ pub const cpu_cortexA12 = Cpu{
     .name = "cortexA12",
     .llvm_name = "cortex-a12",
     .dependencies = &[_]*const Feature {
+        &feature_d32,
+        &feature_dsp,
         &feature_thumb2,
+        &feature_db,
+        &feature_aclass,
         &feature_fpregs,
-        &feature_dsp,
         &feature_v7clrex,
-        &feature_aclass,
         &feature_perfmon,
-        &feature_d32,
-        &feature_db,
         &feature_avoidPartialCpsr,
         &feature_retAddrStack,
         &feature_mp,
@@ -1139,14 +1137,14 @@ pub const cpu_cortexA15 = Cpu{
     .name = "cortexA15",
     .llvm_name = "cortex-a15",
     .dependencies = &[_]*const Feature {
+        &feature_d32,
+        &feature_dsp,
         &feature_thumb2,
+        &feature_db,
+        &feature_aclass,
         &feature_fpregs,
-        &feature_dsp,
         &feature_v7clrex,
-        &feature_aclass,
         &feature_perfmon,
-        &feature_d32,
-        &feature_db,
         &feature_avoidPartialCpsr,
         &feature_vldnAlign,
         &feature_dontWidenVmovs,
@@ -1167,14 +1165,14 @@ pub const cpu_cortexA17 = Cpu{
     .name = "cortexA17",
     .llvm_name = "cortex-a17",
     .dependencies = &[_]*const Feature {
+        &feature_d32,
+        &feature_dsp,
         &feature_thumb2,
+        &feature_db,
+        &feature_aclass,
         &feature_fpregs,
-        &feature_dsp,
         &feature_v7clrex,
-        &feature_aclass,
         &feature_perfmon,
-        &feature_d32,
-        &feature_db,
         &feature_avoidPartialCpsr,
         &feature_retAddrStack,
         &feature_mp,
@@ -1192,21 +1190,21 @@ pub const cpu_cortexA32 = Cpu{
     .name = "cortexA32",
     .llvm_name = "cortex-a32",
     .dependencies = &[_]*const Feature {
-        &feature_trustzone,
-        &feature_thumb2,
-        &feature_fpregs,
+        &feature_hwdiv,
+        &feature_mp,
+        &feature_d32,
         &feature_dsp,
-        &feature_v7clrex,
-        &feature_hwdivArm,
-        &feature_acquireRelease,
+        &feature_thumb2,
+        &feature_db,
         &feature_aclass,
-        &feature_perfmon,
+        &feature_fpregs,
+        &feature_trustzone,
         &feature_crc,
-        &feature_mp,
-        &feature_hwdiv,
-        &feature_d32,
         &feature_fp16,
-        &feature_db,
+        &feature_acquireRelease,
+        &feature_v7clrex,
+        &feature_perfmon,
+        &feature_hwdivArm,
         &feature_crypto,
     },
 };
@@ -1215,21 +1213,21 @@ pub const cpu_cortexA35 = Cpu{
     .name = "cortexA35",
     .llvm_name = "cortex-a35",
     .dependencies = &[_]*const Feature {
-        &feature_trustzone,
-        &feature_thumb2,
-        &feature_fpregs,
+        &feature_hwdiv,
+        &feature_mp,
+        &feature_d32,
         &feature_dsp,
-        &feature_v7clrex,
-        &feature_hwdivArm,
-        &feature_acquireRelease,
+        &feature_thumb2,
+        &feature_db,
         &feature_aclass,
-        &feature_perfmon,
+        &feature_fpregs,
+        &feature_trustzone,
         &feature_crc,
-        &feature_mp,
-        &feature_hwdiv,
-        &feature_d32,
         &feature_fp16,
-        &feature_db,
+        &feature_acquireRelease,
+        &feature_v7clrex,
+        &feature_perfmon,
+        &feature_hwdivArm,
         &feature_crypto,
     },
 };
@@ -1238,14 +1236,14 @@ pub const cpu_cortexA5 = Cpu{
     .name = "cortexA5",
     .llvm_name = "cortex-a5",
     .dependencies = &[_]*const Feature {
+        &feature_d32,
+        &feature_dsp,
         &feature_thumb2,
+        &feature_db,
+        &feature_aclass,
         &feature_fpregs,
-        &feature_dsp,
         &feature_v7clrex,
-        &feature_aclass,
         &feature_perfmon,
-        &feature_d32,
-        &feature_db,
         &feature_retAddrStack,
         &feature_slowfpvmlx,
         &feature_mp,
@@ -1261,21 +1259,21 @@ pub const cpu_cortexA53 = Cpu{
     .name = "cortexA53",
     .llvm_name = "cortex-a53",
     .dependencies = &[_]*const Feature {
-        &feature_trustzone,
-        &feature_thumb2,
-        &feature_fpregs,
+        &feature_hwdiv,
+        &feature_mp,
+        &feature_d32,
         &feature_dsp,
-        &feature_v7clrex,
-        &feature_hwdivArm,
-        &feature_acquireRelease,
+        &feature_thumb2,
+        &feature_db,
         &feature_aclass,
-        &feature_perfmon,
+        &feature_fpregs,
+        &feature_trustzone,
         &feature_crc,
-        &feature_mp,
-        &feature_hwdiv,
-        &feature_d32,
         &feature_fp16,
-        &feature_db,
+        &feature_acquireRelease,
+        &feature_v7clrex,
+        &feature_perfmon,
+        &feature_hwdivArm,
         &feature_crypto,
         &feature_fpao,
     },
@@ -1285,22 +1283,22 @@ pub const cpu_cortexA55 = Cpu{
     .name = "cortexA55",
     .llvm_name = "cortex-a55",
     .dependencies = &[_]*const Feature {
-        &feature_trustzone,
-        &feature_thumb2,
-        &feature_fpregs,
+        &feature_hwdiv,
+        &feature_mp,
+        &feature_d32,
         &feature_dsp,
-        &feature_ras,
-        &feature_v7clrex,
-        &feature_hwdivArm,
-        &feature_acquireRelease,
+        &feature_thumb2,
+        &feature_db,
         &feature_aclass,
-        &feature_perfmon,
+        &feature_fpregs,
+        &feature_trustzone,
         &feature_crc,
-        &feature_mp,
-        &feature_hwdiv,
-        &feature_d32,
         &feature_fp16,
-        &feature_db,
+        &feature_acquireRelease,
+        &feature_v7clrex,
+        &feature_perfmon,
+        &feature_hwdivArm,
+        &feature_ras,
         &feature_dotprod,
     },
 };
@@ -1309,21 +1307,21 @@ pub const cpu_cortexA57 = Cpu{
     .name = "cortexA57",
     .llvm_name = "cortex-a57",
     .dependencies = &[_]*const Feature {
-        &feature_trustzone,
-        &feature_thumb2,
-        &feature_fpregs,
+        &feature_hwdiv,
+        &feature_mp,
+        &feature_d32,
         &feature_dsp,
-        &feature_v7clrex,
-        &feature_hwdivArm,
-        &feature_acquireRelease,
+        &feature_thumb2,
+        &feature_db,
         &feature_aclass,
-        &feature_perfmon,
+        &feature_fpregs,
+        &feature_trustzone,
         &feature_crc,
-        &feature_mp,
-        &feature_hwdiv,
-        &feature_d32,
         &feature_fp16,
-        &feature_db,
+        &feature_acquireRelease,
+        &feature_v7clrex,
+        &feature_perfmon,
+        &feature_hwdivArm,
         &feature_avoidPartialCpsr,
         &feature_cheapPredicableCpsr,
         &feature_crypto,
@@ -1335,14 +1333,14 @@ pub const cpu_cortexA7 = Cpu{
     .name = "cortexA7",
     .llvm_name = "cortex-a7",
     .dependencies = &[_]*const Feature {
+        &feature_d32,
+        &feature_dsp,
         &feature_thumb2,
+        &feature_db,
+        &feature_aclass,
         &feature_fpregs,
-        &feature_dsp,
         &feature_v7clrex,
-        &feature_aclass,
         &feature_perfmon,
-        &feature_d32,
-        &feature_db,
         &feature_retAddrStack,
         &feature_slowfpvmlx,
         &feature_vmlxHazards,
@@ -1362,21 +1360,21 @@ pub const cpu_cortexA72 = Cpu{
     .name = "cortexA72",
     .llvm_name = "cortex-a72",
     .dependencies = &[_]*const Feature {
-        &feature_trustzone,
-        &feature_thumb2,
-        &feature_fpregs,
+        &feature_hwdiv,
+        &feature_mp,
+        &feature_d32,
         &feature_dsp,
-        &feature_v7clrex,
-        &feature_hwdivArm,
-        &feature_acquireRelease,
+        &feature_thumb2,
+        &feature_db,
         &feature_aclass,
-        &feature_perfmon,
+        &feature_fpregs,
+        &feature_trustzone,
         &feature_crc,
-        &feature_mp,
-        &feature_hwdiv,
-        &feature_d32,
         &feature_fp16,
-        &feature_db,
+        &feature_acquireRelease,
+        &feature_v7clrex,
+        &feature_perfmon,
+        &feature_hwdivArm,
         &feature_crypto,
     },
 };
@@ -1385,21 +1383,21 @@ pub const cpu_cortexA73 = Cpu{
     .name = "cortexA73",
     .llvm_name = "cortex-a73",
     .dependencies = &[_]*const Feature {
-        &feature_trustzone,
-        &feature_thumb2,
-        &feature_fpregs,
+        &feature_hwdiv,
+        &feature_mp,
+        &feature_d32,
         &feature_dsp,
-        &feature_v7clrex,
-        &feature_hwdivArm,
-        &feature_acquireRelease,
+        &feature_thumb2,
+        &feature_db,
         &feature_aclass,
-        &feature_perfmon,
+        &feature_fpregs,
+        &feature_trustzone,
         &feature_crc,
-        &feature_mp,
-        &feature_hwdiv,
-        &feature_d32,
         &feature_fp16,
-        &feature_db,
+        &feature_acquireRelease,
+        &feature_v7clrex,
+        &feature_perfmon,
+        &feature_hwdivArm,
         &feature_crypto,
     },
 };
@@ -1408,22 +1406,22 @@ pub const cpu_cortexA75 = Cpu{
     .name = "cortexA75",
     .llvm_name = "cortex-a75",
     .dependencies = &[_]*const Feature {
-        &feature_trustzone,
-        &feature_thumb2,
-        &feature_fpregs,
+        &feature_hwdiv,
+        &feature_mp,
+        &feature_d32,
         &feature_dsp,
-        &feature_ras,
-        &feature_v7clrex,
-        &feature_hwdivArm,
-        &feature_acquireRelease,
+        &feature_thumb2,
+        &feature_db,
         &feature_aclass,
-        &feature_perfmon,
+        &feature_fpregs,
+        &feature_trustzone,
         &feature_crc,
-        &feature_mp,
-        &feature_hwdiv,
-        &feature_d32,
         &feature_fp16,
-        &feature_db,
+        &feature_acquireRelease,
+        &feature_v7clrex,
+        &feature_perfmon,
+        &feature_hwdivArm,
+        &feature_ras,
         &feature_dotprod,
     },
 };
@@ -1432,22 +1430,22 @@ pub const cpu_cortexA76 = Cpu{
     .name = "cortexA76",
     .llvm_name = "cortex-a76",
     .dependencies = &[_]*const Feature {
-        &feature_trustzone,
-        &feature_thumb2,
-        &feature_fpregs,
+        &feature_hwdiv,
+        &feature_mp,
+        &feature_d32,
         &feature_dsp,
-        &feature_ras,
-        &feature_v7clrex,
-        &feature_hwdivArm,
-        &feature_acquireRelease,
+        &feature_thumb2,
+        &feature_db,
         &feature_aclass,
-        &feature_perfmon,
+        &feature_fpregs,
+        &feature_trustzone,
         &feature_crc,
-        &feature_mp,
-        &feature_hwdiv,
-        &feature_d32,
         &feature_fp16,
-        &feature_db,
+        &feature_acquireRelease,
+        &feature_v7clrex,
+        &feature_perfmon,
+        &feature_hwdivArm,
+        &feature_ras,
         &feature_crypto,
         &feature_dotprod,
         &feature_fullfp16,
@@ -1458,22 +1456,22 @@ pub const cpu_cortexA76ae = Cpu{
     .name = "cortexA76ae",
     .llvm_name = "cortex-a76ae",
     .dependencies = &[_]*const Feature {
-        &feature_trustzone,
-        &feature_thumb2,
-        &feature_fpregs,
+        &feature_hwdiv,
+        &feature_mp,
+        &feature_d32,
         &feature_dsp,
-        &feature_ras,
-        &feature_v7clrex,
-        &feature_hwdivArm,
-        &feature_acquireRelease,
+        &feature_thumb2,
+        &feature_db,
         &feature_aclass,
-        &feature_perfmon,
+        &feature_fpregs,
+        &feature_trustzone,
         &feature_crc,
-        &feature_mp,
-        &feature_hwdiv,
-        &feature_d32,
         &feature_fp16,
-        &feature_db,
+        &feature_acquireRelease,
+        &feature_v7clrex,
+        &feature_perfmon,
+        &feature_hwdivArm,
+        &feature_ras,
         &feature_crypto,
         &feature_dotprod,
         &feature_fullfp16,
@@ -1484,14 +1482,14 @@ pub const cpu_cortexA8 = Cpu{
     .name = "cortexA8",
     .llvm_name = "cortex-a8",
     .dependencies = &[_]*const Feature {
+        &feature_d32,
+        &feature_dsp,
         &feature_thumb2,
+        &feature_db,
+        &feature_aclass,
         &feature_fpregs,
-        &feature_dsp,
         &feature_v7clrex,
-        &feature_aclass,
         &feature_perfmon,
-        &feature_d32,
-        &feature_db,
         &feature_retAddrStack,
         &feature_slowfpvmlx,
         &feature_vmlxHazards,
@@ -1506,14 +1504,14 @@ pub const cpu_cortexA9 = Cpu{
     .name = "cortexA9",
     .llvm_name = "cortex-a9",
     .dependencies = &[_]*const Feature {
+        &feature_d32,
+        &feature_dsp,
         &feature_thumb2,
+        &feature_db,
+        &feature_aclass,
         &feature_fpregs,
-        &feature_dsp,
         &feature_v7clrex,
-        &feature_aclass,
         &feature_perfmon,
-        &feature_d32,
-        &feature_db,
         &feature_avoidPartialCpsr,
         &feature_vldnAlign,
         &feature_expandFpMlx,
@@ -1533,10 +1531,10 @@ pub const cpu_cortexM0 = Cpu{
     .name = "cortexM0",
     .llvm_name = "cortex-m0",
     .dependencies = &[_]*const Feature {
-        &feature_noarm,
-        &feature_strictAlign,
         &feature_mclass,
         &feature_db,
+        &feature_noarm,
+        &feature_strictAlign,
     },
 };
 
@@ -1544,10 +1542,10 @@ pub const cpu_cortexM0plus = Cpu{
     .name = "cortexM0plus",
     .llvm_name = "cortex-m0plus",
     .dependencies = &[_]*const Feature {
-        &feature_noarm,
-        &feature_strictAlign,
         &feature_mclass,
         &feature_db,
+        &feature_noarm,
+        &feature_strictAlign,
     },
 };
 
@@ -1555,10 +1553,10 @@ pub const cpu_cortexM1 = Cpu{
     .name = "cortexM1",
     .llvm_name = "cortex-m1",
     .dependencies = &[_]*const Feature {
-        &feature_noarm,
-        &feature_strictAlign,
         &feature_mclass,
         &feature_db,
+        &feature_noarm,
+        &feature_strictAlign,
     },
 };
 
@@ -1566,14 +1564,14 @@ pub const cpu_cortexM23 = Cpu{
     .name = "cortexM23",
     .llvm_name = "cortex-m23",
     .dependencies = &[_]*const Feature {
-        &feature_noarm,
+        &feature_hwdiv,
+        &feature_mclass,
+        &feature_db,
         &feature_acquireRelease,
         &feature_v7clrex,
-        &feature_strictAlign,
-        &feature_mclass,
-        &feature_hwdiv,
+        &feature_noarm,
         &feature_msecext8,
-        &feature_db,
+        &feature_strictAlign,
         &feature_noMovt,
     },
 };
@@ -1582,13 +1580,13 @@ pub const cpu_cortexM3 = Cpu{
     .name = "cortexM3",
     .llvm_name = "cortex-m3",
     .dependencies = &[_]*const Feature {
+        &feature_hwdiv,
         &feature_thumb2,
-        &feature_noarm,
-        &feature_v7clrex,
-        &feature_perfmon,
         &feature_mclass,
-        &feature_hwdiv,
         &feature_db,
+        &feature_v7clrex,
+        &feature_perfmon,
+        &feature_noarm,
         &feature_noBranchPredictor,
         &feature_loopAlign,
         &feature_useAa,
@@ -1600,18 +1598,18 @@ pub const cpu_cortexM33 = Cpu{
     .name = "cortexM33",
     .llvm_name = "cortex-m33",
     .dependencies = &[_]*const Feature {
+        &feature_hwdiv,
         &feature_thumb2,
-        &feature_noarm,
+        &feature_mclass,
+        &feature_db,
         &feature_acquireRelease,
         &feature_v7clrex,
         &feature_perfmon,
-        &feature_mclass,
-        &feature_hwdiv,
+        &feature_noarm,
         &feature_msecext8,
-        &feature_db,
         &feature_dsp,
-        &feature_fpregs,
         &feature_fp16,
+        &feature_fpregs,
         &feature_fpArmv8d16sp,
         &feature_noBranchPredictor,
         &feature_slowfpvmlx,
@@ -1625,18 +1623,18 @@ pub const cpu_cortexM35p = Cpu{
     .name = "cortexM35p",
     .llvm_name = "cortex-m35p",
     .dependencies = &[_]*const Feature {
+        &feature_hwdiv,
         &feature_thumb2,
-        &feature_noarm,
+        &feature_mclass,
+        &feature_db,
         &feature_acquireRelease,
         &feature_v7clrex,
         &feature_perfmon,
-        &feature_mclass,
-        &feature_hwdiv,
+        &feature_noarm,
         &feature_msecext8,
-        &feature_db,
         &feature_dsp,
-        &feature_fpregs,
         &feature_fp16,
+        &feature_fpregs,
         &feature_fpArmv8d16sp,
         &feature_noBranchPredictor,
         &feature_slowfpvmlx,
@@ -1650,21 +1648,21 @@ pub const cpu_cortexM4 = Cpu{
     .name = "cortexM4",
     .llvm_name = "cortex-m4",
     .dependencies = &[_]*const Feature {
-        &feature_thumb2,
+        &feature_hwdiv,
         &feature_dsp,
-        &feature_noarm,
-        &feature_v7clrex,
-        &feature_perfmon,
+        &feature_thumb2,
         &feature_mclass,
-        &feature_hwdiv,
         &feature_db,
+        &feature_v7clrex,
+        &feature_perfmon,
+        &feature_noarm,
         &feature_noBranchPredictor,
         &feature_slowfpvmlx,
         &feature_loopAlign,
         &feature_useAa,
         &feature_useMisched,
-        &feature_fpregs,
         &feature_fp16,
+        &feature_fpregs,
         &feature_vfp4d16sp,
     },
 };
@@ -1673,16 +1671,16 @@ pub const cpu_cortexM7 = Cpu{
     .name = "cortexM7",
     .llvm_name = "cortex-m7",
     .dependencies = &[_]*const Feature {
-        &feature_thumb2,
+        &feature_hwdiv,
         &feature_dsp,
-        &feature_noarm,
-        &feature_v7clrex,
-        &feature_perfmon,
+        &feature_thumb2,
         &feature_mclass,
-        &feature_hwdiv,
         &feature_db,
-        &feature_fpregs,
+        &feature_v7clrex,
+        &feature_perfmon,
+        &feature_noarm,
         &feature_fp16,
+        &feature_fpregs,
         &feature_fpArmv8d16,
     },
 };
@@ -1691,13 +1689,13 @@ pub const cpu_cortexR4 = Cpu{
     .name = "cortexR4",
     .llvm_name = "cortex-r4",
     .dependencies = &[_]*const Feature {
-        &feature_thumb2,
+        &feature_hwdiv,
         &feature_dsp,
         &feature_rclass,
+        &feature_thumb2,
+        &feature_db,
         &feature_v7clrex,
         &feature_perfmon,
-        &feature_hwdiv,
-        &feature_db,
         &feature_avoidPartialCpsr,
         &feature_retAddrStack,
     },
@@ -1707,13 +1705,13 @@ pub const cpu_cortexR4f = Cpu{
     .name = "cortexR4f",
     .llvm_name = "cortex-r4f",
     .dependencies = &[_]*const Feature {
-        &feature_thumb2,
+        &feature_hwdiv,
         &feature_dsp,
         &feature_rclass,
+        &feature_thumb2,
+        &feature_db,
         &feature_v7clrex,
         &feature_perfmon,
-        &feature_hwdiv,
-        &feature_db,
         &feature_avoidPartialCpsr,
         &feature_retAddrStack,
         &feature_slowfpvmlx,
@@ -1727,13 +1725,13 @@ pub const cpu_cortexR5 = Cpu{
     .name = "cortexR5",
     .llvm_name = "cortex-r5",
     .dependencies = &[_]*const Feature {
-        &feature_thumb2,
+        &feature_hwdiv,
         &feature_dsp,
         &feature_rclass,
+        &feature_thumb2,
+        &feature_db,
         &feature_v7clrex,
         &feature_perfmon,
-        &feature_hwdiv,
-        &feature_db,
         &feature_avoidPartialCpsr,
         &feature_hwdivArm,
         &feature_retAddrStack,
@@ -1748,21 +1746,21 @@ pub const cpu_cortexR52 = Cpu{
     .name = "cortexR52",
     .llvm_name = "cortex-r52",
     .dependencies = &[_]*const Feature {
-        &feature_thumb2,
-        &feature_fpregs,
-        &feature_dsp,
+        &feature_hwdiv,
         &feature_dfb,
-        &feature_rclass,
-        &feature_v7clrex,
-        &feature_hwdivArm,
-        &feature_acquireRelease,
-        &feature_perfmon,
-        &feature_crc,
         &feature_mp,
-        &feature_hwdiv,
         &feature_d32,
-        &feature_fp16,
+        &feature_dsp,
+        &feature_rclass,
+        &feature_thumb2,
         &feature_db,
+        &feature_fpregs,
+        &feature_crc,
+        &feature_fp16,
+        &feature_acquireRelease,
+        &feature_v7clrex,
+        &feature_perfmon,
+        &feature_hwdivArm,
         &feature_fpao,
         &feature_useAa,
         &feature_useMisched,
@@ -1773,13 +1771,13 @@ pub const cpu_cortexR7 = Cpu{
     .name = "cortexR7",
     .llvm_name = "cortex-r7",
     .dependencies = &[_]*const Feature {
-        &feature_thumb2,
+        &feature_hwdiv,
         &feature_dsp,
         &feature_rclass,
+        &feature_thumb2,
+        &feature_db,
         &feature_v7clrex,
         &feature_perfmon,
-        &feature_hwdiv,
-        &feature_db,
         &feature_avoidPartialCpsr,
         &feature_fp16,
         &feature_hwdivArm,
@@ -1796,13 +1794,13 @@ pub const cpu_cortexR8 = Cpu{
     .name = "cortexR8",
     .llvm_name = "cortex-r8",
     .dependencies = &[_]*const Feature {
-        &feature_thumb2,
+        &feature_hwdiv,
         &feature_dsp,
         &feature_rclass,
+        &feature_thumb2,
+        &feature_db,
         &feature_v7clrex,
         &feature_perfmon,
-        &feature_hwdiv,
-        &feature_db,
         &feature_avoidPartialCpsr,
         &feature_fp16,
         &feature_hwdivArm,
@@ -1819,21 +1817,21 @@ pub const cpu_cyclone = Cpu{
     .name = "cyclone",
     .llvm_name = "cyclone",
     .dependencies = &[_]*const Feature {
-        &feature_trustzone,
-        &feature_thumb2,
-        &feature_fpregs,
+        &feature_hwdiv,
+        &feature_mp,
+        &feature_d32,
         &feature_dsp,
-        &feature_v7clrex,
-        &feature_hwdivArm,
-        &feature_acquireRelease,
+        &feature_thumb2,
+        &feature_db,
         &feature_aclass,
-        &feature_perfmon,
+        &feature_fpregs,
+        &feature_trustzone,
         &feature_crc,
-        &feature_mp,
-        &feature_hwdiv,
-        &feature_d32,
         &feature_fp16,
-        &feature_db,
+        &feature_acquireRelease,
+        &feature_v7clrex,
+        &feature_perfmon,
+        &feature_hwdivArm,
         &feature_avoidMovsShop,
         &feature_avoidPartialCpsr,
         &feature_crypto,
@@ -1858,34 +1856,34 @@ pub const cpu_exynosM1 = Cpu{
     .name = "exynosM1",
     .llvm_name = "exynos-m1",
     .dependencies = &[_]*const Feature {
-        &feature_trustzone,
-        &feature_thumb2,
-        &feature_fpregs,
+        &feature_hwdiv,
+        &feature_mp,
+        &feature_d32,
         &feature_dsp,
-        &feature_v7clrex,
-        &feature_hwdivArm,
-        &feature_acquireRelease,
+        &feature_thumb2,
+        &feature_db,
         &feature_aclass,
-        &feature_perfmon,
+        &feature_fpregs,
+        &feature_trustzone,
         &feature_crc,
-        &feature_mp,
-        &feature_hwdiv,
-        &feature_d32,
         &feature_fp16,
-        &feature_db,
-        &feature_expandFpMlx,
+        &feature_acquireRelease,
+        &feature_v7clrex,
+        &feature_perfmon,
+        &feature_hwdivArm,
+        &feature_fuseLiterals,
+        &feature_useAa,
+        &feature_wideStrideVfp,
         &feature_slowVgetlni32,
+        &feature_slowVdup32,
         &feature_profUnpr,
-        &feature_slowfpvmlx,
         &feature_slowFpBrcc,
-        &feature_useAa,
-        &feature_dontWidenVmovs,
         &feature_retAddrStack,
-        &feature_fuseLiterals,
-        &feature_wideStrideVfp,
         &feature_zcz,
+        &feature_slowfpvmlx,
+        &feature_expandFpMlx,
         &feature_fuseAes,
-        &feature_slowVdup32,
+        &feature_dontWidenVmovs,
     },
 };
 
@@ -1893,34 +1891,34 @@ pub const cpu_exynosM2 = Cpu{
     .name = "exynosM2",
     .llvm_name = "exynos-m2",
     .dependencies = &[_]*const Feature {
-        &feature_trustzone,
-        &feature_thumb2,
-        &feature_fpregs,
+        &feature_hwdiv,
+        &feature_mp,
+        &feature_d32,
         &feature_dsp,
-        &feature_v7clrex,
-        &feature_hwdivArm,
-        &feature_acquireRelease,
+        &feature_thumb2,
+        &feature_db,
         &feature_aclass,
-        &feature_perfmon,
+        &feature_fpregs,
+        &feature_trustzone,
         &feature_crc,
-        &feature_mp,
-        &feature_hwdiv,
-        &feature_d32,
         &feature_fp16,
-        &feature_db,
-        &feature_expandFpMlx,
+        &feature_acquireRelease,
+        &feature_v7clrex,
+        &feature_perfmon,
+        &feature_hwdivArm,
+        &feature_fuseLiterals,
+        &feature_useAa,
+        &feature_wideStrideVfp,
         &feature_slowVgetlni32,
+        &feature_slowVdup32,
         &feature_profUnpr,
-        &feature_slowfpvmlx,
         &feature_slowFpBrcc,
-        &feature_useAa,
-        &feature_dontWidenVmovs,
         &feature_retAddrStack,
-        &feature_fuseLiterals,
-        &feature_wideStrideVfp,
         &feature_zcz,
+        &feature_slowfpvmlx,
+        &feature_expandFpMlx,
         &feature_fuseAes,
-        &feature_slowVdup32,
+        &feature_dontWidenVmovs,
     },
 };
 
@@ -1928,34 +1926,34 @@ pub const cpu_exynosM3 = Cpu{
     .name = "exynosM3",
     .llvm_name = "exynos-m3",
     .dependencies = &[_]*const Feature {
-        &feature_trustzone,
-        &feature_thumb2,
-        &feature_fpregs,
+        &feature_hwdiv,
+        &feature_mp,
+        &feature_d32,
         &feature_dsp,
-        &feature_v7clrex,
-        &feature_hwdivArm,
-        &feature_acquireRelease,
+        &feature_thumb2,
+        &feature_db,
         &feature_aclass,
-        &feature_perfmon,
+        &feature_fpregs,
+        &feature_trustzone,
         &feature_crc,
-        &feature_mp,
-        &feature_hwdiv,
-        &feature_d32,
         &feature_fp16,
-        &feature_db,
-        &feature_expandFpMlx,
+        &feature_acquireRelease,
+        &feature_v7clrex,
+        &feature_perfmon,
+        &feature_hwdivArm,
+        &feature_fuseLiterals,
+        &feature_useAa,
+        &feature_wideStrideVfp,
         &feature_slowVgetlni32,
+        &feature_slowVdup32,
         &feature_profUnpr,
-        &feature_slowfpvmlx,
         &feature_slowFpBrcc,
-        &feature_useAa,
-        &feature_dontWidenVmovs,
         &feature_retAddrStack,
-        &feature_fuseLiterals,
-        &feature_wideStrideVfp,
         &feature_zcz,
+        &feature_slowfpvmlx,
+        &feature_expandFpMlx,
         &feature_fuseAes,
-        &feature_slowVdup32,
+        &feature_dontWidenVmovs,
     },
 };
 
@@ -1963,37 +1961,37 @@ pub const cpu_exynosM4 = Cpu{
     .name = "exynosM4",
     .llvm_name = "exynos-m4",
     .dependencies = &[_]*const Feature {
-        &feature_trustzone,
-        &feature_thumb2,
-        &feature_fpregs,
+        &feature_hwdiv,
+        &feature_mp,
+        &feature_d32,
         &feature_dsp,
-        &feature_ras,
-        &feature_v7clrex,
-        &feature_hwdivArm,
-        &feature_acquireRelease,
+        &feature_thumb2,
+        &feature_db,
         &feature_aclass,
-        &feature_perfmon,
+        &feature_fpregs,
+        &feature_trustzone,
         &feature_crc,
-        &feature_mp,
-        &feature_hwdiv,
-        &feature_d32,
         &feature_fp16,
-        &feature_db,
+        &feature_acquireRelease,
+        &feature_v7clrex,
+        &feature_perfmon,
+        &feature_hwdivArm,
+        &feature_ras,
         &feature_dotprod,
         &feature_fullfp16,
-        &feature_expandFpMlx,
+        &feature_fuseLiterals,
+        &feature_useAa,
+        &feature_wideStrideVfp,
         &feature_slowVgetlni32,
+        &feature_slowVdup32,
         &feature_profUnpr,
-        &feature_slowfpvmlx,
         &feature_slowFpBrcc,
-        &feature_useAa,
-        &feature_dontWidenVmovs,
         &feature_retAddrStack,
-        &feature_fuseLiterals,
-        &feature_wideStrideVfp,
         &feature_zcz,
+        &feature_slowfpvmlx,
+        &feature_expandFpMlx,
         &feature_fuseAes,
-        &feature_slowVdup32,
+        &feature_dontWidenVmovs,
     },
 };
 
@@ -2001,37 +1999,37 @@ pub const cpu_exynosM5 = Cpu{
     .name = "exynosM5",
     .llvm_name = "exynos-m5",
     .dependencies = &[_]*const Feature {
-        &feature_trustzone,
-        &feature_thumb2,
-        &feature_fpregs,
+        &feature_hwdiv,
+        &feature_mp,
+        &feature_d32,
         &feature_dsp,
-        &feature_ras,
-        &feature_v7clrex,
-        &feature_hwdivArm,
-        &feature_acquireRelease,
+        &feature_thumb2,
+        &feature_db,
         &feature_aclass,
-        &feature_perfmon,
+        &feature_fpregs,
+        &feature_trustzone,
         &feature_crc,
-        &feature_mp,
-        &feature_hwdiv,
-        &feature_d32,
         &feature_fp16,
-        &feature_db,
+        &feature_acquireRelease,
+        &feature_v7clrex,
+        &feature_perfmon,
+        &feature_hwdivArm,
+        &feature_ras,
         &feature_dotprod,
         &feature_fullfp16,
-        &feature_expandFpMlx,
+        &feature_fuseLiterals,
+        &feature_useAa,
+        &feature_wideStrideVfp,
         &feature_slowVgetlni32,
+        &feature_slowVdup32,
         &feature_profUnpr,
-        &feature_slowfpvmlx,
         &feature_slowFpBrcc,
-        &feature_useAa,
-        &feature_dontWidenVmovs,
         &feature_retAddrStack,
-        &feature_fuseLiterals,
-        &feature_wideStrideVfp,
         &feature_zcz,
+        &feature_slowfpvmlx,
+        &feature_expandFpMlx,
         &feature_fuseAes,
-        &feature_slowVdup32,
+        &feature_dontWidenVmovs,
     },
 };
 
@@ -2053,14 +2051,14 @@ pub const cpu_krait = Cpu{
     .name = "krait",
     .llvm_name = "krait",
     .dependencies = &[_]*const Feature {
+        &feature_d32,
+        &feature_dsp,
         &feature_thumb2,
+        &feature_db,
+        &feature_aclass,
         &feature_fpregs,
-        &feature_dsp,
         &feature_v7clrex,
-        &feature_aclass,
         &feature_perfmon,
-        &feature_d32,
-        &feature_db,
         &feature_avoidPartialCpsr,
         &feature_vldnAlign,
         &feature_fp16,
@@ -2077,21 +2075,21 @@ pub const cpu_kryo = Cpu{
     .name = "kryo",
     .llvm_name = "kryo",
     .dependencies = &[_]*const Feature {
-        &feature_trustzone,
-        &feature_thumb2,
-        &feature_fpregs,
+        &feature_hwdiv,
+        &feature_mp,
+        &feature_d32,
         &feature_dsp,
-        &feature_v7clrex,
-        &feature_hwdivArm,
-        &feature_acquireRelease,
+        &feature_thumb2,
+        &feature_db,
         &feature_aclass,
-        &feature_perfmon,
+        &feature_fpregs,
+        &feature_trustzone,
         &feature_crc,
-        &feature_mp,
-        &feature_hwdiv,
-        &feature_d32,
         &feature_fp16,
-        &feature_db,
+        &feature_acquireRelease,
+        &feature_v7clrex,
+        &feature_perfmon,
+        &feature_hwdivArm,
         &feature_crypto,
     },
 };
@@ -2101,6 +2099,7 @@ pub const cpu_mpcore = Cpu{
     .llvm_name = "mpcore",
     .dependencies = &[_]*const Feature {
         &feature_slowfpvmlx,
+        &feature_d32,
         &feature_fpregs,
         &feature_vfp2,
     },
@@ -2113,39 +2112,14 @@ pub const cpu_mpcorenovfp = Cpu{
     },
 };
 
-pub const cpu_neoverseN1 = Cpu{
-    .name = "neoverseN1",
-    .llvm_name = "neoverse-n1",
-    .dependencies = &[_]*const Feature {
-        &feature_trustzone,
-        &feature_thumb2,
-        &feature_fpregs,
-        &feature_dsp,
-        &feature_ras,
-        &feature_v7clrex,
-        &feature_hwdivArm,
-        &feature_acquireRelease,
-        &feature_aclass,
-        &feature_perfmon,
-        &feature_crc,
-        &feature_mp,
-        &feature_hwdiv,
-        &feature_d32,
-        &feature_fp16,
-        &feature_db,
-        &feature_crypto,
-        &feature_dotprod,
-    },
-};
-
 pub const cpu_sc000 = Cpu{
     .name = "sc000",
     .llvm_name = "sc000",
     .dependencies = &[_]*const Feature {
-        &feature_noarm,
-        &feature_strictAlign,
         &feature_mclass,
         &feature_db,
+        &feature_noarm,
+        &feature_strictAlign,
     },
 };
 
@@ -2153,13 +2127,13 @@ pub const cpu_sc300 = Cpu{
     .name = "sc300",
     .llvm_name = "sc300",
     .dependencies = &[_]*const Feature {
+        &feature_hwdiv,
         &feature_thumb2,
-        &feature_noarm,
-        &feature_v7clrex,
-        &feature_perfmon,
         &feature_mclass,
-        &feature_hwdiv,
         &feature_db,
+        &feature_v7clrex,
+        &feature_perfmon,
+        &feature_noarm,
         &feature_noBranchPredictor,
         &feature_useAa,
         &feature_useMisched,
@@ -2198,14 +2172,14 @@ pub const cpu_swift = Cpu{
     .name = "swift",
     .llvm_name = "swift",
     .dependencies = &[_]*const Feature {
+        &feature_d32,
+        &feature_dsp,
         &feature_thumb2,
+        &feature_db,
+        &feature_aclass,
         &feature_fpregs,
-        &feature_dsp,
         &feature_v7clrex,
-        &feature_aclass,
         &feature_perfmon,
-        &feature_d32,
-        &feature_db,
         &feature_avoidMovsShop,
         &feature_avoidPartialCpsr,
         &feature_hwdivArm,
@@ -2311,7 +2285,6 @@ pub const cpus = &[_]*const Cpu {
     &cpu_kryo,
     &cpu_mpcore,
     &cpu_mpcorenovfp,
-    &cpu_neoverseN1,
     &cpu_sc000,
     &cpu_sc300,
     &cpu_strongarm,
lib/std/target/avr.zig
@@ -170,12 +170,12 @@ pub const cpu_at43usb320 = Cpu{
     .name = "at43usb320",
     .llvm_name = "at43usb320",
     .dependencies = &[_]*const Feature {
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
-        &feature_elpm,
         &feature_ijmpcall,
-        &feature_jmpcall,
     },
 };
 
@@ -183,11 +183,11 @@ pub const cpu_at43usb355 = Cpu{
     .name = "at43usb355",
     .llvm_name = "at43usb355",
     .dependencies = &[_]*const Feature {
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_ijmpcall,
-        &feature_jmpcall,
     },
 };
 
@@ -195,11 +195,11 @@ pub const cpu_at76c711 = Cpu{
     .name = "at76c711",
     .llvm_name = "at76c711",
     .dependencies = &[_]*const Feature {
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_ijmpcall,
-        &feature_jmpcall,
     },
 };
 
@@ -231,17 +231,17 @@ pub const cpu_at90can128 = Cpu{
     .name = "at90can128",
     .llvm_name = "at90can128",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -250,14 +250,14 @@ pub const cpu_at90can32 = Cpu{
     .name = "at90can32",
     .llvm_name = "at90can32",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -267,14 +267,14 @@ pub const cpu_at90can64 = Cpu{
     .name = "at90can64",
     .llvm_name = "at90can64",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -284,13 +284,13 @@ pub const cpu_at90pwm1 = Cpu{
     .name = "at90pwm1",
     .llvm_name = "at90pwm1",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -300,14 +300,14 @@ pub const cpu_at90pwm161 = Cpu{
     .name = "at90pwm161",
     .llvm_name = "at90pwm161",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -317,13 +317,13 @@ pub const cpu_at90pwm2 = Cpu{
     .name = "at90pwm2",
     .llvm_name = "at90pwm2",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -333,14 +333,14 @@ pub const cpu_at90pwm216 = Cpu{
     .name = "at90pwm216",
     .llvm_name = "at90pwm216",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -350,13 +350,13 @@ pub const cpu_at90pwm2b = Cpu{
     .name = "at90pwm2b",
     .llvm_name = "at90pwm2b",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -366,13 +366,13 @@ pub const cpu_at90pwm3 = Cpu{
     .name = "at90pwm3",
     .llvm_name = "at90pwm3",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -382,14 +382,14 @@ pub const cpu_at90pwm316 = Cpu{
     .name = "at90pwm316",
     .llvm_name = "at90pwm316",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -399,13 +399,13 @@ pub const cpu_at90pwm3b = Cpu{
     .name = "at90pwm3b",
     .llvm_name = "at90pwm3b",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -415,13 +415,13 @@ pub const cpu_at90pwm81 = Cpu{
     .name = "at90pwm81",
     .llvm_name = "at90pwm81",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -537,14 +537,14 @@ pub const cpu_at90scr100 = Cpu{
     .name = "at90scr100",
     .llvm_name = "at90scr100",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -554,17 +554,17 @@ pub const cpu_at90usb1286 = Cpu{
     .name = "at90usb1286",
     .llvm_name = "at90usb1286",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -573,17 +573,17 @@ pub const cpu_at90usb1287 = Cpu{
     .name = "at90usb1287",
     .llvm_name = "at90usb1287",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -592,14 +592,14 @@ pub const cpu_at90usb162 = Cpu{
     .name = "at90usb162",
     .llvm_name = "at90usb162",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -608,14 +608,14 @@ pub const cpu_at90usb646 = Cpu{
     .name = "at90usb646",
     .llvm_name = "at90usb646",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -625,14 +625,14 @@ pub const cpu_at90usb647 = Cpu{
     .name = "at90usb647",
     .llvm_name = "at90usb647",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -642,14 +642,14 @@ pub const cpu_at90usb82 = Cpu{
     .name = "at90usb82",
     .llvm_name = "at90usb82",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -658,11 +658,11 @@ pub const cpu_at94k = Cpu{
     .name = "at94k",
     .llvm_name = "at94k",
     .dependencies = &[_]*const Feature {
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_ijmpcall,
-        &feature_jmpcall,
         &feature_lpmx,
         &feature_movw,
         &feature_mul,
@@ -673,13 +673,13 @@ pub const cpu_ata5272 = Cpu{
     .name = "ata5272",
     .llvm_name = "ata5272",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -688,14 +688,14 @@ pub const cpu_ata5505 = Cpu{
     .name = "ata5505",
     .llvm_name = "ata5505",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -704,14 +704,14 @@ pub const cpu_ata5790 = Cpu{
     .name = "ata5790",
     .llvm_name = "ata5790",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -721,14 +721,14 @@ pub const cpu_ata5795 = Cpu{
     .name = "ata5795",
     .llvm_name = "ata5795",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -738,13 +738,13 @@ pub const cpu_ata6285 = Cpu{
     .name = "ata6285",
     .llvm_name = "ata6285",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -754,13 +754,13 @@ pub const cpu_ata6286 = Cpu{
     .name = "ata6286",
     .llvm_name = "ata6286",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -770,13 +770,13 @@ pub const cpu_ata6289 = Cpu{
     .name = "ata6289",
     .llvm_name = "ata6289",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -786,12 +786,12 @@ pub const cpu_atmega103 = Cpu{
     .name = "atmega103",
     .llvm_name = "atmega103",
     .dependencies = &[_]*const Feature {
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
-        &feature_elpm,
         &feature_ijmpcall,
-        &feature_jmpcall,
     },
 };
 
@@ -799,17 +799,17 @@ pub const cpu_atmega128 = Cpu{
     .name = "atmega128",
     .llvm_name = "atmega128",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -818,17 +818,17 @@ pub const cpu_atmega1280 = Cpu{
     .name = "atmega1280",
     .llvm_name = "atmega1280",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -837,17 +837,17 @@ pub const cpu_atmega1281 = Cpu{
     .name = "atmega1281",
     .llvm_name = "atmega1281",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -856,17 +856,17 @@ pub const cpu_atmega1284 = Cpu{
     .name = "atmega1284",
     .llvm_name = "atmega1284",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -875,17 +875,17 @@ pub const cpu_atmega1284p = Cpu{
     .name = "atmega1284p",
     .llvm_name = "atmega1284p",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -894,17 +894,17 @@ pub const cpu_atmega1284rfr2 = Cpu{
     .name = "atmega1284rfr2",
     .llvm_name = "atmega1284rfr2",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -913,17 +913,17 @@ pub const cpu_atmega128a = Cpu{
     .name = "atmega128a",
     .llvm_name = "atmega128a",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -932,17 +932,17 @@ pub const cpu_atmega128rfa1 = Cpu{
     .name = "atmega128rfa1",
     .llvm_name = "atmega128rfa1",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -951,17 +951,17 @@ pub const cpu_atmega128rfr2 = Cpu{
     .name = "atmega128rfr2",
     .llvm_name = "atmega128rfr2",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -970,14 +970,14 @@ pub const cpu_atmega16 = Cpu{
     .name = "atmega16",
     .llvm_name = "atmega16",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -987,11 +987,11 @@ pub const cpu_atmega161 = Cpu{
     .name = "atmega161",
     .llvm_name = "atmega161",
     .dependencies = &[_]*const Feature {
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_ijmpcall,
-        &feature_jmpcall,
         &feature_lpmx,
         &feature_movw,
         &feature_mul,
@@ -1003,14 +1003,14 @@ pub const cpu_atmega162 = Cpu{
     .name = "atmega162",
     .llvm_name = "atmega162",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1020,11 +1020,11 @@ pub const cpu_atmega163 = Cpu{
     .name = "atmega163",
     .llvm_name = "atmega163",
     .dependencies = &[_]*const Feature {
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_ijmpcall,
-        &feature_jmpcall,
         &feature_lpmx,
         &feature_movw,
         &feature_mul,
@@ -1036,14 +1036,14 @@ pub const cpu_atmega164a = Cpu{
     .name = "atmega164a",
     .llvm_name = "atmega164a",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1053,14 +1053,14 @@ pub const cpu_atmega164p = Cpu{
     .name = "atmega164p",
     .llvm_name = "atmega164p",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1070,14 +1070,14 @@ pub const cpu_atmega164pa = Cpu{
     .name = "atmega164pa",
     .llvm_name = "atmega164pa",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1087,14 +1087,14 @@ pub const cpu_atmega165 = Cpu{
     .name = "atmega165",
     .llvm_name = "atmega165",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1104,14 +1104,14 @@ pub const cpu_atmega165a = Cpu{
     .name = "atmega165a",
     .llvm_name = "atmega165a",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1121,14 +1121,14 @@ pub const cpu_atmega165p = Cpu{
     .name = "atmega165p",
     .llvm_name = "atmega165p",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1138,14 +1138,14 @@ pub const cpu_atmega165pa = Cpu{
     .name = "atmega165pa",
     .llvm_name = "atmega165pa",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1155,14 +1155,14 @@ pub const cpu_atmega168 = Cpu{
     .name = "atmega168",
     .llvm_name = "atmega168",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1172,14 +1172,14 @@ pub const cpu_atmega168a = Cpu{
     .name = "atmega168a",
     .llvm_name = "atmega168a",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1189,14 +1189,14 @@ pub const cpu_atmega168p = Cpu{
     .name = "atmega168p",
     .llvm_name = "atmega168p",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1206,14 +1206,14 @@ pub const cpu_atmega168pa = Cpu{
     .name = "atmega168pa",
     .llvm_name = "atmega168pa",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1223,14 +1223,14 @@ pub const cpu_atmega169 = Cpu{
     .name = "atmega169",
     .llvm_name = "atmega169",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1240,14 +1240,14 @@ pub const cpu_atmega169a = Cpu{
     .name = "atmega169a",
     .llvm_name = "atmega169a",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1257,14 +1257,14 @@ pub const cpu_atmega169p = Cpu{
     .name = "atmega169p",
     .llvm_name = "atmega169p",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1274,14 +1274,14 @@ pub const cpu_atmega169pa = Cpu{
     .name = "atmega169pa",
     .llvm_name = "atmega169pa",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1291,14 +1291,14 @@ pub const cpu_atmega16a = Cpu{
     .name = "atmega16a",
     .llvm_name = "atmega16a",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1308,14 +1308,14 @@ pub const cpu_atmega16hva = Cpu{
     .name = "atmega16hva",
     .llvm_name = "atmega16hva",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1325,14 +1325,14 @@ pub const cpu_atmega16hva2 = Cpu{
     .name = "atmega16hva2",
     .llvm_name = "atmega16hva2",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1342,14 +1342,14 @@ pub const cpu_atmega16hvb = Cpu{
     .name = "atmega16hvb",
     .llvm_name = "atmega16hvb",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1359,14 +1359,14 @@ pub const cpu_atmega16hvbrevb = Cpu{
     .name = "atmega16hvbrevb",
     .llvm_name = "atmega16hvbrevb",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1376,14 +1376,14 @@ pub const cpu_atmega16m1 = Cpu{
     .name = "atmega16m1",
     .llvm_name = "atmega16m1",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1393,14 +1393,14 @@ pub const cpu_atmega16u2 = Cpu{
     .name = "atmega16u2",
     .llvm_name = "atmega16u2",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -1409,14 +1409,14 @@ pub const cpu_atmega16u4 = Cpu{
     .name = "atmega16u4",
     .llvm_name = "atmega16u4",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1426,17 +1426,17 @@ pub const cpu_atmega2560 = Cpu{
     .name = "atmega2560",
     .llvm_name = "atmega2560",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -1445,17 +1445,17 @@ pub const cpu_atmega2561 = Cpu{
     .name = "atmega2561",
     .llvm_name = "atmega2561",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -1464,17 +1464,17 @@ pub const cpu_atmega2564rfr2 = Cpu{
     .name = "atmega2564rfr2",
     .llvm_name = "atmega2564rfr2",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -1483,17 +1483,17 @@ pub const cpu_atmega256rfr2 = Cpu{
     .name = "atmega256rfr2",
     .llvm_name = "atmega256rfr2",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -1502,14 +1502,14 @@ pub const cpu_atmega32 = Cpu{
     .name = "atmega32",
     .llvm_name = "atmega32",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1519,14 +1519,14 @@ pub const cpu_atmega323 = Cpu{
     .name = "atmega323",
     .llvm_name = "atmega323",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1536,14 +1536,14 @@ pub const cpu_atmega324a = Cpu{
     .name = "atmega324a",
     .llvm_name = "atmega324a",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1553,14 +1553,14 @@ pub const cpu_atmega324p = Cpu{
     .name = "atmega324p",
     .llvm_name = "atmega324p",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1570,14 +1570,14 @@ pub const cpu_atmega324pa = Cpu{
     .name = "atmega324pa",
     .llvm_name = "atmega324pa",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1587,14 +1587,14 @@ pub const cpu_atmega325 = Cpu{
     .name = "atmega325",
     .llvm_name = "atmega325",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1604,14 +1604,14 @@ pub const cpu_atmega3250 = Cpu{
     .name = "atmega3250",
     .llvm_name = "atmega3250",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1621,14 +1621,14 @@ pub const cpu_atmega3250a = Cpu{
     .name = "atmega3250a",
     .llvm_name = "atmega3250a",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1638,14 +1638,14 @@ pub const cpu_atmega3250p = Cpu{
     .name = "atmega3250p",
     .llvm_name = "atmega3250p",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1655,14 +1655,14 @@ pub const cpu_atmega3250pa = Cpu{
     .name = "atmega3250pa",
     .llvm_name = "atmega3250pa",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1672,14 +1672,14 @@ pub const cpu_atmega325a = Cpu{
     .name = "atmega325a",
     .llvm_name = "atmega325a",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1689,14 +1689,14 @@ pub const cpu_atmega325p = Cpu{
     .name = "atmega325p",
     .llvm_name = "atmega325p",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1706,14 +1706,14 @@ pub const cpu_atmega325pa = Cpu{
     .name = "atmega325pa",
     .llvm_name = "atmega325pa",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1723,14 +1723,14 @@ pub const cpu_atmega328 = Cpu{
     .name = "atmega328",
     .llvm_name = "atmega328",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1740,14 +1740,14 @@ pub const cpu_atmega328p = Cpu{
     .name = "atmega328p",
     .llvm_name = "atmega328p",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1757,14 +1757,14 @@ pub const cpu_atmega329 = Cpu{
     .name = "atmega329",
     .llvm_name = "atmega329",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1774,14 +1774,14 @@ pub const cpu_atmega3290 = Cpu{
     .name = "atmega3290",
     .llvm_name = "atmega3290",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1791,14 +1791,14 @@ pub const cpu_atmega3290a = Cpu{
     .name = "atmega3290a",
     .llvm_name = "atmega3290a",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1808,14 +1808,14 @@ pub const cpu_atmega3290p = Cpu{
     .name = "atmega3290p",
     .llvm_name = "atmega3290p",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1825,14 +1825,14 @@ pub const cpu_atmega3290pa = Cpu{
     .name = "atmega3290pa",
     .llvm_name = "atmega3290pa",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1842,14 +1842,14 @@ pub const cpu_atmega329a = Cpu{
     .name = "atmega329a",
     .llvm_name = "atmega329a",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1859,14 +1859,14 @@ pub const cpu_atmega329p = Cpu{
     .name = "atmega329p",
     .llvm_name = "atmega329p",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1876,14 +1876,14 @@ pub const cpu_atmega329pa = Cpu{
     .name = "atmega329pa",
     .llvm_name = "atmega329pa",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1893,14 +1893,14 @@ pub const cpu_atmega32a = Cpu{
     .name = "atmega32a",
     .llvm_name = "atmega32a",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1910,14 +1910,14 @@ pub const cpu_atmega32c1 = Cpu{
     .name = "atmega32c1",
     .llvm_name = "atmega32c1",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1927,14 +1927,14 @@ pub const cpu_atmega32hvb = Cpu{
     .name = "atmega32hvb",
     .llvm_name = "atmega32hvb",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1944,14 +1944,14 @@ pub const cpu_atmega32hvbrevb = Cpu{
     .name = "atmega32hvbrevb",
     .llvm_name = "atmega32hvbrevb",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1961,14 +1961,14 @@ pub const cpu_atmega32m1 = Cpu{
     .name = "atmega32m1",
     .llvm_name = "atmega32m1",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -1978,14 +1978,14 @@ pub const cpu_atmega32u2 = Cpu{
     .name = "atmega32u2",
     .llvm_name = "atmega32u2",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -1994,14 +1994,14 @@ pub const cpu_atmega32u4 = Cpu{
     .name = "atmega32u4",
     .llvm_name = "atmega32u4",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2011,14 +2011,14 @@ pub const cpu_atmega32u6 = Cpu{
     .name = "atmega32u6",
     .llvm_name = "atmega32u6",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2028,14 +2028,14 @@ pub const cpu_atmega406 = Cpu{
     .name = "atmega406",
     .llvm_name = "atmega406",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2045,13 +2045,13 @@ pub const cpu_atmega48 = Cpu{
     .name = "atmega48",
     .llvm_name = "atmega48",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2061,13 +2061,13 @@ pub const cpu_atmega48a = Cpu{
     .name = "atmega48a",
     .llvm_name = "atmega48a",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2077,13 +2077,13 @@ pub const cpu_atmega48p = Cpu{
     .name = "atmega48p",
     .llvm_name = "atmega48p",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2093,13 +2093,13 @@ pub const cpu_atmega48pa = Cpu{
     .name = "atmega48pa",
     .llvm_name = "atmega48pa",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2109,14 +2109,14 @@ pub const cpu_atmega64 = Cpu{
     .name = "atmega64",
     .llvm_name = "atmega64",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2126,14 +2126,14 @@ pub const cpu_atmega640 = Cpu{
     .name = "atmega640",
     .llvm_name = "atmega640",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2143,14 +2143,14 @@ pub const cpu_atmega644 = Cpu{
     .name = "atmega644",
     .llvm_name = "atmega644",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2160,14 +2160,14 @@ pub const cpu_atmega644a = Cpu{
     .name = "atmega644a",
     .llvm_name = "atmega644a",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2177,14 +2177,14 @@ pub const cpu_atmega644p = Cpu{
     .name = "atmega644p",
     .llvm_name = "atmega644p",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2194,14 +2194,14 @@ pub const cpu_atmega644pa = Cpu{
     .name = "atmega644pa",
     .llvm_name = "atmega644pa",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2211,14 +2211,14 @@ pub const cpu_atmega644rfr2 = Cpu{
     .name = "atmega644rfr2",
     .llvm_name = "atmega644rfr2",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2228,14 +2228,14 @@ pub const cpu_atmega645 = Cpu{
     .name = "atmega645",
     .llvm_name = "atmega645",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2245,14 +2245,14 @@ pub const cpu_atmega6450 = Cpu{
     .name = "atmega6450",
     .llvm_name = "atmega6450",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2262,14 +2262,14 @@ pub const cpu_atmega6450a = Cpu{
     .name = "atmega6450a",
     .llvm_name = "atmega6450a",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2279,14 +2279,14 @@ pub const cpu_atmega6450p = Cpu{
     .name = "atmega6450p",
     .llvm_name = "atmega6450p",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2296,14 +2296,14 @@ pub const cpu_atmega645a = Cpu{
     .name = "atmega645a",
     .llvm_name = "atmega645a",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2313,14 +2313,14 @@ pub const cpu_atmega645p = Cpu{
     .name = "atmega645p",
     .llvm_name = "atmega645p",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2330,14 +2330,14 @@ pub const cpu_atmega649 = Cpu{
     .name = "atmega649",
     .llvm_name = "atmega649",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2347,14 +2347,14 @@ pub const cpu_atmega6490 = Cpu{
     .name = "atmega6490",
     .llvm_name = "atmega6490",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2364,14 +2364,14 @@ pub const cpu_atmega6490a = Cpu{
     .name = "atmega6490a",
     .llvm_name = "atmega6490a",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2381,14 +2381,14 @@ pub const cpu_atmega6490p = Cpu{
     .name = "atmega6490p",
     .llvm_name = "atmega6490p",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2398,14 +2398,14 @@ pub const cpu_atmega649a = Cpu{
     .name = "atmega649a",
     .llvm_name = "atmega649a",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2415,14 +2415,14 @@ pub const cpu_atmega649p = Cpu{
     .name = "atmega649p",
     .llvm_name = "atmega649p",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2432,14 +2432,14 @@ pub const cpu_atmega64a = Cpu{
     .name = "atmega64a",
     .llvm_name = "atmega64a",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2449,14 +2449,14 @@ pub const cpu_atmega64c1 = Cpu{
     .name = "atmega64c1",
     .llvm_name = "atmega64c1",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2466,14 +2466,14 @@ pub const cpu_atmega64hve = Cpu{
     .name = "atmega64hve",
     .llvm_name = "atmega64hve",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2483,14 +2483,14 @@ pub const cpu_atmega64m1 = Cpu{
     .name = "atmega64m1",
     .llvm_name = "atmega64m1",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2500,14 +2500,14 @@ pub const cpu_atmega64rfr2 = Cpu{
     .name = "atmega64rfr2",
     .llvm_name = "atmega64rfr2",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2517,13 +2517,13 @@ pub const cpu_atmega8 = Cpu{
     .name = "atmega8",
     .llvm_name = "atmega8",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2563,13 +2563,13 @@ pub const cpu_atmega88 = Cpu{
     .name = "atmega88",
     .llvm_name = "atmega88",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2579,13 +2579,13 @@ pub const cpu_atmega88a = Cpu{
     .name = "atmega88a",
     .llvm_name = "atmega88a",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2595,13 +2595,13 @@ pub const cpu_atmega88p = Cpu{
     .name = "atmega88p",
     .llvm_name = "atmega88p",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2611,13 +2611,13 @@ pub const cpu_atmega88pa = Cpu{
     .name = "atmega88pa",
     .llvm_name = "atmega88pa",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2627,13 +2627,13 @@ pub const cpu_atmega8a = Cpu{
     .name = "atmega8a",
     .llvm_name = "atmega8a",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2643,13 +2643,13 @@ pub const cpu_atmega8hva = Cpu{
     .name = "atmega8hva",
     .llvm_name = "atmega8hva",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -2659,14 +2659,14 @@ pub const cpu_atmega8u2 = Cpu{
     .name = "atmega8u2",
     .llvm_name = "atmega8u2",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -2721,13 +2721,13 @@ pub const cpu_attiny13 = Cpu{
     .name = "attiny13",
     .llvm_name = "attiny13",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -2736,13 +2736,13 @@ pub const cpu_attiny13a = Cpu{
     .name = "attiny13a",
     .llvm_name = "attiny13a",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -2759,14 +2759,14 @@ pub const cpu_attiny1634 = Cpu{
     .name = "attiny1634",
     .llvm_name = "attiny1634",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -2775,14 +2775,14 @@ pub const cpu_attiny167 = Cpu{
     .name = "attiny167",
     .llvm_name = "attiny167",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -2812,13 +2812,13 @@ pub const cpu_attiny2313 = Cpu{
     .name = "attiny2313",
     .llvm_name = "attiny2313",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -2827,13 +2827,13 @@ pub const cpu_attiny2313a = Cpu{
     .name = "attiny2313a",
     .llvm_name = "attiny2313a",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -2842,13 +2842,13 @@ pub const cpu_attiny24 = Cpu{
     .name = "attiny24",
     .llvm_name = "attiny24",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -2857,13 +2857,13 @@ pub const cpu_attiny24a = Cpu{
     .name = "attiny24a",
     .llvm_name = "attiny24a",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -2872,13 +2872,13 @@ pub const cpu_attiny25 = Cpu{
     .name = "attiny25",
     .llvm_name = "attiny25",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -2899,13 +2899,13 @@ pub const cpu_attiny261 = Cpu{
     .name = "attiny261",
     .llvm_name = "attiny261",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -2914,13 +2914,13 @@ pub const cpu_attiny261a = Cpu{
     .name = "attiny261a",
     .llvm_name = "attiny261a",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -2957,13 +2957,13 @@ pub const cpu_attiny4313 = Cpu{
     .name = "attiny4313",
     .llvm_name = "attiny4313",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -2972,13 +2972,13 @@ pub const cpu_attiny43u = Cpu{
     .name = "attiny43u",
     .llvm_name = "attiny43u",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -2987,13 +2987,13 @@ pub const cpu_attiny44 = Cpu{
     .name = "attiny44",
     .llvm_name = "attiny44",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -3002,13 +3002,13 @@ pub const cpu_attiny44a = Cpu{
     .name = "attiny44a",
     .llvm_name = "attiny44a",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -3017,13 +3017,13 @@ pub const cpu_attiny45 = Cpu{
     .name = "attiny45",
     .llvm_name = "attiny45",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -3032,13 +3032,13 @@ pub const cpu_attiny461 = Cpu{
     .name = "attiny461",
     .llvm_name = "attiny461",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -3047,13 +3047,13 @@ pub const cpu_attiny461a = Cpu{
     .name = "attiny461a",
     .llvm_name = "attiny461a",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -3062,13 +3062,13 @@ pub const cpu_attiny48 = Cpu{
     .name = "attiny48",
     .llvm_name = "attiny48",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -3087,13 +3087,13 @@ pub const cpu_attiny828 = Cpu{
     .name = "attiny828",
     .llvm_name = "attiny828",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -3102,13 +3102,13 @@ pub const cpu_attiny84 = Cpu{
     .name = "attiny84",
     .llvm_name = "attiny84",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -3117,13 +3117,13 @@ pub const cpu_attiny84a = Cpu{
     .name = "attiny84a",
     .llvm_name = "attiny84a",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -3132,13 +3132,13 @@ pub const cpu_attiny85 = Cpu{
     .name = "attiny85",
     .llvm_name = "attiny85",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -3147,13 +3147,13 @@ pub const cpu_attiny861 = Cpu{
     .name = "attiny861",
     .llvm_name = "attiny861",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -3162,13 +3162,13 @@ pub const cpu_attiny861a = Cpu{
     .name = "attiny861a",
     .llvm_name = "attiny861a",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -3177,13 +3177,13 @@ pub const cpu_attiny87 = Cpu{
     .name = "attiny87",
     .llvm_name = "attiny87",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -3192,13 +3192,13 @@ pub const cpu_attiny88 = Cpu{
     .name = "attiny88",
     .llvm_name = "attiny88",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -3217,20 +3217,20 @@ pub const cpu_atxmega128a1 = Cpu{
     .name = "atxmega128a1",
     .llvm_name = "atxmega128a1",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -3239,21 +3239,21 @@ pub const cpu_atxmega128a1u = Cpu{
     .name = "atxmega128a1u",
     .llvm_name = "atxmega128a1u",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
-        &feature_movw,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_rmw,
-        &feature_elpm,
-        &feature_break,
+        &feature_movw,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -3262,20 +3262,20 @@ pub const cpu_atxmega128a3 = Cpu{
     .name = "atxmega128a3",
     .llvm_name = "atxmega128a3",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -3284,21 +3284,21 @@ pub const cpu_atxmega128a3u = Cpu{
     .name = "atxmega128a3u",
     .llvm_name = "atxmega128a3u",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
-        &feature_movw,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_rmw,
-        &feature_elpm,
-        &feature_break,
+        &feature_movw,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -3307,21 +3307,21 @@ pub const cpu_atxmega128a4u = Cpu{
     .name = "atxmega128a4u",
     .llvm_name = "atxmega128a4u",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
-        &feature_movw,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_rmw,
-        &feature_elpm,
-        &feature_break,
+        &feature_movw,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -3330,21 +3330,21 @@ pub const cpu_atxmega128b1 = Cpu{
     .name = "atxmega128b1",
     .llvm_name = "atxmega128b1",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
-        &feature_movw,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_rmw,
-        &feature_elpm,
-        &feature_break,
+        &feature_movw,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -3353,21 +3353,21 @@ pub const cpu_atxmega128b3 = Cpu{
     .name = "atxmega128b3",
     .llvm_name = "atxmega128b3",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
-        &feature_movw,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_rmw,
-        &feature_elpm,
-        &feature_break,
+        &feature_movw,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -3376,21 +3376,21 @@ pub const cpu_atxmega128c3 = Cpu{
     .name = "atxmega128c3",
     .llvm_name = "atxmega128c3",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
-        &feature_movw,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_rmw,
-        &feature_elpm,
-        &feature_break,
+        &feature_movw,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -3399,20 +3399,20 @@ pub const cpu_atxmega128d3 = Cpu{
     .name = "atxmega128d3",
     .llvm_name = "atxmega128d3",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -3421,20 +3421,20 @@ pub const cpu_atxmega128d4 = Cpu{
     .name = "atxmega128d4",
     .llvm_name = "atxmega128d4",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -3443,20 +3443,20 @@ pub const cpu_atxmega16a4 = Cpu{
     .name = "atxmega16a4",
     .llvm_name = "atxmega16a4",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -3465,21 +3465,21 @@ pub const cpu_atxmega16a4u = Cpu{
     .name = "atxmega16a4u",
     .llvm_name = "atxmega16a4u",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
-        &feature_movw,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_rmw,
-        &feature_elpm,
-        &feature_break,
+        &feature_movw,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -3488,21 +3488,21 @@ pub const cpu_atxmega16c4 = Cpu{
     .name = "atxmega16c4",
     .llvm_name = "atxmega16c4",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
-        &feature_movw,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_rmw,
-        &feature_elpm,
-        &feature_break,
+        &feature_movw,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -3511,20 +3511,20 @@ pub const cpu_atxmega16d4 = Cpu{
     .name = "atxmega16d4",
     .llvm_name = "atxmega16d4",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -3533,20 +3533,20 @@ pub const cpu_atxmega16e5 = Cpu{
     .name = "atxmega16e5",
     .llvm_name = "atxmega16e5",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -3555,20 +3555,20 @@ pub const cpu_atxmega192a3 = Cpu{
     .name = "atxmega192a3",
     .llvm_name = "atxmega192a3",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -3577,21 +3577,21 @@ pub const cpu_atxmega192a3u = Cpu{
     .name = "atxmega192a3u",
     .llvm_name = "atxmega192a3u",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
-        &feature_movw,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_rmw,
-        &feature_elpm,
-        &feature_break,
+        &feature_movw,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -3600,21 +3600,21 @@ pub const cpu_atxmega192c3 = Cpu{
     .name = "atxmega192c3",
     .llvm_name = "atxmega192c3",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
-        &feature_movw,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_rmw,
-        &feature_elpm,
-        &feature_break,
+        &feature_movw,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -3623,20 +3623,20 @@ pub const cpu_atxmega192d3 = Cpu{
     .name = "atxmega192d3",
     .llvm_name = "atxmega192d3",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -3645,20 +3645,20 @@ pub const cpu_atxmega256a3 = Cpu{
     .name = "atxmega256a3",
     .llvm_name = "atxmega256a3",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -3667,20 +3667,20 @@ pub const cpu_atxmega256a3b = Cpu{
     .name = "atxmega256a3b",
     .llvm_name = "atxmega256a3b",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -3689,21 +3689,21 @@ pub const cpu_atxmega256a3bu = Cpu{
     .name = "atxmega256a3bu",
     .llvm_name = "atxmega256a3bu",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
-        &feature_movw,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_rmw,
-        &feature_elpm,
-        &feature_break,
+        &feature_movw,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -3712,21 +3712,21 @@ pub const cpu_atxmega256a3u = Cpu{
     .name = "atxmega256a3u",
     .llvm_name = "atxmega256a3u",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
-        &feature_movw,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_rmw,
-        &feature_elpm,
-        &feature_break,
+        &feature_movw,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -3735,21 +3735,21 @@ pub const cpu_atxmega256c3 = Cpu{
     .name = "atxmega256c3",
     .llvm_name = "atxmega256c3",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
-        &feature_movw,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_rmw,
-        &feature_elpm,
-        &feature_break,
+        &feature_movw,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -3758,20 +3758,20 @@ pub const cpu_atxmega256d3 = Cpu{
     .name = "atxmega256d3",
     .llvm_name = "atxmega256d3",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -3780,20 +3780,20 @@ pub const cpu_atxmega32a4 = Cpu{
     .name = "atxmega32a4",
     .llvm_name = "atxmega32a4",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -3802,21 +3802,21 @@ pub const cpu_atxmega32a4u = Cpu{
     .name = "atxmega32a4u",
     .llvm_name = "atxmega32a4u",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
-        &feature_movw,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_rmw,
-        &feature_elpm,
-        &feature_break,
+        &feature_movw,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -3825,21 +3825,21 @@ pub const cpu_atxmega32c4 = Cpu{
     .name = "atxmega32c4",
     .llvm_name = "atxmega32c4",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
-        &feature_movw,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_rmw,
-        &feature_elpm,
-        &feature_break,
+        &feature_movw,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -3848,20 +3848,20 @@ pub const cpu_atxmega32d4 = Cpu{
     .name = "atxmega32d4",
     .llvm_name = "atxmega32d4",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -3870,20 +3870,20 @@ pub const cpu_atxmega32e5 = Cpu{
     .name = "atxmega32e5",
     .llvm_name = "atxmega32e5",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -3892,20 +3892,20 @@ pub const cpu_atxmega32x1 = Cpu{
     .name = "atxmega32x1",
     .llvm_name = "atxmega32x1",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -3914,21 +3914,21 @@ pub const cpu_atxmega384c3 = Cpu{
     .name = "atxmega384c3",
     .llvm_name = "atxmega384c3",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
-        &feature_movw,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_rmw,
-        &feature_elpm,
-        &feature_break,
+        &feature_movw,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -3937,20 +3937,20 @@ pub const cpu_atxmega384d3 = Cpu{
     .name = "atxmega384d3",
     .llvm_name = "atxmega384d3",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -3959,20 +3959,20 @@ pub const cpu_atxmega64a1 = Cpu{
     .name = "atxmega64a1",
     .llvm_name = "atxmega64a1",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -3981,21 +3981,21 @@ pub const cpu_atxmega64a1u = Cpu{
     .name = "atxmega64a1u",
     .llvm_name = "atxmega64a1u",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
-        &feature_movw,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_rmw,
-        &feature_elpm,
-        &feature_break,
+        &feature_movw,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -4004,20 +4004,20 @@ pub const cpu_atxmega64a3 = Cpu{
     .name = "atxmega64a3",
     .llvm_name = "atxmega64a3",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -4026,21 +4026,21 @@ pub const cpu_atxmega64a3u = Cpu{
     .name = "atxmega64a3u",
     .llvm_name = "atxmega64a3u",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
-        &feature_movw,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_rmw,
-        &feature_elpm,
-        &feature_break,
+        &feature_movw,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -4049,21 +4049,21 @@ pub const cpu_atxmega64a4u = Cpu{
     .name = "atxmega64a4u",
     .llvm_name = "atxmega64a4u",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
-        &feature_movw,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_rmw,
-        &feature_elpm,
-        &feature_break,
+        &feature_movw,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -4072,21 +4072,21 @@ pub const cpu_atxmega64b1 = Cpu{
     .name = "atxmega64b1",
     .llvm_name = "atxmega64b1",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
-        &feature_movw,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_rmw,
-        &feature_elpm,
-        &feature_break,
+        &feature_movw,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -4095,21 +4095,21 @@ pub const cpu_atxmega64b3 = Cpu{
     .name = "atxmega64b3",
     .llvm_name = "atxmega64b3",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
-        &feature_movw,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_rmw,
-        &feature_elpm,
-        &feature_break,
+        &feature_movw,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -4118,21 +4118,21 @@ pub const cpu_atxmega64c3 = Cpu{
     .name = "atxmega64c3",
     .llvm_name = "atxmega64c3",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
-        &feature_movw,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_rmw,
-        &feature_elpm,
-        &feature_break,
+        &feature_movw,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -4141,20 +4141,20 @@ pub const cpu_atxmega64d3 = Cpu{
     .name = "atxmega64d3",
     .llvm_name = "atxmega64d3",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -4163,20 +4163,20 @@ pub const cpu_atxmega64d4 = Cpu{
     .name = "atxmega64d4",
     .llvm_name = "atxmega64d4",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -4185,20 +4185,20 @@ pub const cpu_atxmega8e5 = Cpu{
     .name = "atxmega8e5",
     .llvm_name = "atxmega8e5",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -4226,13 +4226,13 @@ pub const cpu_avr25 = Cpu{
     .name = "avr25",
     .llvm_name = "avr25",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -4241,11 +4241,11 @@ pub const cpu_avr3 = Cpu{
     .name = "avr3",
     .llvm_name = "avr3",
     .dependencies = &[_]*const Feature {
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_ijmpcall,
-        &feature_jmpcall,
     },
 };
 
@@ -4253,12 +4253,12 @@ pub const cpu_avr31 = Cpu{
     .name = "avr31",
     .llvm_name = "avr31",
     .dependencies = &[_]*const Feature {
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
-        &feature_elpm,
         &feature_ijmpcall,
-        &feature_jmpcall,
     },
 };
 
@@ -4266,14 +4266,14 @@ pub const cpu_avr35 = Cpu{
     .name = "avr35",
     .llvm_name = "avr35",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
     },
 };
@@ -4282,13 +4282,13 @@ pub const cpu_avr4 = Cpu{
     .name = "avr4",
     .llvm_name = "avr4",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -4298,14 +4298,14 @@ pub const cpu_avr5 = Cpu{
     .name = "avr5",
     .llvm_name = "avr5",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
@@ -4315,17 +4315,17 @@ pub const cpu_avr51 = Cpu{
     .name = "avr51",
     .llvm_name = "avr51",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -4334,17 +4334,17 @@ pub const cpu_avr6 = Cpu{
     .name = "avr6",
     .llvm_name = "avr6",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -4363,20 +4363,20 @@ pub const cpu_avrxmega1 = Cpu{
     .name = "avrxmega1",
     .llvm_name = "avrxmega1",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -4385,20 +4385,20 @@ pub const cpu_avrxmega2 = Cpu{
     .name = "avrxmega2",
     .llvm_name = "avrxmega2",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -4407,20 +4407,20 @@ pub const cpu_avrxmega3 = Cpu{
     .name = "avrxmega3",
     .llvm_name = "avrxmega3",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -4429,20 +4429,20 @@ pub const cpu_avrxmega4 = Cpu{
     .name = "avrxmega4",
     .llvm_name = "avrxmega4",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -4451,20 +4451,20 @@ pub const cpu_avrxmega5 = Cpu{
     .name = "avrxmega5",
     .llvm_name = "avrxmega5",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -4473,20 +4473,20 @@ pub const cpu_avrxmega6 = Cpu{
     .name = "avrxmega6",
     .llvm_name = "avrxmega6",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -4495,20 +4495,20 @@ pub const cpu_avrxmega7 = Cpu{
     .name = "avrxmega7",
     .llvm_name = "avrxmega7",
     .dependencies = &[_]*const Feature {
-        &feature_eijmpcall,
+        &feature_spmx,
+        &feature_des,
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
+        &feature_elpm,
         &feature_sram,
         &feature_addsubiw,
+        &feature_elpmx,
         &feature_movw,
-        &feature_elpm,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_des,
-        &feature_spmx,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
+        &feature_eijmpcall,
         &feature_spm,
-        &feature_elpmx,
         &feature_mul,
     },
 };
@@ -4517,14 +4517,14 @@ pub const cpu_m3000 = Cpu{
     .name = "m3000",
     .llvm_name = "m3000",
     .dependencies = &[_]*const Feature {
+        &feature_lpmx,
+        &feature_jmpcall,
         &feature_lpm,
         &feature_sram,
         &feature_addsubiw,
         &feature_movw,
-        &feature_break,
         &feature_ijmpcall,
-        &feature_lpmx,
-        &feature_jmpcall,
+        &feature_break,
         &feature_spm,
         &feature_mul,
     },
lib/std/target/mips.zig
@@ -22,13 +22,13 @@ pub const feature_cnmips = Feature{
     .llvm_name = "cnmips",
     .description = "Octeon cnMIPS Support",
     .dependencies = &[_]*const Feature {
+        &feature_mips4_32,
         &feature_mips5_32r2,
-        &feature_mips1,
         &feature_mips3_32r2,
         &feature_mips3_32,
         &feature_mips4_32r2,
         &feature_gp64,
-        &feature_mips4_32,
+        &feature_mips1,
         &feature_fp64,
     },
 };
@@ -161,10 +161,10 @@ pub const feature_mips3 = Feature{
     .llvm_name = "mips3",
     .description = "MIPS III ISA Support [highly experimental]",
     .dependencies = &[_]*const Feature {
-        &feature_mips1,
         &feature_mips3_32r2,
         &feature_mips3_32,
         &feature_gp64,
+        &feature_mips1,
         &feature_fp64,
     },
 };
@@ -190,12 +190,12 @@ pub const feature_mips4 = Feature{
     .llvm_name = "mips4",
     .description = "MIPS IV ISA Support",
     .dependencies = &[_]*const Feature {
-        &feature_mips1,
+        &feature_mips4_32,
         &feature_mips3_32r2,
         &feature_mips3_32,
-        &feature_gp64,
         &feature_mips4_32r2,
-        &feature_mips4_32,
+        &feature_gp64,
+        &feature_mips1,
         &feature_fp64,
     },
 };
@@ -221,13 +221,13 @@ pub const feature_mips5 = Feature{
     .llvm_name = "mips5",
     .description = "MIPS V ISA Support [highly experimental]",
     .dependencies = &[_]*const Feature {
+        &feature_mips4_32,
         &feature_mips5_32r2,
-        &feature_mips1,
         &feature_mips3_32r2,
         &feature_mips3_32,
         &feature_mips4_32r2,
         &feature_gp64,
-        &feature_mips4_32,
+        &feature_mips1,
         &feature_fp64,
     },
 };
@@ -264,12 +264,12 @@ pub const feature_mips32r2 = Feature{
     .llvm_name = "mips32r2",
     .description = "Mips32r2 ISA Support",
     .dependencies = &[_]*const Feature {
+        &feature_mips4_32,
         &feature_mips5_32r2,
-        &feature_mips1,
         &feature_mips3_32r2,
         &feature_mips3_32,
         &feature_mips4_32r2,
-        &feature_mips4_32,
+        &feature_mips1,
     },
 };
 
@@ -278,12 +278,12 @@ pub const feature_mips32r3 = Feature{
     .llvm_name = "mips32r3",
     .description = "Mips32r3 ISA Support",
     .dependencies = &[_]*const Feature {
+        &feature_mips4_32,
         &feature_mips5_32r2,
-        &feature_mips1,
         &feature_mips3_32r2,
         &feature_mips3_32,
         &feature_mips4_32r2,
-        &feature_mips4_32,
+        &feature_mips1,
     },
 };
 
@@ -292,12 +292,12 @@ pub const feature_mips32r5 = Feature{
     .llvm_name = "mips32r5",
     .description = "Mips32r5 ISA Support",
     .dependencies = &[_]*const Feature {
+        &feature_mips4_32,
         &feature_mips5_32r2,
-        &feature_mips1,
         &feature_mips3_32r2,
         &feature_mips3_32,
         &feature_mips4_32r2,
-        &feature_mips4_32,
+        &feature_mips1,
     },
 };
 
@@ -306,15 +306,15 @@ pub const feature_mips32r6 = Feature{
     .llvm_name = "mips32r6",
     .description = "Mips32r6 ISA Support [experimental]",
     .dependencies = &[_]*const Feature {
-        &feature_nan2008,
+        &feature_mips4_32,
         &feature_mips5_32r2,
-        &feature_mips1,
         &feature_mips3_32r2,
         &feature_mips3_32,
         &feature_mips4_32r2,
-        &feature_mips4_32,
-        &feature_abs2008,
+        &feature_nan2008,
+        &feature_mips1,
         &feature_fp64,
+        &feature_abs2008,
     },
 };
 
@@ -323,13 +323,13 @@ pub const feature_mips64 = Feature{
     .llvm_name = "mips64",
     .description = "Mips64 ISA Support",
     .dependencies = &[_]*const Feature {
+        &feature_mips4_32,
         &feature_mips5_32r2,
-        &feature_mips1,
         &feature_mips3_32r2,
         &feature_mips3_32,
         &feature_mips4_32r2,
         &feature_gp64,
-        &feature_mips4_32,
+        &feature_mips1,
         &feature_fp64,
     },
 };
@@ -339,13 +339,13 @@ pub const feature_mips64r2 = Feature{
     .llvm_name = "mips64r2",
     .description = "Mips64r2 ISA Support",
     .dependencies = &[_]*const Feature {
+        &feature_mips4_32,
         &feature_mips5_32r2,
-        &feature_mips1,
         &feature_mips3_32r2,
         &feature_mips3_32,
         &feature_mips4_32r2,
         &feature_gp64,
-        &feature_mips4_32,
+        &feature_mips1,
         &feature_fp64,
     },
 };
@@ -355,13 +355,13 @@ pub const feature_mips64r3 = Feature{
     .llvm_name = "mips64r3",
     .description = "Mips64r3 ISA Support",
     .dependencies = &[_]*const Feature {
+        &feature_mips4_32,
         &feature_mips5_32r2,
-        &feature_mips1,
         &feature_mips3_32r2,
         &feature_mips3_32,
         &feature_mips4_32r2,
         &feature_gp64,
-        &feature_mips4_32,
+        &feature_mips1,
         &feature_fp64,
     },
 };
@@ -371,13 +371,13 @@ pub const feature_mips64r5 = Feature{
     .llvm_name = "mips64r5",
     .description = "Mips64r5 ISA Support",
     .dependencies = &[_]*const Feature {
+        &feature_mips4_32,
         &feature_mips5_32r2,
-        &feature_mips1,
         &feature_mips3_32r2,
         &feature_mips3_32,
         &feature_mips4_32r2,
         &feature_gp64,
-        &feature_mips4_32,
+        &feature_mips1,
         &feature_fp64,
     },
 };
@@ -387,16 +387,16 @@ pub const feature_mips64r6 = Feature{
     .llvm_name = "mips64r6",
     .description = "Mips64r6 ISA Support [experimental]",
     .dependencies = &[_]*const Feature {
-        &feature_nan2008,
+        &feature_mips4_32,
         &feature_mips5_32r2,
-        &feature_mips1,
         &feature_mips3_32r2,
         &feature_mips3_32,
         &feature_mips4_32r2,
+        &feature_nan2008,
         &feature_gp64,
-        &feature_mips4_32,
-        &feature_abs2008,
+        &feature_mips1,
         &feature_fp64,
+        &feature_abs2008,
     },
 };
 
@@ -488,25 +488,17 @@ pub const feature_virt = Feature{
     },
 };
 
-pub const feature_xgot = Feature{
-    .name = "xgot",
-    .llvm_name = "xgot",
-    .description = "Assume 32-bit GOT",
-    .dependencies = &[_]*const Feature {
-    },
-};
-
 pub const feature_p5600 = Feature{
     .name = "p5600",
     .llvm_name = "p5600",
     .description = "The P5600 Processor",
     .dependencies = &[_]*const Feature {
+        &feature_mips4_32,
         &feature_mips5_32r2,
-        &feature_mips1,
         &feature_mips3_32r2,
         &feature_mips3_32,
         &feature_mips4_32r2,
-        &feature_mips4_32,
+        &feature_mips1,
     },
 };
 
@@ -559,7 +551,6 @@ pub const features = &[_]*const Feature {
     &feature_useTccInDiv,
     &feature_vfpu,
     &feature_virt,
-    &feature_xgot,
     &feature_p5600,
 };
 
@@ -584,10 +575,10 @@ pub const cpu_mips3 = Cpu{
     .name = "mips3",
     .llvm_name = "mips3",
     .dependencies = &[_]*const Feature {
-        &feature_mips1,
         &feature_mips3_32r2,
         &feature_mips3_32,
         &feature_gp64,
+        &feature_mips1,
         &feature_fp64,
         &feature_mips3,
     },
@@ -608,12 +599,12 @@ pub const cpu_mips32r2 = Cpu{
     .name = "mips32r2",
     .llvm_name = "mips32r2",
     .dependencies = &[_]*const Feature {
+        &feature_mips4_32,
         &feature_mips5_32r2,
-        &feature_mips1,
         &feature_mips3_32r2,
         &feature_mips3_32,
         &feature_mips4_32r2,
-        &feature_mips4_32,
+        &feature_mips1,
         &feature_mips32r2,
     },
 };
@@ -622,12 +613,12 @@ pub const cpu_mips32r3 = Cpu{
     .name = "mips32r3",
     .llvm_name = "mips32r3",
     .dependencies = &[_]*const Feature {
+        &feature_mips4_32,
         &feature_mips5_32r2,
-        &feature_mips1,
         &feature_mips3_32r2,
         &feature_mips3_32,
         &feature_mips4_32r2,
-        &feature_mips4_32,
+        &feature_mips1,
         &feature_mips32r3,
     },
 };
@@ -636,12 +627,12 @@ pub const cpu_mips32r5 = Cpu{
     .name = "mips32r5",
     .llvm_name = "mips32r5",
     .dependencies = &[_]*const Feature {
+        &feature_mips4_32,
         &feature_mips5_32r2,
-        &feature_mips1,
         &feature_mips3_32r2,
         &feature_mips3_32,
         &feature_mips4_32r2,
-        &feature_mips4_32,
+        &feature_mips1,
         &feature_mips32r5,
     },
 };
@@ -650,15 +641,15 @@ pub const cpu_mips32r6 = Cpu{
     .name = "mips32r6",
     .llvm_name = "mips32r6",
     .dependencies = &[_]*const Feature {
-        &feature_nan2008,
+        &feature_mips4_32,
         &feature_mips5_32r2,
-        &feature_mips1,
         &feature_mips3_32r2,
         &feature_mips3_32,
         &feature_mips4_32r2,
-        &feature_mips4_32,
-        &feature_abs2008,
+        &feature_nan2008,
+        &feature_mips1,
         &feature_fp64,
+        &feature_abs2008,
         &feature_mips32r6,
     },
 };
@@ -667,12 +658,12 @@ pub const cpu_mips4 = Cpu{
     .name = "mips4",
     .llvm_name = "mips4",
     .dependencies = &[_]*const Feature {
-        &feature_mips1,
+        &feature_mips4_32,
         &feature_mips3_32r2,
         &feature_mips3_32,
-        &feature_gp64,
         &feature_mips4_32r2,
-        &feature_mips4_32,
+        &feature_gp64,
+        &feature_mips1,
         &feature_fp64,
         &feature_mips4,
     },
@@ -682,13 +673,13 @@ pub const cpu_mips5 = Cpu{
     .name = "mips5",
     .llvm_name = "mips5",
     .dependencies = &[_]*const Feature {
+        &feature_mips4_32,
         &feature_mips5_32r2,
-        &feature_mips1,
         &feature_mips3_32r2,
         &feature_mips3_32,
         &feature_mips4_32r2,
         &feature_gp64,
-        &feature_mips4_32,
+        &feature_mips1,
         &feature_fp64,
         &feature_mips5,
     },
@@ -698,13 +689,13 @@ pub const cpu_mips64 = Cpu{
     .name = "mips64",
     .llvm_name = "mips64",
     .dependencies = &[_]*const Feature {
+        &feature_mips4_32,
         &feature_mips5_32r2,
-        &feature_mips1,
         &feature_mips3_32r2,
         &feature_mips3_32,
         &feature_mips4_32r2,
         &feature_gp64,
-        &feature_mips4_32,
+        &feature_mips1,
         &feature_fp64,
         &feature_mips64,
     },
@@ -714,13 +705,13 @@ pub const cpu_mips64r2 = Cpu{
     .name = "mips64r2",
     .llvm_name = "mips64r2",
     .dependencies = &[_]*const Feature {
+        &feature_mips4_32,
         &feature_mips5_32r2,
-        &feature_mips1,
         &feature_mips3_32r2,
         &feature_mips3_32,
         &feature_mips4_32r2,
         &feature_gp64,
-        &feature_mips4_32,
+        &feature_mips1,
         &feature_fp64,
         &feature_mips64r2,
     },
@@ -730,13 +721,13 @@ pub const cpu_mips64r3 = Cpu{
     .name = "mips64r3",
     .llvm_name = "mips64r3",
     .dependencies = &[_]*const Feature {
+        &feature_mips4_32,
         &feature_mips5_32r2,
-        &feature_mips1,
         &feature_mips3_32r2,
         &feature_mips3_32,
         &feature_mips4_32r2,
         &feature_gp64,
-        &feature_mips4_32,
+        &feature_mips1,
         &feature_fp64,
         &feature_mips64r3,
     },
@@ -746,13 +737,13 @@ pub const cpu_mips64r5 = Cpu{
     .name = "mips64r5",
     .llvm_name = "mips64r5",
     .dependencies = &[_]*const Feature {
+        &feature_mips4_32,
         &feature_mips5_32r2,
-        &feature_mips1,
         &feature_mips3_32r2,
         &feature_mips3_32,
         &feature_mips4_32r2,
         &feature_gp64,
-        &feature_mips4_32,
+        &feature_mips1,
         &feature_fp64,
         &feature_mips64r5,
     },
@@ -762,16 +753,16 @@ pub const cpu_mips64r6 = Cpu{
     .name = "mips64r6",
     .llvm_name = "mips64r6",
     .dependencies = &[_]*const Feature {
-        &feature_nan2008,
+        &feature_mips4_32,
         &feature_mips5_32r2,
-        &feature_mips1,
         &feature_mips3_32r2,
         &feature_mips3_32,
         &feature_mips4_32r2,
+        &feature_nan2008,
         &feature_gp64,
-        &feature_mips4_32,
-        &feature_abs2008,
+        &feature_mips1,
         &feature_fp64,
+        &feature_abs2008,
         &feature_mips64r6,
     },
 };
@@ -780,13 +771,13 @@ pub const cpu_octeon = Cpu{
     .name = "octeon",
     .llvm_name = "octeon",
     .dependencies = &[_]*const Feature {
+        &feature_mips4_32,
         &feature_mips5_32r2,
-        &feature_mips1,
         &feature_mips3_32r2,
         &feature_mips3_32,
         &feature_mips4_32r2,
         &feature_gp64,
-        &feature_mips4_32,
+        &feature_mips1,
         &feature_fp64,
         &feature_cnmips,
         &feature_mips64r2,
@@ -797,12 +788,12 @@ pub const cpu_p5600 = Cpu{
     .name = "p5600",
     .llvm_name = "p5600",
     .dependencies = &[_]*const Feature {
+        &feature_mips4_32,
         &feature_mips5_32r2,
-        &feature_mips1,
         &feature_mips3_32r2,
         &feature_mips3_32,
         &feature_mips4_32r2,
-        &feature_mips4_32,
+        &feature_mips1,
         &feature_p5600,
     },
 };
lib/std/target/powerpc.zig
@@ -296,8 +296,8 @@ pub const feature_power9Altivec = Feature{
     .llvm_name = "power9-altivec",
     .description = "Enable POWER9 Altivec instructions",
     .dependencies = &[_]*const Feature {
-        &feature_hardFloat,
         &feature_isaV30Instructions,
+        &feature_hardFloat,
     },
 };
 
@@ -306,8 +306,8 @@ pub const feature_power9Vector = Feature{
     .llvm_name = "power9-vector",
     .description = "Enable POWER9 vector instructions",
     .dependencies = &[_]*const Feature {
-        &feature_hardFloat,
         &feature_isaV30Instructions,
+        &feature_hardFloat,
     },
 };
 
lib/std/target/riscv.zig
@@ -17,14 +17,6 @@ pub const feature_e = Feature{
     },
 };
 
-pub const feature_rvcHints = Feature{
-    .name = "rvcHints",
-    .llvm_name = "rvc-hints",
-    .description = "Enable RVC Hint Instructions.",
-    .dependencies = &[_]*const Feature {
-    },
-};
-
 pub const feature_relax = Feature{
     .name = "relax",
     .llvm_name = "relax",
@@ -77,7 +69,6 @@ pub const feature_m = Feature{
 pub const features = &[_]*const Feature {
     &feature_bit64,
     &feature_e,
-    &feature_rvcHints,
     &feature_relax,
     &feature_a,
     &feature_c,
@@ -90,7 +81,6 @@ pub const cpu_genericRv32 = Cpu{
     .name = "genericRv32",
     .llvm_name = "generic-rv32",
     .dependencies = &[_]*const Feature {
-        &feature_rvcHints,
     },
 };
 
@@ -99,7 +89,6 @@ pub const cpu_genericRv64 = Cpu{
     .llvm_name = "generic-rv64",
     .dependencies = &[_]*const Feature {
         &feature_bit64,
-        &feature_rvcHints,
     },
 };
 
lib/std/target/systemz.zig
@@ -553,48 +553,6 @@ pub const cpu_z14 = Cpu{
     },
 };
 
-pub const cpu_z15 = Cpu{
-    .name = "z15",
-    .llvm_name = "z15",
-    .dependencies = &[_]*const Feature {
-        &feature_dfpPackedConversion,
-        &feature_dfpZonedConversion,
-        &feature_deflateConversion,
-        &feature_distinctOps,
-        &feature_enhancedDat2,
-        &feature_enhancedSort,
-        &feature_executionHint,
-        &feature_fpExtension,
-        &feature_fastSerialization,
-        &feature_guardedStorage,
-        &feature_highWord,
-        &feature_insertReferenceBitsMultiple,
-        &feature_interlockedAccess1,
-        &feature_loadAndTrap,
-        &feature_loadAndZeroRightmostByte,
-        &feature_loadStoreOnCond,
-        &feature_loadStoreOnCond2,
-        &feature_messageSecurityAssistExtension3,
-        &feature_messageSecurityAssistExtension4,
-        &feature_messageSecurityAssistExtension5,
-        &feature_messageSecurityAssistExtension7,
-        &feature_messageSecurityAssistExtension8,
-        &feature_messageSecurityAssistExtension9,
-        &feature_miscellaneousExtensions,
-        &feature_miscellaneousExtensions2,
-        &feature_miscellaneousExtensions3,
-        &feature_populationCount,
-        &feature_processorAssist,
-        &feature_resetReferenceBitsMultiple,
-        &feature_transactionalExecution,
-        &feature_vector,
-        &feature_vectorEnhancements1,
-        &feature_vectorEnhancements2,
-        &feature_vectorPackedDecimal,
-        &feature_vectorPackedDecimalEnhancement,
-    },
-};
-
 pub const cpu_z196 = Cpu{
     .name = "z196",
     .llvm_name = "z196",
@@ -647,7 +605,6 @@ pub const cpus = &[_]*const Cpu {
     &cpu_z10,
     &cpu_z13,
     &cpu_z14,
-    &cpu_z15,
     &cpu_z196,
     &cpu_zEC12,
 };
lib/std/target/x86.zig
@@ -197,14 +197,6 @@ pub const feature_avx512dq = Feature{
     },
 };
 
-pub const feature_mpx = Feature{
-    .name = "mpx",
-    .llvm_name = "mpx",
-    .description = "Deprecated. Support MPX instructions",
-    .dependencies = &[_]*const Feature {
-    },
-};
-
 pub const feature_enqcmd = Feature{
     .name = "enqcmd",
     .llvm_name = "enqcmd",
@@ -484,6 +476,14 @@ pub const feature_movdiri = Feature{
     },
 };
 
+pub const feature_mpx = Feature{
+    .name = "mpx",
+    .llvm_name = "mpx",
+    .description = "Support MPX instructions",
+    .dependencies = &[_]*const Feature {
+    },
+};
+
 pub const feature_mwaitx = Feature{
     .name = "mwaitx",
     .llvm_name = "mwaitx",
@@ -598,14 +598,6 @@ pub const feature_padShortFunctions = Feature{
     },
 };
 
-pub const feature_prefer128Bit = Feature{
-    .name = "prefer128Bit",
-    .llvm_name = "prefer-128-bit",
-    .description = "Prefer 128-bit AVX instructions",
-    .dependencies = &[_]*const Feature {
-    },
-};
-
 pub const feature_prefer256Bit = Feature{
     .name = "prefer256Bit",
     .llvm_name = "prefer-256-bit",
@@ -880,14 +872,6 @@ pub const feature_tbm = Feature{
     },
 };
 
-pub const feature_useAa = Feature{
-    .name = "useAa",
-    .llvm_name = "use-aa",
-    .description = "Use alias analysis during codegen",
-    .dependencies = &[_]*const Feature {
-    },
-};
-
 pub const feature_vaes = Feature{
     .name = "vaes",
     .llvm_name = "vaes",
@@ -1073,7 +1057,6 @@ pub const features = &[_]*const Feature {
     &feature_cx8,
     &feature_cx16,
     &feature_avx512dq,
-    &feature_mpx,
     &feature_enqcmd,
     &feature_avx512er,
     &feature_ermsb,
@@ -1108,6 +1091,7 @@ pub const features = &[_]*const Feature {
     &feature_movbe,
     &feature_movdir64b,
     &feature_movdiri,
+    &feature_mpx,
     &feature_mwaitx,
     &feature_macrofusion,
     &feature_mergeToThreewayBranch,
@@ -1122,7 +1106,6 @@ pub const features = &[_]*const Feature {
     &feature_prfchw,
     &feature_ptwrite,
     &feature_padShortFunctions,
-    &feature_prefer128Bit,
     &feature_prefer256Bit,
     &feature_rdpid,
     &feature_rdrnd,
@@ -1156,7 +1139,6 @@ pub const features = &[_]*const Feature {
     &feature_slowUnalignedMem32,
     &feature_softFloat,
     &feature_tbm,
-    &feature_useAa,
     &feature_vaes,
     &feature_avx512vbmi,
     &feature_avx512vbmi2,
@@ -1727,6 +1709,7 @@ pub const cpu_cannonlake = Cpu{
         &feature_lzcnt,
         &feature_mmx,
         &feature_movbe,
+        &feature_mpx,
         &feature_macrofusion,
         &feature_mergeToThreewayBranch,
         &feature_nopl,
@@ -1734,7 +1717,6 @@ pub const cpu_cannonlake = Cpu{
         &feature_pku,
         &feature_popcnt,
         &feature_prfchw,
-        &feature_prefer256Bit,
         &feature_rdrnd,
         &feature_rdseed,
         &feature_sgx,
@@ -1788,6 +1770,7 @@ pub const cpu_cascadelake = Cpu{
         &feature_lzcnt,
         &feature_mmx,
         &feature_movbe,
+        &feature_mpx,
         &feature_macrofusion,
         &feature_mergeToThreewayBranch,
         &feature_nopl,
@@ -1796,7 +1779,6 @@ pub const cpu_cascadelake = Cpu{
         &feature_popcnt,
         &feature_falseDepsPopcnt,
         &feature_prfchw,
-        &feature_prefer256Bit,
         &feature_rdrnd,
         &feature_rdseed,
         &feature_sse42,
@@ -1849,6 +1831,7 @@ pub const cpu_cooperlake = Cpu{
         &feature_lzcnt,
         &feature_mmx,
         &feature_movbe,
+        &feature_mpx,
         &feature_macrofusion,
         &feature_mergeToThreewayBranch,
         &feature_nopl,
@@ -1857,7 +1840,6 @@ pub const cpu_cooperlake = Cpu{
         &feature_popcnt,
         &feature_falseDepsPopcnt,
         &feature_prfchw,
-        &feature_prefer256Bit,
         &feature_rdrnd,
         &feature_rdseed,
         &feature_sse42,
@@ -2059,6 +2041,7 @@ pub const cpu_goldmont = Cpu{
         &feature_sahf,
         &feature_mmx,
         &feature_movbe,
+        &feature_mpx,
         &feature_nopl,
         &feature_pclmul,
         &feature_popcnt,
@@ -2096,6 +2079,7 @@ pub const cpu_goldmontPlus = Cpu{
         &feature_sahf,
         &feature_mmx,
         &feature_movbe,
+        &feature_mpx,
         &feature_nopl,
         &feature_pclmul,
         &feature_popcnt,
@@ -2240,6 +2224,7 @@ pub const cpu_icelakeClient = Cpu{
         &feature_lzcnt,
         &feature_mmx,
         &feature_movbe,
+        &feature_mpx,
         &feature_macrofusion,
         &feature_mergeToThreewayBranch,
         &feature_nopl,
@@ -2247,7 +2232,6 @@ pub const cpu_icelakeClient = Cpu{
         &feature_pku,
         &feature_popcnt,
         &feature_prfchw,
-        &feature_prefer256Bit,
         &feature_rdpid,
         &feature_rdrnd,
         &feature_rdseed,
@@ -2310,6 +2294,7 @@ pub const cpu_icelakeServer = Cpu{
         &feature_lzcnt,
         &feature_mmx,
         &feature_movbe,
+        &feature_mpx,
         &feature_macrofusion,
         &feature_mergeToThreewayBranch,
         &feature_nopl,
@@ -2318,7 +2303,6 @@ pub const cpu_icelakeServer = Cpu{
         &feature_pku,
         &feature_popcnt,
         &feature_prfchw,
-        &feature_prefer256Bit,
         &feature_rdpid,
         &feature_rdrnd,
         &feature_rdseed,
@@ -2888,6 +2872,7 @@ pub const cpu_skx = Cpu{
         &feature_lzcnt,
         &feature_mmx,
         &feature_movbe,
+        &feature_mpx,
         &feature_macrofusion,
         &feature_mergeToThreewayBranch,
         &feature_nopl,
@@ -2896,7 +2881,6 @@ pub const cpu_skx = Cpu{
         &feature_popcnt,
         &feature_falseDepsPopcnt,
         &feature_prfchw,
-        &feature_prefer256Bit,
         &feature_rdrnd,
         &feature_rdseed,
         &feature_sse42,
@@ -2942,6 +2926,7 @@ pub const cpu_skylake = Cpu{
         &feature_lzcnt,
         &feature_mmx,
         &feature_movbe,
+        &feature_mpx,
         &feature_macrofusion,
         &feature_mergeToThreewayBranch,
         &feature_nopl,
@@ -2999,6 +2984,7 @@ pub const cpu_skylakeAvx512 = Cpu{
         &feature_lzcnt,
         &feature_mmx,
         &feature_movbe,
+        &feature_mpx,
         &feature_macrofusion,
         &feature_mergeToThreewayBranch,
         &feature_nopl,
@@ -3007,7 +2993,6 @@ pub const cpu_skylakeAvx512 = Cpu{
         &feature_popcnt,
         &feature_falseDepsPopcnt,
         &feature_prfchw,
-        &feature_prefer256Bit,
         &feature_rdrnd,
         &feature_rdseed,
         &feature_sse42,
@@ -3052,80 +3037,6 @@ pub const cpu_slm = Cpu{
     },
 };
 
-pub const cpu_tigerlake = Cpu{
-    .name = "tigerlake",
-    .llvm_name = "tigerlake",
-    .dependencies = &[_]*const Feature {
-        &feature_bit64,
-        &feature_adx,
-        &feature_sse,
-        &feature_aes,
-        &feature_avx,
-        &feature_avx2,
-        &feature_avx512f,
-        &feature_avx512bitalg,
-        &feature_bmi,
-        &feature_bmi2,
-        &feature_avx512bw,
-        &feature_avx512cd,
-        &feature_clflushopt,
-        &feature_clwb,
-        &feature_cmov,
-        &feature_cx8,
-        &feature_cx16,
-        &feature_avx512dq,
-        &feature_ermsb,
-        &feature_f16c,
-        &feature_fma,
-        &feature_fsgsbase,
-        &feature_fxsr,
-        &feature_fastShldRotate,
-        &feature_fastScalarFsqrt,
-        &feature_fastVariableShuffle,
-        &feature_fastVectorFsqrt,
-        &feature_gfni,
-        &feature_fastGather,
-        &feature_avx512ifma,
-        &feature_invpcid,
-        &feature_sahf,
-        &feature_lzcnt,
-        &feature_mmx,
-        &feature_movbe,
-        &feature_movdir64b,
-        &feature_movdiri,
-        &feature_macrofusion,
-        &feature_mergeToThreewayBranch,
-        &feature_nopl,
-        &feature_pclmul,
-        &feature_pku,
-        &feature_popcnt,
-        &feature_prfchw,
-        &feature_prefer256Bit,
-        &feature_rdpid,
-        &feature_rdrnd,
-        &feature_rdseed,
-        &feature_sgx,
-        &feature_sha,
-        &feature_shstk,
-        &feature_sse42,
-        &feature_slow3opsLea,
-        &feature_idivqToDivl,
-        &feature_vaes,
-        &feature_avx512vbmi,
-        &feature_avx512vbmi2,
-        &feature_avx512vl,
-        &feature_avx512vnni,
-        &feature_avx512vp2intersect,
-        &feature_vpclmulqdq,
-        &feature_avx512vpopcntdq,
-        &feature_x87,
-        &feature_xsave,
-        &feature_xsavec,
-        &feature_xsaveopt,
-        &feature_xsaves,
-    },
-};
-
 pub const cpu_tremont = Cpu{
     .name = "tremont",
     .llvm_name = "tremont",
@@ -3146,6 +3057,7 @@ pub const cpu_tremont = Cpu{
         &feature_movbe,
         &feature_movdir64b,
         &feature_movdiri,
+        &feature_mpx,
         &feature_nopl,
         &feature_pclmul,
         &feature_popcnt,
@@ -3415,7 +3327,6 @@ pub const cpus = &[_]*const Cpu {
     &cpu_skylake,
     &cpu_skylakeAvx512,
     &cpu_slm,
-    &cpu_tigerlake,
     &cpu_tremont,
     &cpu_westmere,
     &cpu_winchipC6,