From de8a5cf5f54650a5d043c6ad2c41827037f7f75d Mon Sep 17 00:00:00 2001 From: Layne Gustafson Date: Thu, 16 Jan 2020 14:24:55 -0500 Subject: [PATCH] Remove features/cpus not in LLVM v9 --- lib/std/target/aarch64.zig | 548 ++++----- lib/std/target/amdgpu.zig | 1070 +++++++++--------- lib/std/target/arm.zig | 885 +++++++-------- lib/std/target/avr.zig | 2168 ++++++++++++++++++------------------ lib/std/target/mips.zig | 137 ++- lib/std/target/powerpc.zig | 4 +- lib/std/target/riscv.zig | 11 - lib/std/target/systemz.zig | 43 - lib/std/target/x86.zig | 129 +-- 9 files changed, 2341 insertions(+), 2654 deletions(-) diff --git a/lib/std/target/aarch64.zig b/lib/std/target/aarch64.zig index c3c530fb6f..56101f20e7 100644 --- a/lib/std/target/aarch64.zig +++ b/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_alternateSextloadCvtF32Pattern, - &feature_arithBccFusion, - &feature_zczFp, - &feature_zczGp, - &feature_zcm, - &feature_fuseAes, - &feature_disableLatencySchedHeuristic, - &feature_fuseCryptoEor, - &feature_perfmon, - &feature_zczFpWorkaround, &feature_arithCbzFusion, + &feature_zczFpWorkaround, + &feature_alternateSextloadCvtF32Pattern, + &feature_fuseCryptoEor, + &feature_zcm, + &feature_zczGp, + &feature_perfmon, + &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_customCheapAsMove, + &feature_crc, + &feature_perfmon, + &feature_useAa, &feature_fpArmv8, + &feature_fuseAes, &feature_balanceFpOps, &feature_usePostraScheduler, - &feature_crc, - &feature_customCheapAsMove, - &feature_useAa, - &feature_fuseAes, - &feature_perfmon, }, }; @@ -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_fpArmv8, - &feature_crc, - &feature_perfmon, &feature_fuseAes, + &feature_fpArmv8, + &feature_perfmon, + &feature_crc, }, }; @@ -1272,10 +1195,10 @@ pub const cpu_cortexA73 = Cpu{ .name = "cortexA73", .llvm_name = "cortex-a73", .dependencies = &[_]*const Feature { - &feature_fpArmv8, - &feature_crc, - &feature_perfmon, &feature_fuseAes, + &feature_fpArmv8, + &feature_perfmon, + &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_alternateSextloadCvtF32Pattern, - &feature_arithBccFusion, - &feature_zczFp, - &feature_zczGp, - &feature_zcm, - &feature_fuseAes, - &feature_disableLatencySchedHeuristic, - &feature_fuseCryptoEor, - &feature_perfmon, - &feature_zczFpWorkaround, &feature_arithCbzFusion, + &feature_zczFpWorkaround, + &feature_alternateSextloadCvtF32Pattern, + &feature_fuseCryptoEor, + &feature_zcm, + &feature_zczGp, + &feature_perfmon, + &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_slowMisaligned128store, - &feature_usePostraScheduler, - &feature_useReciprocalSquareRoot, - &feature_crc, - &feature_zczFp, &feature_customCheapAsMove, + &feature_crc, &feature_force32bitJumpTables, + &feature_perfmon, + &feature_slowMisaligned128store, + &feature_useReciprocalSquareRoot, + &feature_fpArmv8, + &feature_zczFp, &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_customCheapAsMove, - &feature_zczFp, - &feature_force32bitJumpTables, - &feature_fuseCsel, - &feature_fuseAes, - &feature_perfmon, &feature_predictableSelectExpensive, + &feature_customCheapAsMove, + &feature_crc, + &feature_force32bitJumpTables, + &feature_fuseAddress, + &feature_fuseCsel, + &feature_perfmon, + &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_pan, - &feature_fuseAddress, - &feature_usePostraScheduler, - &feature_crc, - &feature_customCheapAsMove, - &feature_force32bitJumpTables, - &feature_uaops, - &feature_lor, - &feature_arithBccFusion, &feature_arithCbzFusion, - &feature_dotprod, - &feature_fuseArithLogic, - &feature_zczGp, - &feature_rdm, - &feature_fuseCsel, - &feature_perfmon, - &feature_fpArmv8, - &feature_vh, - &feature_fuseLiterals, + &feature_customCheapAsMove, &feature_lse, &feature_zczFp, &feature_lslFast, - &feature_fuseAes, - &feature_ras, + &feature_lor, + &feature_fuseLiterals, &feature_ccpp, + &feature_ras, + &feature_fpArmv8, + &feature_fuseAes, + &feature_pan, + &feature_fuseArithLogic, + &feature_crc, + &feature_force32bitJumpTables, + &feature_fuseAddress, + &feature_fuseCsel, + &feature_arithBccFusion, + &feature_uaops, + &feature_rdm, + &feature_zczGp, + &feature_perfmon, + &feature_vh, + &feature_usePostraScheduler, + &feature_dotprod, }, }; @@ -1450,31 +1373,31 @@ pub const cpu_exynosM5 = Cpu{ .name = "exynosM5", .llvm_name = "exynos-m5", .dependencies = &[_]*const Feature { - &feature_pan, - &feature_fuseAddress, - &feature_usePostraScheduler, - &feature_crc, - &feature_customCheapAsMove, - &feature_force32bitJumpTables, - &feature_uaops, - &feature_lor, - &feature_arithBccFusion, &feature_arithCbzFusion, - &feature_dotprod, - &feature_fuseArithLogic, - &feature_zczGp, - &feature_rdm, - &feature_fuseCsel, - &feature_perfmon, - &feature_fpArmv8, - &feature_vh, - &feature_fuseLiterals, + &feature_customCheapAsMove, &feature_lse, &feature_zczFp, &feature_lslFast, - &feature_fuseAes, - &feature_ras, + &feature_lor, + &feature_fuseLiterals, &feature_ccpp, + &feature_ras, + &feature_fpArmv8, + &feature_fuseAes, + &feature_pan, + &feature_fuseArithLogic, + &feature_crc, + &feature_force32bitJumpTables, + &feature_fuseAddress, + &feature_fuseCsel, + &feature_arithBccFusion, + &feature_uaops, + &feature_rdm, + &feature_zczGp, + &feature_perfmon, + &feature_vh, + &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_customCheapAsMove, - &feature_slowStrqroStore, - &feature_zczFp, - &feature_rdm, - &feature_zczGp, - &feature_perfmon, &feature_predictableSelectExpensive, + &feature_customCheapAsMove, + &feature_rdm, + &feature_slowStrqroStore, + &feature_zczGp, + &feature_crc, + &feature_perfmon, + &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,56 +1435,15 @@ pub const cpu_kryo = Cpu{ .name = "kryo", .llvm_name = "kryo", .dependencies = &[_]*const Feature { - &feature_fpArmv8, - &feature_usePostraScheduler, - &feature_crc, - &feature_lslFast, - &feature_customCheapAsMove, - &feature_zczFp, - &feature_zczGp, - &feature_perfmon, &feature_predictableSelectExpensive, - }, -}; - -pub const cpu_neoverseE1 = Cpu{ - .name = "neoverseE1", - .llvm_name = "neoverse-e1", - .dependencies = &[_]*const Feature { - &feature_fpArmv8, - &feature_pan, - &feature_vh, - &feature_dotprod, - &feature_rcpc, - &feature_lse, + &feature_customCheapAsMove, + &feature_zczGp, &feature_crc, - &feature_uaops, - &feature_rdm, - &feature_lor, - &feature_ras, - &feature_ssbs, - &feature_ccpp, - }, -}; - -pub const cpu_neoverseN1 = Cpu{ - .name = "neoverseN1", - .llvm_name = "neoverse-n1", - .dependencies = &[_]*const Feature { + &feature_perfmon, &feature_fpArmv8, - &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, + &feature_zczFp, + &feature_lslFast, + &feature_usePostraScheduler, }, }; @@ -1571,36 +1451,36 @@ 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_predictableSelectExpensive, &feature_customCheapAsMove, - &feature_tlbRmi, - &feature_uaops, - &feature_lor, - &feature_dotprod, - &feature_zczGp, - &feature_rdm, - &feature_pa, - &feature_perfmon, - &feature_fpArmv8, - &feature_vh, + &feature_fmi, &feature_lse, &feature_zczFp, - &feature_spe, - &feature_predictableSelectExpensive, - &feature_fmi, &feature_lslFast, - &feature_mpam, + &feature_lor, &feature_dit, - &feature_nv, - &feature_ccidx, - &feature_ras, + &feature_pa, &feature_ccpp, + &feature_sel2, + &feature_ras, + &feature_fpArmv8, + &feature_ccidx, + &feature_pan, + &feature_rcpc, + &feature_crc, + &feature_tracev84, + &feature_mpam, + &feature_am, + &feature_nv, + &feature_tlbRmi, + &feature_uaops, + &feature_rdm, + &feature_zczGp, + &feature_perfmon, + &feature_vh, + &feature_usePostraScheduler, + &feature_dotprod, + &feature_spe, }, }; @@ -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_fpArmv8, - &feature_pan, - &feature_vh, - &feature_usePostraScheduler, - &feature_crc, - &feature_lse, - &feature_rdm, - &feature_lor, - &feature_arithBccFusion, &feature_predictableSelectExpensive, &feature_aggressiveFma, + &feature_rdm, + &feature_lse, + &feature_crc, + &feature_fpArmv8, + &feature_vh, + &feature_arithBccFusion, + &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, diff --git a/lib/std/target/amdgpu.zig b/lib/std/target/amdgpu.zig index f1954628c5..5efc6e177f 100644 --- a/lib/std/target/amdgpu.zig +++ b/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_wavefrontsize64, - &feature_ciInsts, - &feature_fp64, &feature_gfx7Gfx8Gfx9Insts, + &feature_movrel, + &feature_flatAddressSpace, + &feature_wavefrontsize64, + &feature_fp64, &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_fp64, - &feature_gfx7Gfx8Gfx9Insts, - &feature_noSramEccSupport, - &feature_gfx8Insts, - &feature_localmemorysize65536, &feature_movrel, - &feature_intClampInsts, - &feature_sdwaMav, - &feature_wavefrontsize64, - &feature_ciInsts, - &feature_scalarStores, + &feature_fp64, &feature_gcn3Encoding, + &feature_mimgR128, + &feature_sdwa, + &feature_gfx7Gfx8Gfx9Insts, + &feature_intClampInsts, + &feature_ciInsts, + &feature_sdwaOutModsVopc, + &feature_sMemrealtime, + &feature_flatAddressSpace, + &feature_inv2piInlineImm, + &feature_wavefrontsize64, + &feature_noSramEccSupport, + &feature_sdwaMav, + &feature_localmemorysize65536, + &feature_scalarStores, + &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_fp64, - &feature_gfx7Gfx8Gfx9Insts, - &feature_noSramEccSupport, - &feature_gfx8Insts, - &feature_localmemorysize65536, &feature_movrel, - &feature_intClampInsts, - &feature_sdwaMav, - &feature_wavefrontsize64, - &feature_ciInsts, - &feature_scalarStores, + &feature_fp64, &feature_gcn3Encoding, + &feature_mimgR128, + &feature_sdwa, + &feature_gfx7Gfx8Gfx9Insts, + &feature_intClampInsts, + &feature_ciInsts, + &feature_sdwaOutModsVopc, + &feature_sMemrealtime, + &feature_flatAddressSpace, + &feature_inv2piInlineImm, + &feature_wavefrontsize64, + &feature_noSramEccSupport, + &feature_sdwaMav, + &feature_localmemorysize65536, + &feature_scalarStores, + &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_flatGlobalInsts, - &feature_gfx10Insts, - &feature_BitInsts16, - &feature_pkFmacF16Inst, - &feature_vop3p, - &feature_flatAddressSpace, - &feature_dpp, - &feature_inv2piInlineImm, - &feature_dpp8, - &feature_flatScratchInsts, - &feature_flatInstOffsets, - &feature_mimgR128, - &feature_sdwa, &feature_fmaMixInsts, - &feature_sMemrealtime, - &feature_vscnt, - &feature_fastFmaf, - &feature_registerBanking, - &feature_gfx9Insts, - &feature_sdwaSdst, - &feature_noSdstCmpx, - &feature_fp64, - &feature_noSramEccSupport, - &feature_gfx8Insts, - &feature_localmemorysize65536, &feature_movrel, - &feature_intClampInsts, - &feature_sdwaScalar, - &feature_sdwaOmod, - &feature_noDataDepHazard, - &feature_ciInsts, + &feature_registerBanking, &feature_addNoCarryInsts, + &feature_fp64, + &feature_sdwaScalar, + &feature_flatGlobalInsts, + &feature_mimgR128, + &feature_flatInstOffsets, + &feature_apertureRegs, + &feature_noSdstCmpx, + &feature_vop3p, + &feature_sdwa, + &feature_intClampInsts, + &feature_sdwaSdst, + &feature_noDataDepHazard, + &feature_flatScratchInsts, + &feature_ciInsts, + &feature_sMemrealtime, + &feature_pkFmacF16Inst, + &feature_dpp8, + &feature_flatAddressSpace, + &feature_inv2piInlineImm, + &feature_fastFmaf, + &feature_noSramEccSupport, + &feature_gfx10Insts, + &feature_localmemorysize65536, + &feature_gfx9Insts, + &feature_gfx8Insts, + &feature_dpp, + &feature_BitInsts16, + &feature_vop3Literal, + &feature_sdwaOmod, + &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_flatGlobalInsts, - &feature_gfx10Insts, - &feature_BitInsts16, - &feature_pkFmacF16Inst, - &feature_vop3p, - &feature_flatAddressSpace, - &feature_dpp, - &feature_inv2piInlineImm, - &feature_dpp8, - &feature_flatScratchInsts, - &feature_flatInstOffsets, - &feature_mimgR128, - &feature_sdwa, &feature_fmaMixInsts, - &feature_sMemrealtime, - &feature_vscnt, - &feature_fastFmaf, - &feature_registerBanking, - &feature_gfx9Insts, - &feature_sdwaSdst, - &feature_noSdstCmpx, - &feature_fp64, - &feature_noSramEccSupport, - &feature_gfx8Insts, - &feature_localmemorysize65536, &feature_movrel, - &feature_intClampInsts, - &feature_sdwaScalar, - &feature_sdwaOmod, - &feature_noDataDepHazard, - &feature_ciInsts, + &feature_registerBanking, &feature_addNoCarryInsts, + &feature_fp64, + &feature_sdwaScalar, + &feature_flatGlobalInsts, + &feature_mimgR128, + &feature_flatInstOffsets, + &feature_apertureRegs, + &feature_noSdstCmpx, + &feature_vop3p, + &feature_sdwa, + &feature_intClampInsts, + &feature_sdwaSdst, + &feature_noDataDepHazard, + &feature_flatScratchInsts, + &feature_ciInsts, + &feature_sMemrealtime, + &feature_pkFmacF16Inst, + &feature_dpp8, + &feature_flatAddressSpace, + &feature_inv2piInlineImm, + &feature_fastFmaf, + &feature_noSramEccSupport, + &feature_gfx10Insts, + &feature_localmemorysize65536, + &feature_gfx9Insts, + &feature_gfx8Insts, + &feature_dpp, + &feature_BitInsts16, + &feature_vop3Literal, + &feature_sdwaOmod, + &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_flatGlobalInsts, - &feature_gfx10Insts, - &feature_BitInsts16, - &feature_pkFmacF16Inst, - &feature_vop3p, - &feature_flatAddressSpace, - &feature_dpp, - &feature_inv2piInlineImm, - &feature_dpp8, - &feature_flatScratchInsts, - &feature_flatInstOffsets, - &feature_mimgR128, - &feature_sdwa, &feature_fmaMixInsts, - &feature_sMemrealtime, - &feature_vscnt, - &feature_fastFmaf, - &feature_registerBanking, - &feature_gfx9Insts, - &feature_sdwaSdst, - &feature_noSdstCmpx, - &feature_fp64, - &feature_noSramEccSupport, - &feature_gfx8Insts, - &feature_localmemorysize65536, &feature_movrel, - &feature_intClampInsts, - &feature_sdwaScalar, - &feature_sdwaOmod, - &feature_noDataDepHazard, - &feature_ciInsts, + &feature_registerBanking, &feature_addNoCarryInsts, + &feature_fp64, + &feature_sdwaScalar, + &feature_flatGlobalInsts, + &feature_mimgR128, + &feature_flatInstOffsets, + &feature_apertureRegs, + &feature_noSdstCmpx, + &feature_vop3p, + &feature_sdwa, + &feature_intClampInsts, + &feature_sdwaSdst, + &feature_noDataDepHazard, + &feature_flatScratchInsts, + &feature_ciInsts, + &feature_sMemrealtime, + &feature_pkFmacF16Inst, + &feature_dpp8, + &feature_flatAddressSpace, + &feature_inv2piInlineImm, + &feature_fastFmaf, + &feature_noSramEccSupport, + &feature_gfx10Insts, + &feature_localmemorysize65536, + &feature_gfx9Insts, + &feature_gfx8Insts, + &feature_dpp, + &feature_BitInsts16, + &feature_vop3Literal, + &feature_sdwaOmod, + &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_wavefrontsize64, - &feature_ciInsts, - &feature_fp64, &feature_gfx7Gfx8Gfx9Insts, + &feature_movrel, + &feature_flatAddressSpace, + &feature_wavefrontsize64, + &feature_fp64, &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_wavefrontsize64, - &feature_ciInsts, - &feature_fp64, &feature_gfx7Gfx8Gfx9Insts, + &feature_movrel, + &feature_flatAddressSpace, + &feature_wavefrontsize64, + &feature_fp64, &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_wavefrontsize64, - &feature_ciInsts, - &feature_fp64, &feature_gfx7Gfx8Gfx9Insts, + &feature_movrel, + &feature_flatAddressSpace, + &feature_wavefrontsize64, + &feature_fp64, &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_wavefrontsize64, - &feature_ciInsts, - &feature_fp64, &feature_gfx7Gfx8Gfx9Insts, + &feature_movrel, + &feature_flatAddressSpace, + &feature_wavefrontsize64, + &feature_fp64, &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_wavefrontsize64, - &feature_ciInsts, - &feature_fp64, &feature_gfx7Gfx8Gfx9Insts, + &feature_movrel, + &feature_flatAddressSpace, + &feature_wavefrontsize64, + &feature_fp64, &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_fp64, - &feature_gfx7Gfx8Gfx9Insts, - &feature_noSramEccSupport, - &feature_gfx8Insts, - &feature_localmemorysize65536, &feature_movrel, - &feature_intClampInsts, - &feature_sdwaMav, - &feature_wavefrontsize64, - &feature_ciInsts, - &feature_scalarStores, + &feature_fp64, &feature_gcn3Encoding, + &feature_mimgR128, + &feature_sdwa, + &feature_gfx7Gfx8Gfx9Insts, + &feature_intClampInsts, + &feature_ciInsts, + &feature_sdwaOutModsVopc, + &feature_sMemrealtime, + &feature_flatAddressSpace, + &feature_inv2piInlineImm, + &feature_wavefrontsize64, + &feature_noSramEccSupport, + &feature_sdwaMav, + &feature_localmemorysize65536, + &feature_scalarStores, + &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_fp64, - &feature_gfx7Gfx8Gfx9Insts, - &feature_noSramEccSupport, - &feature_gfx8Insts, - &feature_localmemorysize65536, &feature_movrel, - &feature_intClampInsts, - &feature_sdwaMav, - &feature_wavefrontsize64, - &feature_ciInsts, - &feature_scalarStores, + &feature_fp64, &feature_gcn3Encoding, + &feature_mimgR128, + &feature_sdwa, + &feature_gfx7Gfx8Gfx9Insts, + &feature_intClampInsts, + &feature_ciInsts, + &feature_sdwaOutModsVopc, + &feature_sMemrealtime, + &feature_flatAddressSpace, + &feature_inv2piInlineImm, + &feature_wavefrontsize64, + &feature_noSramEccSupport, + &feature_sdwaMav, + &feature_localmemorysize65536, + &feature_scalarStores, + &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_fp64, - &feature_gfx7Gfx8Gfx9Insts, - &feature_noSramEccSupport, - &feature_gfx8Insts, - &feature_localmemorysize65536, &feature_movrel, - &feature_intClampInsts, - &feature_sdwaMav, - &feature_wavefrontsize64, - &feature_ciInsts, - &feature_scalarStores, + &feature_fp64, &feature_gcn3Encoding, + &feature_mimgR128, + &feature_sdwa, + &feature_gfx7Gfx8Gfx9Insts, + &feature_intClampInsts, + &feature_ciInsts, + &feature_sdwaOutModsVopc, + &feature_sMemrealtime, + &feature_flatAddressSpace, + &feature_inv2piInlineImm, + &feature_wavefrontsize64, + &feature_noSramEccSupport, + &feature_sdwaMav, + &feature_localmemorysize65536, + &feature_scalarStores, + &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_fp64, - &feature_gfx7Gfx8Gfx9Insts, - &feature_noSramEccSupport, - &feature_gfx8Insts, - &feature_localmemorysize65536, &feature_movrel, - &feature_intClampInsts, - &feature_sdwaMav, - &feature_wavefrontsize64, - &feature_ciInsts, - &feature_scalarStores, + &feature_fp64, &feature_gcn3Encoding, + &feature_mimgR128, + &feature_sdwa, + &feature_gfx7Gfx8Gfx9Insts, + &feature_intClampInsts, + &feature_ciInsts, + &feature_sdwaOutModsVopc, + &feature_sMemrealtime, + &feature_flatAddressSpace, + &feature_inv2piInlineImm, + &feature_wavefrontsize64, + &feature_noSramEccSupport, + &feature_sdwaMav, + &feature_localmemorysize65536, + &feature_scalarStores, + &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_flatGlobalInsts, - &feature_BitInsts16, - &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_r128A16, - &feature_wavefrontsize64, - &feature_ciInsts, - &feature_scalarStores, - &feature_gcn3Encoding, &feature_addNoCarryInsts, + &feature_fp64, + &feature_gcn3Encoding, + &feature_sdwaScalar, + &feature_flatGlobalInsts, + &feature_scalarFlatScratchInsts, + &feature_flatInstOffsets, + &feature_apertureRegs, + &feature_vop3p, + &feature_sdwa, + &feature_gfx7Gfx8Gfx9Insts, + &feature_intClampInsts, + &feature_sdwaSdst, + &feature_flatScratchInsts, + &feature_ciInsts, + &feature_r128A16, + &feature_sMemrealtime, + &feature_flatAddressSpace, + &feature_scalarAtomics, + &feature_inv2piInlineImm, + &feature_fastFmaf, + &feature_wavefrontsize64, + &feature_localmemorysize65536, + &feature_scalarStores, + &feature_gfx9Insts, + &feature_gfx8Insts, + &feature_dpp, + &feature_BitInsts16, + &feature_sdwaOmod, &feature_ldsbankcount32, &feature_madMixInsts, }, @@ -1547,36 +1538,36 @@ pub const cpu_gfx902 = Cpu{ .dependencies = &[_]*const Feature { &feature_codeObjectV3, &feature_noSramEccSupport, - &feature_apertureRegs, - &feature_flatGlobalInsts, - &feature_BitInsts16, - &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_r128A16, - &feature_wavefrontsize64, - &feature_ciInsts, - &feature_scalarStores, - &feature_gcn3Encoding, &feature_addNoCarryInsts, + &feature_fp64, + &feature_gcn3Encoding, + &feature_sdwaScalar, + &feature_flatGlobalInsts, + &feature_scalarFlatScratchInsts, + &feature_flatInstOffsets, + &feature_apertureRegs, + &feature_vop3p, + &feature_sdwa, + &feature_gfx7Gfx8Gfx9Insts, + &feature_intClampInsts, + &feature_sdwaSdst, + &feature_flatScratchInsts, + &feature_ciInsts, + &feature_r128A16, + &feature_sMemrealtime, + &feature_flatAddressSpace, + &feature_scalarAtomics, + &feature_inv2piInlineImm, + &feature_fastFmaf, + &feature_wavefrontsize64, + &feature_localmemorysize65536, + &feature_scalarStores, + &feature_gfx9Insts, + &feature_gfx8Insts, + &feature_dpp, + &feature_BitInsts16, + &feature_sdwaOmod, &feature_ldsbankcount32, &feature_madMixInsts, &feature_xnack, @@ -1591,36 +1582,36 @@ pub const cpu_gfx904 = Cpu{ &feature_noSramEccSupport, &feature_noXnackSupport, &feature_fmaMixInsts, - &feature_apertureRegs, - &feature_flatGlobalInsts, - &feature_BitInsts16, - &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_r128A16, - &feature_wavefrontsize64, - &feature_ciInsts, - &feature_scalarStores, - &feature_gcn3Encoding, &feature_addNoCarryInsts, + &feature_fp64, + &feature_gcn3Encoding, + &feature_sdwaScalar, + &feature_flatGlobalInsts, + &feature_scalarFlatScratchInsts, + &feature_flatInstOffsets, + &feature_apertureRegs, + &feature_vop3p, + &feature_sdwa, + &feature_gfx7Gfx8Gfx9Insts, + &feature_intClampInsts, + &feature_sdwaSdst, + &feature_flatScratchInsts, + &feature_ciInsts, + &feature_r128A16, + &feature_sMemrealtime, + &feature_flatAddressSpace, + &feature_scalarAtomics, + &feature_inv2piInlineImm, + &feature_fastFmaf, + &feature_wavefrontsize64, + &feature_localmemorysize65536, + &feature_scalarStores, + &feature_gfx9Insts, + &feature_gfx8Insts, + &feature_dpp, + &feature_BitInsts16, + &feature_sdwaOmod, &feature_ldsbankcount32, }, }; @@ -1635,36 +1626,36 @@ pub const cpu_gfx906 = Cpu{ &feature_dot1Insts, &feature_dot2Insts, &feature_fmaMixInsts, - &feature_apertureRegs, - &feature_flatGlobalInsts, - &feature_BitInsts16, - &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_r128A16, - &feature_wavefrontsize64, - &feature_ciInsts, - &feature_scalarStores, - &feature_gcn3Encoding, &feature_addNoCarryInsts, + &feature_fp64, + &feature_gcn3Encoding, + &feature_sdwaScalar, + &feature_flatGlobalInsts, + &feature_scalarFlatScratchInsts, + &feature_flatInstOffsets, + &feature_apertureRegs, + &feature_vop3p, + &feature_sdwa, + &feature_gfx7Gfx8Gfx9Insts, + &feature_intClampInsts, + &feature_sdwaSdst, + &feature_flatScratchInsts, + &feature_ciInsts, + &feature_r128A16, + &feature_sMemrealtime, + &feature_flatAddressSpace, + &feature_scalarAtomics, + &feature_inv2piInlineImm, + &feature_fastFmaf, + &feature_wavefrontsize64, + &feature_localmemorysize65536, + &feature_scalarStores, + &feature_gfx9Insts, + &feature_gfx8Insts, + &feature_dpp, + &feature_BitInsts16, + &feature_sdwaOmod, &feature_ldsbankcount32, &feature_halfRate64Ops, }, @@ -1684,39 +1675,38 @@ pub const cpu_gfx908 = Cpu{ &feature_dot5Insts, &feature_dot6Insts, &feature_fmaMixInsts, - &feature_apertureRegs, - &feature_flatGlobalInsts, - &feature_BitInsts16, - &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_r128A16, - &feature_wavefrontsize64, - &feature_ciInsts, - &feature_scalarStores, - &feature_gcn3Encoding, &feature_addNoCarryInsts, + &feature_fp64, + &feature_gcn3Encoding, + &feature_sdwaScalar, + &feature_flatGlobalInsts, + &feature_scalarFlatScratchInsts, + &feature_flatInstOffsets, + &feature_apertureRegs, + &feature_vop3p, + &feature_sdwa, + &feature_gfx7Gfx8Gfx9Insts, + &feature_intClampInsts, + &feature_sdwaSdst, + &feature_flatScratchInsts, + &feature_ciInsts, + &feature_r128A16, + &feature_sMemrealtime, + &feature_flatAddressSpace, + &feature_scalarAtomics, + &feature_inv2piInlineImm, + &feature_fastFmaf, + &feature_wavefrontsize64, + &feature_localmemorysize65536, + &feature_scalarStores, + &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_flatGlobalInsts, - &feature_BitInsts16, - &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_r128A16, - &feature_wavefrontsize64, - &feature_ciInsts, - &feature_scalarStores, - &feature_gcn3Encoding, &feature_addNoCarryInsts, + &feature_fp64, + &feature_gcn3Encoding, + &feature_sdwaScalar, + &feature_flatGlobalInsts, + &feature_scalarFlatScratchInsts, + &feature_flatInstOffsets, + &feature_apertureRegs, + &feature_vop3p, + &feature_sdwa, + &feature_gfx7Gfx8Gfx9Insts, + &feature_intClampInsts, + &feature_sdwaSdst, + &feature_flatScratchInsts, + &feature_ciInsts, + &feature_r128A16, + &feature_sMemrealtime, + &feature_flatAddressSpace, + &feature_scalarAtomics, + &feature_inv2piInlineImm, + &feature_fastFmaf, + &feature_wavefrontsize64, + &feature_localmemorysize65536, + &feature_scalarStores, + &feature_gfx9Insts, + &feature_gfx8Insts, + &feature_dpp, + &feature_BitInsts16, + &feature_sdwaOmod, &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_wavefrontsize64, - &feature_ciInsts, - &feature_fp64, &feature_gfx7Gfx8Gfx9Insts, + &feature_movrel, + &feature_flatAddressSpace, + &feature_wavefrontsize64, + &feature_fp64, &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_fp64, - &feature_gfx7Gfx8Gfx9Insts, - &feature_noSramEccSupport, - &feature_gfx8Insts, - &feature_localmemorysize65536, &feature_movrel, - &feature_intClampInsts, - &feature_sdwaMav, - &feature_wavefrontsize64, - &feature_ciInsts, - &feature_scalarStores, + &feature_fp64, &feature_gcn3Encoding, + &feature_mimgR128, + &feature_sdwa, + &feature_gfx7Gfx8Gfx9Insts, + &feature_intClampInsts, + &feature_ciInsts, + &feature_sdwaOutModsVopc, + &feature_sMemrealtime, + &feature_flatAddressSpace, + &feature_inv2piInlineImm, + &feature_wavefrontsize64, + &feature_noSramEccSupport, + &feature_sdwaMav, + &feature_localmemorysize65536, + &feature_scalarStores, + &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_wavefrontsize64, - &feature_ciInsts, - &feature_fp64, &feature_gfx7Gfx8Gfx9Insts, + &feature_movrel, + &feature_flatAddressSpace, + &feature_wavefrontsize64, + &feature_fp64, &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_wavefrontsize64, - &feature_ciInsts, - &feature_fp64, &feature_gfx7Gfx8Gfx9Insts, + &feature_movrel, + &feature_flatAddressSpace, + &feature_wavefrontsize64, + &feature_fp64, &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_wavefrontsize64, - &feature_ciInsts, - &feature_fp64, &feature_gfx7Gfx8Gfx9Insts, + &feature_movrel, + &feature_flatAddressSpace, + &feature_wavefrontsize64, + &feature_fp64, &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_fp64, - &feature_gfx7Gfx8Gfx9Insts, - &feature_noSramEccSupport, - &feature_gfx8Insts, - &feature_localmemorysize65536, &feature_movrel, - &feature_intClampInsts, - &feature_sdwaMav, - &feature_wavefrontsize64, - &feature_ciInsts, - &feature_scalarStores, + &feature_fp64, &feature_gcn3Encoding, + &feature_mimgR128, + &feature_sdwa, + &feature_gfx7Gfx8Gfx9Insts, + &feature_intClampInsts, + &feature_ciInsts, + &feature_sdwaOutModsVopc, + &feature_sMemrealtime, + &feature_flatAddressSpace, + &feature_inv2piInlineImm, + &feature_wavefrontsize64, + &feature_noSramEccSupport, + &feature_sdwaMav, + &feature_localmemorysize65536, + &feature_scalarStores, + &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_fp64, - &feature_gfx7Gfx8Gfx9Insts, - &feature_noSramEccSupport, - &feature_gfx8Insts, - &feature_localmemorysize65536, &feature_movrel, - &feature_intClampInsts, - &feature_sdwaMav, - &feature_wavefrontsize64, - &feature_ciInsts, - &feature_scalarStores, + &feature_fp64, &feature_gcn3Encoding, + &feature_mimgR128, + &feature_sdwa, + &feature_gfx7Gfx8Gfx9Insts, + &feature_intClampInsts, + &feature_ciInsts, + &feature_sdwaOutModsVopc, + &feature_sMemrealtime, + &feature_flatAddressSpace, + &feature_inv2piInlineImm, + &feature_wavefrontsize64, + &feature_noSramEccSupport, + &feature_sdwaMav, + &feature_localmemorysize65536, + &feature_scalarStores, + &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_fp64, - &feature_gfx7Gfx8Gfx9Insts, - &feature_noSramEccSupport, - &feature_gfx8Insts, - &feature_localmemorysize65536, &feature_movrel, - &feature_intClampInsts, - &feature_sdwaMav, - &feature_wavefrontsize64, - &feature_ciInsts, - &feature_scalarStores, + &feature_fp64, &feature_gcn3Encoding, + &feature_mimgR128, + &feature_sdwa, + &feature_gfx7Gfx8Gfx9Insts, + &feature_intClampInsts, + &feature_ciInsts, + &feature_sdwaOutModsVopc, + &feature_sMemrealtime, + &feature_flatAddressSpace, + &feature_inv2piInlineImm, + &feature_wavefrontsize64, + &feature_noSramEccSupport, + &feature_sdwaMav, + &feature_localmemorysize65536, + &feature_scalarStores, + &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_fp64, - &feature_gfx7Gfx8Gfx9Insts, - &feature_noSramEccSupport, - &feature_gfx8Insts, - &feature_localmemorysize65536, &feature_movrel, - &feature_intClampInsts, - &feature_sdwaMav, - &feature_wavefrontsize64, - &feature_ciInsts, - &feature_scalarStores, + &feature_fp64, &feature_gcn3Encoding, + &feature_mimgR128, + &feature_sdwa, + &feature_gfx7Gfx8Gfx9Insts, + &feature_intClampInsts, + &feature_ciInsts, + &feature_sdwaOutModsVopc, + &feature_sMemrealtime, + &feature_flatAddressSpace, + &feature_inv2piInlineImm, + &feature_wavefrontsize64, + &feature_noSramEccSupport, + &feature_sdwaMav, + &feature_localmemorysize65536, + &feature_scalarStores, + &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, }, }; diff --git a/lib/std/target/arm.zig b/lib/std/target/arm.zig index 9861a1ff56..d83be5cc48 100644 --- a/lib/std/target/arm.zig +++ b/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_thumb2, - &feature_fpregs, - &feature_dsp, - &feature_v7clrex, - &feature_aclass, - &feature_perfmon, &feature_d32, + &feature_dsp, + &feature_thumb2, &feature_db, + &feature_aclass, + &feature_fpregs, + &feature_v7clrex, + &feature_perfmon, &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_thumb2, - &feature_fpregs, - &feature_dsp, - &feature_v7clrex, - &feature_aclass, - &feature_perfmon, &feature_d32, + &feature_dsp, + &feature_thumb2, &feature_db, + &feature_aclass, + &feature_fpregs, + &feature_v7clrex, + &feature_perfmon, &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_thumb2, - &feature_fpregs, - &feature_dsp, - &feature_v7clrex, - &feature_aclass, - &feature_perfmon, &feature_d32, + &feature_dsp, + &feature_thumb2, &feature_db, + &feature_aclass, + &feature_fpregs, + &feature_v7clrex, + &feature_perfmon, &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_dsp, - &feature_v7clrex, - &feature_hwdivArm, - &feature_acquireRelease, - &feature_aclass, - &feature_perfmon, - &feature_crc, - &feature_mp, &feature_hwdiv, + &feature_mp, &feature_d32, - &feature_fp16, + &feature_dsp, + &feature_thumb2, &feature_db, + &feature_aclass, + &feature_fpregs, + &feature_trustzone, + &feature_crc, + &feature_fp16, + &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_dsp, - &feature_v7clrex, - &feature_hwdivArm, - &feature_acquireRelease, - &feature_aclass, - &feature_perfmon, - &feature_crc, - &feature_mp, &feature_hwdiv, + &feature_mp, &feature_d32, - &feature_fp16, + &feature_dsp, + &feature_thumb2, &feature_db, + &feature_aclass, + &feature_fpregs, + &feature_trustzone, + &feature_crc, + &feature_fp16, + &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_thumb2, - &feature_fpregs, - &feature_dsp, - &feature_v7clrex, - &feature_aclass, - &feature_perfmon, &feature_d32, + &feature_dsp, + &feature_thumb2, &feature_db, + &feature_aclass, + &feature_fpregs, + &feature_v7clrex, + &feature_perfmon, &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_dsp, - &feature_v7clrex, - &feature_hwdivArm, - &feature_acquireRelease, - &feature_aclass, - &feature_perfmon, - &feature_crc, - &feature_mp, &feature_hwdiv, + &feature_mp, &feature_d32, - &feature_fp16, + &feature_dsp, + &feature_thumb2, &feature_db, + &feature_aclass, + &feature_fpregs, + &feature_trustzone, + &feature_crc, + &feature_fp16, + &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_dsp, - &feature_ras, - &feature_v7clrex, - &feature_hwdivArm, - &feature_acquireRelease, - &feature_aclass, - &feature_perfmon, - &feature_crc, - &feature_mp, &feature_hwdiv, + &feature_mp, &feature_d32, - &feature_fp16, + &feature_dsp, + &feature_thumb2, &feature_db, + &feature_aclass, + &feature_fpregs, + &feature_trustzone, + &feature_crc, + &feature_fp16, + &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_dsp, - &feature_v7clrex, - &feature_hwdivArm, - &feature_acquireRelease, - &feature_aclass, - &feature_perfmon, - &feature_crc, - &feature_mp, &feature_hwdiv, + &feature_mp, &feature_d32, - &feature_fp16, + &feature_dsp, + &feature_thumb2, &feature_db, + &feature_aclass, + &feature_fpregs, + &feature_trustzone, + &feature_crc, + &feature_fp16, + &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_thumb2, - &feature_fpregs, - &feature_dsp, - &feature_v7clrex, - &feature_aclass, - &feature_perfmon, &feature_d32, + &feature_dsp, + &feature_thumb2, &feature_db, + &feature_aclass, + &feature_fpregs, + &feature_v7clrex, + &feature_perfmon, &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_dsp, - &feature_v7clrex, - &feature_hwdivArm, - &feature_acquireRelease, - &feature_aclass, - &feature_perfmon, - &feature_crc, - &feature_mp, &feature_hwdiv, + &feature_mp, &feature_d32, - &feature_fp16, + &feature_dsp, + &feature_thumb2, &feature_db, + &feature_aclass, + &feature_fpregs, + &feature_trustzone, + &feature_crc, + &feature_fp16, + &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_dsp, - &feature_v7clrex, - &feature_hwdivArm, - &feature_acquireRelease, - &feature_aclass, - &feature_perfmon, - &feature_crc, - &feature_mp, &feature_hwdiv, + &feature_mp, &feature_d32, - &feature_fp16, + &feature_dsp, + &feature_thumb2, &feature_db, + &feature_aclass, + &feature_fpregs, + &feature_trustzone, + &feature_crc, + &feature_fp16, + &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_dsp, - &feature_ras, - &feature_v7clrex, - &feature_hwdivArm, - &feature_acquireRelease, - &feature_aclass, - &feature_perfmon, - &feature_crc, - &feature_mp, &feature_hwdiv, + &feature_mp, &feature_d32, - &feature_fp16, + &feature_dsp, + &feature_thumb2, &feature_db, + &feature_aclass, + &feature_fpregs, + &feature_trustzone, + &feature_crc, + &feature_fp16, + &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_dsp, - &feature_ras, - &feature_v7clrex, - &feature_hwdivArm, - &feature_acquireRelease, - &feature_aclass, - &feature_perfmon, - &feature_crc, - &feature_mp, &feature_hwdiv, + &feature_mp, &feature_d32, - &feature_fp16, + &feature_dsp, + &feature_thumb2, &feature_db, + &feature_aclass, + &feature_fpregs, + &feature_trustzone, + &feature_crc, + &feature_fp16, + &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_dsp, - &feature_ras, - &feature_v7clrex, - &feature_hwdivArm, - &feature_acquireRelease, - &feature_aclass, - &feature_perfmon, - &feature_crc, - &feature_mp, &feature_hwdiv, + &feature_mp, &feature_d32, - &feature_fp16, + &feature_dsp, + &feature_thumb2, &feature_db, + &feature_aclass, + &feature_fpregs, + &feature_trustzone, + &feature_crc, + &feature_fp16, + &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_thumb2, - &feature_fpregs, - &feature_dsp, - &feature_v7clrex, - &feature_aclass, - &feature_perfmon, &feature_d32, + &feature_dsp, + &feature_thumb2, &feature_db, + &feature_aclass, + &feature_fpregs, + &feature_v7clrex, + &feature_perfmon, &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_thumb2, - &feature_fpregs, - &feature_dsp, - &feature_v7clrex, - &feature_aclass, - &feature_perfmon, &feature_d32, + &feature_dsp, + &feature_thumb2, &feature_db, + &feature_aclass, + &feature_fpregs, + &feature_v7clrex, + &feature_perfmon, &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_mclass, + &feature_db, &feature_v7clrex, &feature_perfmon, - &feature_mclass, - &feature_hwdiv, - &feature_db, + &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_thumb2, + &feature_mclass, + &feature_db, &feature_v7clrex, &feature_perfmon, - &feature_mclass, - &feature_hwdiv, - &feature_db, + &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_thumb2, + &feature_mclass, + &feature_db, &feature_v7clrex, &feature_perfmon, - &feature_mclass, - &feature_hwdiv, - &feature_db, - &feature_fpregs, + &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_dfb, - &feature_rclass, - &feature_v7clrex, - &feature_hwdivArm, - &feature_acquireRelease, - &feature_perfmon, - &feature_crc, - &feature_mp, &feature_hwdiv, + &feature_dfb, + &feature_mp, &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_dsp, - &feature_v7clrex, - &feature_hwdivArm, - &feature_acquireRelease, - &feature_aclass, - &feature_perfmon, - &feature_crc, - &feature_mp, &feature_hwdiv, + &feature_mp, &feature_d32, - &feature_fp16, + &feature_dsp, + &feature_thumb2, &feature_db, + &feature_aclass, + &feature_fpregs, + &feature_trustzone, + &feature_crc, + &feature_fp16, + &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_dsp, - &feature_v7clrex, - &feature_hwdivArm, - &feature_acquireRelease, - &feature_aclass, - &feature_perfmon, - &feature_crc, - &feature_mp, &feature_hwdiv, + &feature_mp, &feature_d32, - &feature_fp16, + &feature_dsp, + &feature_thumb2, &feature_db, - &feature_expandFpMlx, - &feature_slowVgetlni32, - &feature_profUnpr, - &feature_slowfpvmlx, - &feature_slowFpBrcc, - &feature_useAa, - &feature_dontWidenVmovs, - &feature_retAddrStack, + &feature_aclass, + &feature_fpregs, + &feature_trustzone, + &feature_crc, + &feature_fp16, + &feature_acquireRelease, + &feature_v7clrex, + &feature_perfmon, + &feature_hwdivArm, &feature_fuseLiterals, + &feature_useAa, &feature_wideStrideVfp, - &feature_zcz, - &feature_fuseAes, + &feature_slowVgetlni32, &feature_slowVdup32, + &feature_profUnpr, + &feature_slowFpBrcc, + &feature_retAddrStack, + &feature_zcz, + &feature_slowfpvmlx, + &feature_expandFpMlx, + &feature_fuseAes, + &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_dsp, - &feature_v7clrex, - &feature_hwdivArm, - &feature_acquireRelease, - &feature_aclass, - &feature_perfmon, - &feature_crc, - &feature_mp, &feature_hwdiv, + &feature_mp, &feature_d32, - &feature_fp16, + &feature_dsp, + &feature_thumb2, &feature_db, - &feature_expandFpMlx, - &feature_slowVgetlni32, - &feature_profUnpr, - &feature_slowfpvmlx, - &feature_slowFpBrcc, - &feature_useAa, - &feature_dontWidenVmovs, - &feature_retAddrStack, + &feature_aclass, + &feature_fpregs, + &feature_trustzone, + &feature_crc, + &feature_fp16, + &feature_acquireRelease, + &feature_v7clrex, + &feature_perfmon, + &feature_hwdivArm, &feature_fuseLiterals, + &feature_useAa, &feature_wideStrideVfp, - &feature_zcz, - &feature_fuseAes, + &feature_slowVgetlni32, &feature_slowVdup32, + &feature_profUnpr, + &feature_slowFpBrcc, + &feature_retAddrStack, + &feature_zcz, + &feature_slowfpvmlx, + &feature_expandFpMlx, + &feature_fuseAes, + &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_dsp, - &feature_v7clrex, - &feature_hwdivArm, - &feature_acquireRelease, - &feature_aclass, - &feature_perfmon, - &feature_crc, - &feature_mp, &feature_hwdiv, + &feature_mp, &feature_d32, - &feature_fp16, + &feature_dsp, + &feature_thumb2, &feature_db, - &feature_expandFpMlx, - &feature_slowVgetlni32, - &feature_profUnpr, - &feature_slowfpvmlx, - &feature_slowFpBrcc, - &feature_useAa, - &feature_dontWidenVmovs, - &feature_retAddrStack, + &feature_aclass, + &feature_fpregs, + &feature_trustzone, + &feature_crc, + &feature_fp16, + &feature_acquireRelease, + &feature_v7clrex, + &feature_perfmon, + &feature_hwdivArm, &feature_fuseLiterals, + &feature_useAa, &feature_wideStrideVfp, - &feature_zcz, - &feature_fuseAes, + &feature_slowVgetlni32, &feature_slowVdup32, + &feature_profUnpr, + &feature_slowFpBrcc, + &feature_retAddrStack, + &feature_zcz, + &feature_slowfpvmlx, + &feature_expandFpMlx, + &feature_fuseAes, + &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_dsp, - &feature_ras, - &feature_v7clrex, - &feature_hwdivArm, - &feature_acquireRelease, - &feature_aclass, - &feature_perfmon, - &feature_crc, - &feature_mp, &feature_hwdiv, + &feature_mp, &feature_d32, - &feature_fp16, + &feature_dsp, + &feature_thumb2, &feature_db, + &feature_aclass, + &feature_fpregs, + &feature_trustzone, + &feature_crc, + &feature_fp16, + &feature_acquireRelease, + &feature_v7clrex, + &feature_perfmon, + &feature_hwdivArm, + &feature_ras, &feature_dotprod, &feature_fullfp16, - &feature_expandFpMlx, - &feature_slowVgetlni32, - &feature_profUnpr, - &feature_slowfpvmlx, - &feature_slowFpBrcc, - &feature_useAa, - &feature_dontWidenVmovs, - &feature_retAddrStack, &feature_fuseLiterals, + &feature_useAa, &feature_wideStrideVfp, - &feature_zcz, - &feature_fuseAes, + &feature_slowVgetlni32, &feature_slowVdup32, + &feature_profUnpr, + &feature_slowFpBrcc, + &feature_retAddrStack, + &feature_zcz, + &feature_slowfpvmlx, + &feature_expandFpMlx, + &feature_fuseAes, + &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_dsp, - &feature_ras, - &feature_v7clrex, - &feature_hwdivArm, - &feature_acquireRelease, - &feature_aclass, - &feature_perfmon, - &feature_crc, - &feature_mp, &feature_hwdiv, + &feature_mp, &feature_d32, - &feature_fp16, + &feature_dsp, + &feature_thumb2, &feature_db, + &feature_aclass, + &feature_fpregs, + &feature_trustzone, + &feature_crc, + &feature_fp16, + &feature_acquireRelease, + &feature_v7clrex, + &feature_perfmon, + &feature_hwdivArm, + &feature_ras, &feature_dotprod, &feature_fullfp16, - &feature_expandFpMlx, - &feature_slowVgetlni32, - &feature_profUnpr, - &feature_slowfpvmlx, - &feature_slowFpBrcc, - &feature_useAa, - &feature_dontWidenVmovs, - &feature_retAddrStack, &feature_fuseLiterals, + &feature_useAa, &feature_wideStrideVfp, - &feature_zcz, - &feature_fuseAes, + &feature_slowVgetlni32, &feature_slowVdup32, + &feature_profUnpr, + &feature_slowFpBrcc, + &feature_retAddrStack, + &feature_zcz, + &feature_slowfpvmlx, + &feature_expandFpMlx, + &feature_fuseAes, + &feature_dontWidenVmovs, }, }; @@ -2053,14 +2051,14 @@ pub const cpu_krait = Cpu{ .name = "krait", .llvm_name = "krait", .dependencies = &[_]*const Feature { - &feature_thumb2, - &feature_fpregs, - &feature_dsp, - &feature_v7clrex, - &feature_aclass, - &feature_perfmon, &feature_d32, + &feature_dsp, + &feature_thumb2, &feature_db, + &feature_aclass, + &feature_fpregs, + &feature_v7clrex, + &feature_perfmon, &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_dsp, - &feature_v7clrex, - &feature_hwdivArm, - &feature_acquireRelease, - &feature_aclass, - &feature_perfmon, - &feature_crc, - &feature_mp, &feature_hwdiv, + &feature_mp, &feature_d32, - &feature_fp16, + &feature_dsp, + &feature_thumb2, &feature_db, + &feature_aclass, + &feature_fpregs, + &feature_trustzone, + &feature_crc, + &feature_fp16, + &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_mclass, + &feature_db, &feature_v7clrex, &feature_perfmon, - &feature_mclass, - &feature_hwdiv, - &feature_db, + &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_thumb2, - &feature_fpregs, - &feature_dsp, - &feature_v7clrex, - &feature_aclass, - &feature_perfmon, &feature_d32, + &feature_dsp, + &feature_thumb2, &feature_db, + &feature_aclass, + &feature_fpregs, + &feature_v7clrex, + &feature_perfmon, &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, diff --git a/lib/std/target/avr.zig b/lib/std/target/avr.zig index 2f5dc00c74..21b1591b7b 100644 --- a/lib/std/target/avr.zig +++ b/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_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_spm, &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_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_spm, &feature_mul, }, }; @@ -573,17 +573,17 @@ pub const cpu_at90usb1287 = Cpu{ .name = "at90usb1287", .llvm_name = "at90usb1287", .dependencies = &[_]*const Feature { - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_spm, &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_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_spm, &feature_mul, }, }; @@ -818,17 +818,17 @@ pub const cpu_atmega1280 = Cpu{ .name = "atmega1280", .llvm_name = "atmega1280", .dependencies = &[_]*const Feature { - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_spm, &feature_mul, }, }; @@ -837,17 +837,17 @@ pub const cpu_atmega1281 = Cpu{ .name = "atmega1281", .llvm_name = "atmega1281", .dependencies = &[_]*const Feature { - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_spm, &feature_mul, }, }; @@ -856,17 +856,17 @@ pub const cpu_atmega1284 = Cpu{ .name = "atmega1284", .llvm_name = "atmega1284", .dependencies = &[_]*const Feature { - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_spm, &feature_mul, }, }; @@ -875,17 +875,17 @@ pub const cpu_atmega1284p = Cpu{ .name = "atmega1284p", .llvm_name = "atmega1284p", .dependencies = &[_]*const Feature { - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_spm, &feature_mul, }, }; @@ -894,17 +894,17 @@ pub const cpu_atmega1284rfr2 = Cpu{ .name = "atmega1284rfr2", .llvm_name = "atmega1284rfr2", .dependencies = &[_]*const Feature { - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_spm, &feature_mul, }, }; @@ -913,17 +913,17 @@ pub const cpu_atmega128a = Cpu{ .name = "atmega128a", .llvm_name = "atmega128a", .dependencies = &[_]*const Feature { - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_spm, &feature_mul, }, }; @@ -932,17 +932,17 @@ pub const cpu_atmega128rfa1 = Cpu{ .name = "atmega128rfa1", .llvm_name = "atmega128rfa1", .dependencies = &[_]*const Feature { - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_spm, &feature_mul, }, }; @@ -951,17 +951,17 @@ pub const cpu_atmega128rfr2 = Cpu{ .name = "atmega128rfr2", .llvm_name = "atmega128rfr2", .dependencies = &[_]*const Feature { - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_spm, &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_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_spm, &feature_mul, }, }; @@ -1445,17 +1445,17 @@ pub const cpu_atmega2561 = Cpu{ .name = "atmega2561", .llvm_name = "atmega2561", .dependencies = &[_]*const Feature { - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_spm, &feature_mul, }, }; @@ -1464,17 +1464,17 @@ pub const cpu_atmega2564rfr2 = Cpu{ .name = "atmega2564rfr2", .llvm_name = "atmega2564rfr2", .dependencies = &[_]*const Feature { - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_spm, &feature_mul, }, }; @@ -1483,17 +1483,17 @@ pub const cpu_atmega256rfr2 = Cpu{ .name = "atmega256rfr2", .llvm_name = "atmega256rfr2", .dependencies = &[_]*const Feature { - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_spm, &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_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -3239,21 +3239,21 @@ pub const cpu_atxmega128a1u = Cpu{ .name = "atxmega128a1u", .llvm_name = "atxmega128a1u", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_movw, - &feature_addsubiw, - &feature_rmw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_rmw, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -3262,20 +3262,20 @@ pub const cpu_atxmega128a3 = Cpu{ .name = "atxmega128a3", .llvm_name = "atxmega128a3", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -3284,21 +3284,21 @@ pub const cpu_atxmega128a3u = Cpu{ .name = "atxmega128a3u", .llvm_name = "atxmega128a3u", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_movw, - &feature_addsubiw, - &feature_rmw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_rmw, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -3307,21 +3307,21 @@ pub const cpu_atxmega128a4u = Cpu{ .name = "atxmega128a4u", .llvm_name = "atxmega128a4u", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_movw, - &feature_addsubiw, - &feature_rmw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_rmw, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -3330,21 +3330,21 @@ pub const cpu_atxmega128b1 = Cpu{ .name = "atxmega128b1", .llvm_name = "atxmega128b1", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_movw, - &feature_addsubiw, - &feature_rmw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_rmw, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -3353,21 +3353,21 @@ pub const cpu_atxmega128b3 = Cpu{ .name = "atxmega128b3", .llvm_name = "atxmega128b3", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_movw, - &feature_addsubiw, - &feature_rmw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_rmw, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -3376,21 +3376,21 @@ pub const cpu_atxmega128c3 = Cpu{ .name = "atxmega128c3", .llvm_name = "atxmega128c3", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_movw, - &feature_addsubiw, - &feature_rmw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_rmw, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -3399,20 +3399,20 @@ pub const cpu_atxmega128d3 = Cpu{ .name = "atxmega128d3", .llvm_name = "atxmega128d3", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -3421,20 +3421,20 @@ pub const cpu_atxmega128d4 = Cpu{ .name = "atxmega128d4", .llvm_name = "atxmega128d4", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -3443,20 +3443,20 @@ pub const cpu_atxmega16a4 = Cpu{ .name = "atxmega16a4", .llvm_name = "atxmega16a4", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -3465,21 +3465,21 @@ pub const cpu_atxmega16a4u = Cpu{ .name = "atxmega16a4u", .llvm_name = "atxmega16a4u", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_movw, - &feature_addsubiw, - &feature_rmw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_rmw, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -3488,21 +3488,21 @@ pub const cpu_atxmega16c4 = Cpu{ .name = "atxmega16c4", .llvm_name = "atxmega16c4", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_movw, - &feature_addsubiw, - &feature_rmw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_rmw, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -3511,20 +3511,20 @@ pub const cpu_atxmega16d4 = Cpu{ .name = "atxmega16d4", .llvm_name = "atxmega16d4", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -3533,20 +3533,20 @@ pub const cpu_atxmega16e5 = Cpu{ .name = "atxmega16e5", .llvm_name = "atxmega16e5", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -3555,20 +3555,20 @@ pub const cpu_atxmega192a3 = Cpu{ .name = "atxmega192a3", .llvm_name = "atxmega192a3", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -3577,21 +3577,21 @@ pub const cpu_atxmega192a3u = Cpu{ .name = "atxmega192a3u", .llvm_name = "atxmega192a3u", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_movw, - &feature_addsubiw, - &feature_rmw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_rmw, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -3600,21 +3600,21 @@ pub const cpu_atxmega192c3 = Cpu{ .name = "atxmega192c3", .llvm_name = "atxmega192c3", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_movw, - &feature_addsubiw, - &feature_rmw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_rmw, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -3623,20 +3623,20 @@ pub const cpu_atxmega192d3 = Cpu{ .name = "atxmega192d3", .llvm_name = "atxmega192d3", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -3645,20 +3645,20 @@ pub const cpu_atxmega256a3 = Cpu{ .name = "atxmega256a3", .llvm_name = "atxmega256a3", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -3667,20 +3667,20 @@ pub const cpu_atxmega256a3b = Cpu{ .name = "atxmega256a3b", .llvm_name = "atxmega256a3b", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -3689,21 +3689,21 @@ pub const cpu_atxmega256a3bu = Cpu{ .name = "atxmega256a3bu", .llvm_name = "atxmega256a3bu", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_movw, - &feature_addsubiw, - &feature_rmw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_rmw, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -3712,21 +3712,21 @@ pub const cpu_atxmega256a3u = Cpu{ .name = "atxmega256a3u", .llvm_name = "atxmega256a3u", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_movw, - &feature_addsubiw, - &feature_rmw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_rmw, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -3735,21 +3735,21 @@ pub const cpu_atxmega256c3 = Cpu{ .name = "atxmega256c3", .llvm_name = "atxmega256c3", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_movw, - &feature_addsubiw, - &feature_rmw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_rmw, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -3758,20 +3758,20 @@ pub const cpu_atxmega256d3 = Cpu{ .name = "atxmega256d3", .llvm_name = "atxmega256d3", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -3780,20 +3780,20 @@ pub const cpu_atxmega32a4 = Cpu{ .name = "atxmega32a4", .llvm_name = "atxmega32a4", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -3802,21 +3802,21 @@ pub const cpu_atxmega32a4u = Cpu{ .name = "atxmega32a4u", .llvm_name = "atxmega32a4u", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_movw, - &feature_addsubiw, - &feature_rmw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_rmw, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -3825,21 +3825,21 @@ pub const cpu_atxmega32c4 = Cpu{ .name = "atxmega32c4", .llvm_name = "atxmega32c4", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_movw, - &feature_addsubiw, - &feature_rmw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_rmw, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -3848,20 +3848,20 @@ pub const cpu_atxmega32d4 = Cpu{ .name = "atxmega32d4", .llvm_name = "atxmega32d4", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -3870,20 +3870,20 @@ pub const cpu_atxmega32e5 = Cpu{ .name = "atxmega32e5", .llvm_name = "atxmega32e5", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -3892,20 +3892,20 @@ pub const cpu_atxmega32x1 = Cpu{ .name = "atxmega32x1", .llvm_name = "atxmega32x1", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -3914,21 +3914,21 @@ pub const cpu_atxmega384c3 = Cpu{ .name = "atxmega384c3", .llvm_name = "atxmega384c3", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_movw, - &feature_addsubiw, - &feature_rmw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_rmw, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -3937,20 +3937,20 @@ pub const cpu_atxmega384d3 = Cpu{ .name = "atxmega384d3", .llvm_name = "atxmega384d3", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -3959,20 +3959,20 @@ pub const cpu_atxmega64a1 = Cpu{ .name = "atxmega64a1", .llvm_name = "atxmega64a1", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -3981,21 +3981,21 @@ pub const cpu_atxmega64a1u = Cpu{ .name = "atxmega64a1u", .llvm_name = "atxmega64a1u", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_movw, - &feature_addsubiw, - &feature_rmw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_rmw, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -4004,20 +4004,20 @@ pub const cpu_atxmega64a3 = Cpu{ .name = "atxmega64a3", .llvm_name = "atxmega64a3", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -4026,21 +4026,21 @@ pub const cpu_atxmega64a3u = Cpu{ .name = "atxmega64a3u", .llvm_name = "atxmega64a3u", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_movw, - &feature_addsubiw, - &feature_rmw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_rmw, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -4049,21 +4049,21 @@ pub const cpu_atxmega64a4u = Cpu{ .name = "atxmega64a4u", .llvm_name = "atxmega64a4u", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_movw, - &feature_addsubiw, - &feature_rmw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_rmw, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -4072,21 +4072,21 @@ pub const cpu_atxmega64b1 = Cpu{ .name = "atxmega64b1", .llvm_name = "atxmega64b1", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_movw, - &feature_addsubiw, - &feature_rmw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_rmw, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -4095,21 +4095,21 @@ pub const cpu_atxmega64b3 = Cpu{ .name = "atxmega64b3", .llvm_name = "atxmega64b3", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_movw, - &feature_addsubiw, - &feature_rmw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_rmw, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -4118,21 +4118,21 @@ pub const cpu_atxmega64c3 = Cpu{ .name = "atxmega64c3", .llvm_name = "atxmega64c3", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_movw, - &feature_addsubiw, - &feature_rmw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_rmw, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -4141,20 +4141,20 @@ pub const cpu_atxmega64d3 = Cpu{ .name = "atxmega64d3", .llvm_name = "atxmega64d3", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -4163,20 +4163,20 @@ pub const cpu_atxmega64d4 = Cpu{ .name = "atxmega64d4", .llvm_name = "atxmega64d4", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -4185,20 +4185,20 @@ pub const cpu_atxmega8e5 = Cpu{ .name = "atxmega8e5", .llvm_name = "atxmega8e5", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &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_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_spm, &feature_mul, }, }; @@ -4334,17 +4334,17 @@ pub const cpu_avr6 = Cpu{ .name = "avr6", .llvm_name = "avr6", .dependencies = &[_]*const Feature { - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_spm, &feature_mul, }, }; @@ -4363,20 +4363,20 @@ pub const cpu_avrxmega1 = Cpu{ .name = "avrxmega1", .llvm_name = "avrxmega1", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -4385,20 +4385,20 @@ pub const cpu_avrxmega2 = Cpu{ .name = "avrxmega2", .llvm_name = "avrxmega2", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -4407,20 +4407,20 @@ pub const cpu_avrxmega3 = Cpu{ .name = "avrxmega3", .llvm_name = "avrxmega3", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -4429,20 +4429,20 @@ pub const cpu_avrxmega4 = Cpu{ .name = "avrxmega4", .llvm_name = "avrxmega4", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -4451,20 +4451,20 @@ pub const cpu_avrxmega5 = Cpu{ .name = "avrxmega5", .llvm_name = "avrxmega5", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -4473,20 +4473,20 @@ pub const cpu_avrxmega6 = Cpu{ .name = "avrxmega6", .llvm_name = "avrxmega6", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &feature_mul, }, }; @@ -4495,20 +4495,20 @@ pub const cpu_avrxmega7 = Cpu{ .name = "avrxmega7", .llvm_name = "avrxmega7", .dependencies = &[_]*const Feature { - &feature_eijmpcall, - &feature_lpm, - &feature_sram, - &feature_addsubiw, - &feature_movw, - &feature_elpm, - &feature_break, - &feature_ijmpcall, - &feature_des, &feature_spmx, + &feature_des, &feature_lpmx, &feature_jmpcall, - &feature_spm, + &feature_lpm, + &feature_elpm, + &feature_sram, + &feature_addsubiw, &feature_elpmx, + &feature_movw, + &feature_ijmpcall, + &feature_break, + &feature_eijmpcall, + &feature_spm, &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, }, diff --git a/lib/std/target/mips.zig b/lib/std/target/mips.zig index 6eab968c23..7c7bb3bfbe 100644 --- a/lib/std/target/mips.zig +++ b/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, }, }; diff --git a/lib/std/target/powerpc.zig b/lib/std/target/powerpc.zig index bb68049eca..f0d475a6e5 100644 --- a/lib/std/target/powerpc.zig +++ b/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, }, }; diff --git a/lib/std/target/riscv.zig b/lib/std/target/riscv.zig index a3f21adc01..bf82cc9f82 100644 --- a/lib/std/target/riscv.zig +++ b/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, }, }; diff --git a/lib/std/target/systemz.zig b/lib/std/target/systemz.zig index 7966f41915..1a3f8ec970 100644 --- a/lib/std/target/systemz.zig +++ b/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, }; diff --git a/lib/std/target/x86.zig b/lib/std/target/x86.zig index f7469ba47f..e755d2cd88 100644 --- a/lib/std/target/x86.zig +++ b/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,