authorgravatar for lgustaf1@binghamton.eduLayne Gustafson <lgustaf1@binghamton.edu> 2020-01-16 14:24:55-05:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-01-19 20:53:20-05:00
logde8a5cf5f54650a5d043c6ad2c41827037f7f75d
treebada4b48abe64c0aaa9af48d4e67400246bc9753
parenta5c93975394af6638e04f6a8a8c4f060bc4887d1
signature Commit is signed but in an unrecognized format.

Remove features/cpus not in LLVM v9


9 files changed, 2012 insertions(+), 2325 deletions(-)

lib/std/target/aarch64.zig+189-313
...@@ -228,15 +228,6 @@ pub const feature_dotprod = Feature{...@@ -228,15 +228,6 @@ pub const feature_dotprod = Feature{
228 },228 },
229};229};
230230
231pub const feature_ete = Feature{
232 .name = "ete",
233 .llvm_name = "ete",
234 .description = "Enable Embedded Trace Extension",
235 .dependencies = &[_]*const Feature {
236 &feature_trbe,
237 },
238};
239
240pub const feature_exynosCheapAsMove = Feature{231pub const feature_exynosCheapAsMove = Feature{
241 .name = "exynosCheapAsMove",232 .name = "exynosCheapAsMove",
242 .llvm_name = "exynos-cheap-as-move",233 .llvm_name = "exynos-cheap-as-move",
...@@ -806,8 +797,8 @@ pub const feature_sve2Aes = Feature{...@@ -806,8 +797,8 @@ pub const feature_sve2Aes = Feature{
806 .llvm_name = "sve2-aes",797 .llvm_name = "sve2-aes",
807 .description = "Enable AES SVE2 instructions",798 .description = "Enable AES SVE2 instructions",
808 .dependencies = &[_]*const Feature {799 .dependencies = &[_]*const Feature {
809 &feature_fpArmv8,
810 &feature_sve,800 &feature_sve,
801 &feature_fpArmv8,
811 },802 },
812};803};
813804
...@@ -825,8 +816,8 @@ pub const feature_sve2Sha3 = Feature{...@@ -825,8 +816,8 @@ pub const feature_sve2Sha3 = Feature{
825 .llvm_name = "sve2-sha3",816 .llvm_name = "sve2-sha3",
826 .description = "Enable SHA3 SVE2 instructions",817 .description = "Enable SHA3 SVE2 instructions",
827 .dependencies = &[_]*const Feature {818 .dependencies = &[_]*const Feature {
828 &feature_fpArmv8,
829 &feature_sve,819 &feature_sve,
820 &feature_fpArmv8,
830 },821 },
831};822};
832823
...@@ -835,8 +826,8 @@ pub const feature_sve2Sm4 = Feature{...@@ -835,8 +826,8 @@ pub const feature_sve2Sm4 = Feature{
835 .llvm_name = "sve2-sm4",826 .llvm_name = "sve2-sm4",
836 .description = "Enable SM4 SVE2 instructions",827 .description = "Enable SM4 SVE2 instructions",
837 .dependencies = &[_]*const Feature {828 .dependencies = &[_]*const Feature {
838 &feature_fpArmv8,
839 &feature_sve,829 &feature_sve,
830 &feature_fpArmv8,
840 },831 },
841};832};
842833
...@@ -888,14 +879,6 @@ pub const feature_tlbRmi = Feature{...@@ -888,14 +879,6 @@ pub const feature_tlbRmi = Feature{
888 },879 },
889};880};
890881
891pub const feature_tme = Feature{
892 .name = "tme",
893 .llvm_name = "tme",
894 .description = "Enable Transactional Memory Extension",
895 .dependencies = &[_]*const Feature {
896 },
897};
898
899pub const feature_tracev84 = Feature{882pub const feature_tracev84 = Feature{
900 .name = "tracev84",883 .name = "tracev84",
901 .llvm_name = "tracev8.4",884 .llvm_name = "tracev8.4",
...@@ -904,22 +887,6 @@ pub const feature_tracev84 = Feature{...@@ -904,22 +887,6 @@ pub const feature_tracev84 = Feature{
904 },887 },
905};888};
906889
907pub const feature_trbe = Feature{
908 .name = "trbe",
909 .llvm_name = "trbe",
910 .description = "Enable Trace Buffer Extension",
911 .dependencies = &[_]*const Feature {
912 },
913};
914
915pub const feature_taggedGlobals = Feature{
916 .name = "taggedGlobals",
917 .llvm_name = "tagged-globals",
918 .description = "Use an instruction sequence for taking the address of a global that allows a memory tag in the upper address bits",
919 .dependencies = &[_]*const Feature {
920 },
921};
922
923pub const feature_useAa = Feature{890pub const feature_useAa = Feature{
924 .name = "useAa",891 .name = "useAa",
925 .llvm_name = "use-aa",892 .llvm_name = "use-aa",
...@@ -1039,7 +1006,6 @@ pub const features = &[_]*const Feature {...@@ -1039,7 +1006,6 @@ pub const features = &[_]*const Feature {
1039 &feature_dit,1006 &feature_dit,
1040 &feature_disableLatencySchedHeuristic,1007 &feature_disableLatencySchedHeuristic,
1041 &feature_dotprod,1008 &feature_dotprod,
1042 &feature_ete,
1043 &feature_exynosCheapAsMove,1009 &feature_exynosCheapAsMove,
1044 &feature_fmi,1010 &feature_fmi,
1045 &feature_fp16fml,1011 &feature_fp16fml,
...@@ -1119,10 +1085,7 @@ pub const features = &[_]*const Feature {...@@ -1119,10 +1085,7 @@ pub const features = &[_]*const Feature {
1119 &feature_specrestrict,1085 &feature_specrestrict,
1120 &feature_strictAlign,1086 &feature_strictAlign,
1121 &feature_tlbRmi,1087 &feature_tlbRmi,
1122 &feature_tme,
1123 &feature_tracev84,1088 &feature_tracev84,
1124 &feature_trbe,
1125 &feature_taggedGlobals,
1126 &feature_useAa,1089 &feature_useAa,
1127 &feature_tpidrEl1,1090 &feature_tpidrEl1,
1128 &feature_tpidrEl2,1091 &feature_tpidrEl2,
...@@ -1140,18 +1103,18 @@ pub const cpu_appleLatest = Cpu{...@@ -1140,18 +1103,18 @@ pub const cpu_appleLatest = Cpu{
1140 .name = "appleLatest",1103 .name = "appleLatest",
1141 .llvm_name = "apple-latest",1104 .llvm_name = "apple-latest",
1142 .dependencies = &[_]*const Feature {1105 .dependencies = &[_]*const Feature {
1143 &feature_fpArmv8,1106 &feature_arithCbzFusion,
1107 &feature_zczFpWorkaround,
1144 &feature_alternateSextloadCvtF32Pattern,1108 &feature_alternateSextloadCvtF32Pattern,
1145 &feature_arithBccFusion,
1146 &feature_zczFp,
1147 &feature_zczGp,
1148 &feature_zcm,
1149 &feature_fuseAes,
1150 &feature_disableLatencySchedHeuristic,
1151 &feature_fuseCryptoEor,1109 &feature_fuseCryptoEor,
1110 &feature_zcm,
1111 &feature_zczGp,
1152 &feature_perfmon,1112 &feature_perfmon,
1153 &feature_zczFpWorkaround,1113 &feature_disableLatencySchedHeuristic,
1154 &feature_arithCbzFusion,1114 &feature_fpArmv8,
1115 &feature_zczFp,
1116 &feature_arithBccFusion,
1117 &feature_fuseAes,
1155 },1118 },
1156};1119};
11571120
...@@ -1159,9 +1122,9 @@ pub const cpu_cortexA35 = Cpu{...@@ -1159,9 +1122,9 @@ pub const cpu_cortexA35 = Cpu{
1159 .name = "cortexA35",1122 .name = "cortexA35",
1160 .llvm_name = "cortex-a35",1123 .llvm_name = "cortex-a35",
1161 .dependencies = &[_]*const Feature {1124 .dependencies = &[_]*const Feature {
1125 &feature_perfmon,
1162 &feature_fpArmv8,1126 &feature_fpArmv8,
1163 &feature_crc,1127 &feature_crc,
1164 &feature_perfmon,
1165 },1128 },
1166};1129};
11671130
...@@ -1169,14 +1132,14 @@ pub const cpu_cortexA53 = Cpu{...@@ -1169,14 +1132,14 @@ pub const cpu_cortexA53 = Cpu{
1169 .name = "cortexA53",1132 .name = "cortexA53",
1170 .llvm_name = "cortex-a53",1133 .llvm_name = "cortex-a53",
1171 .dependencies = &[_]*const Feature {1134 .dependencies = &[_]*const Feature {
1172 &feature_fpArmv8,
1173 &feature_balanceFpOps,
1174 &feature_usePostraScheduler,
1175 &feature_crc,
1176 &feature_customCheapAsMove,1135 &feature_customCheapAsMove,
1136 &feature_crc,
1137 &feature_perfmon,
1177 &feature_useAa,1138 &feature_useAa,
1139 &feature_fpArmv8,
1178 &feature_fuseAes,1140 &feature_fuseAes,
1179 &feature_perfmon,1141 &feature_balanceFpOps,
1142 &feature_usePostraScheduler,
1180 },1143 },
1181};1144};
11821145
...@@ -1184,20 +1147,20 @@ pub const cpu_cortexA55 = Cpu{...@@ -1184,20 +1147,20 @@ pub const cpu_cortexA55 = Cpu{
1184 .name = "cortexA55",1147 .name = "cortexA55",
1185 .llvm_name = "cortex-a55",1148 .llvm_name = "cortex-a55",
1186 .dependencies = &[_]*const Feature {1149 .dependencies = &[_]*const Feature {
1187 &feature_fpArmv8,1150 &feature_ccpp,
1188 &feature_pan,
1189 &feature_vh,
1190 &feature_dotprod,
1191 &feature_rcpc,1151 &feature_rcpc,
1192 &feature_lse,
1193 &feature_crc,
1194 &feature_uaops,1152 &feature_uaops,
1195 &feature_rdm,1153 &feature_rdm,
1196 &feature_lor,
1197 &feature_fuseAes,
1198 &feature_ras,1154 &feature_ras,
1155 &feature_lse,
1156 &feature_crc,
1199 &feature_perfmon,1157 &feature_perfmon,
1200 &feature_ccpp,1158 &feature_fpArmv8,
1159 &feature_vh,
1160 &feature_fuseAes,
1161 &feature_lor,
1162 &feature_dotprod,
1163 &feature_pan,
1201 },1164 },
1202};1165};
12031166
...@@ -1205,55 +1168,15 @@ pub const cpu_cortexA57 = Cpu{...@@ -1205,55 +1168,15 @@ pub const cpu_cortexA57 = Cpu{
1205 .name = "cortexA57",1168 .name = "cortexA57",
1206 .llvm_name = "cortex-a57",1169 .llvm_name = "cortex-a57",
1207 .dependencies = &[_]*const Feature {1170 .dependencies = &[_]*const Feature {
1208 &feature_fpArmv8,
1209 &feature_balanceFpOps,
1210 &feature_fuseLiterals,1171 &feature_fuseLiterals,
1211 &feature_usePostraScheduler,
1212 &feature_crc,
1213 &feature_customCheapAsMove,
1214 &feature_fuseAes,
1215 &feature_perfmon,
1216 &feature_predictableSelectExpensive,1172 &feature_predictableSelectExpensive,
1217 },1173 &feature_customCheapAsMove,
1218};
1219
1220pub const cpu_cortexA65 = Cpu{
1221 .name = "cortexA65",
1222 .llvm_name = "cortex-a65",
1223 .dependencies = &[_]*const Feature {
1224 &feature_fpArmv8,
1225 &feature_pan,
1226 &feature_vh,
1227 &feature_dotprod,
1228 &feature_rcpc,
1229 &feature_lse,
1230 &feature_crc,1174 &feature_crc,
1231 &feature_uaops,1175 &feature_perfmon,
1232 &feature_rdm,
1233 &feature_lor,
1234 &feature_ras,
1235 &feature_ssbs,
1236 &feature_ccpp,
1237 },
1238};
1239
1240pub const cpu_cortexA65ae = Cpu{
1241 .name = "cortexA65ae",
1242 .llvm_name = "cortex-a65ae",
1243 .dependencies = &[_]*const Feature {
1244 &feature_fpArmv8,1176 &feature_fpArmv8,
1245 &feature_pan,1177 &feature_fuseAes,
1246 &feature_vh,1178 &feature_balanceFpOps,
1247 &feature_dotprod,1179 &feature_usePostraScheduler,
1248 &feature_rcpc,
1249 &feature_lse,
1250 &feature_crc,
1251 &feature_uaops,
1252 &feature_rdm,
1253 &feature_lor,
1254 &feature_ras,
1255 &feature_ssbs,
1256 &feature_ccpp,
1257 },1180 },
1258};1181};
12591182
...@@ -1261,10 +1184,10 @@ pub const cpu_cortexA72 = Cpu{...@@ -1261,10 +1184,10 @@ pub const cpu_cortexA72 = Cpu{
1261 .name = "cortexA72",1184 .name = "cortexA72",
1262 .llvm_name = "cortex-a72",1185 .llvm_name = "cortex-a72",
1263 .dependencies = &[_]*const Feature {1186 .dependencies = &[_]*const Feature {
1187 &feature_fuseAes,
1264 &feature_fpArmv8,1188 &feature_fpArmv8,
1265 &feature_crc,
1266 &feature_perfmon,1189 &feature_perfmon,
1267 &feature_fuseAes,1190 &feature_crc,
1268 },1191 },
1269};1192};
12701193
...@@ -1272,10 +1195,10 @@ pub const cpu_cortexA73 = Cpu{...@@ -1272,10 +1195,10 @@ pub const cpu_cortexA73 = Cpu{
1272 .name = "cortexA73",1195 .name = "cortexA73",
1273 .llvm_name = "cortex-a73",1196 .llvm_name = "cortex-a73",
1274 .dependencies = &[_]*const Feature {1197 .dependencies = &[_]*const Feature {
1198 &feature_fuseAes,
1275 &feature_fpArmv8,1199 &feature_fpArmv8,
1276 &feature_crc,
1277 &feature_perfmon,1200 &feature_perfmon,
1278 &feature_fuseAes,1201 &feature_crc,
1279 },1202 },
1280};1203};
12811204
...@@ -1283,20 +1206,20 @@ pub const cpu_cortexA75 = Cpu{...@@ -1283,20 +1206,20 @@ pub const cpu_cortexA75 = Cpu{
1283 .name = "cortexA75",1206 .name = "cortexA75",
1284 .llvm_name = "cortex-a75",1207 .llvm_name = "cortex-a75",
1285 .dependencies = &[_]*const Feature {1208 .dependencies = &[_]*const Feature {
1286 &feature_fpArmv8,1209 &feature_ccpp,
1287 &feature_pan,
1288 &feature_vh,
1289 &feature_dotprod,
1290 &feature_rcpc,1210 &feature_rcpc,
1291 &feature_lse,
1292 &feature_crc,
1293 &feature_uaops,1211 &feature_uaops,
1294 &feature_rdm,1212 &feature_rdm,
1295 &feature_lor,
1296 &feature_fuseAes,
1297 &feature_ras,1213 &feature_ras,
1214 &feature_lse,
1215 &feature_crc,
1298 &feature_perfmon,1216 &feature_perfmon,
1299 &feature_ccpp,1217 &feature_fpArmv8,
1218 &feature_vh,
1219 &feature_fuseAes,
1220 &feature_lor,
1221 &feature_dotprod,
1222 &feature_pan,
1300 },1223 },
1301};1224};
13021225
...@@ -1304,19 +1227,19 @@ pub const cpu_cortexA76 = Cpu{...@@ -1304,19 +1227,19 @@ pub const cpu_cortexA76 = Cpu{
1304 .name = "cortexA76",1227 .name = "cortexA76",
1305 .llvm_name = "cortex-a76",1228 .llvm_name = "cortex-a76",
1306 .dependencies = &[_]*const Feature {1229 .dependencies = &[_]*const Feature {
1307 &feature_fpArmv8,1230 &feature_ccpp,
1308 &feature_pan,
1309 &feature_vh,
1310 &feature_dotprod,
1311 &feature_rcpc,1231 &feature_rcpc,
1312 &feature_lse,
1313 &feature_crc,
1314 &feature_uaops,1232 &feature_uaops,
1315 &feature_rdm,1233 &feature_rdm,
1316 &feature_lor,
1317 &feature_ras,1234 &feature_ras,
1235 &feature_lse,
1236 &feature_crc,
1237 &feature_fpArmv8,
1238 &feature_vh,
1239 &feature_lor,
1318 &feature_ssbs,1240 &feature_ssbs,
1319 &feature_ccpp,1241 &feature_dotprod,
1242 &feature_pan,
1320 },1243 },
1321};1244};
13221245
...@@ -1324,19 +1247,19 @@ pub const cpu_cortexA76ae = Cpu{...@@ -1324,19 +1247,19 @@ pub const cpu_cortexA76ae = Cpu{
1324 .name = "cortexA76ae",1247 .name = "cortexA76ae",
1325 .llvm_name = "cortex-a76ae",1248 .llvm_name = "cortex-a76ae",
1326 .dependencies = &[_]*const Feature {1249 .dependencies = &[_]*const Feature {
1327 &feature_fpArmv8,1250 &feature_ccpp,
1328 &feature_pan,
1329 &feature_vh,
1330 &feature_dotprod,
1331 &feature_rcpc,1251 &feature_rcpc,
1332 &feature_lse,
1333 &feature_crc,
1334 &feature_uaops,1252 &feature_uaops,
1335 &feature_rdm,1253 &feature_rdm,
1336 &feature_lor,
1337 &feature_ras,1254 &feature_ras,
1255 &feature_lse,
1256 &feature_crc,
1257 &feature_fpArmv8,
1258 &feature_vh,
1259 &feature_lor,
1338 &feature_ssbs,1260 &feature_ssbs,
1339 &feature_ccpp,1261 &feature_dotprod,
1262 &feature_pan,
1340 },1263 },
1341};1264};
13421265
...@@ -1344,18 +1267,18 @@ pub const cpu_cyclone = Cpu{...@@ -1344,18 +1267,18 @@ pub const cpu_cyclone = Cpu{
1344 .name = "cyclone",1267 .name = "cyclone",
1345 .llvm_name = "cyclone",1268 .llvm_name = "cyclone",
1346 .dependencies = &[_]*const Feature {1269 .dependencies = &[_]*const Feature {
1347 &feature_fpArmv8,1270 &feature_arithCbzFusion,
1271 &feature_zczFpWorkaround,
1348 &feature_alternateSextloadCvtF32Pattern,1272 &feature_alternateSextloadCvtF32Pattern,
1349 &feature_arithBccFusion,
1350 &feature_zczFp,
1351 &feature_zczGp,
1352 &feature_zcm,
1353 &feature_fuseAes,
1354 &feature_disableLatencySchedHeuristic,
1355 &feature_fuseCryptoEor,1273 &feature_fuseCryptoEor,
1274 &feature_zcm,
1275 &feature_zczGp,
1356 &feature_perfmon,1276 &feature_perfmon,
1357 &feature_zczFpWorkaround,1277 &feature_disableLatencySchedHeuristic,
1358 &feature_arithCbzFusion,1278 &feature_fpArmv8,
1279 &feature_zczFp,
1280 &feature_arithBccFusion,
1281 &feature_fuseAes,
1359 },1282 },
1360};1283};
13611284
...@@ -1363,17 +1286,17 @@ pub const cpu_exynosM1 = Cpu{...@@ -1363,17 +1286,17 @@ pub const cpu_exynosM1 = Cpu{
1363 .name = "exynosM1",1286 .name = "exynosM1",
1364 .llvm_name = "exynos-m1",1287 .llvm_name = "exynos-m1",
1365 .dependencies = &[_]*const Feature {1288 .dependencies = &[_]*const Feature {
1366 &feature_fpArmv8,1289 &feature_customCheapAsMove,
1290 &feature_crc,
1291 &feature_force32bitJumpTables,
1292 &feature_perfmon,
1367 &feature_slowMisaligned128store,1293 &feature_slowMisaligned128store,
1368 &feature_usePostraScheduler,
1369 &feature_useReciprocalSquareRoot,1294 &feature_useReciprocalSquareRoot,
1370 &feature_crc,1295 &feature_fpArmv8,
1371 &feature_zczFp,1296 &feature_zczFp,
1372 &feature_customCheapAsMove,
1373 &feature_force32bitJumpTables,
1374 &feature_fuseAes,1297 &feature_fuseAes,
1375 &feature_slowPaired128,1298 &feature_slowPaired128,
1376 &feature_perfmon,1299 &feature_usePostraScheduler,
1377 },1300 },
1378};1301};
13791302
...@@ -1381,16 +1304,16 @@ pub const cpu_exynosM2 = Cpu{...@@ -1381,16 +1304,16 @@ pub const cpu_exynosM2 = Cpu{
1381 .name = "exynosM2",1304 .name = "exynosM2",
1382 .llvm_name = "exynos-m2",1305 .llvm_name = "exynos-m2",
1383 .dependencies = &[_]*const Feature {1306 .dependencies = &[_]*const Feature {
1384 &feature_fpArmv8,
1385 &feature_slowMisaligned128store,
1386 &feature_usePostraScheduler,
1387 &feature_crc,
1388 &feature_zczFp,
1389 &feature_customCheapAsMove,1307 &feature_customCheapAsMove,
1308 &feature_crc,
1390 &feature_force32bitJumpTables,1309 &feature_force32bitJumpTables,
1310 &feature_perfmon,
1311 &feature_slowMisaligned128store,
1312 &feature_fpArmv8,
1313 &feature_zczFp,
1391 &feature_fuseAes,1314 &feature_fuseAes,
1392 &feature_slowPaired128,1315 &feature_slowPaired128,
1393 &feature_perfmon,1316 &feature_usePostraScheduler,
1394 },1317 },
1395};1318};
13961319
...@@ -1398,19 +1321,19 @@ pub const cpu_exynosM3 = Cpu{...@@ -1398,19 +1321,19 @@ pub const cpu_exynosM3 = Cpu{
1398 .name = "exynosM3",1321 .name = "exynosM3",
1399 .llvm_name = "exynos-m3",1322 .llvm_name = "exynos-m3",
1400 .dependencies = &[_]*const Feature {1323 .dependencies = &[_]*const Feature {
1401 &feature_fpArmv8,
1402 &feature_fuseAddress,
1403 &feature_fuseLiterals,1324 &feature_fuseLiterals,
1404 &feature_usePostraScheduler,1325 &feature_predictableSelectExpensive,
1405 &feature_crc,
1406 &feature_lslFast,
1407 &feature_customCheapAsMove,1326 &feature_customCheapAsMove,
1408 &feature_zczFp,1327 &feature_crc,
1409 &feature_force32bitJumpTables,1328 &feature_force32bitJumpTables,
1329 &feature_fuseAddress,
1410 &feature_fuseCsel,1330 &feature_fuseCsel,
1411 &feature_fuseAes,
1412 &feature_perfmon,1331 &feature_perfmon,
1413 &feature_predictableSelectExpensive,1332 &feature_fpArmv8,
1333 &feature_zczFp,
1334 &feature_fuseAes,
1335 &feature_lslFast,
1336 &feature_usePostraScheduler,
1414 },1337 },
1415};1338};
14161339
...@@ -1418,31 +1341,31 @@ pub const cpu_exynosM4 = Cpu{...@@ -1418,31 +1341,31 @@ pub const cpu_exynosM4 = Cpu{
1418 .name = "exynosM4",1341 .name = "exynosM4",
1419 .llvm_name = "exynos-m4",1342 .llvm_name = "exynos-m4",
1420 .dependencies = &[_]*const Feature {1343 .dependencies = &[_]*const Feature {
1344 &feature_arithCbzFusion,
1345 &feature_customCheapAsMove,
1346 &feature_lse,
1347 &feature_zczFp,
1348 &feature_lslFast,
1349 &feature_lor,
1350 &feature_fuseLiterals,
1351 &feature_ccpp,
1352 &feature_ras,
1353 &feature_fpArmv8,
1354 &feature_fuseAes,
1421 &feature_pan,1355 &feature_pan,
1422 &feature_fuseAddress,1356 &feature_fuseArithLogic,
1423 &feature_usePostraScheduler,
1424 &feature_crc,1357 &feature_crc,
1425 &feature_customCheapAsMove,
1426 &feature_force32bitJumpTables,1358 &feature_force32bitJumpTables,
1427 &feature_uaops,1359 &feature_fuseAddress,
1428 &feature_lor,1360 &feature_fuseCsel,
1429 &feature_arithBccFusion,1361 &feature_arithBccFusion,
1430 &feature_arithCbzFusion,1362 &feature_uaops,
1431 &feature_dotprod,
1432 &feature_fuseArithLogic,
1433 &feature_zczGp,
1434 &feature_rdm,1363 &feature_rdm,
1435 &feature_fuseCsel,1364 &feature_zczGp,
1436 &feature_perfmon,1365 &feature_perfmon,
1437 &feature_fpArmv8,
1438 &feature_vh,1366 &feature_vh,
1439 &feature_fuseLiterals,1367 &feature_usePostraScheduler,
1440 &feature_lse,1368 &feature_dotprod,
1441 &feature_zczFp,
1442 &feature_lslFast,
1443 &feature_fuseAes,
1444 &feature_ras,
1445 &feature_ccpp,
1446 },1369 },
1447};1370};
14481371
...@@ -1450,31 +1373,31 @@ pub const cpu_exynosM5 = Cpu{...@@ -1450,31 +1373,31 @@ pub const cpu_exynosM5 = Cpu{
1450 .name = "exynosM5",1373 .name = "exynosM5",
1451 .llvm_name = "exynos-m5",1374 .llvm_name = "exynos-m5",
1452 .dependencies = &[_]*const Feature {1375 .dependencies = &[_]*const Feature {
1376 &feature_arithCbzFusion,
1377 &feature_customCheapAsMove,
1378 &feature_lse,
1379 &feature_zczFp,
1380 &feature_lslFast,
1381 &feature_lor,
1382 &feature_fuseLiterals,
1383 &feature_ccpp,
1384 &feature_ras,
1385 &feature_fpArmv8,
1386 &feature_fuseAes,
1453 &feature_pan,1387 &feature_pan,
1454 &feature_fuseAddress,1388 &feature_fuseArithLogic,
1455 &feature_usePostraScheduler,
1456 &feature_crc,1389 &feature_crc,
1457 &feature_customCheapAsMove,
1458 &feature_force32bitJumpTables,1390 &feature_force32bitJumpTables,
1459 &feature_uaops,1391 &feature_fuseAddress,
1460 &feature_lor,1392 &feature_fuseCsel,
1461 &feature_arithBccFusion,1393 &feature_arithBccFusion,
1462 &feature_arithCbzFusion,1394 &feature_uaops,
1463 &feature_dotprod,
1464 &feature_fuseArithLogic,
1465 &feature_zczGp,
1466 &feature_rdm,1395 &feature_rdm,
1467 &feature_fuseCsel,1396 &feature_zczGp,
1468 &feature_perfmon,1397 &feature_perfmon,
1469 &feature_fpArmv8,
1470 &feature_vh,1398 &feature_vh,
1471 &feature_fuseLiterals,1399 &feature_usePostraScheduler,
1472 &feature_lse,1400 &feature_dotprod,
1473 &feature_zczFp,
1474 &feature_lslFast,
1475 &feature_fuseAes,
1476 &feature_ras,
1477 &feature_ccpp,
1478 },1401 },
1479};1402};
14801403
...@@ -1482,17 +1405,17 @@ pub const cpu_falkor = Cpu{...@@ -1482,17 +1405,17 @@ pub const cpu_falkor = Cpu{
1482 .name = "falkor",1405 .name = "falkor",
1483 .llvm_name = "falkor",1406 .llvm_name = "falkor",
1484 .dependencies = &[_]*const Feature {1407 .dependencies = &[_]*const Feature {
1485 &feature_fpArmv8,1408 &feature_predictableSelectExpensive,
1486 &feature_usePostraScheduler,
1487 &feature_crc,
1488 &feature_lslFast,
1489 &feature_customCheapAsMove,1409 &feature_customCheapAsMove,
1490 &feature_slowStrqroStore,
1491 &feature_zczFp,
1492 &feature_rdm,1410 &feature_rdm,
1411 &feature_slowStrqroStore,
1493 &feature_zczGp,1412 &feature_zczGp,
1413 &feature_crc,
1494 &feature_perfmon,1414 &feature_perfmon,
1495 &feature_predictableSelectExpensive,1415 &feature_fpArmv8,
1416 &feature_zczFp,
1417 &feature_lslFast,
1418 &feature_usePostraScheduler,
1496 },1419 },
1497};1420};
14981421
...@@ -1500,8 +1423,6 @@ pub const cpu_generic = Cpu{...@@ -1500,8 +1423,6 @@ pub const cpu_generic = Cpu{
1500 .name = "generic",1423 .name = "generic",
1501 .llvm_name = "generic",1424 .llvm_name = "generic",
1502 .dependencies = &[_]*const Feature {1425 .dependencies = &[_]*const Feature {
1503 &feature_trbe,
1504 &feature_ete,
1505 &feature_fpArmv8,1426 &feature_fpArmv8,
1506 &feature_fuseAes,1427 &feature_fuseAes,
1507 &feature_neon,1428 &feature_neon,
...@@ -1514,93 +1435,52 @@ pub const cpu_kryo = Cpu{...@@ -1514,93 +1435,52 @@ pub const cpu_kryo = Cpu{
1514 .name = "kryo",1435 .name = "kryo",
1515 .llvm_name = "kryo",1436 .llvm_name = "kryo",
1516 .dependencies = &[_]*const Feature {1437 .dependencies = &[_]*const Feature {
1517 &feature_fpArmv8,1438 &feature_predictableSelectExpensive,
1518 &feature_usePostraScheduler,
1519 &feature_crc,
1520 &feature_lslFast,
1521 &feature_customCheapAsMove,1439 &feature_customCheapAsMove,
1522 &feature_zczFp,
1523 &feature_zczGp,1440 &feature_zczGp,
1441 &feature_crc,
1524 &feature_perfmon,1442 &feature_perfmon,
1525 &feature_predictableSelectExpensive,1443 &feature_fpArmv8,
1444 &feature_zczFp,
1445 &feature_lslFast,
1446 &feature_usePostraScheduler,
1526 },1447 },
1527};1448};
15281449
1529pub const cpu_neoverseE1 = Cpu{1450pub const cpu_saphira = Cpu{
1530 .name = "neoverseE1",1451 .name = "saphira",
1531 .llvm_name = "neoverse-e1",1452 .llvm_name = "saphira",
1532 .dependencies = &[_]*const Feature {1453 .dependencies = &[_]*const Feature {
1533 &feature_fpArmv8,1454 &feature_predictableSelectExpensive,
1534 &feature_pan,1455 &feature_customCheapAsMove,
1535 &feature_vh,1456 &feature_fmi,
1536 &feature_dotprod,
1537 &feature_rcpc,
1538 &feature_lse,1457 &feature_lse,
1539 &feature_crc,1458 &feature_zczFp,
1540 &feature_uaops,1459 &feature_lslFast,
1541 &feature_rdm,
1542 &feature_lor,1460 &feature_lor,
1543 &feature_ras,1461 &feature_dit,
1544 &feature_ssbs,1462 &feature_pa,
1545 &feature_ccpp,1463 &feature_ccpp,
1546 },1464 &feature_sel2,
1547};1465 &feature_ras,
1548
1549pub const cpu_neoverseN1 = Cpu{
1550 .name = "neoverseN1",
1551 .llvm_name = "neoverse-n1",
1552 .dependencies = &[_]*const Feature {
1553 &feature_fpArmv8,1466 &feature_fpArmv8,
1467 &feature_ccidx,
1554 &feature_pan,1468 &feature_pan,
1555 &feature_vh,
1556 &feature_dotprod,
1557 &feature_rcpc,1469 &feature_rcpc,
1558 &feature_lse,
1559 &feature_crc,1470 &feature_crc,
1560 &feature_uaops,
1561 &feature_rdm,
1562 &feature_spe,
1563 &feature_lor,
1564 &feature_ras,
1565 &feature_ssbs,
1566 &feature_ccpp,
1567 },
1568};
1569
1570pub const cpu_saphira = Cpu{
1571 .name = "saphira",
1572 .llvm_name = "saphira",
1573 .dependencies = &[_]*const Feature {
1574 &feature_am,
1575 &feature_pan,
1576 &feature_usePostraScheduler,
1577 &feature_tracev84,1471 &feature_tracev84,
1578 &feature_rcpc,1472 &feature_mpam,
1579 &feature_sel2,1473 &feature_am,
1580 &feature_crc,1474 &feature_nv,
1581 &feature_customCheapAsMove,
1582 &feature_tlbRmi,1475 &feature_tlbRmi,
1583 &feature_uaops,1476 &feature_uaops,
1584 &feature_lor,
1585 &feature_dotprod,
1586 &feature_zczGp,
1587 &feature_rdm,1477 &feature_rdm,
1588 &feature_pa,1478 &feature_zczGp,
1589 &feature_perfmon,1479 &feature_perfmon,
1590 &feature_fpArmv8,
1591 &feature_vh,1480 &feature_vh,
1592 &feature_lse,1481 &feature_usePostraScheduler,
1593 &feature_zczFp,1482 &feature_dotprod,
1594 &feature_spe,1483 &feature_spe,
1595 &feature_predictableSelectExpensive,
1596 &feature_fmi,
1597 &feature_lslFast,
1598 &feature_mpam,
1599 &feature_dit,
1600 &feature_nv,
1601 &feature_ccidx,
1602 &feature_ras,
1603 &feature_ccpp,
1604 },1484 },
1605};1485};
16061486
...@@ -1608,11 +1488,11 @@ pub const cpu_thunderx = Cpu{...@@ -1608,11 +1488,11 @@ pub const cpu_thunderx = Cpu{
1608 .name = "thunderx",1488 .name = "thunderx",
1609 .llvm_name = "thunderx",1489 .llvm_name = "thunderx",
1610 .dependencies = &[_]*const Feature {1490 .dependencies = &[_]*const Feature {
1611 &feature_fpArmv8,1491 &feature_predictableSelectExpensive,
1612 &feature_usePostraScheduler,
1613 &feature_crc,1492 &feature_crc,
1614 &feature_perfmon,1493 &feature_perfmon,
1615 &feature_predictableSelectExpensive,1494 &feature_fpArmv8,
1495 &feature_usePostraScheduler,
1616 },1496 },
1617};1497};
16181498
...@@ -1620,17 +1500,17 @@ pub const cpu_thunderx2t99 = Cpu{...@@ -1620,17 +1500,17 @@ pub const cpu_thunderx2t99 = Cpu{
1620 .name = "thunderx2t99",1500 .name = "thunderx2t99",
1621 .llvm_name = "thunderx2t99",1501 .llvm_name = "thunderx2t99",
1622 .dependencies = &[_]*const Feature {1502 .dependencies = &[_]*const Feature {
1503 &feature_predictableSelectExpensive,
1504 &feature_aggressiveFma,
1505 &feature_rdm,
1506 &feature_lse,
1507 &feature_crc,
1623 &feature_fpArmv8,1508 &feature_fpArmv8,
1624 &feature_pan,
1625 &feature_vh,1509 &feature_vh,
1626 &feature_usePostraScheduler,
1627 &feature_crc,
1628 &feature_lse,
1629 &feature_rdm,
1630 &feature_lor,
1631 &feature_arithBccFusion,1510 &feature_arithBccFusion,
1632 &feature_predictableSelectExpensive,1511 &feature_lor,
1633 &feature_aggressiveFma,1512 &feature_usePostraScheduler,
1513 &feature_pan,
1634 },1514 },
1635};1515};
16361516
...@@ -1638,11 +1518,11 @@ pub const cpu_thunderxt81 = Cpu{...@@ -1638,11 +1518,11 @@ pub const cpu_thunderxt81 = Cpu{
1638 .name = "thunderxt81",1518 .name = "thunderxt81",
1639 .llvm_name = "thunderxt81",1519 .llvm_name = "thunderxt81",
1640 .dependencies = &[_]*const Feature {1520 .dependencies = &[_]*const Feature {
1641 &feature_fpArmv8,1521 &feature_predictableSelectExpensive,
1642 &feature_usePostraScheduler,
1643 &feature_crc,1522 &feature_crc,
1644 &feature_perfmon,1523 &feature_perfmon,
1645 &feature_predictableSelectExpensive,1524 &feature_fpArmv8,
1525 &feature_usePostraScheduler,
1646 },1526 },
1647};1527};
16481528
...@@ -1650,11 +1530,11 @@ pub const cpu_thunderxt83 = Cpu{...@@ -1650,11 +1530,11 @@ pub const cpu_thunderxt83 = Cpu{
1650 .name = "thunderxt83",1530 .name = "thunderxt83",
1651 .llvm_name = "thunderxt83",1531 .llvm_name = "thunderxt83",
1652 .dependencies = &[_]*const Feature {1532 .dependencies = &[_]*const Feature {
1653 &feature_fpArmv8,1533 &feature_predictableSelectExpensive,
1654 &feature_usePostraScheduler,
1655 &feature_crc,1534 &feature_crc,
1656 &feature_perfmon,1535 &feature_perfmon,
1657 &feature_predictableSelectExpensive,1536 &feature_fpArmv8,
1537 &feature_usePostraScheduler,
1658 },1538 },
1659};1539};
16601540
...@@ -1662,11 +1542,11 @@ pub const cpu_thunderxt88 = Cpu{...@@ -1662,11 +1542,11 @@ pub const cpu_thunderxt88 = Cpu{
1662 .name = "thunderxt88",1542 .name = "thunderxt88",
1663 .llvm_name = "thunderxt88",1543 .llvm_name = "thunderxt88",
1664 .dependencies = &[_]*const Feature {1544 .dependencies = &[_]*const Feature {
1665 &feature_fpArmv8,1545 &feature_predictableSelectExpensive,
1666 &feature_usePostraScheduler,
1667 &feature_crc,1546 &feature_crc,
1668 &feature_perfmon,1547 &feature_perfmon,
1669 &feature_predictableSelectExpensive,1548 &feature_fpArmv8,
1549 &feature_usePostraScheduler,
1670 },1550 },
1671};1551};
16721552
...@@ -1674,22 +1554,22 @@ pub const cpu_tsv110 = Cpu{...@@ -1674,22 +1554,22 @@ pub const cpu_tsv110 = Cpu{
1674 .name = "tsv110",1554 .name = "tsv110",
1675 .llvm_name = "tsv110",1555 .llvm_name = "tsv110",
1676 .dependencies = &[_]*const Feature {1556 .dependencies = &[_]*const Feature {
1677 &feature_fpArmv8,1557 &feature_ccpp,
1678 &feature_pan,
1679 &feature_vh,
1680 &feature_usePostraScheduler,
1681 &feature_dotprod,
1682 &feature_lse,
1683 &feature_crc,
1684 &feature_customCheapAsMove,1558 &feature_customCheapAsMove,
1685 &feature_uaops,1559 &feature_uaops,
1686 &feature_rdm,1560 &feature_rdm,
1687 &feature_spe,
1688 &feature_lor,
1689 &feature_fuseAes,
1690 &feature_ras,1561 &feature_ras,
1562 &feature_lse,
1563 &feature_crc,
1691 &feature_perfmon,1564 &feature_perfmon,
1692 &feature_ccpp,1565 &feature_fpArmv8,
1566 &feature_vh,
1567 &feature_fuseAes,
1568 &feature_lor,
1569 &feature_usePostraScheduler,
1570 &feature_dotprod,
1571 &feature_pan,
1572 &feature_spe,
1693 },1573 },
1694};1574};
16951575
...@@ -1699,8 +1579,6 @@ pub const cpus = &[_]*const Cpu {...@@ -1699,8 +1579,6 @@ pub const cpus = &[_]*const Cpu {
1699 &cpu_cortexA53,1579 &cpu_cortexA53,
1700 &cpu_cortexA55,1580 &cpu_cortexA55,
1701 &cpu_cortexA57,1581 &cpu_cortexA57,
1702 &cpu_cortexA65,
1703 &cpu_cortexA65ae,
1704 &cpu_cortexA72,1582 &cpu_cortexA72,
1705 &cpu_cortexA73,1583 &cpu_cortexA73,
1706 &cpu_cortexA75,1584 &cpu_cortexA75,
...@@ -1715,8 +1593,6 @@ pub const cpus = &[_]*const Cpu {...@@ -1715,8 +1593,6 @@ pub const cpus = &[_]*const Cpu {
1715 &cpu_falkor,1593 &cpu_falkor,
1716 &cpu_generic,1594 &cpu_generic,
1717 &cpu_kryo,1595 &cpu_kryo,
1718 &cpu_neoverseE1,
1719 &cpu_neoverseN1,
1720 &cpu_saphira,1596 &cpu_saphira,
1721 &cpu_thunderx,1597 &cpu_thunderx,
1722 &cpu_thunderx2t99,1598 &cpu_thunderx2t99,
lib/std/target/amdgpu.zig+431-441
...@@ -460,14 +460,6 @@ pub const feature_maiInsts = Feature{...@@ -460,14 +460,6 @@ pub const feature_maiInsts = Feature{
460 },460 },
461};461};
462462
463pub const feature_mfmaInlineLiteralBug = Feature{
464 .name = "mfmaInlineLiteralBug",
465 .llvm_name = "mfma-inline-literal-bug",
466 .description = "MFMA cannot use inline literal as SrcC",
467 .dependencies = &[_]*const Feature {
468 },
469};
470
471pub const feature_mimgR128 = Feature{463pub const feature_mimgR128 = Feature{
472 .name = "mimgR128",464 .name = "mimgR128",
473 .llvm_name = "mimg-r128",465 .llvm_name = "mimg-r128",
...@@ -886,7 +878,6 @@ pub const features = &[_]*const Feature {...@@ -886,7 +878,6 @@ pub const features = &[_]*const Feature {
886 &feature_localmemorysize32768,878 &feature_localmemorysize32768,
887 &feature_localmemorysize65536,879 &feature_localmemorysize65536,
888 &feature_maiInsts,880 &feature_maiInsts,
889 &feature_mfmaInlineLiteralBug,
890 &feature_mimgR128,881 &feature_mimgR128,
891 &feature_madMixInsts,882 &feature_madMixInsts,
892 &feature_maxPrivateElementSize4,883 &feature_maxPrivateElementSize4,
...@@ -941,15 +932,15 @@ pub const cpu_bonaire = Cpu{...@@ -941,15 +932,15 @@ pub const cpu_bonaire = Cpu{
941 &feature_codeObjectV3,932 &feature_codeObjectV3,
942 &feature_noXnackSupport,933 &feature_noXnackSupport,
943 &feature_ldsbankcount32,934 &feature_ldsbankcount32,
944 &feature_movrel,
945 &feature_trigReducedRange,935 &feature_trigReducedRange,
936 &feature_gfx7Gfx8Gfx9Insts,
937 &feature_movrel,
938 &feature_flatAddressSpace,
946 &feature_wavefrontsize64,939 &feature_wavefrontsize64,
947 &feature_ciInsts,
948 &feature_fp64,940 &feature_fp64,
949 &feature_gfx7Gfx8Gfx9Insts,
950 &feature_mimgR128,941 &feature_mimgR128,
951 &feature_noSramEccSupport,942 &feature_noSramEccSupport,
952 &feature_flatAddressSpace,943 &feature_ciInsts,
953 &feature_localmemorysize65536,944 &feature_localmemorysize65536,
954 },945 },
955};946};
...@@ -962,28 +953,28 @@ pub const cpu_carrizo = Cpu{...@@ -962,28 +953,28 @@ pub const cpu_carrizo = Cpu{
962 &feature_fastFmaf,953 &feature_fastFmaf,
963 &feature_ldsbankcount32,954 &feature_ldsbankcount32,
964 &feature_unpackedD16Vmem,955 &feature_unpackedD16Vmem,
965 &feature_BitInsts16,
966 &feature_flatAddressSpace,
967 &feature_dpp,
968 &feature_sdwa,
969 &feature_mimgR128,
970 &feature_inv2piInlineImm,
971 &feature_sdwaOutModsVopc,
972 &feature_sMemrealtime,
973 &feature_trigReducedRange,956 &feature_trigReducedRange,
974 &feature_vgprIndexMode,957 &feature_vgprIndexMode,
958 &feature_movrel,
975 &feature_fp64,959 &feature_fp64,
960 &feature_gcn3Encoding,
961 &feature_mimgR128,
962 &feature_sdwa,
976 &feature_gfx7Gfx8Gfx9Insts,963 &feature_gfx7Gfx8Gfx9Insts,
977 &feature_noSramEccSupport,
978 &feature_gfx8Insts,
979 &feature_localmemorysize65536,
980 &feature_movrel,
981 &feature_intClampInsts,964 &feature_intClampInsts,
982 &feature_sdwaMav,
983 &feature_wavefrontsize64,
984 &feature_ciInsts,965 &feature_ciInsts,
966 &feature_sdwaOutModsVopc,
967 &feature_sMemrealtime,
968 &feature_flatAddressSpace,
969 &feature_inv2piInlineImm,
970 &feature_wavefrontsize64,
971 &feature_noSramEccSupport,
972 &feature_sdwaMav,
973 &feature_localmemorysize65536,
985 &feature_scalarStores,974 &feature_scalarStores,
986 &feature_gcn3Encoding,975 &feature_gfx8Insts,
976 &feature_dpp,
977 &feature_BitInsts16,
987 &feature_xnack,978 &feature_xnack,
988 &feature_halfRate64Ops,979 &feature_halfRate64Ops,
989 },980 },
...@@ -997,28 +988,28 @@ pub const cpu_fiji = Cpu{...@@ -997,28 +988,28 @@ pub const cpu_fiji = Cpu{
997 &feature_noXnackSupport,988 &feature_noXnackSupport,
998 &feature_ldsbankcount32,989 &feature_ldsbankcount32,
999 &feature_unpackedD16Vmem,990 &feature_unpackedD16Vmem,
1000 &feature_BitInsts16,
1001 &feature_flatAddressSpace,
1002 &feature_dpp,
1003 &feature_sdwa,
1004 &feature_mimgR128,
1005 &feature_inv2piInlineImm,
1006 &feature_sdwaOutModsVopc,
1007 &feature_sMemrealtime,
1008 &feature_trigReducedRange,991 &feature_trigReducedRange,
1009 &feature_vgprIndexMode,992 &feature_vgprIndexMode,
993 &feature_movrel,
1010 &feature_fp64,994 &feature_fp64,
995 &feature_gcn3Encoding,
996 &feature_mimgR128,
997 &feature_sdwa,
1011 &feature_gfx7Gfx8Gfx9Insts,998 &feature_gfx7Gfx8Gfx9Insts,
1012 &feature_noSramEccSupport,
1013 &feature_gfx8Insts,
1014 &feature_localmemorysize65536,
1015 &feature_movrel,
1016 &feature_intClampInsts,999 &feature_intClampInsts,
1017 &feature_sdwaMav,
1018 &feature_wavefrontsize64,
1019 &feature_ciInsts,1000 &feature_ciInsts,
1001 &feature_sdwaOutModsVopc,
1002 &feature_sMemrealtime,
1003 &feature_flatAddressSpace,
1004 &feature_inv2piInlineImm,
1005 &feature_wavefrontsize64,
1006 &feature_noSramEccSupport,
1007 &feature_sdwaMav,
1008 &feature_localmemorysize65536,
1020 &feature_scalarStores,1009 &feature_scalarStores,
1021 &feature_gcn3Encoding,1010 &feature_gfx8Insts,
1011 &feature_dpp,
1012 &feature_BitInsts16,
1022 },1013 },
1023};1014};
10241015
...@@ -1047,40 +1038,40 @@ pub const cpu_gfx1010 = Cpu{...@@ -1047,40 +1038,40 @@ pub const cpu_gfx1010 = Cpu{
1047 &feature_dlInsts,1038 &feature_dlInsts,
1048 &feature_noXnackSupport,1039 &feature_noXnackSupport,
1049 &feature_flatSegmentOffsetBug,1040 &feature_flatSegmentOffsetBug,
1050 &feature_vop3Literal,1041 &feature_fmaMixInsts,
1051 &feature_apertureRegs,1042 &feature_movrel,
1043 &feature_registerBanking,
1044 &feature_addNoCarryInsts,
1045 &feature_fp64,
1046 &feature_sdwaScalar,
1052 &feature_flatGlobalInsts,1047 &feature_flatGlobalInsts,
1053 &feature_gfx10Insts,
1054 &feature_BitInsts16,
1055 &feature_pkFmacF16Inst,
1056 &feature_vop3p,
1057 &feature_flatAddressSpace,
1058 &feature_dpp,
1059 &feature_inv2piInlineImm,
1060 &feature_dpp8,
1061 &feature_flatScratchInsts,
1062 &feature_flatInstOffsets,
1063 &feature_mimgR128,1048 &feature_mimgR128,
1049 &feature_flatInstOffsets,
1050 &feature_apertureRegs,
1051 &feature_noSdstCmpx,
1052 &feature_vop3p,
1064 &feature_sdwa,1053 &feature_sdwa,
1065 &feature_fmaMixInsts,1054 &feature_intClampInsts,
1055 &feature_sdwaSdst,
1056 &feature_noDataDepHazard,
1057 &feature_flatScratchInsts,
1058 &feature_ciInsts,
1066 &feature_sMemrealtime,1059 &feature_sMemrealtime,
1067 &feature_vscnt,1060 &feature_pkFmacF16Inst,
1061 &feature_dpp8,
1062 &feature_flatAddressSpace,
1063 &feature_inv2piInlineImm,
1068 &feature_fastFmaf,1064 &feature_fastFmaf,
1069 &feature_registerBanking,
1070 &feature_gfx9Insts,
1071 &feature_sdwaSdst,
1072 &feature_noSdstCmpx,
1073 &feature_fp64,
1074 &feature_noSramEccSupport,1065 &feature_noSramEccSupport,
1075 &feature_gfx8Insts,1066 &feature_gfx10Insts,
1076 &feature_localmemorysize65536,1067 &feature_localmemorysize65536,
1077 &feature_movrel,1068 &feature_gfx9Insts,
1078 &feature_intClampInsts,1069 &feature_gfx8Insts,
1079 &feature_sdwaScalar,1070 &feature_dpp,
1071 &feature_BitInsts16,
1072 &feature_vop3Literal,
1080 &feature_sdwaOmod,1073 &feature_sdwaOmod,
1081 &feature_noDataDepHazard,1074 &feature_vscnt,
1082 &feature_ciInsts,
1083 &feature_addNoCarryInsts,
1084 &feature_instFwdPrefetchBug,1075 &feature_instFwdPrefetchBug,
1085 &feature_ldsbankcount32,1076 &feature_ldsbankcount32,
1086 &feature_ldsBranchVmemWarHazard,1077 &feature_ldsBranchVmemWarHazard,
...@@ -1111,40 +1102,40 @@ pub const cpu_gfx1011 = Cpu{...@@ -1111,40 +1102,40 @@ pub const cpu_gfx1011 = Cpu{
1111 &feature_dot5Insts,1102 &feature_dot5Insts,
1112 &feature_dot6Insts,1103 &feature_dot6Insts,
1113 &feature_flatSegmentOffsetBug,1104 &feature_flatSegmentOffsetBug,
1114 &feature_vop3Literal,1105 &feature_fmaMixInsts,
1115 &feature_apertureRegs,1106 &feature_movrel,
1107 &feature_registerBanking,
1108 &feature_addNoCarryInsts,
1109 &feature_fp64,
1110 &feature_sdwaScalar,
1116 &feature_flatGlobalInsts,1111 &feature_flatGlobalInsts,
1117 &feature_gfx10Insts,
1118 &feature_BitInsts16,
1119 &feature_pkFmacF16Inst,
1120 &feature_vop3p,
1121 &feature_flatAddressSpace,
1122 &feature_dpp,
1123 &feature_inv2piInlineImm,
1124 &feature_dpp8,
1125 &feature_flatScratchInsts,
1126 &feature_flatInstOffsets,
1127 &feature_mimgR128,1112 &feature_mimgR128,
1113 &feature_flatInstOffsets,
1114 &feature_apertureRegs,
1115 &feature_noSdstCmpx,
1116 &feature_vop3p,
1128 &feature_sdwa,1117 &feature_sdwa,
1129 &feature_fmaMixInsts,1118 &feature_intClampInsts,
1119 &feature_sdwaSdst,
1120 &feature_noDataDepHazard,
1121 &feature_flatScratchInsts,
1122 &feature_ciInsts,
1130 &feature_sMemrealtime,1123 &feature_sMemrealtime,
1131 &feature_vscnt,1124 &feature_pkFmacF16Inst,
1125 &feature_dpp8,
1126 &feature_flatAddressSpace,
1127 &feature_inv2piInlineImm,
1132 &feature_fastFmaf,1128 &feature_fastFmaf,
1133 &feature_registerBanking,
1134 &feature_gfx9Insts,
1135 &feature_sdwaSdst,
1136 &feature_noSdstCmpx,
1137 &feature_fp64,
1138 &feature_noSramEccSupport,1129 &feature_noSramEccSupport,
1139 &feature_gfx8Insts,1130 &feature_gfx10Insts,
1140 &feature_localmemorysize65536,1131 &feature_localmemorysize65536,
1141 &feature_movrel,1132 &feature_gfx9Insts,
1142 &feature_intClampInsts,1133 &feature_gfx8Insts,
1143 &feature_sdwaScalar,1134 &feature_dpp,
1135 &feature_BitInsts16,
1136 &feature_vop3Literal,
1144 &feature_sdwaOmod,1137 &feature_sdwaOmod,
1145 &feature_noDataDepHazard,1138 &feature_vscnt,
1146 &feature_ciInsts,
1147 &feature_addNoCarryInsts,
1148 &feature_instFwdPrefetchBug,1139 &feature_instFwdPrefetchBug,
1149 &feature_ldsbankcount32,1140 &feature_ldsbankcount32,
1150 &feature_ldsBranchVmemWarHazard,1141 &feature_ldsBranchVmemWarHazard,
...@@ -1174,40 +1165,40 @@ pub const cpu_gfx1012 = Cpu{...@@ -1174,40 +1165,40 @@ pub const cpu_gfx1012 = Cpu{
1174 &feature_dot5Insts,1165 &feature_dot5Insts,
1175 &feature_dot6Insts,1166 &feature_dot6Insts,
1176 &feature_flatSegmentOffsetBug,1167 &feature_flatSegmentOffsetBug,
1177 &feature_vop3Literal,1168 &feature_fmaMixInsts,
1178 &feature_apertureRegs,1169 &feature_movrel,
1170 &feature_registerBanking,
1171 &feature_addNoCarryInsts,
1172 &feature_fp64,
1173 &feature_sdwaScalar,
1179 &feature_flatGlobalInsts,1174 &feature_flatGlobalInsts,
1180 &feature_gfx10Insts,
1181 &feature_BitInsts16,
1182 &feature_pkFmacF16Inst,
1183 &feature_vop3p,
1184 &feature_flatAddressSpace,
1185 &feature_dpp,
1186 &feature_inv2piInlineImm,
1187 &feature_dpp8,
1188 &feature_flatScratchInsts,
1189 &feature_flatInstOffsets,
1190 &feature_mimgR128,1175 &feature_mimgR128,
1176 &feature_flatInstOffsets,
1177 &feature_apertureRegs,
1178 &feature_noSdstCmpx,
1179 &feature_vop3p,
1191 &feature_sdwa,1180 &feature_sdwa,
1192 &feature_fmaMixInsts,1181 &feature_intClampInsts,
1182 &feature_sdwaSdst,
1183 &feature_noDataDepHazard,
1184 &feature_flatScratchInsts,
1185 &feature_ciInsts,
1193 &feature_sMemrealtime,1186 &feature_sMemrealtime,
1194 &feature_vscnt,1187 &feature_pkFmacF16Inst,
1188 &feature_dpp8,
1189 &feature_flatAddressSpace,
1190 &feature_inv2piInlineImm,
1195 &feature_fastFmaf,1191 &feature_fastFmaf,
1196 &feature_registerBanking,
1197 &feature_gfx9Insts,
1198 &feature_sdwaSdst,
1199 &feature_noSdstCmpx,
1200 &feature_fp64,
1201 &feature_noSramEccSupport,1192 &feature_noSramEccSupport,
1202 &feature_gfx8Insts,1193 &feature_gfx10Insts,
1203 &feature_localmemorysize65536,1194 &feature_localmemorysize65536,
1204 &feature_movrel,1195 &feature_gfx9Insts,
1205 &feature_intClampInsts,1196 &feature_gfx8Insts,
1206 &feature_sdwaScalar,1197 &feature_dpp,
1198 &feature_BitInsts16,
1199 &feature_vop3Literal,
1207 &feature_sdwaOmod,1200 &feature_sdwaOmod,
1208 &feature_noDataDepHazard,1201 &feature_vscnt,
1209 &feature_ciInsts,
1210 &feature_addNoCarryInsts,
1211 &feature_instFwdPrefetchBug,1202 &feature_instFwdPrefetchBug,
1212 &feature_ldsbankcount32,1203 &feature_ldsbankcount32,
1213 &feature_ldsBranchVmemWarHazard,1204 &feature_ldsBranchVmemWarHazard,
...@@ -1234,13 +1225,13 @@ pub const cpu_gfx600 = Cpu{...@@ -1234,13 +1225,13 @@ pub const cpu_gfx600 = Cpu{
1234 &feature_noXnackSupport,1225 &feature_noXnackSupport,
1235 &feature_fastFmaf,1226 &feature_fastFmaf,
1236 &feature_ldsbankcount32,1227 &feature_ldsbankcount32,
1237 &feature_movrel,
1238 &feature_trigReducedRange,1228 &feature_trigReducedRange,
1229 &feature_movrel,
1239 &feature_wavefrontsize64,1230 &feature_wavefrontsize64,
1240 &feature_localmemorysize32768,
1241 &feature_fp64,1231 &feature_fp64,
1242 &feature_noSramEccSupport,
1243 &feature_mimgR128,1232 &feature_mimgR128,
1233 &feature_noSramEccSupport,
1234 &feature_localmemorysize32768,
1244 &feature_halfRate64Ops,1235 &feature_halfRate64Ops,
1245 },1236 },
1246};1237};
...@@ -1252,13 +1243,13 @@ pub const cpu_gfx601 = Cpu{...@@ -1252,13 +1243,13 @@ pub const cpu_gfx601 = Cpu{
1252 &feature_codeObjectV3,1243 &feature_codeObjectV3,
1253 &feature_noXnackSupport,1244 &feature_noXnackSupport,
1254 &feature_ldsbankcount32,1245 &feature_ldsbankcount32,
1255 &feature_movrel,
1256 &feature_trigReducedRange,1246 &feature_trigReducedRange,
1247 &feature_movrel,
1257 &feature_wavefrontsize64,1248 &feature_wavefrontsize64,
1258 &feature_localmemorysize32768,
1259 &feature_fp64,1249 &feature_fp64,
1260 &feature_noSramEccSupport,
1261 &feature_mimgR128,1250 &feature_mimgR128,
1251 &feature_noSramEccSupport,
1252 &feature_localmemorysize32768,
1262 },1253 },
1263};1254};
12641255
...@@ -1269,15 +1260,15 @@ pub const cpu_gfx700 = Cpu{...@@ -1269,15 +1260,15 @@ pub const cpu_gfx700 = Cpu{
1269 &feature_codeObjectV3,1260 &feature_codeObjectV3,
1270 &feature_noXnackSupport,1261 &feature_noXnackSupport,
1271 &feature_ldsbankcount32,1262 &feature_ldsbankcount32,
1272 &feature_movrel,
1273 &feature_trigReducedRange,1263 &feature_trigReducedRange,
1264 &feature_gfx7Gfx8Gfx9Insts,
1265 &feature_movrel,
1266 &feature_flatAddressSpace,
1274 &feature_wavefrontsize64,1267 &feature_wavefrontsize64,
1275 &feature_ciInsts,
1276 &feature_fp64,1268 &feature_fp64,
1277 &feature_gfx7Gfx8Gfx9Insts,
1278 &feature_mimgR128,1269 &feature_mimgR128,
1279 &feature_noSramEccSupport,1270 &feature_noSramEccSupport,
1280 &feature_flatAddressSpace,1271 &feature_ciInsts,
1281 &feature_localmemorysize65536,1272 &feature_localmemorysize65536,
1282 },1273 },
1283};1274};
...@@ -1290,15 +1281,15 @@ pub const cpu_gfx701 = Cpu{...@@ -1290,15 +1281,15 @@ pub const cpu_gfx701 = Cpu{
1290 &feature_noXnackSupport,1281 &feature_noXnackSupport,
1291 &feature_fastFmaf,1282 &feature_fastFmaf,
1292 &feature_ldsbankcount32,1283 &feature_ldsbankcount32,
1293 &feature_movrel,
1294 &feature_trigReducedRange,1284 &feature_trigReducedRange,
1285 &feature_gfx7Gfx8Gfx9Insts,
1286 &feature_movrel,
1287 &feature_flatAddressSpace,
1295 &feature_wavefrontsize64,1288 &feature_wavefrontsize64,
1296 &feature_ciInsts,
1297 &feature_fp64,1289 &feature_fp64,
1298 &feature_gfx7Gfx8Gfx9Insts,
1299 &feature_mimgR128,1290 &feature_mimgR128,
1300 &feature_noSramEccSupport,1291 &feature_noSramEccSupport,
1301 &feature_flatAddressSpace,1292 &feature_ciInsts,
1302 &feature_localmemorysize65536,1293 &feature_localmemorysize65536,
1303 &feature_halfRate64Ops,1294 &feature_halfRate64Ops,
1304 },1295 },
...@@ -1312,15 +1303,15 @@ pub const cpu_gfx702 = Cpu{...@@ -1312,15 +1303,15 @@ pub const cpu_gfx702 = Cpu{
1312 &feature_noXnackSupport,1303 &feature_noXnackSupport,
1313 &feature_fastFmaf,1304 &feature_fastFmaf,
1314 &feature_ldsbankcount16,1305 &feature_ldsbankcount16,
1315 &feature_movrel,
1316 &feature_trigReducedRange,1306 &feature_trigReducedRange,
1307 &feature_gfx7Gfx8Gfx9Insts,
1308 &feature_movrel,
1309 &feature_flatAddressSpace,
1317 &feature_wavefrontsize64,1310 &feature_wavefrontsize64,
1318 &feature_ciInsts,
1319 &feature_fp64,1311 &feature_fp64,
1320 &feature_gfx7Gfx8Gfx9Insts,
1321 &feature_mimgR128,1312 &feature_mimgR128,
1322 &feature_noSramEccSupport,1313 &feature_noSramEccSupport,
1323 &feature_flatAddressSpace,1314 &feature_ciInsts,
1324 &feature_localmemorysize65536,1315 &feature_localmemorysize65536,
1325 },1316 },
1326};1317};
...@@ -1332,15 +1323,15 @@ pub const cpu_gfx703 = Cpu{...@@ -1332,15 +1323,15 @@ pub const cpu_gfx703 = Cpu{
1332 &feature_codeObjectV3,1323 &feature_codeObjectV3,
1333 &feature_noXnackSupport,1324 &feature_noXnackSupport,
1334 &feature_ldsbankcount16,1325 &feature_ldsbankcount16,
1335 &feature_movrel,
1336 &feature_trigReducedRange,1326 &feature_trigReducedRange,
1327 &feature_gfx7Gfx8Gfx9Insts,
1328 &feature_movrel,
1329 &feature_flatAddressSpace,
1337 &feature_wavefrontsize64,1330 &feature_wavefrontsize64,
1338 &feature_ciInsts,
1339 &feature_fp64,1331 &feature_fp64,
1340 &feature_gfx7Gfx8Gfx9Insts,
1341 &feature_mimgR128,1332 &feature_mimgR128,
1342 &feature_noSramEccSupport,1333 &feature_noSramEccSupport,
1343 &feature_flatAddressSpace,1334 &feature_ciInsts,
1344 &feature_localmemorysize65536,1335 &feature_localmemorysize65536,
1345 },1336 },
1346};1337};
...@@ -1352,15 +1343,15 @@ pub const cpu_gfx704 = Cpu{...@@ -1352,15 +1343,15 @@ pub const cpu_gfx704 = Cpu{
1352 &feature_codeObjectV3,1343 &feature_codeObjectV3,
1353 &feature_noXnackSupport,1344 &feature_noXnackSupport,
1354 &feature_ldsbankcount32,1345 &feature_ldsbankcount32,
1355 &feature_movrel,
1356 &feature_trigReducedRange,1346 &feature_trigReducedRange,
1347 &feature_gfx7Gfx8Gfx9Insts,
1348 &feature_movrel,
1349 &feature_flatAddressSpace,
1357 &feature_wavefrontsize64,1350 &feature_wavefrontsize64,
1358 &feature_ciInsts,
1359 &feature_fp64,1351 &feature_fp64,
1360 &feature_gfx7Gfx8Gfx9Insts,
1361 &feature_mimgR128,1352 &feature_mimgR128,
1362 &feature_noSramEccSupport,1353 &feature_noSramEccSupport,
1363 &feature_flatAddressSpace,1354 &feature_ciInsts,
1364 &feature_localmemorysize65536,1355 &feature_localmemorysize65536,
1365 },1356 },
1366};1357};
...@@ -1373,28 +1364,28 @@ pub const cpu_gfx801 = Cpu{...@@ -1373,28 +1364,28 @@ pub const cpu_gfx801 = Cpu{
1373 &feature_fastFmaf,1364 &feature_fastFmaf,
1374 &feature_ldsbankcount32,1365 &feature_ldsbankcount32,
1375 &feature_unpackedD16Vmem,1366 &feature_unpackedD16Vmem,
1376 &feature_BitInsts16,
1377 &feature_flatAddressSpace,
1378 &feature_dpp,
1379 &feature_sdwa,
1380 &feature_mimgR128,
1381 &feature_inv2piInlineImm,
1382 &feature_sdwaOutModsVopc,
1383 &feature_sMemrealtime,
1384 &feature_trigReducedRange,1367 &feature_trigReducedRange,
1385 &feature_vgprIndexMode,1368 &feature_vgprIndexMode,
1369 &feature_movrel,
1386 &feature_fp64,1370 &feature_fp64,
1371 &feature_gcn3Encoding,
1372 &feature_mimgR128,
1373 &feature_sdwa,
1387 &feature_gfx7Gfx8Gfx9Insts,1374 &feature_gfx7Gfx8Gfx9Insts,
1388 &feature_noSramEccSupport,
1389 &feature_gfx8Insts,
1390 &feature_localmemorysize65536,
1391 &feature_movrel,
1392 &feature_intClampInsts,1375 &feature_intClampInsts,
1393 &feature_sdwaMav,
1394 &feature_wavefrontsize64,
1395 &feature_ciInsts,1376 &feature_ciInsts,
1377 &feature_sdwaOutModsVopc,
1378 &feature_sMemrealtime,
1379 &feature_flatAddressSpace,
1380 &feature_inv2piInlineImm,
1381 &feature_wavefrontsize64,
1382 &feature_noSramEccSupport,
1383 &feature_sdwaMav,
1384 &feature_localmemorysize65536,
1396 &feature_scalarStores,1385 &feature_scalarStores,
1397 &feature_gcn3Encoding,1386 &feature_gfx8Insts,
1387 &feature_dpp,
1388 &feature_BitInsts16,
1398 &feature_xnack,1389 &feature_xnack,
1399 &feature_halfRate64Ops,1390 &feature_halfRate64Ops,
1400 },1391 },
...@@ -1409,28 +1400,28 @@ pub const cpu_gfx802 = Cpu{...@@ -1409,28 +1400,28 @@ pub const cpu_gfx802 = Cpu{
1409 &feature_ldsbankcount32,1400 &feature_ldsbankcount32,
1410 &feature_sgprInitBug,1401 &feature_sgprInitBug,
1411 &feature_unpackedD16Vmem,1402 &feature_unpackedD16Vmem,
1412 &feature_BitInsts16,
1413 &feature_flatAddressSpace,
1414 &feature_dpp,
1415 &feature_sdwa,
1416 &feature_mimgR128,
1417 &feature_inv2piInlineImm,
1418 &feature_sdwaOutModsVopc,
1419 &feature_sMemrealtime,
1420 &feature_trigReducedRange,1403 &feature_trigReducedRange,
1421 &feature_vgprIndexMode,1404 &feature_vgprIndexMode,
1405 &feature_movrel,
1422 &feature_fp64,1406 &feature_fp64,
1407 &feature_gcn3Encoding,
1408 &feature_mimgR128,
1409 &feature_sdwa,
1423 &feature_gfx7Gfx8Gfx9Insts,1410 &feature_gfx7Gfx8Gfx9Insts,
1424 &feature_noSramEccSupport,
1425 &feature_gfx8Insts,
1426 &feature_localmemorysize65536,
1427 &feature_movrel,
1428 &feature_intClampInsts,1411 &feature_intClampInsts,
1429 &feature_sdwaMav,
1430 &feature_wavefrontsize64,
1431 &feature_ciInsts,1412 &feature_ciInsts,
1413 &feature_sdwaOutModsVopc,
1414 &feature_sMemrealtime,
1415 &feature_flatAddressSpace,
1416 &feature_inv2piInlineImm,
1417 &feature_wavefrontsize64,
1418 &feature_noSramEccSupport,
1419 &feature_sdwaMav,
1420 &feature_localmemorysize65536,
1432 &feature_scalarStores,1421 &feature_scalarStores,
1433 &feature_gcn3Encoding,1422 &feature_gfx8Insts,
1423 &feature_dpp,
1424 &feature_BitInsts16,
1434 },1425 },
1435};1426};
14361427
...@@ -1442,28 +1433,28 @@ pub const cpu_gfx803 = Cpu{...@@ -1442,28 +1433,28 @@ pub const cpu_gfx803 = Cpu{
1442 &feature_noXnackSupport,1433 &feature_noXnackSupport,
1443 &feature_ldsbankcount32,1434 &feature_ldsbankcount32,
1444 &feature_unpackedD16Vmem,1435 &feature_unpackedD16Vmem,
1445 &feature_BitInsts16,
1446 &feature_flatAddressSpace,
1447 &feature_dpp,
1448 &feature_sdwa,
1449 &feature_mimgR128,
1450 &feature_inv2piInlineImm,
1451 &feature_sdwaOutModsVopc,
1452 &feature_sMemrealtime,
1453 &feature_trigReducedRange,1436 &feature_trigReducedRange,
1454 &feature_vgprIndexMode,1437 &feature_vgprIndexMode,
1438 &feature_movrel,
1455 &feature_fp64,1439 &feature_fp64,
1440 &feature_gcn3Encoding,
1441 &feature_mimgR128,
1442 &feature_sdwa,
1456 &feature_gfx7Gfx8Gfx9Insts,1443 &feature_gfx7Gfx8Gfx9Insts,
1457 &feature_noSramEccSupport,
1458 &feature_gfx8Insts,
1459 &feature_localmemorysize65536,
1460 &feature_movrel,
1461 &feature_intClampInsts,1444 &feature_intClampInsts,
1462 &feature_sdwaMav,
1463 &feature_wavefrontsize64,
1464 &feature_ciInsts,1445 &feature_ciInsts,
1446 &feature_sdwaOutModsVopc,
1447 &feature_sMemrealtime,
1448 &feature_flatAddressSpace,
1449 &feature_inv2piInlineImm,
1450 &feature_wavefrontsize64,
1451 &feature_noSramEccSupport,
1452 &feature_sdwaMav,
1453 &feature_localmemorysize65536,
1465 &feature_scalarStores,1454 &feature_scalarStores,
1466 &feature_gcn3Encoding,1455 &feature_gfx8Insts,
1456 &feature_dpp,
1457 &feature_BitInsts16,
1467 },1458 },
1468};1459};
14691460
...@@ -1473,28 +1464,28 @@ pub const cpu_gfx810 = Cpu{...@@ -1473,28 +1464,28 @@ pub const cpu_gfx810 = Cpu{
1473 .dependencies = &[_]*const Feature {1464 .dependencies = &[_]*const Feature {
1474 &feature_codeObjectV3,1465 &feature_codeObjectV3,
1475 &feature_ldsbankcount16,1466 &feature_ldsbankcount16,
1476 &feature_BitInsts16,
1477 &feature_flatAddressSpace,
1478 &feature_dpp,
1479 &feature_sdwa,
1480 &feature_mimgR128,
1481 &feature_inv2piInlineImm,
1482 &feature_sdwaOutModsVopc,
1483 &feature_sMemrealtime,
1484 &feature_trigReducedRange,1467 &feature_trigReducedRange,
1485 &feature_vgprIndexMode,1468 &feature_vgprIndexMode,
1469 &feature_movrel,
1486 &feature_fp64,1470 &feature_fp64,
1471 &feature_gcn3Encoding,
1472 &feature_mimgR128,
1473 &feature_sdwa,
1487 &feature_gfx7Gfx8Gfx9Insts,1474 &feature_gfx7Gfx8Gfx9Insts,
1488 &feature_noSramEccSupport,
1489 &feature_gfx8Insts,
1490 &feature_localmemorysize65536,
1491 &feature_movrel,
1492 &feature_intClampInsts,1475 &feature_intClampInsts,
1493 &feature_sdwaMav,
1494 &feature_wavefrontsize64,
1495 &feature_ciInsts,1476 &feature_ciInsts,
1477 &feature_sdwaOutModsVopc,
1478 &feature_sMemrealtime,
1479 &feature_flatAddressSpace,
1480 &feature_inv2piInlineImm,
1481 &feature_wavefrontsize64,
1482 &feature_noSramEccSupport,
1483 &feature_sdwaMav,
1484 &feature_localmemorysize65536,
1496 &feature_scalarStores,1485 &feature_scalarStores,
1497 &feature_gcn3Encoding,1486 &feature_gfx8Insts,
1487 &feature_dpp,
1488 &feature_BitInsts16,
1498 &feature_xnack,1489 &feature_xnack,
1499 },1490 },
1500};1491};
...@@ -1506,36 +1497,36 @@ pub const cpu_gfx900 = Cpu{...@@ -1506,36 +1497,36 @@ pub const cpu_gfx900 = Cpu{
1506 &feature_codeObjectV3,1497 &feature_codeObjectV3,
1507 &feature_noSramEccSupport,1498 &feature_noSramEccSupport,
1508 &feature_noXnackSupport,1499 &feature_noXnackSupport,
1509 &feature_apertureRegs,1500 &feature_vgprIndexMode,
1501 &feature_addNoCarryInsts,
1502 &feature_fp64,
1503 &feature_gcn3Encoding,
1504 &feature_sdwaScalar,
1510 &feature_flatGlobalInsts,1505 &feature_flatGlobalInsts,
1511 &feature_BitInsts16,1506 &feature_scalarFlatScratchInsts,
1507 &feature_flatInstOffsets,
1508 &feature_apertureRegs,
1512 &feature_vop3p,1509 &feature_vop3p,
1513 &feature_flatAddressSpace,
1514 &feature_dpp,
1515 &feature_inv2piInlineImm,
1516 &feature_sdwa,1510 &feature_sdwa,
1511 &feature_gfx7Gfx8Gfx9Insts,
1512 &feature_intClampInsts,
1513 &feature_sdwaSdst,
1517 &feature_flatScratchInsts,1514 &feature_flatScratchInsts,
1518 &feature_flatInstOffsets,1515 &feature_ciInsts,
1519 &feature_scalarFlatScratchInsts,1516 &feature_r128A16,
1520 &feature_sMemrealtime,1517 &feature_sMemrealtime,
1518 &feature_flatAddressSpace,
1519 &feature_scalarAtomics,
1520 &feature_inv2piInlineImm,
1521 &feature_fastFmaf,1521 &feature_fastFmaf,
1522 &feature_wavefrontsize64,
1523 &feature_localmemorysize65536,
1524 &feature_scalarStores,
1522 &feature_gfx9Insts,1525 &feature_gfx9Insts,
1523 &feature_sdwaSdst,
1524 &feature_vgprIndexMode,
1525 &feature_fp64,
1526 &feature_gfx7Gfx8Gfx9Insts,
1527 &feature_gfx8Insts,1526 &feature_gfx8Insts,
1528 &feature_localmemorysize65536,1527 &feature_dpp,
1529 &feature_intClampInsts,1528 &feature_BitInsts16,
1530 &feature_sdwaScalar,
1531 &feature_sdwaOmod,1529 &feature_sdwaOmod,
1532 &feature_scalarAtomics,
1533 &feature_r128A16,
1534 &feature_wavefrontsize64,
1535 &feature_ciInsts,
1536 &feature_scalarStores,
1537 &feature_gcn3Encoding,
1538 &feature_addNoCarryInsts,
1539 &feature_ldsbankcount32,1530 &feature_ldsbankcount32,
1540 &feature_madMixInsts,1531 &feature_madMixInsts,
1541 },1532 },
...@@ -1547,36 +1538,36 @@ pub const cpu_gfx902 = Cpu{...@@ -1547,36 +1538,36 @@ pub const cpu_gfx902 = Cpu{
1547 .dependencies = &[_]*const Feature {1538 .dependencies = &[_]*const Feature {
1548 &feature_codeObjectV3,1539 &feature_codeObjectV3,
1549 &feature_noSramEccSupport,1540 &feature_noSramEccSupport,
1550 &feature_apertureRegs,1541 &feature_vgprIndexMode,
1542 &feature_addNoCarryInsts,
1543 &feature_fp64,
1544 &feature_gcn3Encoding,
1545 &feature_sdwaScalar,
1551 &feature_flatGlobalInsts,1546 &feature_flatGlobalInsts,
1552 &feature_BitInsts16,1547 &feature_scalarFlatScratchInsts,
1548 &feature_flatInstOffsets,
1549 &feature_apertureRegs,
1553 &feature_vop3p,1550 &feature_vop3p,
1554 &feature_flatAddressSpace,
1555 &feature_dpp,
1556 &feature_inv2piInlineImm,
1557 &feature_sdwa,1551 &feature_sdwa,
1552 &feature_gfx7Gfx8Gfx9Insts,
1553 &feature_intClampInsts,
1554 &feature_sdwaSdst,
1558 &feature_flatScratchInsts,1555 &feature_flatScratchInsts,
1559 &feature_flatInstOffsets,1556 &feature_ciInsts,
1560 &feature_scalarFlatScratchInsts,1557 &feature_r128A16,
1561 &feature_sMemrealtime,1558 &feature_sMemrealtime,
1559 &feature_flatAddressSpace,
1560 &feature_scalarAtomics,
1561 &feature_inv2piInlineImm,
1562 &feature_fastFmaf,1562 &feature_fastFmaf,
1563 &feature_wavefrontsize64,
1564 &feature_localmemorysize65536,
1565 &feature_scalarStores,
1563 &feature_gfx9Insts,1566 &feature_gfx9Insts,
1564 &feature_sdwaSdst,
1565 &feature_vgprIndexMode,
1566 &feature_fp64,
1567 &feature_gfx7Gfx8Gfx9Insts,
1568 &feature_gfx8Insts,1567 &feature_gfx8Insts,
1569 &feature_localmemorysize65536,1568 &feature_dpp,
1570 &feature_intClampInsts,1569 &feature_BitInsts16,
1571 &feature_sdwaScalar,
1572 &feature_sdwaOmod,1570 &feature_sdwaOmod,
1573 &feature_scalarAtomics,
1574 &feature_r128A16,
1575 &feature_wavefrontsize64,
1576 &feature_ciInsts,
1577 &feature_scalarStores,
1578 &feature_gcn3Encoding,
1579 &feature_addNoCarryInsts,
1580 &feature_ldsbankcount32,1571 &feature_ldsbankcount32,
1581 &feature_madMixInsts,1572 &feature_madMixInsts,
1582 &feature_xnack,1573 &feature_xnack,
...@@ -1591,36 +1582,36 @@ pub const cpu_gfx904 = Cpu{...@@ -1591,36 +1582,36 @@ pub const cpu_gfx904 = Cpu{
1591 &feature_noSramEccSupport,1582 &feature_noSramEccSupport,
1592 &feature_noXnackSupport,1583 &feature_noXnackSupport,
1593 &feature_fmaMixInsts,1584 &feature_fmaMixInsts,
1594 &feature_apertureRegs,1585 &feature_vgprIndexMode,
1586 &feature_addNoCarryInsts,
1587 &feature_fp64,
1588 &feature_gcn3Encoding,
1589 &feature_sdwaScalar,
1595 &feature_flatGlobalInsts,1590 &feature_flatGlobalInsts,
1596 &feature_BitInsts16,1591 &feature_scalarFlatScratchInsts,
1592 &feature_flatInstOffsets,
1593 &feature_apertureRegs,
1597 &feature_vop3p,1594 &feature_vop3p,
1598 &feature_flatAddressSpace,
1599 &feature_dpp,
1600 &feature_inv2piInlineImm,
1601 &feature_sdwa,1595 &feature_sdwa,
1596 &feature_gfx7Gfx8Gfx9Insts,
1597 &feature_intClampInsts,
1598 &feature_sdwaSdst,
1602 &feature_flatScratchInsts,1599 &feature_flatScratchInsts,
1603 &feature_flatInstOffsets,1600 &feature_ciInsts,
1604 &feature_scalarFlatScratchInsts,1601 &feature_r128A16,
1605 &feature_sMemrealtime,1602 &feature_sMemrealtime,
1603 &feature_flatAddressSpace,
1604 &feature_scalarAtomics,
1605 &feature_inv2piInlineImm,
1606 &feature_fastFmaf,1606 &feature_fastFmaf,
1607 &feature_wavefrontsize64,
1608 &feature_localmemorysize65536,
1609 &feature_scalarStores,
1607 &feature_gfx9Insts,1610 &feature_gfx9Insts,
1608 &feature_sdwaSdst,
1609 &feature_vgprIndexMode,
1610 &feature_fp64,
1611 &feature_gfx7Gfx8Gfx9Insts,
1612 &feature_gfx8Insts,1611 &feature_gfx8Insts,
1613 &feature_localmemorysize65536,1612 &feature_dpp,
1614 &feature_intClampInsts,1613 &feature_BitInsts16,
1615 &feature_sdwaScalar,
1616 &feature_sdwaOmod,1614 &feature_sdwaOmod,
1617 &feature_scalarAtomics,
1618 &feature_r128A16,
1619 &feature_wavefrontsize64,
1620 &feature_ciInsts,
1621 &feature_scalarStores,
1622 &feature_gcn3Encoding,
1623 &feature_addNoCarryInsts,
1624 &feature_ldsbankcount32,1615 &feature_ldsbankcount32,
1625 },1616 },
1626};1617};
...@@ -1635,36 +1626,36 @@ pub const cpu_gfx906 = Cpu{...@@ -1635,36 +1626,36 @@ pub const cpu_gfx906 = Cpu{
1635 &feature_dot1Insts,1626 &feature_dot1Insts,
1636 &feature_dot2Insts,1627 &feature_dot2Insts,
1637 &feature_fmaMixInsts,1628 &feature_fmaMixInsts,
1638 &feature_apertureRegs,1629 &feature_vgprIndexMode,
1630 &feature_addNoCarryInsts,
1631 &feature_fp64,
1632 &feature_gcn3Encoding,
1633 &feature_sdwaScalar,
1639 &feature_flatGlobalInsts,1634 &feature_flatGlobalInsts,
1640 &feature_BitInsts16,1635 &feature_scalarFlatScratchInsts,
1636 &feature_flatInstOffsets,
1637 &feature_apertureRegs,
1641 &feature_vop3p,1638 &feature_vop3p,
1642 &feature_flatAddressSpace,
1643 &feature_dpp,
1644 &feature_inv2piInlineImm,
1645 &feature_sdwa,1639 &feature_sdwa,
1640 &feature_gfx7Gfx8Gfx9Insts,
1641 &feature_intClampInsts,
1642 &feature_sdwaSdst,
1646 &feature_flatScratchInsts,1643 &feature_flatScratchInsts,
1647 &feature_flatInstOffsets,1644 &feature_ciInsts,
1648 &feature_scalarFlatScratchInsts,1645 &feature_r128A16,
1649 &feature_sMemrealtime,1646 &feature_sMemrealtime,
1647 &feature_flatAddressSpace,
1648 &feature_scalarAtomics,
1649 &feature_inv2piInlineImm,
1650 &feature_fastFmaf,1650 &feature_fastFmaf,
1651 &feature_wavefrontsize64,
1652 &feature_localmemorysize65536,
1653 &feature_scalarStores,
1651 &feature_gfx9Insts,1654 &feature_gfx9Insts,
1652 &feature_sdwaSdst,
1653 &feature_vgprIndexMode,
1654 &feature_fp64,
1655 &feature_gfx7Gfx8Gfx9Insts,
1656 &feature_gfx8Insts,1655 &feature_gfx8Insts,
1657 &feature_localmemorysize65536,1656 &feature_dpp,
1658 &feature_intClampInsts,1657 &feature_BitInsts16,
1659 &feature_sdwaScalar,
1660 &feature_sdwaOmod,1658 &feature_sdwaOmod,
1661 &feature_scalarAtomics,
1662 &feature_r128A16,
1663 &feature_wavefrontsize64,
1664 &feature_ciInsts,
1665 &feature_scalarStores,
1666 &feature_gcn3Encoding,
1667 &feature_addNoCarryInsts,
1668 &feature_ldsbankcount32,1659 &feature_ldsbankcount32,
1669 &feature_halfRate64Ops,1660 &feature_halfRate64Ops,
1670 },1661 },
...@@ -1684,39 +1675,38 @@ pub const cpu_gfx908 = Cpu{...@@ -1684,39 +1675,38 @@ pub const cpu_gfx908 = Cpu{
1684 &feature_dot5Insts,1675 &feature_dot5Insts,
1685 &feature_dot6Insts,1676 &feature_dot6Insts,
1686 &feature_fmaMixInsts,1677 &feature_fmaMixInsts,
1687 &feature_apertureRegs,1678 &feature_vgprIndexMode,
1679 &feature_addNoCarryInsts,
1680 &feature_fp64,
1681 &feature_gcn3Encoding,
1682 &feature_sdwaScalar,
1688 &feature_flatGlobalInsts,1683 &feature_flatGlobalInsts,
1689 &feature_BitInsts16,1684 &feature_scalarFlatScratchInsts,
1685 &feature_flatInstOffsets,
1686 &feature_apertureRegs,
1690 &feature_vop3p,1687 &feature_vop3p,
1691 &feature_flatAddressSpace,
1692 &feature_dpp,
1693 &feature_inv2piInlineImm,
1694 &feature_sdwa,1688 &feature_sdwa,
1695 &feature_flatScratchInsts,
1696 &feature_flatInstOffsets,
1697 &feature_scalarFlatScratchInsts,
1698 &feature_sMemrealtime,
1699 &feature_fastFmaf,
1700 &feature_gfx9Insts,
1701 &feature_sdwaSdst,
1702 &feature_vgprIndexMode,
1703 &feature_fp64,
1704 &feature_gfx7Gfx8Gfx9Insts,1689 &feature_gfx7Gfx8Gfx9Insts,
1705 &feature_gfx8Insts,
1706 &feature_localmemorysize65536,
1707 &feature_intClampInsts,1690 &feature_intClampInsts,
1708 &feature_sdwaScalar,1691 &feature_sdwaSdst,
1709 &feature_sdwaOmod,1692 &feature_flatScratchInsts,
1710 &feature_scalarAtomics,1693 &feature_ciInsts,
1711 &feature_r128A16,1694 &feature_r128A16,
1695 &feature_sMemrealtime,
1696 &feature_flatAddressSpace,
1697 &feature_scalarAtomics,
1698 &feature_inv2piInlineImm,
1699 &feature_fastFmaf,
1712 &feature_wavefrontsize64,1700 &feature_wavefrontsize64,
1713 &feature_ciInsts,1701 &feature_localmemorysize65536,
1714 &feature_scalarStores,1702 &feature_scalarStores,
1715 &feature_gcn3Encoding,1703 &feature_gfx9Insts,
1716 &feature_addNoCarryInsts,1704 &feature_gfx8Insts,
1705 &feature_dpp,
1706 &feature_BitInsts16,
1707 &feature_sdwaOmod,
1717 &feature_ldsbankcount32,1708 &feature_ldsbankcount32,
1718 &feature_maiInsts,1709 &feature_maiInsts,
1719 &feature_mfmaInlineLiteralBug,
1720 &feature_pkFmacF16Inst,1710 &feature_pkFmacF16Inst,
1721 &feature_sramEcc,1711 &feature_sramEcc,
1722 &feature_halfRate64Ops,1712 &feature_halfRate64Ops,
...@@ -1728,36 +1718,36 @@ pub const cpu_gfx909 = Cpu{...@@ -1728,36 +1718,36 @@ pub const cpu_gfx909 = Cpu{
1728 .llvm_name = "gfx909",1718 .llvm_name = "gfx909",
1729 .dependencies = &[_]*const Feature {1719 .dependencies = &[_]*const Feature {
1730 &feature_codeObjectV3,1720 &feature_codeObjectV3,
1731 &feature_apertureRegs,1721 &feature_vgprIndexMode,
1722 &feature_addNoCarryInsts,
1723 &feature_fp64,
1724 &feature_gcn3Encoding,
1725 &feature_sdwaScalar,
1732 &feature_flatGlobalInsts,1726 &feature_flatGlobalInsts,
1733 &feature_BitInsts16,1727 &feature_scalarFlatScratchInsts,
1728 &feature_flatInstOffsets,
1729 &feature_apertureRegs,
1734 &feature_vop3p,1730 &feature_vop3p,
1735 &feature_flatAddressSpace,
1736 &feature_dpp,
1737 &feature_inv2piInlineImm,
1738 &feature_sdwa,1731 &feature_sdwa,
1732 &feature_gfx7Gfx8Gfx9Insts,
1733 &feature_intClampInsts,
1734 &feature_sdwaSdst,
1739 &feature_flatScratchInsts,1735 &feature_flatScratchInsts,
1740 &feature_flatInstOffsets,1736 &feature_ciInsts,
1741 &feature_scalarFlatScratchInsts,1737 &feature_r128A16,
1742 &feature_sMemrealtime,1738 &feature_sMemrealtime,
1739 &feature_flatAddressSpace,
1740 &feature_scalarAtomics,
1741 &feature_inv2piInlineImm,
1743 &feature_fastFmaf,1742 &feature_fastFmaf,
1743 &feature_wavefrontsize64,
1744 &feature_localmemorysize65536,
1745 &feature_scalarStores,
1744 &feature_gfx9Insts,1746 &feature_gfx9Insts,
1745 &feature_sdwaSdst,
1746 &feature_vgprIndexMode,
1747 &feature_fp64,
1748 &feature_gfx7Gfx8Gfx9Insts,
1749 &feature_gfx8Insts,1747 &feature_gfx8Insts,
1750 &feature_localmemorysize65536,1748 &feature_dpp,
1751 &feature_intClampInsts,1749 &feature_BitInsts16,
1752 &feature_sdwaScalar,
1753 &feature_sdwaOmod,1750 &feature_sdwaOmod,
1754 &feature_scalarAtomics,
1755 &feature_r128A16,
1756 &feature_wavefrontsize64,
1757 &feature_ciInsts,
1758 &feature_scalarStores,
1759 &feature_gcn3Encoding,
1760 &feature_addNoCarryInsts,
1761 &feature_ldsbankcount32,1751 &feature_ldsbankcount32,
1762 &feature_madMixInsts,1752 &feature_madMixInsts,
1763 &feature_xnack,1753 &feature_xnack,
...@@ -1771,13 +1761,13 @@ pub const cpu_hainan = Cpu{...@@ -1771,13 +1761,13 @@ pub const cpu_hainan = Cpu{
1771 &feature_codeObjectV3,1761 &feature_codeObjectV3,
1772 &feature_noXnackSupport,1762 &feature_noXnackSupport,
1773 &feature_ldsbankcount32,1763 &feature_ldsbankcount32,
1774 &feature_movrel,
1775 &feature_trigReducedRange,1764 &feature_trigReducedRange,
1765 &feature_movrel,
1776 &feature_wavefrontsize64,1766 &feature_wavefrontsize64,
1777 &feature_localmemorysize32768,
1778 &feature_fp64,1767 &feature_fp64,
1779 &feature_noSramEccSupport,
1780 &feature_mimgR128,1768 &feature_mimgR128,
1769 &feature_noSramEccSupport,
1770 &feature_localmemorysize32768,
1781 },1771 },
1782};1772};
17831773
...@@ -1789,15 +1779,15 @@ pub const cpu_hawaii = Cpu{...@@ -1789,15 +1779,15 @@ pub const cpu_hawaii = Cpu{
1789 &feature_noXnackSupport,1779 &feature_noXnackSupport,
1790 &feature_fastFmaf,1780 &feature_fastFmaf,
1791 &feature_ldsbankcount32,1781 &feature_ldsbankcount32,
1792 &feature_movrel,
1793 &feature_trigReducedRange,1782 &feature_trigReducedRange,
1783 &feature_gfx7Gfx8Gfx9Insts,
1784 &feature_movrel,
1785 &feature_flatAddressSpace,
1794 &feature_wavefrontsize64,1786 &feature_wavefrontsize64,
1795 &feature_ciInsts,
1796 &feature_fp64,1787 &feature_fp64,
1797 &feature_gfx7Gfx8Gfx9Insts,
1798 &feature_mimgR128,1788 &feature_mimgR128,
1799 &feature_noSramEccSupport,1789 &feature_noSramEccSupport,
1800 &feature_flatAddressSpace,1790 &feature_ciInsts,
1801 &feature_localmemorysize65536,1791 &feature_localmemorysize65536,
1802 &feature_halfRate64Ops,1792 &feature_halfRate64Ops,
1803 },1793 },
...@@ -1812,28 +1802,28 @@ pub const cpu_iceland = Cpu{...@@ -1812,28 +1802,28 @@ pub const cpu_iceland = Cpu{
1812 &feature_ldsbankcount32,1802 &feature_ldsbankcount32,
1813 &feature_sgprInitBug,1803 &feature_sgprInitBug,
1814 &feature_unpackedD16Vmem,1804 &feature_unpackedD16Vmem,
1815 &feature_BitInsts16,
1816 &feature_flatAddressSpace,
1817 &feature_dpp,
1818 &feature_sdwa,
1819 &feature_mimgR128,
1820 &feature_inv2piInlineImm,
1821 &feature_sdwaOutModsVopc,
1822 &feature_sMemrealtime,
1823 &feature_trigReducedRange,1805 &feature_trigReducedRange,
1824 &feature_vgprIndexMode,1806 &feature_vgprIndexMode,
1807 &feature_movrel,
1825 &feature_fp64,1808 &feature_fp64,
1809 &feature_gcn3Encoding,
1810 &feature_mimgR128,
1811 &feature_sdwa,
1826 &feature_gfx7Gfx8Gfx9Insts,1812 &feature_gfx7Gfx8Gfx9Insts,
1827 &feature_noSramEccSupport,
1828 &feature_gfx8Insts,
1829 &feature_localmemorysize65536,
1830 &feature_movrel,
1831 &feature_intClampInsts,1813 &feature_intClampInsts,
1832 &feature_sdwaMav,
1833 &feature_wavefrontsize64,
1834 &feature_ciInsts,1814 &feature_ciInsts,
1815 &feature_sdwaOutModsVopc,
1816 &feature_sMemrealtime,
1817 &feature_flatAddressSpace,
1818 &feature_inv2piInlineImm,
1819 &feature_wavefrontsize64,
1820 &feature_noSramEccSupport,
1821 &feature_sdwaMav,
1822 &feature_localmemorysize65536,
1835 &feature_scalarStores,1823 &feature_scalarStores,
1836 &feature_gcn3Encoding,1824 &feature_gfx8Insts,
1825 &feature_dpp,
1826 &feature_BitInsts16,
1837 },1827 },
1838};1828};
18391829
...@@ -1844,15 +1834,15 @@ pub const cpu_kabini = Cpu{...@@ -1844,15 +1834,15 @@ pub const cpu_kabini = Cpu{
1844 &feature_codeObjectV3,1834 &feature_codeObjectV3,
1845 &feature_noXnackSupport,1835 &feature_noXnackSupport,
1846 &feature_ldsbankcount16,1836 &feature_ldsbankcount16,
1847 &feature_movrel,
1848 &feature_trigReducedRange,1837 &feature_trigReducedRange,
1838 &feature_gfx7Gfx8Gfx9Insts,
1839 &feature_movrel,
1840 &feature_flatAddressSpace,
1849 &feature_wavefrontsize64,1841 &feature_wavefrontsize64,
1850 &feature_ciInsts,
1851 &feature_fp64,1842 &feature_fp64,
1852 &feature_gfx7Gfx8Gfx9Insts,
1853 &feature_mimgR128,1843 &feature_mimgR128,
1854 &feature_noSramEccSupport,1844 &feature_noSramEccSupport,
1855 &feature_flatAddressSpace,1845 &feature_ciInsts,
1856 &feature_localmemorysize65536,1846 &feature_localmemorysize65536,
1857 },1847 },
1858};1848};
...@@ -1864,15 +1854,15 @@ pub const cpu_kaveri = Cpu{...@@ -1864,15 +1854,15 @@ pub const cpu_kaveri = Cpu{
1864 &feature_codeObjectV3,1854 &feature_codeObjectV3,
1865 &feature_noXnackSupport,1855 &feature_noXnackSupport,
1866 &feature_ldsbankcount32,1856 &feature_ldsbankcount32,
1867 &feature_movrel,
1868 &feature_trigReducedRange,1857 &feature_trigReducedRange,
1858 &feature_gfx7Gfx8Gfx9Insts,
1859 &feature_movrel,
1860 &feature_flatAddressSpace,
1869 &feature_wavefrontsize64,1861 &feature_wavefrontsize64,
1870 &feature_ciInsts,
1871 &feature_fp64,1862 &feature_fp64,
1872 &feature_gfx7Gfx8Gfx9Insts,
1873 &feature_mimgR128,1863 &feature_mimgR128,
1874 &feature_noSramEccSupport,1864 &feature_noSramEccSupport,
1875 &feature_flatAddressSpace,1865 &feature_ciInsts,
1876 &feature_localmemorysize65536,1866 &feature_localmemorysize65536,
1877 },1867 },
1878};1868};
...@@ -1884,15 +1874,15 @@ pub const cpu_mullins = Cpu{...@@ -1884,15 +1874,15 @@ pub const cpu_mullins = Cpu{
1884 &feature_codeObjectV3,1874 &feature_codeObjectV3,
1885 &feature_noXnackSupport,1875 &feature_noXnackSupport,
1886 &feature_ldsbankcount16,1876 &feature_ldsbankcount16,
1887 &feature_movrel,
1888 &feature_trigReducedRange,1877 &feature_trigReducedRange,
1878 &feature_gfx7Gfx8Gfx9Insts,
1879 &feature_movrel,
1880 &feature_flatAddressSpace,
1889 &feature_wavefrontsize64,1881 &feature_wavefrontsize64,
1890 &feature_ciInsts,
1891 &feature_fp64,1882 &feature_fp64,
1892 &feature_gfx7Gfx8Gfx9Insts,
1893 &feature_mimgR128,1883 &feature_mimgR128,
1894 &feature_noSramEccSupport,1884 &feature_noSramEccSupport,
1895 &feature_flatAddressSpace,1885 &feature_ciInsts,
1896 &feature_localmemorysize65536,1886 &feature_localmemorysize65536,
1897 },1887 },
1898};1888};
...@@ -1904,13 +1894,13 @@ pub const cpu_oland = Cpu{...@@ -1904,13 +1894,13 @@ pub const cpu_oland = Cpu{
1904 &feature_codeObjectV3,1894 &feature_codeObjectV3,
1905 &feature_noXnackSupport,1895 &feature_noXnackSupport,
1906 &feature_ldsbankcount32,1896 &feature_ldsbankcount32,
1907 &feature_movrel,
1908 &feature_trigReducedRange,1897 &feature_trigReducedRange,
1898 &feature_movrel,
1909 &feature_wavefrontsize64,1899 &feature_wavefrontsize64,
1910 &feature_localmemorysize32768,
1911 &feature_fp64,1900 &feature_fp64,
1912 &feature_noSramEccSupport,
1913 &feature_mimgR128,1901 &feature_mimgR128,
1902 &feature_noSramEccSupport,
1903 &feature_localmemorysize32768,
1914 },1904 },
1915};1905};
19161906
...@@ -1921,13 +1911,13 @@ pub const cpu_pitcairn = Cpu{...@@ -1921,13 +1911,13 @@ pub const cpu_pitcairn = Cpu{
1921 &feature_codeObjectV3,1911 &feature_codeObjectV3,
1922 &feature_noXnackSupport,1912 &feature_noXnackSupport,
1923 &feature_ldsbankcount32,1913 &feature_ldsbankcount32,
1924 &feature_movrel,
1925 &feature_trigReducedRange,1914 &feature_trigReducedRange,
1915 &feature_movrel,
1926 &feature_wavefrontsize64,1916 &feature_wavefrontsize64,
1927 &feature_localmemorysize32768,
1928 &feature_fp64,1917 &feature_fp64,
1929 &feature_noSramEccSupport,
1930 &feature_mimgR128,1918 &feature_mimgR128,
1919 &feature_noSramEccSupport,
1920 &feature_localmemorysize32768,
1931 },1921 },
1932};1922};
19331923
...@@ -1939,28 +1929,28 @@ pub const cpu_polaris10 = Cpu{...@@ -1939,28 +1929,28 @@ pub const cpu_polaris10 = Cpu{
1939 &feature_noXnackSupport,1929 &feature_noXnackSupport,
1940 &feature_ldsbankcount32,1930 &feature_ldsbankcount32,
1941 &feature_unpackedD16Vmem,1931 &feature_unpackedD16Vmem,
1942 &feature_BitInsts16,
1943 &feature_flatAddressSpace,
1944 &feature_dpp,
1945 &feature_sdwa,
1946 &feature_mimgR128,
1947 &feature_inv2piInlineImm,
1948 &feature_sdwaOutModsVopc,
1949 &feature_sMemrealtime,
1950 &feature_trigReducedRange,1932 &feature_trigReducedRange,
1951 &feature_vgprIndexMode,1933 &feature_vgprIndexMode,
1934 &feature_movrel,
1952 &feature_fp64,1935 &feature_fp64,
1936 &feature_gcn3Encoding,
1937 &feature_mimgR128,
1938 &feature_sdwa,
1953 &feature_gfx7Gfx8Gfx9Insts,1939 &feature_gfx7Gfx8Gfx9Insts,
1954 &feature_noSramEccSupport,
1955 &feature_gfx8Insts,
1956 &feature_localmemorysize65536,
1957 &feature_movrel,
1958 &feature_intClampInsts,1940 &feature_intClampInsts,
1959 &feature_sdwaMav,
1960 &feature_wavefrontsize64,
1961 &feature_ciInsts,1941 &feature_ciInsts,
1942 &feature_sdwaOutModsVopc,
1943 &feature_sMemrealtime,
1944 &feature_flatAddressSpace,
1945 &feature_inv2piInlineImm,
1946 &feature_wavefrontsize64,
1947 &feature_noSramEccSupport,
1948 &feature_sdwaMav,
1949 &feature_localmemorysize65536,
1962 &feature_scalarStores,1950 &feature_scalarStores,
1963 &feature_gcn3Encoding,1951 &feature_gfx8Insts,
1952 &feature_dpp,
1953 &feature_BitInsts16,
1964 },1954 },
1965};1955};
19661956
...@@ -1972,28 +1962,28 @@ pub const cpu_polaris11 = Cpu{...@@ -1972,28 +1962,28 @@ pub const cpu_polaris11 = Cpu{
1972 &feature_noXnackSupport,1962 &feature_noXnackSupport,
1973 &feature_ldsbankcount32,1963 &feature_ldsbankcount32,
1974 &feature_unpackedD16Vmem,1964 &feature_unpackedD16Vmem,
1975 &feature_BitInsts16,
1976 &feature_flatAddressSpace,
1977 &feature_dpp,
1978 &feature_sdwa,
1979 &feature_mimgR128,
1980 &feature_inv2piInlineImm,
1981 &feature_sdwaOutModsVopc,
1982 &feature_sMemrealtime,
1983 &feature_trigReducedRange,1965 &feature_trigReducedRange,
1984 &feature_vgprIndexMode,1966 &feature_vgprIndexMode,
1967 &feature_movrel,
1985 &feature_fp64,1968 &feature_fp64,
1969 &feature_gcn3Encoding,
1970 &feature_mimgR128,
1971 &feature_sdwa,
1986 &feature_gfx7Gfx8Gfx9Insts,1972 &feature_gfx7Gfx8Gfx9Insts,
1987 &feature_noSramEccSupport,
1988 &feature_gfx8Insts,
1989 &feature_localmemorysize65536,
1990 &feature_movrel,
1991 &feature_intClampInsts,1973 &feature_intClampInsts,
1992 &feature_sdwaMav,
1993 &feature_wavefrontsize64,
1994 &feature_ciInsts,1974 &feature_ciInsts,
1975 &feature_sdwaOutModsVopc,
1976 &feature_sMemrealtime,
1977 &feature_flatAddressSpace,
1978 &feature_inv2piInlineImm,
1979 &feature_wavefrontsize64,
1980 &feature_noSramEccSupport,
1981 &feature_sdwaMav,
1982 &feature_localmemorysize65536,
1995 &feature_scalarStores,1983 &feature_scalarStores,
1996 &feature_gcn3Encoding,1984 &feature_gfx8Insts,
1985 &feature_dpp,
1986 &feature_BitInsts16,
1997 },1987 },
1998};1988};
19991989
...@@ -2003,28 +1993,28 @@ pub const cpu_stoney = Cpu{...@@ -2003,28 +1993,28 @@ pub const cpu_stoney = Cpu{
2003 .dependencies = &[_]*const Feature {1993 .dependencies = &[_]*const Feature {
2004 &feature_codeObjectV3,1994 &feature_codeObjectV3,
2005 &feature_ldsbankcount16,1995 &feature_ldsbankcount16,
2006 &feature_BitInsts16,
2007 &feature_flatAddressSpace,
2008 &feature_dpp,
2009 &feature_sdwa,
2010 &feature_mimgR128,
2011 &feature_inv2piInlineImm,
2012 &feature_sdwaOutModsVopc,
2013 &feature_sMemrealtime,
2014 &feature_trigReducedRange,1996 &feature_trigReducedRange,
2015 &feature_vgprIndexMode,1997 &feature_vgprIndexMode,
1998 &feature_movrel,
2016 &feature_fp64,1999 &feature_fp64,
2000 &feature_gcn3Encoding,
2001 &feature_mimgR128,
2002 &feature_sdwa,
2017 &feature_gfx7Gfx8Gfx9Insts,2003 &feature_gfx7Gfx8Gfx9Insts,
2018 &feature_noSramEccSupport,
2019 &feature_gfx8Insts,
2020 &feature_localmemorysize65536,
2021 &feature_movrel,
2022 &feature_intClampInsts,2004 &feature_intClampInsts,
2023 &feature_sdwaMav,
2024 &feature_wavefrontsize64,
2025 &feature_ciInsts,2005 &feature_ciInsts,
2006 &feature_sdwaOutModsVopc,
2007 &feature_sMemrealtime,
2008 &feature_flatAddressSpace,
2009 &feature_inv2piInlineImm,
2010 &feature_wavefrontsize64,
2011 &feature_noSramEccSupport,
2012 &feature_sdwaMav,
2013 &feature_localmemorysize65536,
2026 &feature_scalarStores,2014 &feature_scalarStores,
2027 &feature_gcn3Encoding,2015 &feature_gfx8Insts,
2016 &feature_dpp,
2017 &feature_BitInsts16,
2028 &feature_xnack,2018 &feature_xnack,
2029 },2019 },
2030};2020};
...@@ -2037,13 +2027,13 @@ pub const cpu_tahiti = Cpu{...@@ -2037,13 +2027,13 @@ pub const cpu_tahiti = Cpu{
2037 &feature_noXnackSupport,2027 &feature_noXnackSupport,
2038 &feature_fastFmaf,2028 &feature_fastFmaf,
2039 &feature_ldsbankcount32,2029 &feature_ldsbankcount32,
2040 &feature_movrel,
2041 &feature_trigReducedRange,2030 &feature_trigReducedRange,
2031 &feature_movrel,
2042 &feature_wavefrontsize64,2032 &feature_wavefrontsize64,
2043 &feature_localmemorysize32768,
2044 &feature_fp64,2033 &feature_fp64,
2045 &feature_noSramEccSupport,
2046 &feature_mimgR128,2034 &feature_mimgR128,
2035 &feature_noSramEccSupport,
2036 &feature_localmemorysize32768,
2047 &feature_halfRate64Ops,2037 &feature_halfRate64Ops,
2048 },2038 },
2049};2039};
...@@ -2057,28 +2047,28 @@ pub const cpu_tonga = Cpu{...@@ -2057,28 +2047,28 @@ pub const cpu_tonga = Cpu{
2057 &feature_ldsbankcount32,2047 &feature_ldsbankcount32,
2058 &feature_sgprInitBug,2048 &feature_sgprInitBug,
2059 &feature_unpackedD16Vmem,2049 &feature_unpackedD16Vmem,
2060 &feature_BitInsts16,
2061 &feature_flatAddressSpace,
2062 &feature_dpp,
2063 &feature_sdwa,
2064 &feature_mimgR128,
2065 &feature_inv2piInlineImm,
2066 &feature_sdwaOutModsVopc,
2067 &feature_sMemrealtime,
2068 &feature_trigReducedRange,2050 &feature_trigReducedRange,
2069 &feature_vgprIndexMode,2051 &feature_vgprIndexMode,
2052 &feature_movrel,
2070 &feature_fp64,2053 &feature_fp64,
2054 &feature_gcn3Encoding,
2055 &feature_mimgR128,
2056 &feature_sdwa,
2071 &feature_gfx7Gfx8Gfx9Insts,2057 &feature_gfx7Gfx8Gfx9Insts,
2072 &feature_noSramEccSupport,
2073 &feature_gfx8Insts,
2074 &feature_localmemorysize65536,
2075 &feature_movrel,
2076 &feature_intClampInsts,2058 &feature_intClampInsts,
2077 &feature_sdwaMav,
2078 &feature_wavefrontsize64,
2079 &feature_ciInsts,2059 &feature_ciInsts,
2060 &feature_sdwaOutModsVopc,
2061 &feature_sMemrealtime,
2062 &feature_flatAddressSpace,
2063 &feature_inv2piInlineImm,
2064 &feature_wavefrontsize64,
2065 &feature_noSramEccSupport,
2066 &feature_sdwaMav,
2067 &feature_localmemorysize65536,
2080 &feature_scalarStores,2068 &feature_scalarStores,
2081 &feature_gcn3Encoding,2069 &feature_gfx8Insts,
2070 &feature_dpp,
2071 &feature_BitInsts16,
2082 },2072 },
2083};2073};
20842074
...@@ -2089,13 +2079,13 @@ pub const cpu_verde = Cpu{...@@ -2089,13 +2079,13 @@ pub const cpu_verde = Cpu{
2089 &feature_codeObjectV3,2079 &feature_codeObjectV3,
2090 &feature_noXnackSupport,2080 &feature_noXnackSupport,
2091 &feature_ldsbankcount32,2081 &feature_ldsbankcount32,
2092 &feature_movrel,
2093 &feature_trigReducedRange,2082 &feature_trigReducedRange,
2083 &feature_movrel,
2094 &feature_wavefrontsize64,2084 &feature_wavefrontsize64,
2095 &feature_localmemorysize32768,
2096 &feature_fp64,2085 &feature_fp64,
2097 &feature_noSramEccSupport,
2098 &feature_mimgR128,2086 &feature_mimgR128,
2087 &feature_noSramEccSupport,
2088 &feature_localmemorysize32768,
2099 },2089 },
2100};2090};
21012091
lib/std/target/arm.zig+378-405
...@@ -22,8 +22,8 @@ pub const feature_aes = Feature{...@@ -22,8 +22,8 @@ pub const feature_aes = Feature{
22 .llvm_name = "aes",22 .llvm_name = "aes",
23 .description = "Enable AES support",23 .description = "Enable AES support",
24 .dependencies = &[_]*const Feature {24 .dependencies = &[_]*const Feature {
25 &feature_d32,
26 &feature_fpregs,25 &feature_fpregs,
26 &feature_d32,
27 },27 },
28};28};
2929
...@@ -130,8 +130,8 @@ pub const feature_dotprod = Feature{...@@ -130,8 +130,8 @@ pub const feature_dotprod = Feature{
130 .llvm_name = "dotprod",130 .llvm_name = "dotprod",
131 .description = "Enable support for dot product instructions",131 .description = "Enable support for dot product instructions",
132 .dependencies = &[_]*const Feature {132 .dependencies = &[_]*const Feature {
133 &feature_d32,
134 &feature_fpregs,133 &feature_fpregs,
134 &feature_d32,
135 },135 },
136};136};
137137
...@@ -164,8 +164,8 @@ pub const feature_fp16fml = Feature{...@@ -164,8 +164,8 @@ pub const feature_fp16fml = Feature{
164 .llvm_name = "fp16fml",164 .llvm_name = "fp16fml",
165 .description = "Enable full half-precision floating point fml instructions",165 .description = "Enable full half-precision floating point fml instructions",
166 .dependencies = &[_]*const Feature {166 .dependencies = &[_]*const Feature {
167 &feature_fpregs,
168 &feature_fp16,167 &feature_fp16,
168 &feature_fpregs,
169 },169 },
170};170};
171171
...@@ -191,9 +191,9 @@ pub const feature_fpArmv8 = Feature{...@@ -191,9 +191,9 @@ pub const feature_fpArmv8 = Feature{
191 .llvm_name = "fp-armv8",191 .llvm_name = "fp-armv8",
192 .description = "Enable ARMv8 FP",192 .description = "Enable ARMv8 FP",
193 .dependencies = &[_]*const Feature {193 .dependencies = &[_]*const Feature {
194 &feature_fp16,
194 &feature_d32,195 &feature_d32,
195 &feature_fpregs,196 &feature_fpregs,
196 &feature_fp16,
197 },197 },
198};198};
199199
...@@ -202,8 +202,8 @@ pub const feature_fpArmv8d16 = Feature{...@@ -202,8 +202,8 @@ pub const feature_fpArmv8d16 = Feature{
202 .llvm_name = "fp-armv8d16",202 .llvm_name = "fp-armv8d16",
203 .description = "Enable ARMv8 FP with only 16 d-registers",203 .description = "Enable ARMv8 FP with only 16 d-registers",
204 .dependencies = &[_]*const Feature {204 .dependencies = &[_]*const Feature {
205 &feature_fpregs,
206 &feature_fp16,205 &feature_fp16,
206 &feature_fpregs,
207 },207 },
208};208};
209209
...@@ -212,8 +212,8 @@ pub const feature_fpArmv8d16sp = Feature{...@@ -212,8 +212,8 @@ pub const feature_fpArmv8d16sp = Feature{
212 .llvm_name = "fp-armv8d16sp",212 .llvm_name = "fp-armv8d16sp",
213 .description = "Enable ARMv8 FP with only 16 d-registers and no double precision",213 .description = "Enable ARMv8 FP with only 16 d-registers and no double precision",
214 .dependencies = &[_]*const Feature {214 .dependencies = &[_]*const Feature {
215 &feature_fpregs,
216 &feature_fp16,215 &feature_fp16,
216 &feature_fpregs,
217 },217 },
218};218};
219219
...@@ -222,9 +222,9 @@ pub const feature_fpArmv8sp = Feature{...@@ -222,9 +222,9 @@ pub const feature_fpArmv8sp = Feature{
222 .llvm_name = "fp-armv8sp",222 .llvm_name = "fp-armv8sp",
223 .description = "Enable ARMv8 FP with no double precision",223 .description = "Enable ARMv8 FP with no double precision",
224 .dependencies = &[_]*const Feature {224 .dependencies = &[_]*const Feature {
225 &feature_d32,
226 &feature_fpregs,
227 &feature_fp16,225 &feature_fp16,
226 &feature_fpregs,
227 &feature_d32,
228 },228 },
229};229};
230230
...@@ -259,8 +259,8 @@ pub const feature_fullfp16 = Feature{...@@ -259,8 +259,8 @@ pub const feature_fullfp16 = Feature{
259 .llvm_name = "fullfp16",259 .llvm_name = "fullfp16",
260 .description = "Enable full half-precision floating point",260 .description = "Enable full half-precision floating point",
261 .dependencies = &[_]*const Feature {261 .dependencies = &[_]*const Feature {
262 &feature_fpregs,
263 &feature_fp16,262 &feature_fp16,
263 &feature_fpregs,
264 },264 },
265};265};
266266
...@@ -360,30 +360,6 @@ pub const feature_mp = Feature{...@@ -360,30 +360,6 @@ pub const feature_mp = Feature{
360 },360 },
361};361};
362362
363pub const feature_mve1beat = Feature{
364 .name = "mve1beat",
365 .llvm_name = "mve1beat",
366 .description = "Model MVE instructions as a 1 beat per tick architecture",
367 .dependencies = &[_]*const Feature {
368 },
369};
370
371pub const feature_mve2beat = Feature{
372 .name = "mve2beat",
373 .llvm_name = "mve2beat",
374 .description = "Model MVE instructions as a 2 beats per tick architecture",
375 .dependencies = &[_]*const Feature {
376 },
377};
378
379pub const feature_mve4beat = Feature{
380 .name = "mve4beat",
381 .llvm_name = "mve4beat",
382 .description = "Model MVE instructions as a 4 beats per tick architecture",
383 .dependencies = &[_]*const Feature {
384 },
385};
386
387pub const feature_muxedUnits = Feature{363pub const feature_muxedUnits = Feature{
388 .name = "muxedUnits",364 .name = "muxedUnits",
389 .llvm_name = "muxed-units",365 .llvm_name = "muxed-units",
...@@ -559,8 +535,8 @@ pub const feature_sha2 = Feature{...@@ -559,8 +535,8 @@ pub const feature_sha2 = Feature{
559 .llvm_name = "sha2",535 .llvm_name = "sha2",
560 .description = "Enable SHA1 and SHA256 support",536 .description = "Enable SHA1 and SHA256 support",
561 .dependencies = &[_]*const Feature {537 .dependencies = &[_]*const Feature {
562 &feature_d32,
563 &feature_fpregs,538 &feature_fpregs,
539 &feature_d32,
564 },540 },
565};541};
566542
...@@ -673,6 +649,25 @@ pub const feature_vfp2 = Feature{...@@ -673,6 +649,25 @@ pub const feature_vfp2 = Feature{
673 .name = "vfp2",649 .name = "vfp2",
674 .llvm_name = "vfp2",650 .llvm_name = "vfp2",
675 .description = "Enable VFP2 instructions",651 .description = "Enable VFP2 instructions",
652 .dependencies = &[_]*const Feature {
653 &feature_d32,
654 &feature_fpregs,
655 },
656};
657
658pub const feature_vfp2d16 = Feature{
659 .name = "vfp2d16",
660 .llvm_name = "vfp2d16",
661 .description = "Enable VFP2 instructions with only 16 d-registers",
662 .dependencies = &[_]*const Feature {
663 &feature_fpregs,
664 },
665};
666
667pub const feature_vfp2d16sp = Feature{
668 .name = "vfp2d16sp",
669 .llvm_name = "vfp2d16sp",
670 .description = "Enable VFP2 instructions with only 16 d-registers and no double precision",
676 .dependencies = &[_]*const Feature {671 .dependencies = &[_]*const Feature {
677 &feature_fpregs,672 &feature_fpregs,
678 },673 },
...@@ -684,6 +679,7 @@ pub const feature_vfp2sp = Feature{...@@ -684,6 +679,7 @@ pub const feature_vfp2sp = Feature{
684 .description = "Enable VFP2 instructions with no double precision",679 .description = "Enable VFP2 instructions with no double precision",
685 .dependencies = &[_]*const Feature {680 .dependencies = &[_]*const Feature {
686 &feature_fpregs,681 &feature_fpregs,
682 &feature_d32,
687 },683 },
688};684};
689685
...@@ -692,8 +688,8 @@ pub const feature_vfp3 = Feature{...@@ -692,8 +688,8 @@ pub const feature_vfp3 = Feature{
692 .llvm_name = "vfp3",688 .llvm_name = "vfp3",
693 .description = "Enable VFP3 instructions",689 .description = "Enable VFP3 instructions",
694 .dependencies = &[_]*const Feature {690 .dependencies = &[_]*const Feature {
695 &feature_d32,
696 &feature_fpregs,691 &feature_fpregs,
692 &feature_d32,
697 },693 },
698};694};
699695
...@@ -720,8 +716,8 @@ pub const feature_vfp3sp = Feature{...@@ -720,8 +716,8 @@ pub const feature_vfp3sp = Feature{
720 .llvm_name = "vfp3sp",716 .llvm_name = "vfp3sp",
721 .description = "Enable VFP3 instructions with no double precision",717 .description = "Enable VFP3 instructions with no double precision",
722 .dependencies = &[_]*const Feature {718 .dependencies = &[_]*const Feature {
723 &feature_d32,
724 &feature_fpregs,719 &feature_fpregs,
720 &feature_d32,
725 },721 },
726};722};
727723
...@@ -730,9 +726,9 @@ pub const feature_vfp4 = Feature{...@@ -730,9 +726,9 @@ pub const feature_vfp4 = Feature{
730 .llvm_name = "vfp4",726 .llvm_name = "vfp4",
731 .description = "Enable VFP4 instructions",727 .description = "Enable VFP4 instructions",
732 .dependencies = &[_]*const Feature {728 .dependencies = &[_]*const Feature {
733 &feature_fpregs,
734 &feature_d32,
735 &feature_fp16,729 &feature_fp16,
730 &feature_d32,
731 &feature_fpregs,
736 },732 },
737};733};
738734
...@@ -741,8 +737,8 @@ pub const feature_vfp4d16 = Feature{...@@ -741,8 +737,8 @@ pub const feature_vfp4d16 = Feature{
741 .llvm_name = "vfp4d16",737 .llvm_name = "vfp4d16",
742 .description = "Enable VFP4 instructions with only 16 d-registers",738 .description = "Enable VFP4 instructions with only 16 d-registers",
743 .dependencies = &[_]*const Feature {739 .dependencies = &[_]*const Feature {
744 &feature_fpregs,
745 &feature_fp16,740 &feature_fp16,
741 &feature_fpregs,
746 },742 },
747};743};
748744
...@@ -751,8 +747,8 @@ pub const feature_vfp4d16sp = Feature{...@@ -751,8 +747,8 @@ pub const feature_vfp4d16sp = Feature{
751 .llvm_name = "vfp4d16sp",747 .llvm_name = "vfp4d16sp",
752 .description = "Enable VFP4 instructions with only 16 d-registers and no double precision",748 .description = "Enable VFP4 instructions with only 16 d-registers and no double precision",
753 .dependencies = &[_]*const Feature {749 .dependencies = &[_]*const Feature {
754 &feature_fpregs,
755 &feature_fp16,750 &feature_fp16,
751 &feature_fpregs,
756 },752 },
757};753};
758754
...@@ -761,9 +757,9 @@ pub const feature_vfp4sp = Feature{...@@ -761,9 +757,9 @@ pub const feature_vfp4sp = Feature{
761 .llvm_name = "vfp4sp",757 .llvm_name = "vfp4sp",
762 .description = "Enable VFP4 instructions with no double precision",758 .description = "Enable VFP4 instructions with no double precision",
763 .dependencies = &[_]*const Feature {759 .dependencies = &[_]*const Feature {
760 &feature_fp16,
764 &feature_fpregs,761 &feature_fpregs,
765 &feature_d32,762 &feature_d32,
766 &feature_fp16,
767 },763 },
768};764};
769765
...@@ -836,9 +832,6 @@ pub const features = &[_]*const Feature {...@@ -836,9 +832,6 @@ pub const features = &[_]*const Feature {
836 &feature_longCalls,832 &feature_longCalls,
837 &feature_mclass,833 &feature_mclass,
838 &feature_mp,834 &feature_mp,
839 &feature_mve1beat,
840 &feature_mve2beat,
841 &feature_mve4beat,
842 &feature_muxedUnits,835 &feature_muxedUnits,
843 &feature_neon,836 &feature_neon,
844 &feature_neonfp,837 &feature_neonfp,
...@@ -875,6 +868,8 @@ pub const features = &[_]*const Feature {...@@ -875,6 +868,8 @@ pub const features = &[_]*const Feature {
875 &feature_wideStrideVfp,868 &feature_wideStrideVfp,
876 &feature_v7clrex,869 &feature_v7clrex,
877 &feature_vfp2,870 &feature_vfp2,
871 &feature_vfp2d16,
872 &feature_vfp2d16sp,
878 &feature_vfp2sp,873 &feature_vfp2sp,
879 &feature_vfp3,874 &feature_vfp3,
880 &feature_vfp3d16,875 &feature_vfp3d16,
...@@ -938,6 +933,7 @@ pub const cpu_arm1136jfS = Cpu{...@@ -938,6 +933,7 @@ pub const cpu_arm1136jfS = Cpu{
938 .dependencies = &[_]*const Feature {933 .dependencies = &[_]*const Feature {
939 &feature_dsp,934 &feature_dsp,
940 &feature_slowfpvmlx,935 &feature_slowfpvmlx,
936 &feature_d32,
941 &feature_fpregs,937 &feature_fpregs,
942 &feature_vfp2,938 &feature_vfp2,
943 },939 },
...@@ -947,8 +943,8 @@ pub const cpu_arm1156t2S = Cpu{...@@ -947,8 +943,8 @@ pub const cpu_arm1156t2S = Cpu{
947 .name = "arm1156t2S",943 .name = "arm1156t2S",
948 .llvm_name = "arm1156t2-s",944 .llvm_name = "arm1156t2-s",
949 .dependencies = &[_]*const Feature {945 .dependencies = &[_]*const Feature {
950 &feature_thumb2,
951 &feature_dsp,946 &feature_dsp,
947 &feature_thumb2,
952 },948 },
953};949};
954950
...@@ -956,9 +952,10 @@ pub const cpu_arm1156t2fS = Cpu{...@@ -956,9 +952,10 @@ pub const cpu_arm1156t2fS = Cpu{
956 .name = "arm1156t2fS",952 .name = "arm1156t2fS",
957 .llvm_name = "arm1156t2f-s",953 .llvm_name = "arm1156t2f-s",
958 .dependencies = &[_]*const Feature {954 .dependencies = &[_]*const Feature {
959 &feature_thumb2,
960 &feature_dsp,955 &feature_dsp,
956 &feature_thumb2,
961 &feature_slowfpvmlx,957 &feature_slowfpvmlx,
958 &feature_d32,
962 &feature_fpregs,959 &feature_fpregs,
963 &feature_vfp2,960 &feature_vfp2,
964 },961 },
...@@ -986,6 +983,7 @@ pub const cpu_arm1176jzfS = Cpu{...@@ -986,6 +983,7 @@ pub const cpu_arm1176jzfS = Cpu{
986 .dependencies = &[_]*const Feature {983 .dependencies = &[_]*const Feature {
987 &feature_trustzone,984 &feature_trustzone,
988 &feature_slowfpvmlx,985 &feature_slowfpvmlx,
986 &feature_d32,
989 &feature_fpregs,987 &feature_fpregs,
990 &feature_vfp2,988 &feature_vfp2,
991 },989 },
...@@ -1114,14 +1112,14 @@ pub const cpu_cortexA12 = Cpu{...@@ -1114,14 +1112,14 @@ pub const cpu_cortexA12 = Cpu{
1114 .name = "cortexA12",1112 .name = "cortexA12",
1115 .llvm_name = "cortex-a12",1113 .llvm_name = "cortex-a12",
1116 .dependencies = &[_]*const Feature {1114 .dependencies = &[_]*const Feature {
1115 &feature_d32,
1116 &feature_dsp,
1117 &feature_thumb2,1117 &feature_thumb2,
1118 &feature_db,
1119 &feature_aclass,
1118 &feature_fpregs,1120 &feature_fpregs,
1119 &feature_dsp,
1120 &feature_v7clrex,1121 &feature_v7clrex,
1121 &feature_aclass,
1122 &feature_perfmon,1122 &feature_perfmon,
1123 &feature_d32,
1124 &feature_db,
1125 &feature_avoidPartialCpsr,1123 &feature_avoidPartialCpsr,
1126 &feature_retAddrStack,1124 &feature_retAddrStack,
1127 &feature_mp,1125 &feature_mp,
...@@ -1139,14 +1137,14 @@ pub const cpu_cortexA15 = Cpu{...@@ -1139,14 +1137,14 @@ pub const cpu_cortexA15 = Cpu{
1139 .name = "cortexA15",1137 .name = "cortexA15",
1140 .llvm_name = "cortex-a15",1138 .llvm_name = "cortex-a15",
1141 .dependencies = &[_]*const Feature {1139 .dependencies = &[_]*const Feature {
1140 &feature_d32,
1141 &feature_dsp,
1142 &feature_thumb2,1142 &feature_thumb2,
1143 &feature_db,
1144 &feature_aclass,
1143 &feature_fpregs,1145 &feature_fpregs,
1144 &feature_dsp,
1145 &feature_v7clrex,1146 &feature_v7clrex,
1146 &feature_aclass,
1147 &feature_perfmon,1147 &feature_perfmon,
1148 &feature_d32,
1149 &feature_db,
1150 &feature_avoidPartialCpsr,1148 &feature_avoidPartialCpsr,
1151 &feature_vldnAlign,1149 &feature_vldnAlign,
1152 &feature_dontWidenVmovs,1150 &feature_dontWidenVmovs,
...@@ -1167,14 +1165,14 @@ pub const cpu_cortexA17 = Cpu{...@@ -1167,14 +1165,14 @@ pub const cpu_cortexA17 = Cpu{
1167 .name = "cortexA17",1165 .name = "cortexA17",
1168 .llvm_name = "cortex-a17",1166 .llvm_name = "cortex-a17",
1169 .dependencies = &[_]*const Feature {1167 .dependencies = &[_]*const Feature {
1168 &feature_d32,
1169 &feature_dsp,
1170 &feature_thumb2,1170 &feature_thumb2,
1171 &feature_db,
1172 &feature_aclass,
1171 &feature_fpregs,1173 &feature_fpregs,
1172 &feature_dsp,
1173 &feature_v7clrex,1174 &feature_v7clrex,
1174 &feature_aclass,
1175 &feature_perfmon,1175 &feature_perfmon,
1176 &feature_d32,
1177 &feature_db,
1178 &feature_avoidPartialCpsr,1176 &feature_avoidPartialCpsr,
1179 &feature_retAddrStack,1177 &feature_retAddrStack,
1180 &feature_mp,1178 &feature_mp,
...@@ -1192,21 +1190,21 @@ pub const cpu_cortexA32 = Cpu{...@@ -1192,21 +1190,21 @@ pub const cpu_cortexA32 = Cpu{
1192 .name = "cortexA32",1190 .name = "cortexA32",
1193 .llvm_name = "cortex-a32",1191 .llvm_name = "cortex-a32",
1194 .dependencies = &[_]*const Feature {1192 .dependencies = &[_]*const Feature {
1195 &feature_trustzone,1193 &feature_hwdiv,
1196 &feature_thumb2,1194 &feature_mp,
1197 &feature_fpregs,1195 &feature_d32,
1198 &feature_dsp,1196 &feature_dsp,
1199 &feature_v7clrex,1197 &feature_thumb2,
1200 &feature_hwdivArm,1198 &feature_db,
1201 &feature_acquireRelease,
1202 &feature_aclass,1199 &feature_aclass,
1203 &feature_perfmon,1200 &feature_fpregs,
1201 &feature_trustzone,
1204 &feature_crc,1202 &feature_crc,
1205 &feature_mp,
1206 &feature_hwdiv,
1207 &feature_d32,
1208 &feature_fp16,1203 &feature_fp16,
1209 &feature_db,1204 &feature_acquireRelease,
1205 &feature_v7clrex,
1206 &feature_perfmon,
1207 &feature_hwdivArm,
1210 &feature_crypto,1208 &feature_crypto,
1211 },1209 },
1212};1210};
...@@ -1215,21 +1213,21 @@ pub const cpu_cortexA35 = Cpu{...@@ -1215,21 +1213,21 @@ pub const cpu_cortexA35 = Cpu{
1215 .name = "cortexA35",1213 .name = "cortexA35",
1216 .llvm_name = "cortex-a35",1214 .llvm_name = "cortex-a35",
1217 .dependencies = &[_]*const Feature {1215 .dependencies = &[_]*const Feature {
1218 &feature_trustzone,1216 &feature_hwdiv,
1219 &feature_thumb2,1217 &feature_mp,
1220 &feature_fpregs,1218 &feature_d32,
1221 &feature_dsp,1219 &feature_dsp,
1222 &feature_v7clrex,1220 &feature_thumb2,
1223 &feature_hwdivArm,1221 &feature_db,
1224 &feature_acquireRelease,
1225 &feature_aclass,1222 &feature_aclass,
1226 &feature_perfmon,1223 &feature_fpregs,
1224 &feature_trustzone,
1227 &feature_crc,1225 &feature_crc,
1228 &feature_mp,
1229 &feature_hwdiv,
1230 &feature_d32,
1231 &feature_fp16,1226 &feature_fp16,
1232 &feature_db,1227 &feature_acquireRelease,
1228 &feature_v7clrex,
1229 &feature_perfmon,
1230 &feature_hwdivArm,
1233 &feature_crypto,1231 &feature_crypto,
1234 },1232 },
1235};1233};
...@@ -1238,14 +1236,14 @@ pub const cpu_cortexA5 = Cpu{...@@ -1238,14 +1236,14 @@ pub const cpu_cortexA5 = Cpu{
1238 .name = "cortexA5",1236 .name = "cortexA5",
1239 .llvm_name = "cortex-a5",1237 .llvm_name = "cortex-a5",
1240 .dependencies = &[_]*const Feature {1238 .dependencies = &[_]*const Feature {
1239 &feature_d32,
1240 &feature_dsp,
1241 &feature_thumb2,1241 &feature_thumb2,
1242 &feature_db,
1243 &feature_aclass,
1242 &feature_fpregs,1244 &feature_fpregs,
1243 &feature_dsp,
1244 &feature_v7clrex,1245 &feature_v7clrex,
1245 &feature_aclass,
1246 &feature_perfmon,1246 &feature_perfmon,
1247 &feature_d32,
1248 &feature_db,
1249 &feature_retAddrStack,1247 &feature_retAddrStack,
1250 &feature_slowfpvmlx,1248 &feature_slowfpvmlx,
1251 &feature_mp,1249 &feature_mp,
...@@ -1261,21 +1259,21 @@ pub const cpu_cortexA53 = Cpu{...@@ -1261,21 +1259,21 @@ pub const cpu_cortexA53 = Cpu{
1261 .name = "cortexA53",1259 .name = "cortexA53",
1262 .llvm_name = "cortex-a53",1260 .llvm_name = "cortex-a53",
1263 .dependencies = &[_]*const Feature {1261 .dependencies = &[_]*const Feature {
1264 &feature_trustzone,1262 &feature_hwdiv,
1265 &feature_thumb2,1263 &feature_mp,
1266 &feature_fpregs,1264 &feature_d32,
1267 &feature_dsp,1265 &feature_dsp,
1268 &feature_v7clrex,1266 &feature_thumb2,
1269 &feature_hwdivArm,1267 &feature_db,
1270 &feature_acquireRelease,
1271 &feature_aclass,1268 &feature_aclass,
1272 &feature_perfmon,1269 &feature_fpregs,
1270 &feature_trustzone,
1273 &feature_crc,1271 &feature_crc,
1274 &feature_mp,
1275 &feature_hwdiv,
1276 &feature_d32,
1277 &feature_fp16,1272 &feature_fp16,
1278 &feature_db,1273 &feature_acquireRelease,
1274 &feature_v7clrex,
1275 &feature_perfmon,
1276 &feature_hwdivArm,
1279 &feature_crypto,1277 &feature_crypto,
1280 &feature_fpao,1278 &feature_fpao,
1281 },1279 },
...@@ -1285,22 +1283,22 @@ pub const cpu_cortexA55 = Cpu{...@@ -1285,22 +1283,22 @@ pub const cpu_cortexA55 = Cpu{
1285 .name = "cortexA55",1283 .name = "cortexA55",
1286 .llvm_name = "cortex-a55",1284 .llvm_name = "cortex-a55",
1287 .dependencies = &[_]*const Feature {1285 .dependencies = &[_]*const Feature {
1288 &feature_trustzone,1286 &feature_hwdiv,
1289 &feature_thumb2,1287 &feature_mp,
1290 &feature_fpregs,1288 &feature_d32,
1291 &feature_dsp,1289 &feature_dsp,
1292 &feature_ras,1290 &feature_thumb2,
1293 &feature_v7clrex,1291 &feature_db,
1294 &feature_hwdivArm,
1295 &feature_acquireRelease,
1296 &feature_aclass,1292 &feature_aclass,
1297 &feature_perfmon,1293 &feature_fpregs,
1294 &feature_trustzone,
1298 &feature_crc,1295 &feature_crc,
1299 &feature_mp,
1300 &feature_hwdiv,
1301 &feature_d32,
1302 &feature_fp16,1296 &feature_fp16,
1303 &feature_db,1297 &feature_acquireRelease,
1298 &feature_v7clrex,
1299 &feature_perfmon,
1300 &feature_hwdivArm,
1301 &feature_ras,
1304 &feature_dotprod,1302 &feature_dotprod,
1305 },1303 },
1306};1304};
...@@ -1309,21 +1307,21 @@ pub const cpu_cortexA57 = Cpu{...@@ -1309,21 +1307,21 @@ pub const cpu_cortexA57 = Cpu{
1309 .name = "cortexA57",1307 .name = "cortexA57",
1310 .llvm_name = "cortex-a57",1308 .llvm_name = "cortex-a57",
1311 .dependencies = &[_]*const Feature {1309 .dependencies = &[_]*const Feature {
1312 &feature_trustzone,1310 &feature_hwdiv,
1313 &feature_thumb2,1311 &feature_mp,
1314 &feature_fpregs,1312 &feature_d32,
1315 &feature_dsp,1313 &feature_dsp,
1316 &feature_v7clrex,1314 &feature_thumb2,
1317 &feature_hwdivArm,1315 &feature_db,
1318 &feature_acquireRelease,
1319 &feature_aclass,1316 &feature_aclass,
1320 &feature_perfmon,1317 &feature_fpregs,
1318 &feature_trustzone,
1321 &feature_crc,1319 &feature_crc,
1322 &feature_mp,
1323 &feature_hwdiv,
1324 &feature_d32,
1325 &feature_fp16,1320 &feature_fp16,
1326 &feature_db,1321 &feature_acquireRelease,
1322 &feature_v7clrex,
1323 &feature_perfmon,
1324 &feature_hwdivArm,
1327 &feature_avoidPartialCpsr,1325 &feature_avoidPartialCpsr,
1328 &feature_cheapPredicableCpsr,1326 &feature_cheapPredicableCpsr,
1329 &feature_crypto,1327 &feature_crypto,
...@@ -1335,14 +1333,14 @@ pub const cpu_cortexA7 = Cpu{...@@ -1335,14 +1333,14 @@ pub const cpu_cortexA7 = Cpu{
1335 .name = "cortexA7",1333 .name = "cortexA7",
1336 .llvm_name = "cortex-a7",1334 .llvm_name = "cortex-a7",
1337 .dependencies = &[_]*const Feature {1335 .dependencies = &[_]*const Feature {
1336 &feature_d32,
1337 &feature_dsp,
1338 &feature_thumb2,1338 &feature_thumb2,
1339 &feature_db,
1340 &feature_aclass,
1339 &feature_fpregs,1341 &feature_fpregs,
1340 &feature_dsp,
1341 &feature_v7clrex,1342 &feature_v7clrex,
1342 &feature_aclass,
1343 &feature_perfmon,1343 &feature_perfmon,
1344 &feature_d32,
1345 &feature_db,
1346 &feature_retAddrStack,1344 &feature_retAddrStack,
1347 &feature_slowfpvmlx,1345 &feature_slowfpvmlx,
1348 &feature_vmlxHazards,1346 &feature_vmlxHazards,
...@@ -1362,21 +1360,21 @@ pub const cpu_cortexA72 = Cpu{...@@ -1362,21 +1360,21 @@ pub const cpu_cortexA72 = Cpu{
1362 .name = "cortexA72",1360 .name = "cortexA72",
1363 .llvm_name = "cortex-a72",1361 .llvm_name = "cortex-a72",
1364 .dependencies = &[_]*const Feature {1362 .dependencies = &[_]*const Feature {
1365 &feature_trustzone,1363 &feature_hwdiv,
1366 &feature_thumb2,1364 &feature_mp,
1367 &feature_fpregs,1365 &feature_d32,
1368 &feature_dsp,1366 &feature_dsp,
1369 &feature_v7clrex,1367 &feature_thumb2,
1370 &feature_hwdivArm,1368 &feature_db,
1371 &feature_acquireRelease,
1372 &feature_aclass,1369 &feature_aclass,
1373 &feature_perfmon,1370 &feature_fpregs,
1371 &feature_trustzone,
1374 &feature_crc,1372 &feature_crc,
1375 &feature_mp,
1376 &feature_hwdiv,
1377 &feature_d32,
1378 &feature_fp16,1373 &feature_fp16,
1379 &feature_db,1374 &feature_acquireRelease,
1375 &feature_v7clrex,
1376 &feature_perfmon,
1377 &feature_hwdivArm,
1380 &feature_crypto,1378 &feature_crypto,
1381 },1379 },
1382};1380};
...@@ -1385,21 +1383,21 @@ pub const cpu_cortexA73 = Cpu{...@@ -1385,21 +1383,21 @@ pub const cpu_cortexA73 = Cpu{
1385 .name = "cortexA73",1383 .name = "cortexA73",
1386 .llvm_name = "cortex-a73",1384 .llvm_name = "cortex-a73",
1387 .dependencies = &[_]*const Feature {1385 .dependencies = &[_]*const Feature {
1388 &feature_trustzone,1386 &feature_hwdiv,
1389 &feature_thumb2,1387 &feature_mp,
1390 &feature_fpregs,1388 &feature_d32,
1391 &feature_dsp,1389 &feature_dsp,
1392 &feature_v7clrex,1390 &feature_thumb2,
1393 &feature_hwdivArm,1391 &feature_db,
1394 &feature_acquireRelease,
1395 &feature_aclass,1392 &feature_aclass,
1396 &feature_perfmon,1393 &feature_fpregs,
1394 &feature_trustzone,
1397 &feature_crc,1395 &feature_crc,
1398 &feature_mp,
1399 &feature_hwdiv,
1400 &feature_d32,
1401 &feature_fp16,1396 &feature_fp16,
1402 &feature_db,1397 &feature_acquireRelease,
1398 &feature_v7clrex,
1399 &feature_perfmon,
1400 &feature_hwdivArm,
1403 &feature_crypto,1401 &feature_crypto,
1404 },1402 },
1405};1403};
...@@ -1408,22 +1406,22 @@ pub const cpu_cortexA75 = Cpu{...@@ -1408,22 +1406,22 @@ pub const cpu_cortexA75 = Cpu{
1408 .name = "cortexA75",1406 .name = "cortexA75",
1409 .llvm_name = "cortex-a75",1407 .llvm_name = "cortex-a75",
1410 .dependencies = &[_]*const Feature {1408 .dependencies = &[_]*const Feature {
1411 &feature_trustzone,1409 &feature_hwdiv,
1412 &feature_thumb2,1410 &feature_mp,
1413 &feature_fpregs,1411 &feature_d32,
1414 &feature_dsp,1412 &feature_dsp,
1415 &feature_ras,1413 &feature_thumb2,
1416 &feature_v7clrex,1414 &feature_db,
1417 &feature_hwdivArm,
1418 &feature_acquireRelease,
1419 &feature_aclass,1415 &feature_aclass,
1420 &feature_perfmon,1416 &feature_fpregs,
1417 &feature_trustzone,
1421 &feature_crc,1418 &feature_crc,
1422 &feature_mp,
1423 &feature_hwdiv,
1424 &feature_d32,
1425 &feature_fp16,1419 &feature_fp16,
1426 &feature_db,1420 &feature_acquireRelease,
1421 &feature_v7clrex,
1422 &feature_perfmon,
1423 &feature_hwdivArm,
1424 &feature_ras,
1427 &feature_dotprod,1425 &feature_dotprod,
1428 },1426 },
1429};1427};
...@@ -1432,22 +1430,22 @@ pub const cpu_cortexA76 = Cpu{...@@ -1432,22 +1430,22 @@ pub const cpu_cortexA76 = Cpu{
1432 .name = "cortexA76",1430 .name = "cortexA76",
1433 .llvm_name = "cortex-a76",1431 .llvm_name = "cortex-a76",
1434 .dependencies = &[_]*const Feature {1432 .dependencies = &[_]*const Feature {
1435 &feature_trustzone,1433 &feature_hwdiv,
1436 &feature_thumb2,1434 &feature_mp,
1437 &feature_fpregs,1435 &feature_d32,
1438 &feature_dsp,1436 &feature_dsp,
1439 &feature_ras,1437 &feature_thumb2,
1440 &feature_v7clrex,1438 &feature_db,
1441 &feature_hwdivArm,
1442 &feature_acquireRelease,
1443 &feature_aclass,1439 &feature_aclass,
1444 &feature_perfmon,1440 &feature_fpregs,
1441 &feature_trustzone,
1445 &feature_crc,1442 &feature_crc,
1446 &feature_mp,
1447 &feature_hwdiv,
1448 &feature_d32,
1449 &feature_fp16,1443 &feature_fp16,
1450 &feature_db,1444 &feature_acquireRelease,
1445 &feature_v7clrex,
1446 &feature_perfmon,
1447 &feature_hwdivArm,
1448 &feature_ras,
1451 &feature_crypto,1449 &feature_crypto,
1452 &feature_dotprod,1450 &feature_dotprod,
1453 &feature_fullfp16,1451 &feature_fullfp16,
...@@ -1458,22 +1456,22 @@ pub const cpu_cortexA76ae = Cpu{...@@ -1458,22 +1456,22 @@ pub const cpu_cortexA76ae = Cpu{
1458 .name = "cortexA76ae",1456 .name = "cortexA76ae",
1459 .llvm_name = "cortex-a76ae",1457 .llvm_name = "cortex-a76ae",
1460 .dependencies = &[_]*const Feature {1458 .dependencies = &[_]*const Feature {
1461 &feature_trustzone,1459 &feature_hwdiv,
1462 &feature_thumb2,1460 &feature_mp,
1463 &feature_fpregs,1461 &feature_d32,
1464 &feature_dsp,1462 &feature_dsp,
1465 &feature_ras,1463 &feature_thumb2,
1466 &feature_v7clrex,1464 &feature_db,
1467 &feature_hwdivArm,
1468 &feature_acquireRelease,
1469 &feature_aclass,1465 &feature_aclass,
1470 &feature_perfmon,1466 &feature_fpregs,
1467 &feature_trustzone,
1471 &feature_crc,1468 &feature_crc,
1472 &feature_mp,
1473 &feature_hwdiv,
1474 &feature_d32,
1475 &feature_fp16,1469 &feature_fp16,
1476 &feature_db,1470 &feature_acquireRelease,
1471 &feature_v7clrex,
1472 &feature_perfmon,
1473 &feature_hwdivArm,
1474 &feature_ras,
1477 &feature_crypto,1475 &feature_crypto,
1478 &feature_dotprod,1476 &feature_dotprod,
1479 &feature_fullfp16,1477 &feature_fullfp16,
...@@ -1484,14 +1482,14 @@ pub const cpu_cortexA8 = Cpu{...@@ -1484,14 +1482,14 @@ pub const cpu_cortexA8 = Cpu{
1484 .name = "cortexA8",1482 .name = "cortexA8",
1485 .llvm_name = "cortex-a8",1483 .llvm_name = "cortex-a8",
1486 .dependencies = &[_]*const Feature {1484 .dependencies = &[_]*const Feature {
1485 &feature_d32,
1486 &feature_dsp,
1487 &feature_thumb2,1487 &feature_thumb2,
1488 &feature_db,
1489 &feature_aclass,
1488 &feature_fpregs,1490 &feature_fpregs,
1489 &feature_dsp,
1490 &feature_v7clrex,1491 &feature_v7clrex,
1491 &feature_aclass,
1492 &feature_perfmon,1492 &feature_perfmon,
1493 &feature_d32,
1494 &feature_db,
1495 &feature_retAddrStack,1493 &feature_retAddrStack,
1496 &feature_slowfpvmlx,1494 &feature_slowfpvmlx,
1497 &feature_vmlxHazards,1495 &feature_vmlxHazards,
...@@ -1506,14 +1504,14 @@ pub const cpu_cortexA9 = Cpu{...@@ -1506,14 +1504,14 @@ pub const cpu_cortexA9 = Cpu{
1506 .name = "cortexA9",1504 .name = "cortexA9",
1507 .llvm_name = "cortex-a9",1505 .llvm_name = "cortex-a9",
1508 .dependencies = &[_]*const Feature {1506 .dependencies = &[_]*const Feature {
1507 &feature_d32,
1508 &feature_dsp,
1509 &feature_thumb2,1509 &feature_thumb2,
1510 &feature_db,
1511 &feature_aclass,
1510 &feature_fpregs,1512 &feature_fpregs,
1511 &feature_dsp,
1512 &feature_v7clrex,1513 &feature_v7clrex,
1513 &feature_aclass,
1514 &feature_perfmon,1514 &feature_perfmon,
1515 &feature_d32,
1516 &feature_db,
1517 &feature_avoidPartialCpsr,1515 &feature_avoidPartialCpsr,
1518 &feature_vldnAlign,1516 &feature_vldnAlign,
1519 &feature_expandFpMlx,1517 &feature_expandFpMlx,
...@@ -1533,10 +1531,10 @@ pub const cpu_cortexM0 = Cpu{...@@ -1533,10 +1531,10 @@ pub const cpu_cortexM0 = Cpu{
1533 .name = "cortexM0",1531 .name = "cortexM0",
1534 .llvm_name = "cortex-m0",1532 .llvm_name = "cortex-m0",
1535 .dependencies = &[_]*const Feature {1533 .dependencies = &[_]*const Feature {
1536 &feature_noarm,
1537 &feature_strictAlign,
1538 &feature_mclass,1534 &feature_mclass,
1539 &feature_db,1535 &feature_db,
1536 &feature_noarm,
1537 &feature_strictAlign,
1540 },1538 },
1541};1539};
15421540
...@@ -1544,10 +1542,10 @@ pub const cpu_cortexM0plus = Cpu{...@@ -1544,10 +1542,10 @@ pub const cpu_cortexM0plus = Cpu{
1544 .name = "cortexM0plus",1542 .name = "cortexM0plus",
1545 .llvm_name = "cortex-m0plus",1543 .llvm_name = "cortex-m0plus",
1546 .dependencies = &[_]*const Feature {1544 .dependencies = &[_]*const Feature {
1547 &feature_noarm,
1548 &feature_strictAlign,
1549 &feature_mclass,1545 &feature_mclass,
1550 &feature_db,1546 &feature_db,
1547 &feature_noarm,
1548 &feature_strictAlign,
1551 },1549 },
1552};1550};
15531551
...@@ -1555,10 +1553,10 @@ pub const cpu_cortexM1 = Cpu{...@@ -1555,10 +1553,10 @@ pub const cpu_cortexM1 = Cpu{
1555 .name = "cortexM1",1553 .name = "cortexM1",
1556 .llvm_name = "cortex-m1",1554 .llvm_name = "cortex-m1",
1557 .dependencies = &[_]*const Feature {1555 .dependencies = &[_]*const Feature {
1558 &feature_noarm,
1559 &feature_strictAlign,
1560 &feature_mclass,1556 &feature_mclass,
1561 &feature_db,1557 &feature_db,
1558 &feature_noarm,
1559 &feature_strictAlign,
1562 },1560 },
1563};1561};
15641562
...@@ -1566,14 +1564,14 @@ pub const cpu_cortexM23 = Cpu{...@@ -1566,14 +1564,14 @@ pub const cpu_cortexM23 = Cpu{
1566 .name = "cortexM23",1564 .name = "cortexM23",
1567 .llvm_name = "cortex-m23",1565 .llvm_name = "cortex-m23",
1568 .dependencies = &[_]*const Feature {1566 .dependencies = &[_]*const Feature {
1569 &feature_noarm,1567 &feature_hwdiv,
1568 &feature_mclass,
1569 &feature_db,
1570 &feature_acquireRelease,1570 &feature_acquireRelease,
1571 &feature_v7clrex,1571 &feature_v7clrex,
1572 &feature_strictAlign,1572 &feature_noarm,
1573 &feature_mclass,
1574 &feature_hwdiv,
1575 &feature_msecext8,1573 &feature_msecext8,
1576 &feature_db,1574 &feature_strictAlign,
1577 &feature_noMovt,1575 &feature_noMovt,
1578 },1576 },
1579};1577};
...@@ -1582,13 +1580,13 @@ pub const cpu_cortexM3 = Cpu{...@@ -1582,13 +1580,13 @@ pub const cpu_cortexM3 = Cpu{
1582 .name = "cortexM3",1580 .name = "cortexM3",
1583 .llvm_name = "cortex-m3",1581 .llvm_name = "cortex-m3",
1584 .dependencies = &[_]*const Feature {1582 .dependencies = &[_]*const Feature {
1583 &feature_hwdiv,
1585 &feature_thumb2,1584 &feature_thumb2,
1586 &feature_noarm,
1587 &feature_v7clrex,
1588 &feature_perfmon,
1589 &feature_mclass,1585 &feature_mclass,
1590 &feature_hwdiv,
1591 &feature_db,1586 &feature_db,
1587 &feature_v7clrex,
1588 &feature_perfmon,
1589 &feature_noarm,
1592 &feature_noBranchPredictor,1590 &feature_noBranchPredictor,
1593 &feature_loopAlign,1591 &feature_loopAlign,
1594 &feature_useAa,1592 &feature_useAa,
...@@ -1600,18 +1598,18 @@ pub const cpu_cortexM33 = Cpu{...@@ -1600,18 +1598,18 @@ pub const cpu_cortexM33 = Cpu{
1600 .name = "cortexM33",1598 .name = "cortexM33",
1601 .llvm_name = "cortex-m33",1599 .llvm_name = "cortex-m33",
1602 .dependencies = &[_]*const Feature {1600 .dependencies = &[_]*const Feature {
1601 &feature_hwdiv,
1603 &feature_thumb2,1602 &feature_thumb2,
1604 &feature_noarm,1603 &feature_mclass,
1604 &feature_db,
1605 &feature_acquireRelease,1605 &feature_acquireRelease,
1606 &feature_v7clrex,1606 &feature_v7clrex,
1607 &feature_perfmon,1607 &feature_perfmon,
1608 &feature_mclass,1608 &feature_noarm,
1609 &feature_hwdiv,
1610 &feature_msecext8,1609 &feature_msecext8,
1611 &feature_db,
1612 &feature_dsp,1610 &feature_dsp,
1613 &feature_fpregs,
1614 &feature_fp16,1611 &feature_fp16,
1612 &feature_fpregs,
1615 &feature_fpArmv8d16sp,1613 &feature_fpArmv8d16sp,
1616 &feature_noBranchPredictor,1614 &feature_noBranchPredictor,
1617 &feature_slowfpvmlx,1615 &feature_slowfpvmlx,
...@@ -1625,18 +1623,18 @@ pub const cpu_cortexM35p = Cpu{...@@ -1625,18 +1623,18 @@ pub const cpu_cortexM35p = Cpu{
1625 .name = "cortexM35p",1623 .name = "cortexM35p",
1626 .llvm_name = "cortex-m35p",1624 .llvm_name = "cortex-m35p",
1627 .dependencies = &[_]*const Feature {1625 .dependencies = &[_]*const Feature {
1626 &feature_hwdiv,
1628 &feature_thumb2,1627 &feature_thumb2,
1629 &feature_noarm,1628 &feature_mclass,
1629 &feature_db,
1630 &feature_acquireRelease,1630 &feature_acquireRelease,
1631 &feature_v7clrex,1631 &feature_v7clrex,
1632 &feature_perfmon,1632 &feature_perfmon,
1633 &feature_mclass,1633 &feature_noarm,
1634 &feature_hwdiv,
1635 &feature_msecext8,1634 &feature_msecext8,
1636 &feature_db,
1637 &feature_dsp,1635 &feature_dsp,
1638 &feature_fpregs,
1639 &feature_fp16,1636 &feature_fp16,
1637 &feature_fpregs,
1640 &feature_fpArmv8d16sp,1638 &feature_fpArmv8d16sp,
1641 &feature_noBranchPredictor,1639 &feature_noBranchPredictor,
1642 &feature_slowfpvmlx,1640 &feature_slowfpvmlx,
...@@ -1650,21 +1648,21 @@ pub const cpu_cortexM4 = Cpu{...@@ -1650,21 +1648,21 @@ pub const cpu_cortexM4 = Cpu{
1650 .name = "cortexM4",1648 .name = "cortexM4",
1651 .llvm_name = "cortex-m4",1649 .llvm_name = "cortex-m4",
1652 .dependencies = &[_]*const Feature {1650 .dependencies = &[_]*const Feature {
1653 &feature_thumb2,1651 &feature_hwdiv,
1654 &feature_dsp,1652 &feature_dsp,
1655 &feature_noarm,1653 &feature_thumb2,
1656 &feature_v7clrex,
1657 &feature_perfmon,
1658 &feature_mclass,1654 &feature_mclass,
1659 &feature_hwdiv,
1660 &feature_db,1655 &feature_db,
1656 &feature_v7clrex,
1657 &feature_perfmon,
1658 &feature_noarm,
1661 &feature_noBranchPredictor,1659 &feature_noBranchPredictor,
1662 &feature_slowfpvmlx,1660 &feature_slowfpvmlx,
1663 &feature_loopAlign,1661 &feature_loopAlign,
1664 &feature_useAa,1662 &feature_useAa,
1665 &feature_useMisched,1663 &feature_useMisched,
1666 &feature_fpregs,
1667 &feature_fp16,1664 &feature_fp16,
1665 &feature_fpregs,
1668 &feature_vfp4d16sp,1666 &feature_vfp4d16sp,
1669 },1667 },
1670};1668};
...@@ -1673,16 +1671,16 @@ pub const cpu_cortexM7 = Cpu{...@@ -1673,16 +1671,16 @@ pub const cpu_cortexM7 = Cpu{
1673 .name = "cortexM7",1671 .name = "cortexM7",
1674 .llvm_name = "cortex-m7",1672 .llvm_name = "cortex-m7",
1675 .dependencies = &[_]*const Feature {1673 .dependencies = &[_]*const Feature {
1676 &feature_thumb2,1674 &feature_hwdiv,
1677 &feature_dsp,1675 &feature_dsp,
1678 &feature_noarm,1676 &feature_thumb2,
1679 &feature_v7clrex,
1680 &feature_perfmon,
1681 &feature_mclass,1677 &feature_mclass,
1682 &feature_hwdiv,
1683 &feature_db,1678 &feature_db,
1684 &feature_fpregs,1679 &feature_v7clrex,
1680 &feature_perfmon,
1681 &feature_noarm,
1685 &feature_fp16,1682 &feature_fp16,
1683 &feature_fpregs,
1686 &feature_fpArmv8d16,1684 &feature_fpArmv8d16,
1687 },1685 },
1688};1686};
...@@ -1691,13 +1689,13 @@ pub const cpu_cortexR4 = Cpu{...@@ -1691,13 +1689,13 @@ pub const cpu_cortexR4 = Cpu{
1691 .name = "cortexR4",1689 .name = "cortexR4",
1692 .llvm_name = "cortex-r4",1690 .llvm_name = "cortex-r4",
1693 .dependencies = &[_]*const Feature {1691 .dependencies = &[_]*const Feature {
1694 &feature_thumb2,1692 &feature_hwdiv,
1695 &feature_dsp,1693 &feature_dsp,
1696 &feature_rclass,1694 &feature_rclass,
1695 &feature_thumb2,
1696 &feature_db,
1697 &feature_v7clrex,1697 &feature_v7clrex,
1698 &feature_perfmon,1698 &feature_perfmon,
1699 &feature_hwdiv,
1700 &feature_db,
1701 &feature_avoidPartialCpsr,1699 &feature_avoidPartialCpsr,
1702 &feature_retAddrStack,1700 &feature_retAddrStack,
1703 },1701 },
...@@ -1707,13 +1705,13 @@ pub const cpu_cortexR4f = Cpu{...@@ -1707,13 +1705,13 @@ pub const cpu_cortexR4f = Cpu{
1707 .name = "cortexR4f",1705 .name = "cortexR4f",
1708 .llvm_name = "cortex-r4f",1706 .llvm_name = "cortex-r4f",
1709 .dependencies = &[_]*const Feature {1707 .dependencies = &[_]*const Feature {
1710 &feature_thumb2,1708 &feature_hwdiv,
1711 &feature_dsp,1709 &feature_dsp,
1712 &feature_rclass,1710 &feature_rclass,
1711 &feature_thumb2,
1712 &feature_db,
1713 &feature_v7clrex,1713 &feature_v7clrex,
1714 &feature_perfmon,1714 &feature_perfmon,
1715 &feature_hwdiv,
1716 &feature_db,
1717 &feature_avoidPartialCpsr,1715 &feature_avoidPartialCpsr,
1718 &feature_retAddrStack,1716 &feature_retAddrStack,
1719 &feature_slowfpvmlx,1717 &feature_slowfpvmlx,
...@@ -1727,13 +1725,13 @@ pub const cpu_cortexR5 = Cpu{...@@ -1727,13 +1725,13 @@ pub const cpu_cortexR5 = Cpu{
1727 .name = "cortexR5",1725 .name = "cortexR5",
1728 .llvm_name = "cortex-r5",1726 .llvm_name = "cortex-r5",
1729 .dependencies = &[_]*const Feature {1727 .dependencies = &[_]*const Feature {
1730 &feature_thumb2,1728 &feature_hwdiv,
1731 &feature_dsp,1729 &feature_dsp,
1732 &feature_rclass,1730 &feature_rclass,
1731 &feature_thumb2,
1732 &feature_db,
1733 &feature_v7clrex,1733 &feature_v7clrex,
1734 &feature_perfmon,1734 &feature_perfmon,
1735 &feature_hwdiv,
1736 &feature_db,
1737 &feature_avoidPartialCpsr,1735 &feature_avoidPartialCpsr,
1738 &feature_hwdivArm,1736 &feature_hwdivArm,
1739 &feature_retAddrStack,1737 &feature_retAddrStack,
...@@ -1748,21 +1746,21 @@ pub const cpu_cortexR52 = Cpu{...@@ -1748,21 +1746,21 @@ pub const cpu_cortexR52 = Cpu{
1748 .name = "cortexR52",1746 .name = "cortexR52",
1749 .llvm_name = "cortex-r52",1747 .llvm_name = "cortex-r52",
1750 .dependencies = &[_]*const Feature {1748 .dependencies = &[_]*const Feature {
1751 &feature_thumb2,1749 &feature_hwdiv,
1752 &feature_fpregs,
1753 &feature_dsp,
1754 &feature_dfb,1750 &feature_dfb,
1755 &feature_rclass,
1756 &feature_v7clrex,
1757 &feature_hwdivArm,
1758 &feature_acquireRelease,
1759 &feature_perfmon,
1760 &feature_crc,
1761 &feature_mp,1751 &feature_mp,
1762 &feature_hwdiv,
1763 &feature_d32,1752 &feature_d32,
1764 &feature_fp16,1753 &feature_dsp,
1754 &feature_rclass,
1755 &feature_thumb2,
1765 &feature_db,1756 &feature_db,
1757 &feature_fpregs,
1758 &feature_crc,
1759 &feature_fp16,
1760 &feature_acquireRelease,
1761 &feature_v7clrex,
1762 &feature_perfmon,
1763 &feature_hwdivArm,
1766 &feature_fpao,1764 &feature_fpao,
1767 &feature_useAa,1765 &feature_useAa,
1768 &feature_useMisched,1766 &feature_useMisched,
...@@ -1773,13 +1771,13 @@ pub const cpu_cortexR7 = Cpu{...@@ -1773,13 +1771,13 @@ pub const cpu_cortexR7 = Cpu{
1773 .name = "cortexR7",1771 .name = "cortexR7",
1774 .llvm_name = "cortex-r7",1772 .llvm_name = "cortex-r7",
1775 .dependencies = &[_]*const Feature {1773 .dependencies = &[_]*const Feature {
1776 &feature_thumb2,1774 &feature_hwdiv,
1777 &feature_dsp,1775 &feature_dsp,
1778 &feature_rclass,1776 &feature_rclass,
1777 &feature_thumb2,
1778 &feature_db,
1779 &feature_v7clrex,1779 &feature_v7clrex,
1780 &feature_perfmon,1780 &feature_perfmon,
1781 &feature_hwdiv,
1782 &feature_db,
1783 &feature_avoidPartialCpsr,1781 &feature_avoidPartialCpsr,
1784 &feature_fp16,1782 &feature_fp16,
1785 &feature_hwdivArm,1783 &feature_hwdivArm,
...@@ -1796,13 +1794,13 @@ pub const cpu_cortexR8 = Cpu{...@@ -1796,13 +1794,13 @@ pub const cpu_cortexR8 = Cpu{
1796 .name = "cortexR8",1794 .name = "cortexR8",
1797 .llvm_name = "cortex-r8",1795 .llvm_name = "cortex-r8",
1798 .dependencies = &[_]*const Feature {1796 .dependencies = &[_]*const Feature {
1799 &feature_thumb2,1797 &feature_hwdiv,
1800 &feature_dsp,1798 &feature_dsp,
1801 &feature_rclass,1799 &feature_rclass,
1800 &feature_thumb2,
1801 &feature_db,
1802 &feature_v7clrex,1802 &feature_v7clrex,
1803 &feature_perfmon,1803 &feature_perfmon,
1804 &feature_hwdiv,
1805 &feature_db,
1806 &feature_avoidPartialCpsr,1804 &feature_avoidPartialCpsr,
1807 &feature_fp16,1805 &feature_fp16,
1808 &feature_hwdivArm,1806 &feature_hwdivArm,
...@@ -1819,21 +1817,21 @@ pub const cpu_cyclone = Cpu{...@@ -1819,21 +1817,21 @@ pub const cpu_cyclone = Cpu{
1819 .name = "cyclone",1817 .name = "cyclone",
1820 .llvm_name = "cyclone",1818 .llvm_name = "cyclone",
1821 .dependencies = &[_]*const Feature {1819 .dependencies = &[_]*const Feature {
1822 &feature_trustzone,1820 &feature_hwdiv,
1823 &feature_thumb2,1821 &feature_mp,
1824 &feature_fpregs,1822 &feature_d32,
1825 &feature_dsp,1823 &feature_dsp,
1826 &feature_v7clrex,1824 &feature_thumb2,
1827 &feature_hwdivArm,1825 &feature_db,
1828 &feature_acquireRelease,
1829 &feature_aclass,1826 &feature_aclass,
1830 &feature_perfmon,1827 &feature_fpregs,
1828 &feature_trustzone,
1831 &feature_crc,1829 &feature_crc,
1832 &feature_mp,
1833 &feature_hwdiv,
1834 &feature_d32,
1835 &feature_fp16,1830 &feature_fp16,
1836 &feature_db,1831 &feature_acquireRelease,
1832 &feature_v7clrex,
1833 &feature_perfmon,
1834 &feature_hwdivArm,
1837 &feature_avoidMovsShop,1835 &feature_avoidMovsShop,
1838 &feature_avoidPartialCpsr,1836 &feature_avoidPartialCpsr,
1839 &feature_crypto,1837 &feature_crypto,
...@@ -1858,34 +1856,34 @@ pub const cpu_exynosM1 = Cpu{...@@ -1858,34 +1856,34 @@ pub const cpu_exynosM1 = Cpu{
1858 .name = "exynosM1",1856 .name = "exynosM1",
1859 .llvm_name = "exynos-m1",1857 .llvm_name = "exynos-m1",
1860 .dependencies = &[_]*const Feature {1858 .dependencies = &[_]*const Feature {
1861 &feature_trustzone,1859 &feature_hwdiv,
1862 &feature_thumb2,1860 &feature_mp,
1863 &feature_fpregs,1861 &feature_d32,
1864 &feature_dsp,1862 &feature_dsp,
1865 &feature_v7clrex,1863 &feature_thumb2,
1866 &feature_hwdivArm,1864 &feature_db,
1867 &feature_acquireRelease,
1868 &feature_aclass,1865 &feature_aclass,
1869 &feature_perfmon,1866 &feature_fpregs,
1867 &feature_trustzone,
1870 &feature_crc,1868 &feature_crc,
1871 &feature_mp,
1872 &feature_hwdiv,
1873 &feature_d32,
1874 &feature_fp16,1869 &feature_fp16,
1875 &feature_db,1870 &feature_acquireRelease,
1876 &feature_expandFpMlx,1871 &feature_v7clrex,
1872 &feature_perfmon,
1873 &feature_hwdivArm,
1874 &feature_fuseLiterals,
1875 &feature_useAa,
1876 &feature_wideStrideVfp,
1877 &feature_slowVgetlni32,1877 &feature_slowVgetlni32,
1878 &feature_slowVdup32,
1878 &feature_profUnpr,1879 &feature_profUnpr,
1879 &feature_slowfpvmlx,
1880 &feature_slowFpBrcc,1880 &feature_slowFpBrcc,
1881 &feature_useAa,
1882 &feature_dontWidenVmovs,
1883 &feature_retAddrStack,1881 &feature_retAddrStack,
1884 &feature_fuseLiterals,
1885 &feature_wideStrideVfp,
1886 &feature_zcz,1882 &feature_zcz,
1883 &feature_slowfpvmlx,
1884 &feature_expandFpMlx,
1887 &feature_fuseAes,1885 &feature_fuseAes,
1888 &feature_slowVdup32,1886 &feature_dontWidenVmovs,
1889 },1887 },
1890};1888};
18911889
...@@ -1893,34 +1891,34 @@ pub const cpu_exynosM2 = Cpu{...@@ -1893,34 +1891,34 @@ pub const cpu_exynosM2 = Cpu{
1893 .name = "exynosM2",1891 .name = "exynosM2",
1894 .llvm_name = "exynos-m2",1892 .llvm_name = "exynos-m2",
1895 .dependencies = &[_]*const Feature {1893 .dependencies = &[_]*const Feature {
1896 &feature_trustzone,1894 &feature_hwdiv,
1897 &feature_thumb2,1895 &feature_mp,
1898 &feature_fpregs,1896 &feature_d32,
1899 &feature_dsp,1897 &feature_dsp,
1900 &feature_v7clrex,1898 &feature_thumb2,
1901 &feature_hwdivArm,1899 &feature_db,
1902 &feature_acquireRelease,
1903 &feature_aclass,1900 &feature_aclass,
1904 &feature_perfmon,1901 &feature_fpregs,
1902 &feature_trustzone,
1905 &feature_crc,1903 &feature_crc,
1906 &feature_mp,
1907 &feature_hwdiv,
1908 &feature_d32,
1909 &feature_fp16,1904 &feature_fp16,
1910 &feature_db,1905 &feature_acquireRelease,
1911 &feature_expandFpMlx,1906 &feature_v7clrex,
1907 &feature_perfmon,
1908 &feature_hwdivArm,
1909 &feature_fuseLiterals,
1910 &feature_useAa,
1911 &feature_wideStrideVfp,
1912 &feature_slowVgetlni32,1912 &feature_slowVgetlni32,
1913 &feature_slowVdup32,
1913 &feature_profUnpr,1914 &feature_profUnpr,
1914 &feature_slowfpvmlx,
1915 &feature_slowFpBrcc,1915 &feature_slowFpBrcc,
1916 &feature_useAa,
1917 &feature_dontWidenVmovs,
1918 &feature_retAddrStack,1916 &feature_retAddrStack,
1919 &feature_fuseLiterals,
1920 &feature_wideStrideVfp,
1921 &feature_zcz,1917 &feature_zcz,
1918 &feature_slowfpvmlx,
1919 &feature_expandFpMlx,
1922 &feature_fuseAes,1920 &feature_fuseAes,
1923 &feature_slowVdup32,1921 &feature_dontWidenVmovs,
1924 },1922 },
1925};1923};
19261924
...@@ -1928,34 +1926,34 @@ pub const cpu_exynosM3 = Cpu{...@@ -1928,34 +1926,34 @@ pub const cpu_exynosM3 = Cpu{
1928 .name = "exynosM3",1926 .name = "exynosM3",
1929 .llvm_name = "exynos-m3",1927 .llvm_name = "exynos-m3",
1930 .dependencies = &[_]*const Feature {1928 .dependencies = &[_]*const Feature {
1931 &feature_trustzone,1929 &feature_hwdiv,
1932 &feature_thumb2,1930 &feature_mp,
1933 &feature_fpregs,1931 &feature_d32,
1934 &feature_dsp,1932 &feature_dsp,
1935 &feature_v7clrex,1933 &feature_thumb2,
1936 &feature_hwdivArm,1934 &feature_db,
1937 &feature_acquireRelease,
1938 &feature_aclass,1935 &feature_aclass,
1939 &feature_perfmon,1936 &feature_fpregs,
1937 &feature_trustzone,
1940 &feature_crc,1938 &feature_crc,
1941 &feature_mp,
1942 &feature_hwdiv,
1943 &feature_d32,
1944 &feature_fp16,1939 &feature_fp16,
1945 &feature_db,1940 &feature_acquireRelease,
1946 &feature_expandFpMlx,1941 &feature_v7clrex,
1942 &feature_perfmon,
1943 &feature_hwdivArm,
1944 &feature_fuseLiterals,
1945 &feature_useAa,
1946 &feature_wideStrideVfp,
1947 &feature_slowVgetlni32,1947 &feature_slowVgetlni32,
1948 &feature_slowVdup32,
1948 &feature_profUnpr,1949 &feature_profUnpr,
1949 &feature_slowfpvmlx,
1950 &feature_slowFpBrcc,1950 &feature_slowFpBrcc,
1951 &feature_useAa,
1952 &feature_dontWidenVmovs,
1953 &feature_retAddrStack,1951 &feature_retAddrStack,
1954 &feature_fuseLiterals,
1955 &feature_wideStrideVfp,
1956 &feature_zcz,1952 &feature_zcz,
1953 &feature_slowfpvmlx,
1954 &feature_expandFpMlx,
1957 &feature_fuseAes,1955 &feature_fuseAes,
1958 &feature_slowVdup32,1956 &feature_dontWidenVmovs,
1959 },1957 },
1960};1958};
19611959
...@@ -1963,37 +1961,37 @@ pub const cpu_exynosM4 = Cpu{...@@ -1963,37 +1961,37 @@ pub const cpu_exynosM4 = Cpu{
1963 .name = "exynosM4",1961 .name = "exynosM4",
1964 .llvm_name = "exynos-m4",1962 .llvm_name = "exynos-m4",
1965 .dependencies = &[_]*const Feature {1963 .dependencies = &[_]*const Feature {
1966 &feature_trustzone,1964 &feature_hwdiv,
1967 &feature_thumb2,1965 &feature_mp,
1968 &feature_fpregs,1966 &feature_d32,
1969 &feature_dsp,1967 &feature_dsp,
1970 &feature_ras,1968 &feature_thumb2,
1971 &feature_v7clrex,1969 &feature_db,
1972 &feature_hwdivArm,
1973 &feature_acquireRelease,
1974 &feature_aclass,1970 &feature_aclass,
1975 &feature_perfmon,1971 &feature_fpregs,
1972 &feature_trustzone,
1976 &feature_crc,1973 &feature_crc,
1977 &feature_mp,
1978 &feature_hwdiv,
1979 &feature_d32,
1980 &feature_fp16,1974 &feature_fp16,
1981 &feature_db,1975 &feature_acquireRelease,
1976 &feature_v7clrex,
1977 &feature_perfmon,
1978 &feature_hwdivArm,
1979 &feature_ras,
1982 &feature_dotprod,1980 &feature_dotprod,
1983 &feature_fullfp16,1981 &feature_fullfp16,
1984 &feature_expandFpMlx,1982 &feature_fuseLiterals,
1983 &feature_useAa,
1984 &feature_wideStrideVfp,
1985 &feature_slowVgetlni32,1985 &feature_slowVgetlni32,
1986 &feature_slowVdup32,
1986 &feature_profUnpr,1987 &feature_profUnpr,
1987 &feature_slowfpvmlx,
1988 &feature_slowFpBrcc,1988 &feature_slowFpBrcc,
1989 &feature_useAa,
1990 &feature_dontWidenVmovs,
1991 &feature_retAddrStack,1989 &feature_retAddrStack,
1992 &feature_fuseLiterals,
1993 &feature_wideStrideVfp,
1994 &feature_zcz,1990 &feature_zcz,
1991 &feature_slowfpvmlx,
1992 &feature_expandFpMlx,
1995 &feature_fuseAes,1993 &feature_fuseAes,
1996 &feature_slowVdup32,1994 &feature_dontWidenVmovs,
1997 },1995 },
1998};1996};
19991997
...@@ -2001,37 +1999,37 @@ pub const cpu_exynosM5 = Cpu{...@@ -2001,37 +1999,37 @@ pub const cpu_exynosM5 = Cpu{
2001 .name = "exynosM5",1999 .name = "exynosM5",
2002 .llvm_name = "exynos-m5",2000 .llvm_name = "exynos-m5",
2003 .dependencies = &[_]*const Feature {2001 .dependencies = &[_]*const Feature {
2004 &feature_trustzone,2002 &feature_hwdiv,
2005 &feature_thumb2,2003 &feature_mp,
2006 &feature_fpregs,2004 &feature_d32,
2007 &feature_dsp,2005 &feature_dsp,
2008 &feature_ras,2006 &feature_thumb2,
2009 &feature_v7clrex,2007 &feature_db,
2010 &feature_hwdivArm,
2011 &feature_acquireRelease,
2012 &feature_aclass,2008 &feature_aclass,
2013 &feature_perfmon,2009 &feature_fpregs,
2010 &feature_trustzone,
2014 &feature_crc,2011 &feature_crc,
2015 &feature_mp,
2016 &feature_hwdiv,
2017 &feature_d32,
2018 &feature_fp16,2012 &feature_fp16,
2019 &feature_db,2013 &feature_acquireRelease,
2014 &feature_v7clrex,
2015 &feature_perfmon,
2016 &feature_hwdivArm,
2017 &feature_ras,
2020 &feature_dotprod,2018 &feature_dotprod,
2021 &feature_fullfp16,2019 &feature_fullfp16,
2022 &feature_expandFpMlx,2020 &feature_fuseLiterals,
2021 &feature_useAa,
2022 &feature_wideStrideVfp,
2023 &feature_slowVgetlni32,2023 &feature_slowVgetlni32,
2024 &feature_slowVdup32,
2024 &feature_profUnpr,2025 &feature_profUnpr,
2025 &feature_slowfpvmlx,
2026 &feature_slowFpBrcc,2026 &feature_slowFpBrcc,
2027 &feature_useAa,
2028 &feature_dontWidenVmovs,
2029 &feature_retAddrStack,2027 &feature_retAddrStack,
2030 &feature_fuseLiterals,
2031 &feature_wideStrideVfp,
2032 &feature_zcz,2028 &feature_zcz,
2029 &feature_slowfpvmlx,
2030 &feature_expandFpMlx,
2033 &feature_fuseAes,2031 &feature_fuseAes,
2034 &feature_slowVdup32,2032 &feature_dontWidenVmovs,
2035 },2033 },
2036};2034};
20372035
...@@ -2053,14 +2051,14 @@ pub const cpu_krait = Cpu{...@@ -2053,14 +2051,14 @@ pub const cpu_krait = Cpu{
2053 .name = "krait",2051 .name = "krait",
2054 .llvm_name = "krait",2052 .llvm_name = "krait",
2055 .dependencies = &[_]*const Feature {2053 .dependencies = &[_]*const Feature {
2054 &feature_d32,
2055 &feature_dsp,
2056 &feature_thumb2,2056 &feature_thumb2,
2057 &feature_db,
2058 &feature_aclass,
2057 &feature_fpregs,2059 &feature_fpregs,
2058 &feature_dsp,
2059 &feature_v7clrex,2060 &feature_v7clrex,
2060 &feature_aclass,
2061 &feature_perfmon,2061 &feature_perfmon,
2062 &feature_d32,
2063 &feature_db,
2064 &feature_avoidPartialCpsr,2062 &feature_avoidPartialCpsr,
2065 &feature_vldnAlign,2063 &feature_vldnAlign,
2066 &feature_fp16,2064 &feature_fp16,
...@@ -2077,21 +2075,21 @@ pub const cpu_kryo = Cpu{...@@ -2077,21 +2075,21 @@ pub const cpu_kryo = Cpu{
2077 .name = "kryo",2075 .name = "kryo",
2078 .llvm_name = "kryo",2076 .llvm_name = "kryo",
2079 .dependencies = &[_]*const Feature {2077 .dependencies = &[_]*const Feature {
2080 &feature_trustzone,2078 &feature_hwdiv,
2081 &feature_thumb2,2079 &feature_mp,
2082 &feature_fpregs,2080 &feature_d32,
2083 &feature_dsp,2081 &feature_dsp,
2084 &feature_v7clrex,2082 &feature_thumb2,
2085 &feature_hwdivArm,2083 &feature_db,
2086 &feature_acquireRelease,
2087 &feature_aclass,2084 &feature_aclass,
2088 &feature_perfmon,2085 &feature_fpregs,
2086 &feature_trustzone,
2089 &feature_crc,2087 &feature_crc,
2090 &feature_mp,
2091 &feature_hwdiv,
2092 &feature_d32,
2093 &feature_fp16,2088 &feature_fp16,
2094 &feature_db,2089 &feature_acquireRelease,
2090 &feature_v7clrex,
2091 &feature_perfmon,
2092 &feature_hwdivArm,
2095 &feature_crypto,2093 &feature_crypto,
2096 },2094 },
2097};2095};
...@@ -2101,6 +2099,7 @@ pub const cpu_mpcore = Cpu{...@@ -2101,6 +2099,7 @@ pub const cpu_mpcore = Cpu{
2101 .llvm_name = "mpcore",2099 .llvm_name = "mpcore",
2102 .dependencies = &[_]*const Feature {2100 .dependencies = &[_]*const Feature {
2103 &feature_slowfpvmlx,2101 &feature_slowfpvmlx,
2102 &feature_d32,
2104 &feature_fpregs,2103 &feature_fpregs,
2105 &feature_vfp2,2104 &feature_vfp2,
2106 },2105 },
...@@ -2113,39 +2112,14 @@ pub const cpu_mpcorenovfp = Cpu{...@@ -2113,39 +2112,14 @@ pub const cpu_mpcorenovfp = Cpu{
2113 },2112 },
2114};2113};
21152114
2116pub const cpu_neoverseN1 = Cpu{
2117 .name = "neoverseN1",
2118 .llvm_name = "neoverse-n1",
2119 .dependencies = &[_]*const Feature {
2120 &feature_trustzone,
2121 &feature_thumb2,
2122 &feature_fpregs,
2123 &feature_dsp,
2124 &feature_ras,
2125 &feature_v7clrex,
2126 &feature_hwdivArm,
2127 &feature_acquireRelease,
2128 &feature_aclass,
2129 &feature_perfmon,
2130 &feature_crc,
2131 &feature_mp,
2132 &feature_hwdiv,
2133 &feature_d32,
2134 &feature_fp16,
2135 &feature_db,
2136 &feature_crypto,
2137 &feature_dotprod,
2138 },
2139};
2140
2141pub const cpu_sc000 = Cpu{2115pub const cpu_sc000 = Cpu{
2142 .name = "sc000",2116 .name = "sc000",
2143 .llvm_name = "sc000",2117 .llvm_name = "sc000",
2144 .dependencies = &[_]*const Feature {2118 .dependencies = &[_]*const Feature {
2145 &feature_noarm,
2146 &feature_strictAlign,
2147 &feature_mclass,2119 &feature_mclass,
2148 &feature_db,2120 &feature_db,
2121 &feature_noarm,
2122 &feature_strictAlign,
2149 },2123 },
2150};2124};
21512125
...@@ -2153,13 +2127,13 @@ pub const cpu_sc300 = Cpu{...@@ -2153,13 +2127,13 @@ pub const cpu_sc300 = Cpu{
2153 .name = "sc300",2127 .name = "sc300",
2154 .llvm_name = "sc300",2128 .llvm_name = "sc300",
2155 .dependencies = &[_]*const Feature {2129 .dependencies = &[_]*const Feature {
2130 &feature_hwdiv,
2156 &feature_thumb2,2131 &feature_thumb2,
2157 &feature_noarm,
2158 &feature_v7clrex,
2159 &feature_perfmon,
2160 &feature_mclass,2132 &feature_mclass,
2161 &feature_hwdiv,
2162 &feature_db,2133 &feature_db,
2134 &feature_v7clrex,
2135 &feature_perfmon,
2136 &feature_noarm,
2163 &feature_noBranchPredictor,2137 &feature_noBranchPredictor,
2164 &feature_useAa,2138 &feature_useAa,
2165 &feature_useMisched,2139 &feature_useMisched,
...@@ -2198,14 +2172,14 @@ pub const cpu_swift = Cpu{...@@ -2198,14 +2172,14 @@ pub const cpu_swift = Cpu{
2198 .name = "swift",2172 .name = "swift",
2199 .llvm_name = "swift",2173 .llvm_name = "swift",
2200 .dependencies = &[_]*const Feature {2174 .dependencies = &[_]*const Feature {
2175 &feature_d32,
2176 &feature_dsp,
2201 &feature_thumb2,2177 &feature_thumb2,
2178 &feature_db,
2179 &feature_aclass,
2202 &feature_fpregs,2180 &feature_fpregs,
2203 &feature_dsp,
2204 &feature_v7clrex,2181 &feature_v7clrex,
2205 &feature_aclass,
2206 &feature_perfmon,2182 &feature_perfmon,
2207 &feature_d32,
2208 &feature_db,
2209 &feature_avoidMovsShop,2183 &feature_avoidMovsShop,
2210 &feature_avoidPartialCpsr,2184 &feature_avoidPartialCpsr,
2211 &feature_hwdivArm,2185 &feature_hwdivArm,
...@@ -2311,7 +2285,6 @@ pub const cpus = &[_]*const Cpu {...@@ -2311,7 +2285,6 @@ pub const cpus = &[_]*const Cpu {
2311 &cpu_kryo,2285 &cpu_kryo,
2312 &cpu_mpcore,2286 &cpu_mpcore,
2313 &cpu_mpcorenovfp,2287 &cpu_mpcorenovfp,
2314 &cpu_neoverseN1,
2315 &cpu_sc000,2288 &cpu_sc000,
2316 &cpu_sc300,2289 &cpu_sc300,
2317 &cpu_strongarm,2290 &cpu_strongarm,
lib/std/target/avr.zig+928-928
...@@ -170,12 +170,12 @@ pub const cpu_at43usb320 = Cpu{...@@ -170,12 +170,12 @@ pub const cpu_at43usb320 = Cpu{
170 .name = "at43usb320",170 .name = "at43usb320",
171 .llvm_name = "at43usb320",171 .llvm_name = "at43usb320",
172 .dependencies = &[_]*const Feature {172 .dependencies = &[_]*const Feature {
173 &feature_jmpcall,
173 &feature_lpm,174 &feature_lpm,
175 &feature_elpm,
174 &feature_sram,176 &feature_sram,
175 &feature_addsubiw,177 &feature_addsubiw,
176 &feature_elpm,
177 &feature_ijmpcall,178 &feature_ijmpcall,
178 &feature_jmpcall,
179 },179 },
180};180};
181181
...@@ -183,11 +183,11 @@ pub const cpu_at43usb355 = Cpu{...@@ -183,11 +183,11 @@ pub const cpu_at43usb355 = Cpu{
183 .name = "at43usb355",183 .name = "at43usb355",
184 .llvm_name = "at43usb355",184 .llvm_name = "at43usb355",
185 .dependencies = &[_]*const Feature {185 .dependencies = &[_]*const Feature {
186 &feature_jmpcall,
186 &feature_lpm,187 &feature_lpm,
187 &feature_sram,188 &feature_sram,
188 &feature_addsubiw,189 &feature_addsubiw,
189 &feature_ijmpcall,190 &feature_ijmpcall,
190 &feature_jmpcall,
191 },191 },
192};192};
193193
...@@ -195,11 +195,11 @@ pub const cpu_at76c711 = Cpu{...@@ -195,11 +195,11 @@ pub const cpu_at76c711 = Cpu{
195 .name = "at76c711",195 .name = "at76c711",
196 .llvm_name = "at76c711",196 .llvm_name = "at76c711",
197 .dependencies = &[_]*const Feature {197 .dependencies = &[_]*const Feature {
198 &feature_jmpcall,
198 &feature_lpm,199 &feature_lpm,
199 &feature_sram,200 &feature_sram,
200 &feature_addsubiw,201 &feature_addsubiw,
201 &feature_ijmpcall,202 &feature_ijmpcall,
202 &feature_jmpcall,
203 },203 },
204};204};
205205
...@@ -231,17 +231,17 @@ pub const cpu_at90can128 = Cpu{...@@ -231,17 +231,17 @@ pub const cpu_at90can128 = Cpu{
231 .name = "at90can128",231 .name = "at90can128",
232 .llvm_name = "at90can128",232 .llvm_name = "at90can128",
233 .dependencies = &[_]*const Feature {233 .dependencies = &[_]*const Feature {
234 &feature_lpmx,
235 &feature_jmpcall,
234 &feature_lpm,236 &feature_lpm,
237 &feature_elpm,
235 &feature_sram,238 &feature_sram,
236 &feature_addsubiw,239 &feature_addsubiw,
240 &feature_elpmx,
237 &feature_movw,241 &feature_movw,
238 &feature_elpm,
239 &feature_break,
240 &feature_ijmpcall,242 &feature_ijmpcall,
241 &feature_lpmx,243 &feature_break,
242 &feature_jmpcall,
243 &feature_spm,244 &feature_spm,
244 &feature_elpmx,
245 &feature_mul,245 &feature_mul,
246 },246 },
247};247};
...@@ -250,14 +250,14 @@ pub const cpu_at90can32 = Cpu{...@@ -250,14 +250,14 @@ pub const cpu_at90can32 = Cpu{
250 .name = "at90can32",250 .name = "at90can32",
251 .llvm_name = "at90can32",251 .llvm_name = "at90can32",
252 .dependencies = &[_]*const Feature {252 .dependencies = &[_]*const Feature {
253 &feature_lpmx,
254 &feature_jmpcall,
253 &feature_lpm,255 &feature_lpm,
254 &feature_sram,256 &feature_sram,
255 &feature_addsubiw,257 &feature_addsubiw,
256 &feature_movw,258 &feature_movw,
257 &feature_break,
258 &feature_ijmpcall,259 &feature_ijmpcall,
259 &feature_lpmx,260 &feature_break,
260 &feature_jmpcall,
261 &feature_spm,261 &feature_spm,
262 &feature_mul,262 &feature_mul,
263 },263 },
...@@ -267,14 +267,14 @@ pub const cpu_at90can64 = Cpu{...@@ -267,14 +267,14 @@ pub const cpu_at90can64 = Cpu{
267 .name = "at90can64",267 .name = "at90can64",
268 .llvm_name = "at90can64",268 .llvm_name = "at90can64",
269 .dependencies = &[_]*const Feature {269 .dependencies = &[_]*const Feature {
270 &feature_lpmx,
271 &feature_jmpcall,
270 &feature_lpm,272 &feature_lpm,
271 &feature_sram,273 &feature_sram,
272 &feature_addsubiw,274 &feature_addsubiw,
273 &feature_movw,275 &feature_movw,
274 &feature_break,
275 &feature_ijmpcall,276 &feature_ijmpcall,
276 &feature_lpmx,277 &feature_break,
277 &feature_jmpcall,
278 &feature_spm,278 &feature_spm,
279 &feature_mul,279 &feature_mul,
280 },280 },
...@@ -284,13 +284,13 @@ pub const cpu_at90pwm1 = Cpu{...@@ -284,13 +284,13 @@ pub const cpu_at90pwm1 = Cpu{
284 .name = "at90pwm1",284 .name = "at90pwm1",
285 .llvm_name = "at90pwm1",285 .llvm_name = "at90pwm1",
286 .dependencies = &[_]*const Feature {286 .dependencies = &[_]*const Feature {
287 &feature_lpmx,
287 &feature_lpm,288 &feature_lpm,
288 &feature_sram,289 &feature_sram,
289 &feature_addsubiw,290 &feature_addsubiw,
290 &feature_movw,291 &feature_movw,
291 &feature_break,
292 &feature_ijmpcall,292 &feature_ijmpcall,
293 &feature_lpmx,293 &feature_break,
294 &feature_spm,294 &feature_spm,
295 &feature_mul,295 &feature_mul,
296 },296 },
...@@ -300,14 +300,14 @@ pub const cpu_at90pwm161 = Cpu{...@@ -300,14 +300,14 @@ pub const cpu_at90pwm161 = Cpu{
300 .name = "at90pwm161",300 .name = "at90pwm161",
301 .llvm_name = "at90pwm161",301 .llvm_name = "at90pwm161",
302 .dependencies = &[_]*const Feature {302 .dependencies = &[_]*const Feature {
303 &feature_lpmx,
304 &feature_jmpcall,
303 &feature_lpm,305 &feature_lpm,
304 &feature_sram,306 &feature_sram,
305 &feature_addsubiw,307 &feature_addsubiw,
306 &feature_movw,308 &feature_movw,
307 &feature_break,
308 &feature_ijmpcall,309 &feature_ijmpcall,
309 &feature_lpmx,310 &feature_break,
310 &feature_jmpcall,
311 &feature_spm,311 &feature_spm,
312 &feature_mul,312 &feature_mul,
313 },313 },
...@@ -317,13 +317,13 @@ pub const cpu_at90pwm2 = Cpu{...@@ -317,13 +317,13 @@ pub const cpu_at90pwm2 = Cpu{
317 .name = "at90pwm2",317 .name = "at90pwm2",
318 .llvm_name = "at90pwm2",318 .llvm_name = "at90pwm2",
319 .dependencies = &[_]*const Feature {319 .dependencies = &[_]*const Feature {
320 &feature_lpmx,
320 &feature_lpm,321 &feature_lpm,
321 &feature_sram,322 &feature_sram,
322 &feature_addsubiw,323 &feature_addsubiw,
323 &feature_movw,324 &feature_movw,
324 &feature_break,
325 &feature_ijmpcall,325 &feature_ijmpcall,
326 &feature_lpmx,326 &feature_break,
327 &feature_spm,327 &feature_spm,
328 &feature_mul,328 &feature_mul,
329 },329 },
...@@ -333,14 +333,14 @@ pub const cpu_at90pwm216 = Cpu{...@@ -333,14 +333,14 @@ pub const cpu_at90pwm216 = Cpu{
333 .name = "at90pwm216",333 .name = "at90pwm216",
334 .llvm_name = "at90pwm216",334 .llvm_name = "at90pwm216",
335 .dependencies = &[_]*const Feature {335 .dependencies = &[_]*const Feature {
336 &feature_lpmx,
337 &feature_jmpcall,
336 &feature_lpm,338 &feature_lpm,
337 &feature_sram,339 &feature_sram,
338 &feature_addsubiw,340 &feature_addsubiw,
339 &feature_movw,341 &feature_movw,
340 &feature_break,
341 &feature_ijmpcall,342 &feature_ijmpcall,
342 &feature_lpmx,343 &feature_break,
343 &feature_jmpcall,
344 &feature_spm,344 &feature_spm,
345 &feature_mul,345 &feature_mul,
346 },346 },
...@@ -350,13 +350,13 @@ pub const cpu_at90pwm2b = Cpu{...@@ -350,13 +350,13 @@ pub const cpu_at90pwm2b = Cpu{
350 .name = "at90pwm2b",350 .name = "at90pwm2b",
351 .llvm_name = "at90pwm2b",351 .llvm_name = "at90pwm2b",
352 .dependencies = &[_]*const Feature {352 .dependencies = &[_]*const Feature {
353 &feature_lpmx,
353 &feature_lpm,354 &feature_lpm,
354 &feature_sram,355 &feature_sram,
355 &feature_addsubiw,356 &feature_addsubiw,
356 &feature_movw,357 &feature_movw,
357 &feature_break,
358 &feature_ijmpcall,358 &feature_ijmpcall,
359 &feature_lpmx,359 &feature_break,
360 &feature_spm,360 &feature_spm,
361 &feature_mul,361 &feature_mul,
362 },362 },
...@@ -366,13 +366,13 @@ pub const cpu_at90pwm3 = Cpu{...@@ -366,13 +366,13 @@ pub const cpu_at90pwm3 = Cpu{
366 .name = "at90pwm3",366 .name = "at90pwm3",
367 .llvm_name = "at90pwm3",367 .llvm_name = "at90pwm3",
368 .dependencies = &[_]*const Feature {368 .dependencies = &[_]*const Feature {
369 &feature_lpmx,
369 &feature_lpm,370 &feature_lpm,
370 &feature_sram,371 &feature_sram,
371 &feature_addsubiw,372 &feature_addsubiw,
372 &feature_movw,373 &feature_movw,
373 &feature_break,
374 &feature_ijmpcall,374 &feature_ijmpcall,
375 &feature_lpmx,375 &feature_break,
376 &feature_spm,376 &feature_spm,
377 &feature_mul,377 &feature_mul,
378 },378 },
...@@ -382,14 +382,14 @@ pub const cpu_at90pwm316 = Cpu{...@@ -382,14 +382,14 @@ pub const cpu_at90pwm316 = Cpu{
382 .name = "at90pwm316",382 .name = "at90pwm316",
383 .llvm_name = "at90pwm316",383 .llvm_name = "at90pwm316",
384 .dependencies = &[_]*const Feature {384 .dependencies = &[_]*const Feature {
385 &feature_lpmx,
386 &feature_jmpcall,
385 &feature_lpm,387 &feature_lpm,
386 &feature_sram,388 &feature_sram,
387 &feature_addsubiw,389 &feature_addsubiw,
388 &feature_movw,390 &feature_movw,
389 &feature_break,
390 &feature_ijmpcall,391 &feature_ijmpcall,
391 &feature_lpmx,392 &feature_break,
392 &feature_jmpcall,
393 &feature_spm,393 &feature_spm,
394 &feature_mul,394 &feature_mul,
395 },395 },
...@@ -399,13 +399,13 @@ pub const cpu_at90pwm3b = Cpu{...@@ -399,13 +399,13 @@ pub const cpu_at90pwm3b = Cpu{
399 .name = "at90pwm3b",399 .name = "at90pwm3b",
400 .llvm_name = "at90pwm3b",400 .llvm_name = "at90pwm3b",
401 .dependencies = &[_]*const Feature {401 .dependencies = &[_]*const Feature {
402 &feature_lpmx,
402 &feature_lpm,403 &feature_lpm,
403 &feature_sram,404 &feature_sram,
404 &feature_addsubiw,405 &feature_addsubiw,
405 &feature_movw,406 &feature_movw,
406 &feature_break,
407 &feature_ijmpcall,407 &feature_ijmpcall,
408 &feature_lpmx,408 &feature_break,
409 &feature_spm,409 &feature_spm,
410 &feature_mul,410 &feature_mul,
411 },411 },
...@@ -415,13 +415,13 @@ pub const cpu_at90pwm81 = Cpu{...@@ -415,13 +415,13 @@ pub const cpu_at90pwm81 = Cpu{
415 .name = "at90pwm81",415 .name = "at90pwm81",
416 .llvm_name = "at90pwm81",416 .llvm_name = "at90pwm81",
417 .dependencies = &[_]*const Feature {417 .dependencies = &[_]*const Feature {
418 &feature_lpmx,
418 &feature_lpm,419 &feature_lpm,
419 &feature_sram,420 &feature_sram,
420 &feature_addsubiw,421 &feature_addsubiw,
421 &feature_movw,422 &feature_movw,
422 &feature_break,
423 &feature_ijmpcall,423 &feature_ijmpcall,
424 &feature_lpmx,424 &feature_break,
425 &feature_spm,425 &feature_spm,
426 &feature_mul,426 &feature_mul,
427 },427 },
...@@ -537,14 +537,14 @@ pub const cpu_at90scr100 = Cpu{...@@ -537,14 +537,14 @@ pub const cpu_at90scr100 = Cpu{
537 .name = "at90scr100",537 .name = "at90scr100",
538 .llvm_name = "at90scr100",538 .llvm_name = "at90scr100",
539 .dependencies = &[_]*const Feature {539 .dependencies = &[_]*const Feature {
540 &feature_lpmx,
541 &feature_jmpcall,
540 &feature_lpm,542 &feature_lpm,
541 &feature_sram,543 &feature_sram,
542 &feature_addsubiw,544 &feature_addsubiw,
543 &feature_movw,545 &feature_movw,
544 &feature_break,
545 &feature_ijmpcall,546 &feature_ijmpcall,
546 &feature_lpmx,547 &feature_break,
547 &feature_jmpcall,
548 &feature_spm,548 &feature_spm,
549 &feature_mul,549 &feature_mul,
550 },550 },
...@@ -554,17 +554,17 @@ pub const cpu_at90usb1286 = Cpu{...@@ -554,17 +554,17 @@ pub const cpu_at90usb1286 = Cpu{
554 .name = "at90usb1286",554 .name = "at90usb1286",
555 .llvm_name = "at90usb1286",555 .llvm_name = "at90usb1286",
556 .dependencies = &[_]*const Feature {556 .dependencies = &[_]*const Feature {
557 &feature_lpmx,
558 &feature_jmpcall,
557 &feature_lpm,559 &feature_lpm,
560 &feature_elpm,
558 &feature_sram,561 &feature_sram,
559 &feature_addsubiw,562 &feature_addsubiw,
563 &feature_elpmx,
560 &feature_movw,564 &feature_movw,
561 &feature_elpm,
562 &feature_break,
563 &feature_ijmpcall,565 &feature_ijmpcall,
564 &feature_lpmx,566 &feature_break,
565 &feature_jmpcall,
566 &feature_spm,567 &feature_spm,
567 &feature_elpmx,
568 &feature_mul,568 &feature_mul,
569 },569 },
570};570};
...@@ -573,17 +573,17 @@ pub const cpu_at90usb1287 = Cpu{...@@ -573,17 +573,17 @@ pub const cpu_at90usb1287 = Cpu{
573 .name = "at90usb1287",573 .name = "at90usb1287",
574 .llvm_name = "at90usb1287",574 .llvm_name = "at90usb1287",
575 .dependencies = &[_]*const Feature {575 .dependencies = &[_]*const Feature {
576 &feature_lpmx,
577 &feature_jmpcall,
576 &feature_lpm,578 &feature_lpm,
579 &feature_elpm,
577 &feature_sram,580 &feature_sram,
578 &feature_addsubiw,581 &feature_addsubiw,
582 &feature_elpmx,
579 &feature_movw,583 &feature_movw,
580 &feature_elpm,
581 &feature_break,
582 &feature_ijmpcall,584 &feature_ijmpcall,
583 &feature_lpmx,585 &feature_break,
584 &feature_jmpcall,
585 &feature_spm,586 &feature_spm,
586 &feature_elpmx,
587 &feature_mul,587 &feature_mul,
588 },588 },
589};589};
...@@ -592,14 +592,14 @@ pub const cpu_at90usb162 = Cpu{...@@ -592,14 +592,14 @@ pub const cpu_at90usb162 = Cpu{
592 .name = "at90usb162",592 .name = "at90usb162",
593 .llvm_name = "at90usb162",593 .llvm_name = "at90usb162",
594 .dependencies = &[_]*const Feature {594 .dependencies = &[_]*const Feature {
595 &feature_lpmx,
596 &feature_jmpcall,
595 &feature_lpm,597 &feature_lpm,
596 &feature_sram,598 &feature_sram,
597 &feature_addsubiw,599 &feature_addsubiw,
598 &feature_movw,600 &feature_movw,
599 &feature_break,
600 &feature_ijmpcall,601 &feature_ijmpcall,
601 &feature_lpmx,602 &feature_break,
602 &feature_jmpcall,
603 &feature_spm,603 &feature_spm,
604 },604 },
605};605};
...@@ -608,14 +608,14 @@ pub const cpu_at90usb646 = Cpu{...@@ -608,14 +608,14 @@ pub const cpu_at90usb646 = Cpu{
608 .name = "at90usb646",608 .name = "at90usb646",
609 .llvm_name = "at90usb646",609 .llvm_name = "at90usb646",
610 .dependencies = &[_]*const Feature {610 .dependencies = &[_]*const Feature {
611 &feature_lpmx,
612 &feature_jmpcall,
611 &feature_lpm,613 &feature_lpm,
612 &feature_sram,614 &feature_sram,
613 &feature_addsubiw,615 &feature_addsubiw,
614 &feature_movw,616 &feature_movw,
615 &feature_break,
616 &feature_ijmpcall,617 &feature_ijmpcall,
617 &feature_lpmx,618 &feature_break,
618 &feature_jmpcall,
619 &feature_spm,619 &feature_spm,
620 &feature_mul,620 &feature_mul,
621 },621 },
...@@ -625,14 +625,14 @@ pub const cpu_at90usb647 = Cpu{...@@ -625,14 +625,14 @@ pub const cpu_at90usb647 = Cpu{
625 .name = "at90usb647",625 .name = "at90usb647",
626 .llvm_name = "at90usb647",626 .llvm_name = "at90usb647",
627 .dependencies = &[_]*const Feature {627 .dependencies = &[_]*const Feature {
628 &feature_lpmx,
629 &feature_jmpcall,
628 &feature_lpm,630 &feature_lpm,
629 &feature_sram,631 &feature_sram,
630 &feature_addsubiw,632 &feature_addsubiw,
631 &feature_movw,633 &feature_movw,
632 &feature_break,
633 &feature_ijmpcall,634 &feature_ijmpcall,
634 &feature_lpmx,635 &feature_break,
635 &feature_jmpcall,
636 &feature_spm,636 &feature_spm,
637 &feature_mul,637 &feature_mul,
638 },638 },
...@@ -642,14 +642,14 @@ pub const cpu_at90usb82 = Cpu{...@@ -642,14 +642,14 @@ pub const cpu_at90usb82 = Cpu{
642 .name = "at90usb82",642 .name = "at90usb82",
643 .llvm_name = "at90usb82",643 .llvm_name = "at90usb82",
644 .dependencies = &[_]*const Feature {644 .dependencies = &[_]*const Feature {
645 &feature_lpmx,
646 &feature_jmpcall,
645 &feature_lpm,647 &feature_lpm,
646 &feature_sram,648 &feature_sram,
647 &feature_addsubiw,649 &feature_addsubiw,
648 &feature_movw,650 &feature_movw,
649 &feature_break,
650 &feature_ijmpcall,651 &feature_ijmpcall,
651 &feature_lpmx,652 &feature_break,
652 &feature_jmpcall,
653 &feature_spm,653 &feature_spm,
654 },654 },
655};655};
...@@ -658,11 +658,11 @@ pub const cpu_at94k = Cpu{...@@ -658,11 +658,11 @@ pub const cpu_at94k = Cpu{
658 .name = "at94k",658 .name = "at94k",
659 .llvm_name = "at94k",659 .llvm_name = "at94k",
660 .dependencies = &[_]*const Feature {660 .dependencies = &[_]*const Feature {
661 &feature_jmpcall,
661 &feature_lpm,662 &feature_lpm,
662 &feature_sram,663 &feature_sram,
663 &feature_addsubiw,664 &feature_addsubiw,
664 &feature_ijmpcall,665 &feature_ijmpcall,
665 &feature_jmpcall,
666 &feature_lpmx,666 &feature_lpmx,
667 &feature_movw,667 &feature_movw,
668 &feature_mul,668 &feature_mul,
...@@ -673,13 +673,13 @@ pub const cpu_ata5272 = Cpu{...@@ -673,13 +673,13 @@ pub const cpu_ata5272 = Cpu{
673 .name = "ata5272",673 .name = "ata5272",
674 .llvm_name = "ata5272",674 .llvm_name = "ata5272",
675 .dependencies = &[_]*const Feature {675 .dependencies = &[_]*const Feature {
676 &feature_lpmx,
676 &feature_lpm,677 &feature_lpm,
677 &feature_sram,678 &feature_sram,
678 &feature_addsubiw,679 &feature_addsubiw,
679 &feature_movw,680 &feature_movw,
680 &feature_break,
681 &feature_ijmpcall,681 &feature_ijmpcall,
682 &feature_lpmx,682 &feature_break,
683 &feature_spm,683 &feature_spm,
684 },684 },
685};685};
...@@ -688,14 +688,14 @@ pub const cpu_ata5505 = Cpu{...@@ -688,14 +688,14 @@ pub const cpu_ata5505 = Cpu{
688 .name = "ata5505",688 .name = "ata5505",
689 .llvm_name = "ata5505",689 .llvm_name = "ata5505",
690 .dependencies = &[_]*const Feature {690 .dependencies = &[_]*const Feature {
691 &feature_lpmx,
692 &feature_jmpcall,
691 &feature_lpm,693 &feature_lpm,
692 &feature_sram,694 &feature_sram,
693 &feature_addsubiw,695 &feature_addsubiw,
694 &feature_movw,696 &feature_movw,
695 &feature_break,
696 &feature_ijmpcall,697 &feature_ijmpcall,
697 &feature_lpmx,698 &feature_break,
698 &feature_jmpcall,
699 &feature_spm,699 &feature_spm,
700 },700 },
701};701};
...@@ -704,14 +704,14 @@ pub const cpu_ata5790 = Cpu{...@@ -704,14 +704,14 @@ pub const cpu_ata5790 = Cpu{
704 .name = "ata5790",704 .name = "ata5790",
705 .llvm_name = "ata5790",705 .llvm_name = "ata5790",
706 .dependencies = &[_]*const Feature {706 .dependencies = &[_]*const Feature {
707 &feature_lpmx,
708 &feature_jmpcall,
707 &feature_lpm,709 &feature_lpm,
708 &feature_sram,710 &feature_sram,
709 &feature_addsubiw,711 &feature_addsubiw,
710 &feature_movw,712 &feature_movw,
711 &feature_break,
712 &feature_ijmpcall,713 &feature_ijmpcall,
713 &feature_lpmx,714 &feature_break,
714 &feature_jmpcall,
715 &feature_spm,715 &feature_spm,
716 &feature_mul,716 &feature_mul,
717 },717 },
...@@ -721,14 +721,14 @@ pub const cpu_ata5795 = Cpu{...@@ -721,14 +721,14 @@ pub const cpu_ata5795 = Cpu{
721 .name = "ata5795",721 .name = "ata5795",
722 .llvm_name = "ata5795",722 .llvm_name = "ata5795",
723 .dependencies = &[_]*const Feature {723 .dependencies = &[_]*const Feature {
724 &feature_lpmx,
725 &feature_jmpcall,
724 &feature_lpm,726 &feature_lpm,
725 &feature_sram,727 &feature_sram,
726 &feature_addsubiw,728 &feature_addsubiw,
727 &feature_movw,729 &feature_movw,
728 &feature_break,
729 &feature_ijmpcall,730 &feature_ijmpcall,
730 &feature_lpmx,731 &feature_break,
731 &feature_jmpcall,
732 &feature_spm,732 &feature_spm,
733 &feature_mul,733 &feature_mul,
734 },734 },
...@@ -738,13 +738,13 @@ pub const cpu_ata6285 = Cpu{...@@ -738,13 +738,13 @@ pub const cpu_ata6285 = Cpu{
738 .name = "ata6285",738 .name = "ata6285",
739 .llvm_name = "ata6285",739 .llvm_name = "ata6285",
740 .dependencies = &[_]*const Feature {740 .dependencies = &[_]*const Feature {
741 &feature_lpmx,
741 &feature_lpm,742 &feature_lpm,
742 &feature_sram,743 &feature_sram,
743 &feature_addsubiw,744 &feature_addsubiw,
744 &feature_movw,745 &feature_movw,
745 &feature_break,
746 &feature_ijmpcall,746 &feature_ijmpcall,
747 &feature_lpmx,747 &feature_break,
748 &feature_spm,748 &feature_spm,
749 &feature_mul,749 &feature_mul,
750 },750 },
...@@ -754,13 +754,13 @@ pub const cpu_ata6286 = Cpu{...@@ -754,13 +754,13 @@ pub const cpu_ata6286 = Cpu{
754 .name = "ata6286",754 .name = "ata6286",
755 .llvm_name = "ata6286",755 .llvm_name = "ata6286",
756 .dependencies = &[_]*const Feature {756 .dependencies = &[_]*const Feature {
757 &feature_lpmx,
757 &feature_lpm,758 &feature_lpm,
758 &feature_sram,759 &feature_sram,
759 &feature_addsubiw,760 &feature_addsubiw,
760 &feature_movw,761 &feature_movw,
761 &feature_break,
762 &feature_ijmpcall,762 &feature_ijmpcall,
763 &feature_lpmx,763 &feature_break,
764 &feature_spm,764 &feature_spm,
765 &feature_mul,765 &feature_mul,
766 },766 },
...@@ -770,13 +770,13 @@ pub const cpu_ata6289 = Cpu{...@@ -770,13 +770,13 @@ pub const cpu_ata6289 = Cpu{
770 .name = "ata6289",770 .name = "ata6289",
771 .llvm_name = "ata6289",771 .llvm_name = "ata6289",
772 .dependencies = &[_]*const Feature {772 .dependencies = &[_]*const Feature {
773 &feature_lpmx,
773 &feature_lpm,774 &feature_lpm,
774 &feature_sram,775 &feature_sram,
775 &feature_addsubiw,776 &feature_addsubiw,
776 &feature_movw,777 &feature_movw,
777 &feature_break,
778 &feature_ijmpcall,778 &feature_ijmpcall,
779 &feature_lpmx,779 &feature_break,
780 &feature_spm,780 &feature_spm,
781 &feature_mul,781 &feature_mul,
782 },782 },
...@@ -786,12 +786,12 @@ pub const cpu_atmega103 = Cpu{...@@ -786,12 +786,12 @@ pub const cpu_atmega103 = Cpu{
786 .name = "atmega103",786 .name = "atmega103",
787 .llvm_name = "atmega103",787 .llvm_name = "atmega103",
788 .dependencies = &[_]*const Feature {788 .dependencies = &[_]*const Feature {
789 &feature_jmpcall,
789 &feature_lpm,790 &feature_lpm,
791 &feature_elpm,
790 &feature_sram,792 &feature_sram,
791 &feature_addsubiw,793 &feature_addsubiw,
792 &feature_elpm,
793 &feature_ijmpcall,794 &feature_ijmpcall,
794 &feature_jmpcall,
795 },795 },
796};796};
797797
...@@ -799,17 +799,17 @@ pub const cpu_atmega128 = Cpu{...@@ -799,17 +799,17 @@ pub const cpu_atmega128 = Cpu{
799 .name = "atmega128",799 .name = "atmega128",
800 .llvm_name = "atmega128",800 .llvm_name = "atmega128",
801 .dependencies = &[_]*const Feature {801 .dependencies = &[_]*const Feature {
802 &feature_lpmx,
803 &feature_jmpcall,
802 &feature_lpm,804 &feature_lpm,
805 &feature_elpm,
803 &feature_sram,806 &feature_sram,
804 &feature_addsubiw,807 &feature_addsubiw,
808 &feature_elpmx,
805 &feature_movw,809 &feature_movw,
806 &feature_elpm,
807 &feature_break,
808 &feature_ijmpcall,810 &feature_ijmpcall,
809 &feature_lpmx,811 &feature_break,
810 &feature_jmpcall,
811 &feature_spm,812 &feature_spm,
812 &feature_elpmx,
813 &feature_mul,813 &feature_mul,
814 },814 },
815};815};
...@@ -818,17 +818,17 @@ pub const cpu_atmega1280 = Cpu{...@@ -818,17 +818,17 @@ pub const cpu_atmega1280 = Cpu{
818 .name = "atmega1280",818 .name = "atmega1280",
819 .llvm_name = "atmega1280",819 .llvm_name = "atmega1280",
820 .dependencies = &[_]*const Feature {820 .dependencies = &[_]*const Feature {
821 &feature_lpmx,
822 &feature_jmpcall,
821 &feature_lpm,823 &feature_lpm,
824 &feature_elpm,
822 &feature_sram,825 &feature_sram,
823 &feature_addsubiw,826 &feature_addsubiw,
827 &feature_elpmx,
824 &feature_movw,828 &feature_movw,
825 &feature_elpm,
826 &feature_break,
827 &feature_ijmpcall,829 &feature_ijmpcall,
828 &feature_lpmx,830 &feature_break,
829 &feature_jmpcall,
830 &feature_spm,831 &feature_spm,
831 &feature_elpmx,
832 &feature_mul,832 &feature_mul,
833 },833 },
834};834};
...@@ -837,17 +837,17 @@ pub const cpu_atmega1281 = Cpu{...@@ -837,17 +837,17 @@ pub const cpu_atmega1281 = Cpu{
837 .name = "atmega1281",837 .name = "atmega1281",
838 .llvm_name = "atmega1281",838 .llvm_name = "atmega1281",
839 .dependencies = &[_]*const Feature {839 .dependencies = &[_]*const Feature {
840 &feature_lpmx,
841 &feature_jmpcall,
840 &feature_lpm,842 &feature_lpm,
843 &feature_elpm,
841 &feature_sram,844 &feature_sram,
842 &feature_addsubiw,845 &feature_addsubiw,
846 &feature_elpmx,
843 &feature_movw,847 &feature_movw,
844 &feature_elpm,
845 &feature_break,
846 &feature_ijmpcall,848 &feature_ijmpcall,
847 &feature_lpmx,849 &feature_break,
848 &feature_jmpcall,
849 &feature_spm,850 &feature_spm,
850 &feature_elpmx,
851 &feature_mul,851 &feature_mul,
852 },852 },
853};853};
...@@ -856,17 +856,17 @@ pub const cpu_atmega1284 = Cpu{...@@ -856,17 +856,17 @@ pub const cpu_atmega1284 = Cpu{
856 .name = "atmega1284",856 .name = "atmega1284",
857 .llvm_name = "atmega1284",857 .llvm_name = "atmega1284",
858 .dependencies = &[_]*const Feature {858 .dependencies = &[_]*const Feature {
859 &feature_lpmx,
860 &feature_jmpcall,
859 &feature_lpm,861 &feature_lpm,
862 &feature_elpm,
860 &feature_sram,863 &feature_sram,
861 &feature_addsubiw,864 &feature_addsubiw,
865 &feature_elpmx,
862 &feature_movw,866 &feature_movw,
863 &feature_elpm,
864 &feature_break,
865 &feature_ijmpcall,867 &feature_ijmpcall,
866 &feature_lpmx,868 &feature_break,
867 &feature_jmpcall,
868 &feature_spm,869 &feature_spm,
869 &feature_elpmx,
870 &feature_mul,870 &feature_mul,
871 },871 },
872};872};
...@@ -875,17 +875,17 @@ pub const cpu_atmega1284p = Cpu{...@@ -875,17 +875,17 @@ pub const cpu_atmega1284p = Cpu{
875 .name = "atmega1284p",875 .name = "atmega1284p",
876 .llvm_name = "atmega1284p",876 .llvm_name = "atmega1284p",
877 .dependencies = &[_]*const Feature {877 .dependencies = &[_]*const Feature {
878 &feature_lpmx,
879 &feature_jmpcall,
878 &feature_lpm,880 &feature_lpm,
881 &feature_elpm,
879 &feature_sram,882 &feature_sram,
880 &feature_addsubiw,883 &feature_addsubiw,
884 &feature_elpmx,
881 &feature_movw,885 &feature_movw,
882 &feature_elpm,
883 &feature_break,
884 &feature_ijmpcall,886 &feature_ijmpcall,
885 &feature_lpmx,887 &feature_break,
886 &feature_jmpcall,
887 &feature_spm,888 &feature_spm,
888 &feature_elpmx,
889 &feature_mul,889 &feature_mul,
890 },890 },
891};891};
...@@ -894,17 +894,17 @@ pub const cpu_atmega1284rfr2 = Cpu{...@@ -894,17 +894,17 @@ pub const cpu_atmega1284rfr2 = Cpu{
894 .name = "atmega1284rfr2",894 .name = "atmega1284rfr2",
895 .llvm_name = "atmega1284rfr2",895 .llvm_name = "atmega1284rfr2",
896 .dependencies = &[_]*const Feature {896 .dependencies = &[_]*const Feature {
897 &feature_lpmx,
898 &feature_jmpcall,
897 &feature_lpm,899 &feature_lpm,
900 &feature_elpm,
898 &feature_sram,901 &feature_sram,
899 &feature_addsubiw,902 &feature_addsubiw,
903 &feature_elpmx,
900 &feature_movw,904 &feature_movw,
901 &feature_elpm,
902 &feature_break,
903 &feature_ijmpcall,905 &feature_ijmpcall,
904 &feature_lpmx,906 &feature_break,
905 &feature_jmpcall,
906 &feature_spm,907 &feature_spm,
907 &feature_elpmx,
908 &feature_mul,908 &feature_mul,
909 },909 },
910};910};
...@@ -913,17 +913,17 @@ pub const cpu_atmega128a = Cpu{...@@ -913,17 +913,17 @@ pub const cpu_atmega128a = Cpu{
913 .name = "atmega128a",913 .name = "atmega128a",
914 .llvm_name = "atmega128a",914 .llvm_name = "atmega128a",
915 .dependencies = &[_]*const Feature {915 .dependencies = &[_]*const Feature {
916 &feature_lpmx,
917 &feature_jmpcall,
916 &feature_lpm,918 &feature_lpm,
919 &feature_elpm,
917 &feature_sram,920 &feature_sram,
918 &feature_addsubiw,921 &feature_addsubiw,
922 &feature_elpmx,
919 &feature_movw,923 &feature_movw,
920 &feature_elpm,
921 &feature_break,
922 &feature_ijmpcall,924 &feature_ijmpcall,
923 &feature_lpmx,925 &feature_break,
924 &feature_jmpcall,
925 &feature_spm,926 &feature_spm,
926 &feature_elpmx,
927 &feature_mul,927 &feature_mul,
928 },928 },
929};929};
...@@ -932,17 +932,17 @@ pub const cpu_atmega128rfa1 = Cpu{...@@ -932,17 +932,17 @@ pub const cpu_atmega128rfa1 = Cpu{
932 .name = "atmega128rfa1",932 .name = "atmega128rfa1",
933 .llvm_name = "atmega128rfa1",933 .llvm_name = "atmega128rfa1",
934 .dependencies = &[_]*const Feature {934 .dependencies = &[_]*const Feature {
935 &feature_lpmx,
936 &feature_jmpcall,
935 &feature_lpm,937 &feature_lpm,
938 &feature_elpm,
936 &feature_sram,939 &feature_sram,
937 &feature_addsubiw,940 &feature_addsubiw,
941 &feature_elpmx,
938 &feature_movw,942 &feature_movw,
939 &feature_elpm,
940 &feature_break,
941 &feature_ijmpcall,943 &feature_ijmpcall,
942 &feature_lpmx,944 &feature_break,
943 &feature_jmpcall,
944 &feature_spm,945 &feature_spm,
945 &feature_elpmx,
946 &feature_mul,946 &feature_mul,
947 },947 },
948};948};
...@@ -951,17 +951,17 @@ pub const cpu_atmega128rfr2 = Cpu{...@@ -951,17 +951,17 @@ pub const cpu_atmega128rfr2 = Cpu{
951 .name = "atmega128rfr2",951 .name = "atmega128rfr2",
952 .llvm_name = "atmega128rfr2",952 .llvm_name = "atmega128rfr2",
953 .dependencies = &[_]*const Feature {953 .dependencies = &[_]*const Feature {
954 &feature_lpmx,
955 &feature_jmpcall,
954 &feature_lpm,956 &feature_lpm,
957 &feature_elpm,
955 &feature_sram,958 &feature_sram,
956 &feature_addsubiw,959 &feature_addsubiw,
960 &feature_elpmx,
957 &feature_movw,961 &feature_movw,
958 &feature_elpm,
959 &feature_break,
960 &feature_ijmpcall,962 &feature_ijmpcall,
961 &feature_lpmx,963 &feature_break,
962 &feature_jmpcall,
963 &feature_spm,964 &feature_spm,
964 &feature_elpmx,
965 &feature_mul,965 &feature_mul,
966 },966 },
967};967};
...@@ -970,14 +970,14 @@ pub const cpu_atmega16 = Cpu{...@@ -970,14 +970,14 @@ pub const cpu_atmega16 = Cpu{
970 .name = "atmega16",970 .name = "atmega16",
971 .llvm_name = "atmega16",971 .llvm_name = "atmega16",
972 .dependencies = &[_]*const Feature {972 .dependencies = &[_]*const Feature {
973 &feature_lpmx,
974 &feature_jmpcall,
973 &feature_lpm,975 &feature_lpm,
974 &feature_sram,976 &feature_sram,
975 &feature_addsubiw,977 &feature_addsubiw,
976 &feature_movw,978 &feature_movw,
977 &feature_break,
978 &feature_ijmpcall,979 &feature_ijmpcall,
979 &feature_lpmx,980 &feature_break,
980 &feature_jmpcall,
981 &feature_spm,981 &feature_spm,
982 &feature_mul,982 &feature_mul,
983 },983 },
...@@ -987,11 +987,11 @@ pub const cpu_atmega161 = Cpu{...@@ -987,11 +987,11 @@ pub const cpu_atmega161 = Cpu{
987 .name = "atmega161",987 .name = "atmega161",
988 .llvm_name = "atmega161",988 .llvm_name = "atmega161",
989 .dependencies = &[_]*const Feature {989 .dependencies = &[_]*const Feature {
990 &feature_jmpcall,
990 &feature_lpm,991 &feature_lpm,
991 &feature_sram,992 &feature_sram,
992 &feature_addsubiw,993 &feature_addsubiw,
993 &feature_ijmpcall,994 &feature_ijmpcall,
994 &feature_jmpcall,
995 &feature_lpmx,995 &feature_lpmx,
996 &feature_movw,996 &feature_movw,
997 &feature_mul,997 &feature_mul,
...@@ -1003,14 +1003,14 @@ pub const cpu_atmega162 = Cpu{...@@ -1003,14 +1003,14 @@ pub const cpu_atmega162 = Cpu{
1003 .name = "atmega162",1003 .name = "atmega162",
1004 .llvm_name = "atmega162",1004 .llvm_name = "atmega162",
1005 .dependencies = &[_]*const Feature {1005 .dependencies = &[_]*const Feature {
1006 &feature_lpmx,
1007 &feature_jmpcall,
1006 &feature_lpm,1008 &feature_lpm,
1007 &feature_sram,1009 &feature_sram,
1008 &feature_addsubiw,1010 &feature_addsubiw,
1009 &feature_movw,1011 &feature_movw,
1010 &feature_break,
1011 &feature_ijmpcall,1012 &feature_ijmpcall,
1012 &feature_lpmx,1013 &feature_break,
1013 &feature_jmpcall,
1014 &feature_spm,1014 &feature_spm,
1015 &feature_mul,1015 &feature_mul,
1016 },1016 },
...@@ -1020,11 +1020,11 @@ pub const cpu_atmega163 = Cpu{...@@ -1020,11 +1020,11 @@ pub const cpu_atmega163 = Cpu{
1020 .name = "atmega163",1020 .name = "atmega163",
1021 .llvm_name = "atmega163",1021 .llvm_name = "atmega163",
1022 .dependencies = &[_]*const Feature {1022 .dependencies = &[_]*const Feature {
1023 &feature_jmpcall,
1023 &feature_lpm,1024 &feature_lpm,
1024 &feature_sram,1025 &feature_sram,
1025 &feature_addsubiw,1026 &feature_addsubiw,
1026 &feature_ijmpcall,1027 &feature_ijmpcall,
1027 &feature_jmpcall,
1028 &feature_lpmx,1028 &feature_lpmx,
1029 &feature_movw,1029 &feature_movw,
1030 &feature_mul,1030 &feature_mul,
...@@ -1036,14 +1036,14 @@ pub const cpu_atmega164a = Cpu{...@@ -1036,14 +1036,14 @@ pub const cpu_atmega164a = Cpu{
1036 .name = "atmega164a",1036 .name = "atmega164a",
1037 .llvm_name = "atmega164a",1037 .llvm_name = "atmega164a",
1038 .dependencies = &[_]*const Feature {1038 .dependencies = &[_]*const Feature {
1039 &feature_lpmx,
1040 &feature_jmpcall,
1039 &feature_lpm,1041 &feature_lpm,
1040 &feature_sram,1042 &feature_sram,
1041 &feature_addsubiw,1043 &feature_addsubiw,
1042 &feature_movw,1044 &feature_movw,
1043 &feature_break,
1044 &feature_ijmpcall,1045 &feature_ijmpcall,
1045 &feature_lpmx,1046 &feature_break,
1046 &feature_jmpcall,
1047 &feature_spm,1047 &feature_spm,
1048 &feature_mul,1048 &feature_mul,
1049 },1049 },
...@@ -1053,14 +1053,14 @@ pub const cpu_atmega164p = Cpu{...@@ -1053,14 +1053,14 @@ pub const cpu_atmega164p = Cpu{
1053 .name = "atmega164p",1053 .name = "atmega164p",
1054 .llvm_name = "atmega164p",1054 .llvm_name = "atmega164p",
1055 .dependencies = &[_]*const Feature {1055 .dependencies = &[_]*const Feature {
1056 &feature_lpmx,
1057 &feature_jmpcall,
1056 &feature_lpm,1058 &feature_lpm,
1057 &feature_sram,1059 &feature_sram,
1058 &feature_addsubiw,1060 &feature_addsubiw,
1059 &feature_movw,1061 &feature_movw,
1060 &feature_break,
1061 &feature_ijmpcall,1062 &feature_ijmpcall,
1062 &feature_lpmx,1063 &feature_break,
1063 &feature_jmpcall,
1064 &feature_spm,1064 &feature_spm,
1065 &feature_mul,1065 &feature_mul,
1066 },1066 },
...@@ -1070,14 +1070,14 @@ pub const cpu_atmega164pa = Cpu{...@@ -1070,14 +1070,14 @@ pub const cpu_atmega164pa = Cpu{
1070 .name = "atmega164pa",1070 .name = "atmega164pa",
1071 .llvm_name = "atmega164pa",1071 .llvm_name = "atmega164pa",
1072 .dependencies = &[_]*const Feature {1072 .dependencies = &[_]*const Feature {
1073 &feature_lpmx,
1074 &feature_jmpcall,
1073 &feature_lpm,1075 &feature_lpm,
1074 &feature_sram,1076 &feature_sram,
1075 &feature_addsubiw,1077 &feature_addsubiw,
1076 &feature_movw,1078 &feature_movw,
1077 &feature_break,
1078 &feature_ijmpcall,1079 &feature_ijmpcall,
1079 &feature_lpmx,1080 &feature_break,
1080 &feature_jmpcall,
1081 &feature_spm,1081 &feature_spm,
1082 &feature_mul,1082 &feature_mul,
1083 },1083 },
...@@ -1087,14 +1087,14 @@ pub const cpu_atmega165 = Cpu{...@@ -1087,14 +1087,14 @@ pub const cpu_atmega165 = Cpu{
1087 .name = "atmega165",1087 .name = "atmega165",
1088 .llvm_name = "atmega165",1088 .llvm_name = "atmega165",
1089 .dependencies = &[_]*const Feature {1089 .dependencies = &[_]*const Feature {
1090 &feature_lpmx,
1091 &feature_jmpcall,
1090 &feature_lpm,1092 &feature_lpm,
1091 &feature_sram,1093 &feature_sram,
1092 &feature_addsubiw,1094 &feature_addsubiw,
1093 &feature_movw,1095 &feature_movw,
1094 &feature_break,
1095 &feature_ijmpcall,1096 &feature_ijmpcall,
1096 &feature_lpmx,1097 &feature_break,
1097 &feature_jmpcall,
1098 &feature_spm,1098 &feature_spm,
1099 &feature_mul,1099 &feature_mul,
1100 },1100 },
...@@ -1104,14 +1104,14 @@ pub const cpu_atmega165a = Cpu{...@@ -1104,14 +1104,14 @@ pub const cpu_atmega165a = Cpu{
1104 .name = "atmega165a",1104 .name = "atmega165a",
1105 .llvm_name = "atmega165a",1105 .llvm_name = "atmega165a",
1106 .dependencies = &[_]*const Feature {1106 .dependencies = &[_]*const Feature {
1107 &feature_lpmx,
1108 &feature_jmpcall,
1107 &feature_lpm,1109 &feature_lpm,
1108 &feature_sram,1110 &feature_sram,
1109 &feature_addsubiw,1111 &feature_addsubiw,
1110 &feature_movw,1112 &feature_movw,
1111 &feature_break,
1112 &feature_ijmpcall,1113 &feature_ijmpcall,
1113 &feature_lpmx,1114 &feature_break,
1114 &feature_jmpcall,
1115 &feature_spm,1115 &feature_spm,
1116 &feature_mul,1116 &feature_mul,
1117 },1117 },
...@@ -1121,14 +1121,14 @@ pub const cpu_atmega165p = Cpu{...@@ -1121,14 +1121,14 @@ pub const cpu_atmega165p = Cpu{
1121 .name = "atmega165p",1121 .name = "atmega165p",
1122 .llvm_name = "atmega165p",1122 .llvm_name = "atmega165p",
1123 .dependencies = &[_]*const Feature {1123 .dependencies = &[_]*const Feature {
1124 &feature_lpmx,
1125 &feature_jmpcall,
1124 &feature_lpm,1126 &feature_lpm,
1125 &feature_sram,1127 &feature_sram,
1126 &feature_addsubiw,1128 &feature_addsubiw,
1127 &feature_movw,1129 &feature_movw,
1128 &feature_break,
1129 &feature_ijmpcall,1130 &feature_ijmpcall,
1130 &feature_lpmx,1131 &feature_break,
1131 &feature_jmpcall,
1132 &feature_spm,1132 &feature_spm,
1133 &feature_mul,1133 &feature_mul,
1134 },1134 },
...@@ -1138,14 +1138,14 @@ pub const cpu_atmega165pa = Cpu{...@@ -1138,14 +1138,14 @@ pub const cpu_atmega165pa = Cpu{
1138 .name = "atmega165pa",1138 .name = "atmega165pa",
1139 .llvm_name = "atmega165pa",1139 .llvm_name = "atmega165pa",
1140 .dependencies = &[_]*const Feature {1140 .dependencies = &[_]*const Feature {
1141 &feature_lpmx,
1142 &feature_jmpcall,
1141 &feature_lpm,1143 &feature_lpm,
1142 &feature_sram,1144 &feature_sram,
1143 &feature_addsubiw,1145 &feature_addsubiw,
1144 &feature_movw,1146 &feature_movw,
1145 &feature_break,
1146 &feature_ijmpcall,1147 &feature_ijmpcall,
1147 &feature_lpmx,1148 &feature_break,
1148 &feature_jmpcall,
1149 &feature_spm,1149 &feature_spm,
1150 &feature_mul,1150 &feature_mul,
1151 },1151 },
...@@ -1155,14 +1155,14 @@ pub const cpu_atmega168 = Cpu{...@@ -1155,14 +1155,14 @@ pub const cpu_atmega168 = Cpu{
1155 .name = "atmega168",1155 .name = "atmega168",
1156 .llvm_name = "atmega168",1156 .llvm_name = "atmega168",
1157 .dependencies = &[_]*const Feature {1157 .dependencies = &[_]*const Feature {
1158 &feature_lpmx,
1159 &feature_jmpcall,
1158 &feature_lpm,1160 &feature_lpm,
1159 &feature_sram,1161 &feature_sram,
1160 &feature_addsubiw,1162 &feature_addsubiw,
1161 &feature_movw,1163 &feature_movw,
1162 &feature_break,
1163 &feature_ijmpcall,1164 &feature_ijmpcall,
1164 &feature_lpmx,1165 &feature_break,
1165 &feature_jmpcall,
1166 &feature_spm,1166 &feature_spm,
1167 &feature_mul,1167 &feature_mul,
1168 },1168 },
...@@ -1172,14 +1172,14 @@ pub const cpu_atmega168a = Cpu{...@@ -1172,14 +1172,14 @@ pub const cpu_atmega168a = Cpu{
1172 .name = "atmega168a",1172 .name = "atmega168a",
1173 .llvm_name = "atmega168a",1173 .llvm_name = "atmega168a",
1174 .dependencies = &[_]*const Feature {1174 .dependencies = &[_]*const Feature {
1175 &feature_lpmx,
1176 &feature_jmpcall,
1175 &feature_lpm,1177 &feature_lpm,
1176 &feature_sram,1178 &feature_sram,
1177 &feature_addsubiw,1179 &feature_addsubiw,
1178 &feature_movw,1180 &feature_movw,
1179 &feature_break,
1180 &feature_ijmpcall,1181 &feature_ijmpcall,
1181 &feature_lpmx,1182 &feature_break,
1182 &feature_jmpcall,
1183 &feature_spm,1183 &feature_spm,
1184 &feature_mul,1184 &feature_mul,
1185 },1185 },
...@@ -1189,14 +1189,14 @@ pub const cpu_atmega168p = Cpu{...@@ -1189,14 +1189,14 @@ pub const cpu_atmega168p = Cpu{
1189 .name = "atmega168p",1189 .name = "atmega168p",
1190 .llvm_name = "atmega168p",1190 .llvm_name = "atmega168p",
1191 .dependencies = &[_]*const Feature {1191 .dependencies = &[_]*const Feature {
1192 &feature_lpmx,
1193 &feature_jmpcall,
1192 &feature_lpm,1194 &feature_lpm,
1193 &feature_sram,1195 &feature_sram,
1194 &feature_addsubiw,1196 &feature_addsubiw,
1195 &feature_movw,1197 &feature_movw,
1196 &feature_break,
1197 &feature_ijmpcall,1198 &feature_ijmpcall,
1198 &feature_lpmx,1199 &feature_break,
1199 &feature_jmpcall,
1200 &feature_spm,1200 &feature_spm,
1201 &feature_mul,1201 &feature_mul,
1202 },1202 },
...@@ -1206,14 +1206,14 @@ pub const cpu_atmega168pa = Cpu{...@@ -1206,14 +1206,14 @@ pub const cpu_atmega168pa = Cpu{
1206 .name = "atmega168pa",1206 .name = "atmega168pa",
1207 .llvm_name = "atmega168pa",1207 .llvm_name = "atmega168pa",
1208 .dependencies = &[_]*const Feature {1208 .dependencies = &[_]*const Feature {
1209 &feature_lpmx,
1210 &feature_jmpcall,
1209 &feature_lpm,1211 &feature_lpm,
1210 &feature_sram,1212 &feature_sram,
1211 &feature_addsubiw,1213 &feature_addsubiw,
1212 &feature_movw,1214 &feature_movw,
1213 &feature_break,
1214 &feature_ijmpcall,1215 &feature_ijmpcall,
1215 &feature_lpmx,1216 &feature_break,
1216 &feature_jmpcall,
1217 &feature_spm,1217 &feature_spm,
1218 &feature_mul,1218 &feature_mul,
1219 },1219 },
...@@ -1223,14 +1223,14 @@ pub const cpu_atmega169 = Cpu{...@@ -1223,14 +1223,14 @@ pub const cpu_atmega169 = Cpu{
1223 .name = "atmega169",1223 .name = "atmega169",
1224 .llvm_name = "atmega169",1224 .llvm_name = "atmega169",
1225 .dependencies = &[_]*const Feature {1225 .dependencies = &[_]*const Feature {
1226 &feature_lpmx,
1227 &feature_jmpcall,
1226 &feature_lpm,1228 &feature_lpm,
1227 &feature_sram,1229 &feature_sram,
1228 &feature_addsubiw,1230 &feature_addsubiw,
1229 &feature_movw,1231 &feature_movw,
1230 &feature_break,
1231 &feature_ijmpcall,1232 &feature_ijmpcall,
1232 &feature_lpmx,1233 &feature_break,
1233 &feature_jmpcall,
1234 &feature_spm,1234 &feature_spm,
1235 &feature_mul,1235 &feature_mul,
1236 },1236 },
...@@ -1240,14 +1240,14 @@ pub const cpu_atmega169a = Cpu{...@@ -1240,14 +1240,14 @@ pub const cpu_atmega169a = Cpu{
1240 .name = "atmega169a",1240 .name = "atmega169a",
1241 .llvm_name = "atmega169a",1241 .llvm_name = "atmega169a",
1242 .dependencies = &[_]*const Feature {1242 .dependencies = &[_]*const Feature {
1243 &feature_lpmx,
1244 &feature_jmpcall,
1243 &feature_lpm,1245 &feature_lpm,
1244 &feature_sram,1246 &feature_sram,
1245 &feature_addsubiw,1247 &feature_addsubiw,
1246 &feature_movw,1248 &feature_movw,
1247 &feature_break,
1248 &feature_ijmpcall,1249 &feature_ijmpcall,
1249 &feature_lpmx,1250 &feature_break,
1250 &feature_jmpcall,
1251 &feature_spm,1251 &feature_spm,
1252 &feature_mul,1252 &feature_mul,
1253 },1253 },
...@@ -1257,14 +1257,14 @@ pub const cpu_atmega169p = Cpu{...@@ -1257,14 +1257,14 @@ pub const cpu_atmega169p = Cpu{
1257 .name = "atmega169p",1257 .name = "atmega169p",
1258 .llvm_name = "atmega169p",1258 .llvm_name = "atmega169p",
1259 .dependencies = &[_]*const Feature {1259 .dependencies = &[_]*const Feature {
1260 &feature_lpmx,
1261 &feature_jmpcall,
1260 &feature_lpm,1262 &feature_lpm,
1261 &feature_sram,1263 &feature_sram,
1262 &feature_addsubiw,1264 &feature_addsubiw,
1263 &feature_movw,1265 &feature_movw,
1264 &feature_break,
1265 &feature_ijmpcall,1266 &feature_ijmpcall,
1266 &feature_lpmx,1267 &feature_break,
1267 &feature_jmpcall,
1268 &feature_spm,1268 &feature_spm,
1269 &feature_mul,1269 &feature_mul,
1270 },1270 },
...@@ -1274,14 +1274,14 @@ pub const cpu_atmega169pa = Cpu{...@@ -1274,14 +1274,14 @@ pub const cpu_atmega169pa = Cpu{
1274 .name = "atmega169pa",1274 .name = "atmega169pa",
1275 .llvm_name = "atmega169pa",1275 .llvm_name = "atmega169pa",
1276 .dependencies = &[_]*const Feature {1276 .dependencies = &[_]*const Feature {
1277 &feature_lpmx,
1278 &feature_jmpcall,
1277 &feature_lpm,1279 &feature_lpm,
1278 &feature_sram,1280 &feature_sram,
1279 &feature_addsubiw,1281 &feature_addsubiw,
1280 &feature_movw,1282 &feature_movw,
1281 &feature_break,
1282 &feature_ijmpcall,1283 &feature_ijmpcall,
1283 &feature_lpmx,1284 &feature_break,
1284 &feature_jmpcall,
1285 &feature_spm,1285 &feature_spm,
1286 &feature_mul,1286 &feature_mul,
1287 },1287 },
...@@ -1291,14 +1291,14 @@ pub const cpu_atmega16a = Cpu{...@@ -1291,14 +1291,14 @@ pub const cpu_atmega16a = Cpu{
1291 .name = "atmega16a",1291 .name = "atmega16a",
1292 .llvm_name = "atmega16a",1292 .llvm_name = "atmega16a",
1293 .dependencies = &[_]*const Feature {1293 .dependencies = &[_]*const Feature {
1294 &feature_lpmx,
1295 &feature_jmpcall,
1294 &feature_lpm,1296 &feature_lpm,
1295 &feature_sram,1297 &feature_sram,
1296 &feature_addsubiw,1298 &feature_addsubiw,
1297 &feature_movw,1299 &feature_movw,
1298 &feature_break,
1299 &feature_ijmpcall,1300 &feature_ijmpcall,
1300 &feature_lpmx,1301 &feature_break,
1301 &feature_jmpcall,
1302 &feature_spm,1302 &feature_spm,
1303 &feature_mul,1303 &feature_mul,
1304 },1304 },
...@@ -1308,14 +1308,14 @@ pub const cpu_atmega16hva = Cpu{...@@ -1308,14 +1308,14 @@ pub const cpu_atmega16hva = Cpu{
1308 .name = "atmega16hva",1308 .name = "atmega16hva",
1309 .llvm_name = "atmega16hva",1309 .llvm_name = "atmega16hva",
1310 .dependencies = &[_]*const Feature {1310 .dependencies = &[_]*const Feature {
1311 &feature_lpmx,
1312 &feature_jmpcall,
1311 &feature_lpm,1313 &feature_lpm,
1312 &feature_sram,1314 &feature_sram,
1313 &feature_addsubiw,1315 &feature_addsubiw,
1314 &feature_movw,1316 &feature_movw,
1315 &feature_break,
1316 &feature_ijmpcall,1317 &feature_ijmpcall,
1317 &feature_lpmx,1318 &feature_break,
1318 &feature_jmpcall,
1319 &feature_spm,1319 &feature_spm,
1320 &feature_mul,1320 &feature_mul,
1321 },1321 },
...@@ -1325,14 +1325,14 @@ pub const cpu_atmega16hva2 = Cpu{...@@ -1325,14 +1325,14 @@ pub const cpu_atmega16hva2 = Cpu{
1325 .name = "atmega16hva2",1325 .name = "atmega16hva2",
1326 .llvm_name = "atmega16hva2",1326 .llvm_name = "atmega16hva2",
1327 .dependencies = &[_]*const Feature {1327 .dependencies = &[_]*const Feature {
1328 &feature_lpmx,
1329 &feature_jmpcall,
1328 &feature_lpm,1330 &feature_lpm,
1329 &feature_sram,1331 &feature_sram,
1330 &feature_addsubiw,1332 &feature_addsubiw,
1331 &feature_movw,1333 &feature_movw,
1332 &feature_break,
1333 &feature_ijmpcall,1334 &feature_ijmpcall,
1334 &feature_lpmx,1335 &feature_break,
1335 &feature_jmpcall,
1336 &feature_spm,1336 &feature_spm,
1337 &feature_mul,1337 &feature_mul,
1338 },1338 },
...@@ -1342,14 +1342,14 @@ pub const cpu_atmega16hvb = Cpu{...@@ -1342,14 +1342,14 @@ pub const cpu_atmega16hvb = Cpu{
1342 .name = "atmega16hvb",1342 .name = "atmega16hvb",
1343 .llvm_name = "atmega16hvb",1343 .llvm_name = "atmega16hvb",
1344 .dependencies = &[_]*const Feature {1344 .dependencies = &[_]*const Feature {
1345 &feature_lpmx,
1346 &feature_jmpcall,
1345 &feature_lpm,1347 &feature_lpm,
1346 &feature_sram,1348 &feature_sram,
1347 &feature_addsubiw,1349 &feature_addsubiw,
1348 &feature_movw,1350 &feature_movw,
1349 &feature_break,
1350 &feature_ijmpcall,1351 &feature_ijmpcall,
1351 &feature_lpmx,1352 &feature_break,
1352 &feature_jmpcall,
1353 &feature_spm,1353 &feature_spm,
1354 &feature_mul,1354 &feature_mul,
1355 },1355 },
...@@ -1359,14 +1359,14 @@ pub const cpu_atmega16hvbrevb = Cpu{...@@ -1359,14 +1359,14 @@ pub const cpu_atmega16hvbrevb = Cpu{
1359 .name = "atmega16hvbrevb",1359 .name = "atmega16hvbrevb",
1360 .llvm_name = "atmega16hvbrevb",1360 .llvm_name = "atmega16hvbrevb",
1361 .dependencies = &[_]*const Feature {1361 .dependencies = &[_]*const Feature {
1362 &feature_lpmx,
1363 &feature_jmpcall,
1362 &feature_lpm,1364 &feature_lpm,
1363 &feature_sram,1365 &feature_sram,
1364 &feature_addsubiw,1366 &feature_addsubiw,
1365 &feature_movw,1367 &feature_movw,
1366 &feature_break,
1367 &feature_ijmpcall,1368 &feature_ijmpcall,
1368 &feature_lpmx,1369 &feature_break,
1369 &feature_jmpcall,
1370 &feature_spm,1370 &feature_spm,
1371 &feature_mul,1371 &feature_mul,
1372 },1372 },
...@@ -1376,14 +1376,14 @@ pub const cpu_atmega16m1 = Cpu{...@@ -1376,14 +1376,14 @@ pub const cpu_atmega16m1 = Cpu{
1376 .name = "atmega16m1",1376 .name = "atmega16m1",
1377 .llvm_name = "atmega16m1",1377 .llvm_name = "atmega16m1",
1378 .dependencies = &[_]*const Feature {1378 .dependencies = &[_]*const Feature {
1379 &feature_lpmx,
1380 &feature_jmpcall,
1379 &feature_lpm,1381 &feature_lpm,
1380 &feature_sram,1382 &feature_sram,
1381 &feature_addsubiw,1383 &feature_addsubiw,
1382 &feature_movw,1384 &feature_movw,
1383 &feature_break,
1384 &feature_ijmpcall,1385 &feature_ijmpcall,
1385 &feature_lpmx,1386 &feature_break,
1386 &feature_jmpcall,
1387 &feature_spm,1387 &feature_spm,
1388 &feature_mul,1388 &feature_mul,
1389 },1389 },
...@@ -1393,14 +1393,14 @@ pub const cpu_atmega16u2 = Cpu{...@@ -1393,14 +1393,14 @@ pub const cpu_atmega16u2 = Cpu{
1393 .name = "atmega16u2",1393 .name = "atmega16u2",
1394 .llvm_name = "atmega16u2",1394 .llvm_name = "atmega16u2",
1395 .dependencies = &[_]*const Feature {1395 .dependencies = &[_]*const Feature {
1396 &feature_lpmx,
1397 &feature_jmpcall,
1396 &feature_lpm,1398 &feature_lpm,
1397 &feature_sram,1399 &feature_sram,
1398 &feature_addsubiw,1400 &feature_addsubiw,
1399 &feature_movw,1401 &feature_movw,
1400 &feature_break,
1401 &feature_ijmpcall,1402 &feature_ijmpcall,
1402 &feature_lpmx,1403 &feature_break,
1403 &feature_jmpcall,
1404 &feature_spm,1404 &feature_spm,
1405 },1405 },
1406};1406};
...@@ -1409,14 +1409,14 @@ pub const cpu_atmega16u4 = Cpu{...@@ -1409,14 +1409,14 @@ pub const cpu_atmega16u4 = Cpu{
1409 .name = "atmega16u4",1409 .name = "atmega16u4",
1410 .llvm_name = "atmega16u4",1410 .llvm_name = "atmega16u4",
1411 .dependencies = &[_]*const Feature {1411 .dependencies = &[_]*const Feature {
1412 &feature_lpmx,
1413 &feature_jmpcall,
1412 &feature_lpm,1414 &feature_lpm,
1413 &feature_sram,1415 &feature_sram,
1414 &feature_addsubiw,1416 &feature_addsubiw,
1415 &feature_movw,1417 &feature_movw,
1416 &feature_break,
1417 &feature_ijmpcall,1418 &feature_ijmpcall,
1418 &feature_lpmx,1419 &feature_break,
1419 &feature_jmpcall,
1420 &feature_spm,1420 &feature_spm,
1421 &feature_mul,1421 &feature_mul,
1422 },1422 },
...@@ -1426,17 +1426,17 @@ pub const cpu_atmega2560 = Cpu{...@@ -1426,17 +1426,17 @@ pub const cpu_atmega2560 = Cpu{
1426 .name = "atmega2560",1426 .name = "atmega2560",
1427 .llvm_name = "atmega2560",1427 .llvm_name = "atmega2560",
1428 .dependencies = &[_]*const Feature {1428 .dependencies = &[_]*const Feature {
1429 &feature_lpmx,
1430 &feature_jmpcall,
1429 &feature_lpm,1431 &feature_lpm,
1432 &feature_elpm,
1430 &feature_sram,1433 &feature_sram,
1431 &feature_addsubiw,1434 &feature_addsubiw,
1435 &feature_elpmx,
1432 &feature_movw,1436 &feature_movw,
1433 &feature_elpm,
1434 &feature_break,
1435 &feature_ijmpcall,1437 &feature_ijmpcall,
1436 &feature_lpmx,1438 &feature_break,
1437 &feature_jmpcall,
1438 &feature_spm,1439 &feature_spm,
1439 &feature_elpmx,
1440 &feature_mul,1440 &feature_mul,
1441 },1441 },
1442};1442};
...@@ -1445,17 +1445,17 @@ pub const cpu_atmega2561 = Cpu{...@@ -1445,17 +1445,17 @@ pub const cpu_atmega2561 = Cpu{
1445 .name = "atmega2561",1445 .name = "atmega2561",
1446 .llvm_name = "atmega2561",1446 .llvm_name = "atmega2561",
1447 .dependencies = &[_]*const Feature {1447 .dependencies = &[_]*const Feature {
1448 &feature_lpmx,
1449 &feature_jmpcall,
1448 &feature_lpm,1450 &feature_lpm,
1451 &feature_elpm,
1449 &feature_sram,1452 &feature_sram,
1450 &feature_addsubiw,1453 &feature_addsubiw,
1454 &feature_elpmx,
1451 &feature_movw,1455 &feature_movw,
1452 &feature_elpm,
1453 &feature_break,
1454 &feature_ijmpcall,1456 &feature_ijmpcall,
1455 &feature_lpmx,1457 &feature_break,
1456 &feature_jmpcall,
1457 &feature_spm,1458 &feature_spm,
1458 &feature_elpmx,
1459 &feature_mul,1459 &feature_mul,
1460 },1460 },
1461};1461};
...@@ -1464,17 +1464,17 @@ pub const cpu_atmega2564rfr2 = Cpu{...@@ -1464,17 +1464,17 @@ pub const cpu_atmega2564rfr2 = Cpu{
1464 .name = "atmega2564rfr2",1464 .name = "atmega2564rfr2",
1465 .llvm_name = "atmega2564rfr2",1465 .llvm_name = "atmega2564rfr2",
1466 .dependencies = &[_]*const Feature {1466 .dependencies = &[_]*const Feature {
1467 &feature_lpmx,
1468 &feature_jmpcall,
1467 &feature_lpm,1469 &feature_lpm,
1470 &feature_elpm,
1468 &feature_sram,1471 &feature_sram,
1469 &feature_addsubiw,1472 &feature_addsubiw,
1473 &feature_elpmx,
1470 &feature_movw,1474 &feature_movw,
1471 &feature_elpm,
1472 &feature_break,
1473 &feature_ijmpcall,1475 &feature_ijmpcall,
1474 &feature_lpmx,1476 &feature_break,
1475 &feature_jmpcall,
1476 &feature_spm,1477 &feature_spm,
1477 &feature_elpmx,
1478 &feature_mul,1478 &feature_mul,
1479 },1479 },
1480};1480};
...@@ -1483,17 +1483,17 @@ pub const cpu_atmega256rfr2 = Cpu{...@@ -1483,17 +1483,17 @@ pub const cpu_atmega256rfr2 = Cpu{
1483 .name = "atmega256rfr2",1483 .name = "atmega256rfr2",
1484 .llvm_name = "atmega256rfr2",1484 .llvm_name = "atmega256rfr2",
1485 .dependencies = &[_]*const Feature {1485 .dependencies = &[_]*const Feature {
1486 &feature_lpmx,
1487 &feature_jmpcall,
1486 &feature_lpm,1488 &feature_lpm,
1489 &feature_elpm,
1487 &feature_sram,1490 &feature_sram,
1488 &feature_addsubiw,1491 &feature_addsubiw,
1492 &feature_elpmx,
1489 &feature_movw,1493 &feature_movw,
1490 &feature_elpm,
1491 &feature_break,
1492 &feature_ijmpcall,1494 &feature_ijmpcall,
1493 &feature_lpmx,1495 &feature_break,
1494 &feature_jmpcall,
1495 &feature_spm,1496 &feature_spm,
1496 &feature_elpmx,
1497 &feature_mul,1497 &feature_mul,
1498 },1498 },
1499};1499};
...@@ -1502,14 +1502,14 @@ pub const cpu_atmega32 = Cpu{...@@ -1502,14 +1502,14 @@ pub const cpu_atmega32 = Cpu{
1502 .name = "atmega32",1502 .name = "atmega32",
1503 .llvm_name = "atmega32",1503 .llvm_name = "atmega32",
1504 .dependencies = &[_]*const Feature {1504 .dependencies = &[_]*const Feature {
1505 &feature_lpmx,
1506 &feature_jmpcall,
1505 &feature_lpm,1507 &feature_lpm,
1506 &feature_sram,1508 &feature_sram,
1507 &feature_addsubiw,1509 &feature_addsubiw,
1508 &feature_movw,1510 &feature_movw,
1509 &feature_break,
1510 &feature_ijmpcall,1511 &feature_ijmpcall,
1511 &feature_lpmx,1512 &feature_break,
1512 &feature_jmpcall,
1513 &feature_spm,1513 &feature_spm,
1514 &feature_mul,1514 &feature_mul,
1515 },1515 },
...@@ -1519,14 +1519,14 @@ pub const cpu_atmega323 = Cpu{...@@ -1519,14 +1519,14 @@ pub const cpu_atmega323 = Cpu{
1519 .name = "atmega323",1519 .name = "atmega323",
1520 .llvm_name = "atmega323",1520 .llvm_name = "atmega323",
1521 .dependencies = &[_]*const Feature {1521 .dependencies = &[_]*const Feature {
1522 &feature_lpmx,
1523 &feature_jmpcall,
1522 &feature_lpm,1524 &feature_lpm,
1523 &feature_sram,1525 &feature_sram,
1524 &feature_addsubiw,1526 &feature_addsubiw,
1525 &feature_movw,1527 &feature_movw,
1526 &feature_break,
1527 &feature_ijmpcall,1528 &feature_ijmpcall,
1528 &feature_lpmx,1529 &feature_break,
1529 &feature_jmpcall,
1530 &feature_spm,1530 &feature_spm,
1531 &feature_mul,1531 &feature_mul,
1532 },1532 },
...@@ -1536,14 +1536,14 @@ pub const cpu_atmega324a = Cpu{...@@ -1536,14 +1536,14 @@ pub const cpu_atmega324a = Cpu{
1536 .name = "atmega324a",1536 .name = "atmega324a",
1537 .llvm_name = "atmega324a",1537 .llvm_name = "atmega324a",
1538 .dependencies = &[_]*const Feature {1538 .dependencies = &[_]*const Feature {
1539 &feature_lpmx,
1540 &feature_jmpcall,
1539 &feature_lpm,1541 &feature_lpm,
1540 &feature_sram,1542 &feature_sram,
1541 &feature_addsubiw,1543 &feature_addsubiw,
1542 &feature_movw,1544 &feature_movw,
1543 &feature_break,
1544 &feature_ijmpcall,1545 &feature_ijmpcall,
1545 &feature_lpmx,1546 &feature_break,
1546 &feature_jmpcall,
1547 &feature_spm,1547 &feature_spm,
1548 &feature_mul,1548 &feature_mul,
1549 },1549 },
...@@ -1553,14 +1553,14 @@ pub const cpu_atmega324p = Cpu{...@@ -1553,14 +1553,14 @@ pub const cpu_atmega324p = Cpu{
1553 .name = "atmega324p",1553 .name = "atmega324p",
1554 .llvm_name = "atmega324p",1554 .llvm_name = "atmega324p",
1555 .dependencies = &[_]*const Feature {1555 .dependencies = &[_]*const Feature {
1556 &feature_lpmx,
1557 &feature_jmpcall,
1556 &feature_lpm,1558 &feature_lpm,
1557 &feature_sram,1559 &feature_sram,
1558 &feature_addsubiw,1560 &feature_addsubiw,
1559 &feature_movw,1561 &feature_movw,
1560 &feature_break,
1561 &feature_ijmpcall,1562 &feature_ijmpcall,
1562 &feature_lpmx,1563 &feature_break,
1563 &feature_jmpcall,
1564 &feature_spm,1564 &feature_spm,
1565 &feature_mul,1565 &feature_mul,
1566 },1566 },
...@@ -1570,14 +1570,14 @@ pub const cpu_atmega324pa = Cpu{...@@ -1570,14 +1570,14 @@ pub const cpu_atmega324pa = Cpu{
1570 .name = "atmega324pa",1570 .name = "atmega324pa",
1571 .llvm_name = "atmega324pa",1571 .llvm_name = "atmega324pa",
1572 .dependencies = &[_]*const Feature {1572 .dependencies = &[_]*const Feature {
1573 &feature_lpmx,
1574 &feature_jmpcall,
1573 &feature_lpm,1575 &feature_lpm,
1574 &feature_sram,1576 &feature_sram,
1575 &feature_addsubiw,1577 &feature_addsubiw,
1576 &feature_movw,1578 &feature_movw,
1577 &feature_break,
1578 &feature_ijmpcall,1579 &feature_ijmpcall,
1579 &feature_lpmx,1580 &feature_break,
1580 &feature_jmpcall,
1581 &feature_spm,1581 &feature_spm,
1582 &feature_mul,1582 &feature_mul,
1583 },1583 },
...@@ -1587,14 +1587,14 @@ pub const cpu_atmega325 = Cpu{...@@ -1587,14 +1587,14 @@ pub const cpu_atmega325 = Cpu{
1587 .name = "atmega325",1587 .name = "atmega325",
1588 .llvm_name = "atmega325",1588 .llvm_name = "atmega325",
1589 .dependencies = &[_]*const Feature {1589 .dependencies = &[_]*const Feature {
1590 &feature_lpmx,
1591 &feature_jmpcall,
1590 &feature_lpm,1592 &feature_lpm,
1591 &feature_sram,1593 &feature_sram,
1592 &feature_addsubiw,1594 &feature_addsubiw,
1593 &feature_movw,1595 &feature_movw,
1594 &feature_break,
1595 &feature_ijmpcall,1596 &feature_ijmpcall,
1596 &feature_lpmx,1597 &feature_break,
1597 &feature_jmpcall,
1598 &feature_spm,1598 &feature_spm,
1599 &feature_mul,1599 &feature_mul,
1600 },1600 },
...@@ -1604,14 +1604,14 @@ pub const cpu_atmega3250 = Cpu{...@@ -1604,14 +1604,14 @@ pub const cpu_atmega3250 = Cpu{
1604 .name = "atmega3250",1604 .name = "atmega3250",
1605 .llvm_name = "atmega3250",1605 .llvm_name = "atmega3250",
1606 .dependencies = &[_]*const Feature {1606 .dependencies = &[_]*const Feature {
1607 &feature_lpmx,
1608 &feature_jmpcall,
1607 &feature_lpm,1609 &feature_lpm,
1608 &feature_sram,1610 &feature_sram,
1609 &feature_addsubiw,1611 &feature_addsubiw,
1610 &feature_movw,1612 &feature_movw,
1611 &feature_break,
1612 &feature_ijmpcall,1613 &feature_ijmpcall,
1613 &feature_lpmx,1614 &feature_break,
1614 &feature_jmpcall,
1615 &feature_spm,1615 &feature_spm,
1616 &feature_mul,1616 &feature_mul,
1617 },1617 },
...@@ -1621,14 +1621,14 @@ pub const cpu_atmega3250a = Cpu{...@@ -1621,14 +1621,14 @@ pub const cpu_atmega3250a = Cpu{
1621 .name = "atmega3250a",1621 .name = "atmega3250a",
1622 .llvm_name = "atmega3250a",1622 .llvm_name = "atmega3250a",
1623 .dependencies = &[_]*const Feature {1623 .dependencies = &[_]*const Feature {
1624 &feature_lpmx,
1625 &feature_jmpcall,
1624 &feature_lpm,1626 &feature_lpm,
1625 &feature_sram,1627 &feature_sram,
1626 &feature_addsubiw,1628 &feature_addsubiw,
1627 &feature_movw,1629 &feature_movw,
1628 &feature_break,
1629 &feature_ijmpcall,1630 &feature_ijmpcall,
1630 &feature_lpmx,1631 &feature_break,
1631 &feature_jmpcall,
1632 &feature_spm,1632 &feature_spm,
1633 &feature_mul,1633 &feature_mul,
1634 },1634 },
...@@ -1638,14 +1638,14 @@ pub const cpu_atmega3250p = Cpu{...@@ -1638,14 +1638,14 @@ pub const cpu_atmega3250p = Cpu{
1638 .name = "atmega3250p",1638 .name = "atmega3250p",
1639 .llvm_name = "atmega3250p",1639 .llvm_name = "atmega3250p",
1640 .dependencies = &[_]*const Feature {1640 .dependencies = &[_]*const Feature {
1641 &feature_lpmx,
1642 &feature_jmpcall,
1641 &feature_lpm,1643 &feature_lpm,
1642 &feature_sram,1644 &feature_sram,
1643 &feature_addsubiw,1645 &feature_addsubiw,
1644 &feature_movw,1646 &feature_movw,
1645 &feature_break,
1646 &feature_ijmpcall,1647 &feature_ijmpcall,
1647 &feature_lpmx,1648 &feature_break,
1648 &feature_jmpcall,
1649 &feature_spm,1649 &feature_spm,
1650 &feature_mul,1650 &feature_mul,
1651 },1651 },
...@@ -1655,14 +1655,14 @@ pub const cpu_atmega3250pa = Cpu{...@@ -1655,14 +1655,14 @@ pub const cpu_atmega3250pa = Cpu{
1655 .name = "atmega3250pa",1655 .name = "atmega3250pa",
1656 .llvm_name = "atmega3250pa",1656 .llvm_name = "atmega3250pa",
1657 .dependencies = &[_]*const Feature {1657 .dependencies = &[_]*const Feature {
1658 &feature_lpmx,
1659 &feature_jmpcall,
1658 &feature_lpm,1660 &feature_lpm,
1659 &feature_sram,1661 &feature_sram,
1660 &feature_addsubiw,1662 &feature_addsubiw,
1661 &feature_movw,1663 &feature_movw,
1662 &feature_break,
1663 &feature_ijmpcall,1664 &feature_ijmpcall,
1664 &feature_lpmx,1665 &feature_break,
1665 &feature_jmpcall,
1666 &feature_spm,1666 &feature_spm,
1667 &feature_mul,1667 &feature_mul,
1668 },1668 },
...@@ -1672,14 +1672,14 @@ pub const cpu_atmega325a = Cpu{...@@ -1672,14 +1672,14 @@ pub const cpu_atmega325a = Cpu{
1672 .name = "atmega325a",1672 .name = "atmega325a",
1673 .llvm_name = "atmega325a",1673 .llvm_name = "atmega325a",
1674 .dependencies = &[_]*const Feature {1674 .dependencies = &[_]*const Feature {
1675 &feature_lpmx,
1676 &feature_jmpcall,
1675 &feature_lpm,1677 &feature_lpm,
1676 &feature_sram,1678 &feature_sram,
1677 &feature_addsubiw,1679 &feature_addsubiw,
1678 &feature_movw,1680 &feature_movw,
1679 &feature_break,
1680 &feature_ijmpcall,1681 &feature_ijmpcall,
1681 &feature_lpmx,1682 &feature_break,
1682 &feature_jmpcall,
1683 &feature_spm,1683 &feature_spm,
1684 &feature_mul,1684 &feature_mul,
1685 },1685 },
...@@ -1689,14 +1689,14 @@ pub const cpu_atmega325p = Cpu{...@@ -1689,14 +1689,14 @@ pub const cpu_atmega325p = Cpu{
1689 .name = "atmega325p",1689 .name = "atmega325p",
1690 .llvm_name = "atmega325p",1690 .llvm_name = "atmega325p",
1691 .dependencies = &[_]*const Feature {1691 .dependencies = &[_]*const Feature {
1692 &feature_lpmx,
1693 &feature_jmpcall,
1692 &feature_lpm,1694 &feature_lpm,
1693 &feature_sram,1695 &feature_sram,
1694 &feature_addsubiw,1696 &feature_addsubiw,
1695 &feature_movw,1697 &feature_movw,
1696 &feature_break,
1697 &feature_ijmpcall,1698 &feature_ijmpcall,
1698 &feature_lpmx,1699 &feature_break,
1699 &feature_jmpcall,
1700 &feature_spm,1700 &feature_spm,
1701 &feature_mul,1701 &feature_mul,
1702 },1702 },
...@@ -1706,14 +1706,14 @@ pub const cpu_atmega325pa = Cpu{...@@ -1706,14 +1706,14 @@ pub const cpu_atmega325pa = Cpu{
1706 .name = "atmega325pa",1706 .name = "atmega325pa",
1707 .llvm_name = "atmega325pa",1707 .llvm_name = "atmega325pa",
1708 .dependencies = &[_]*const Feature {1708 .dependencies = &[_]*const Feature {
1709 &feature_lpmx,
1710 &feature_jmpcall,
1709 &feature_lpm,1711 &feature_lpm,
1710 &feature_sram,1712 &feature_sram,
1711 &feature_addsubiw,1713 &feature_addsubiw,
1712 &feature_movw,1714 &feature_movw,
1713 &feature_break,
1714 &feature_ijmpcall,1715 &feature_ijmpcall,
1715 &feature_lpmx,1716 &feature_break,
1716 &feature_jmpcall,
1717 &feature_spm,1717 &feature_spm,
1718 &feature_mul,1718 &feature_mul,
1719 },1719 },
...@@ -1723,14 +1723,14 @@ pub const cpu_atmega328 = Cpu{...@@ -1723,14 +1723,14 @@ pub const cpu_atmega328 = Cpu{
1723 .name = "atmega328",1723 .name = "atmega328",
1724 .llvm_name = "atmega328",1724 .llvm_name = "atmega328",
1725 .dependencies = &[_]*const Feature {1725 .dependencies = &[_]*const Feature {
1726 &feature_lpmx,
1727 &feature_jmpcall,
1726 &feature_lpm,1728 &feature_lpm,
1727 &feature_sram,1729 &feature_sram,
1728 &feature_addsubiw,1730 &feature_addsubiw,
1729 &feature_movw,1731 &feature_movw,
1730 &feature_break,
1731 &feature_ijmpcall,1732 &feature_ijmpcall,
1732 &feature_lpmx,1733 &feature_break,
1733 &feature_jmpcall,
1734 &feature_spm,1734 &feature_spm,
1735 &feature_mul,1735 &feature_mul,
1736 },1736 },
...@@ -1740,14 +1740,14 @@ pub const cpu_atmega328p = Cpu{...@@ -1740,14 +1740,14 @@ pub const cpu_atmega328p = Cpu{
1740 .name = "atmega328p",1740 .name = "atmega328p",
1741 .llvm_name = "atmega328p",1741 .llvm_name = "atmega328p",
1742 .dependencies = &[_]*const Feature {1742 .dependencies = &[_]*const Feature {
1743 &feature_lpmx,
1744 &feature_jmpcall,
1743 &feature_lpm,1745 &feature_lpm,
1744 &feature_sram,1746 &feature_sram,
1745 &feature_addsubiw,1747 &feature_addsubiw,
1746 &feature_movw,1748 &feature_movw,
1747 &feature_break,
1748 &feature_ijmpcall,1749 &feature_ijmpcall,
1749 &feature_lpmx,1750 &feature_break,
1750 &feature_jmpcall,
1751 &feature_spm,1751 &feature_spm,
1752 &feature_mul,1752 &feature_mul,
1753 },1753 },
...@@ -1757,14 +1757,14 @@ pub const cpu_atmega329 = Cpu{...@@ -1757,14 +1757,14 @@ pub const cpu_atmega329 = Cpu{
1757 .name = "atmega329",1757 .name = "atmega329",
1758 .llvm_name = "atmega329",1758 .llvm_name = "atmega329",
1759 .dependencies = &[_]*const Feature {1759 .dependencies = &[_]*const Feature {
1760 &feature_lpmx,
1761 &feature_jmpcall,
1760 &feature_lpm,1762 &feature_lpm,
1761 &feature_sram,1763 &feature_sram,
1762 &feature_addsubiw,1764 &feature_addsubiw,
1763 &feature_movw,1765 &feature_movw,
1764 &feature_break,
1765 &feature_ijmpcall,1766 &feature_ijmpcall,
1766 &feature_lpmx,1767 &feature_break,
1767 &feature_jmpcall,
1768 &feature_spm,1768 &feature_spm,
1769 &feature_mul,1769 &feature_mul,
1770 },1770 },
...@@ -1774,14 +1774,14 @@ pub const cpu_atmega3290 = Cpu{...@@ -1774,14 +1774,14 @@ pub const cpu_atmega3290 = Cpu{
1774 .name = "atmega3290",1774 .name = "atmega3290",
1775 .llvm_name = "atmega3290",1775 .llvm_name = "atmega3290",
1776 .dependencies = &[_]*const Feature {1776 .dependencies = &[_]*const Feature {
1777 &feature_lpmx,
1778 &feature_jmpcall,
1777 &feature_lpm,1779 &feature_lpm,
1778 &feature_sram,1780 &feature_sram,
1779 &feature_addsubiw,1781 &feature_addsubiw,
1780 &feature_movw,1782 &feature_movw,
1781 &feature_break,
1782 &feature_ijmpcall,1783 &feature_ijmpcall,
1783 &feature_lpmx,1784 &feature_break,
1784 &feature_jmpcall,
1785 &feature_spm,1785 &feature_spm,
1786 &feature_mul,1786 &feature_mul,
1787 },1787 },
...@@ -1791,14 +1791,14 @@ pub const cpu_atmega3290a = Cpu{...@@ -1791,14 +1791,14 @@ pub const cpu_atmega3290a = Cpu{
1791 .name = "atmega3290a",1791 .name = "atmega3290a",
1792 .llvm_name = "atmega3290a",1792 .llvm_name = "atmega3290a",
1793 .dependencies = &[_]*const Feature {1793 .dependencies = &[_]*const Feature {
1794 &feature_lpmx,
1795 &feature_jmpcall,
1794 &feature_lpm,1796 &feature_lpm,
1795 &feature_sram,1797 &feature_sram,
1796 &feature_addsubiw,1798 &feature_addsubiw,
1797 &feature_movw,1799 &feature_movw,
1798 &feature_break,
1799 &feature_ijmpcall,1800 &feature_ijmpcall,
1800 &feature_lpmx,1801 &feature_break,
1801 &feature_jmpcall,
1802 &feature_spm,1802 &feature_spm,
1803 &feature_mul,1803 &feature_mul,
1804 },1804 },
...@@ -1808,14 +1808,14 @@ pub const cpu_atmega3290p = Cpu{...@@ -1808,14 +1808,14 @@ pub const cpu_atmega3290p = Cpu{
1808 .name = "atmega3290p",1808 .name = "atmega3290p",
1809 .llvm_name = "atmega3290p",1809 .llvm_name = "atmega3290p",
1810 .dependencies = &[_]*const Feature {1810 .dependencies = &[_]*const Feature {
1811 &feature_lpmx,
1812 &feature_jmpcall,
1811 &feature_lpm,1813 &feature_lpm,
1812 &feature_sram,1814 &feature_sram,
1813 &feature_addsubiw,1815 &feature_addsubiw,
1814 &feature_movw,1816 &feature_movw,
1815 &feature_break,
1816 &feature_ijmpcall,1817 &feature_ijmpcall,
1817 &feature_lpmx,1818 &feature_break,
1818 &feature_jmpcall,
1819 &feature_spm,1819 &feature_spm,
1820 &feature_mul,1820 &feature_mul,
1821 },1821 },
...@@ -1825,14 +1825,14 @@ pub const cpu_atmega3290pa = Cpu{...@@ -1825,14 +1825,14 @@ pub const cpu_atmega3290pa = Cpu{
1825 .name = "atmega3290pa",1825 .name = "atmega3290pa",
1826 .llvm_name = "atmega3290pa",1826 .llvm_name = "atmega3290pa",
1827 .dependencies = &[_]*const Feature {1827 .dependencies = &[_]*const Feature {
1828 &feature_lpmx,
1829 &feature_jmpcall,
1828 &feature_lpm,1830 &feature_lpm,
1829 &feature_sram,1831 &feature_sram,
1830 &feature_addsubiw,1832 &feature_addsubiw,
1831 &feature_movw,1833 &feature_movw,
1832 &feature_break,
1833 &feature_ijmpcall,1834 &feature_ijmpcall,
1834 &feature_lpmx,1835 &feature_break,
1835 &feature_jmpcall,
1836 &feature_spm,1836 &feature_spm,
1837 &feature_mul,1837 &feature_mul,
1838 },1838 },
...@@ -1842,14 +1842,14 @@ pub const cpu_atmega329a = Cpu{...@@ -1842,14 +1842,14 @@ pub const cpu_atmega329a = Cpu{
1842 .name = "atmega329a",1842 .name = "atmega329a",
1843 .llvm_name = "atmega329a",1843 .llvm_name = "atmega329a",
1844 .dependencies = &[_]*const Feature {1844 .dependencies = &[_]*const Feature {
1845 &feature_lpmx,
1846 &feature_jmpcall,
1845 &feature_lpm,1847 &feature_lpm,
1846 &feature_sram,1848 &feature_sram,
1847 &feature_addsubiw,1849 &feature_addsubiw,
1848 &feature_movw,1850 &feature_movw,
1849 &feature_break,
1850 &feature_ijmpcall,1851 &feature_ijmpcall,
1851 &feature_lpmx,1852 &feature_break,
1852 &feature_jmpcall,
1853 &feature_spm,1853 &feature_spm,
1854 &feature_mul,1854 &feature_mul,
1855 },1855 },
...@@ -1859,14 +1859,14 @@ pub const cpu_atmega329p = Cpu{...@@ -1859,14 +1859,14 @@ pub const cpu_atmega329p = Cpu{
1859 .name = "atmega329p",1859 .name = "atmega329p",
1860 .llvm_name = "atmega329p",1860 .llvm_name = "atmega329p",
1861 .dependencies = &[_]*const Feature {1861 .dependencies = &[_]*const Feature {
1862 &feature_lpmx,
1863 &feature_jmpcall,
1862 &feature_lpm,1864 &feature_lpm,
1863 &feature_sram,1865 &feature_sram,
1864 &feature_addsubiw,1866 &feature_addsubiw,
1865 &feature_movw,1867 &feature_movw,
1866 &feature_break,
1867 &feature_ijmpcall,1868 &feature_ijmpcall,
1868 &feature_lpmx,1869 &feature_break,
1869 &feature_jmpcall,
1870 &feature_spm,1870 &feature_spm,
1871 &feature_mul,1871 &feature_mul,
1872 },1872 },
...@@ -1876,14 +1876,14 @@ pub const cpu_atmega329pa = Cpu{...@@ -1876,14 +1876,14 @@ pub const cpu_atmega329pa = Cpu{
1876 .name = "atmega329pa",1876 .name = "atmega329pa",
1877 .llvm_name = "atmega329pa",1877 .llvm_name = "atmega329pa",
1878 .dependencies = &[_]*const Feature {1878 .dependencies = &[_]*const Feature {
1879 &feature_lpmx,
1880 &feature_jmpcall,
1879 &feature_lpm,1881 &feature_lpm,
1880 &feature_sram,1882 &feature_sram,
1881 &feature_addsubiw,1883 &feature_addsubiw,
1882 &feature_movw,1884 &feature_movw,
1883 &feature_break,
1884 &feature_ijmpcall,1885 &feature_ijmpcall,
1885 &feature_lpmx,1886 &feature_break,
1886 &feature_jmpcall,
1887 &feature_spm,1887 &feature_spm,
1888 &feature_mul,1888 &feature_mul,
1889 },1889 },
...@@ -1893,14 +1893,14 @@ pub const cpu_atmega32a = Cpu{...@@ -1893,14 +1893,14 @@ pub const cpu_atmega32a = Cpu{
1893 .name = "atmega32a",1893 .name = "atmega32a",
1894 .llvm_name = "atmega32a",1894 .llvm_name = "atmega32a",
1895 .dependencies = &[_]*const Feature {1895 .dependencies = &[_]*const Feature {
1896 &feature_lpmx,
1897 &feature_jmpcall,
1896 &feature_lpm,1898 &feature_lpm,
1897 &feature_sram,1899 &feature_sram,
1898 &feature_addsubiw,1900 &feature_addsubiw,
1899 &feature_movw,1901 &feature_movw,
1900 &feature_break,
1901 &feature_ijmpcall,1902 &feature_ijmpcall,
1902 &feature_lpmx,1903 &feature_break,
1903 &feature_jmpcall,
1904 &feature_spm,1904 &feature_spm,
1905 &feature_mul,1905 &feature_mul,
1906 },1906 },
...@@ -1910,14 +1910,14 @@ pub const cpu_atmega32c1 = Cpu{...@@ -1910,14 +1910,14 @@ pub const cpu_atmega32c1 = Cpu{
1910 .name = "atmega32c1",1910 .name = "atmega32c1",
1911 .llvm_name = "atmega32c1",1911 .llvm_name = "atmega32c1",
1912 .dependencies = &[_]*const Feature {1912 .dependencies = &[_]*const Feature {
1913 &feature_lpmx,
1914 &feature_jmpcall,
1913 &feature_lpm,1915 &feature_lpm,
1914 &feature_sram,1916 &feature_sram,
1915 &feature_addsubiw,1917 &feature_addsubiw,
1916 &feature_movw,1918 &feature_movw,
1917 &feature_break,
1918 &feature_ijmpcall,1919 &feature_ijmpcall,
1919 &feature_lpmx,1920 &feature_break,
1920 &feature_jmpcall,
1921 &feature_spm,1921 &feature_spm,
1922 &feature_mul,1922 &feature_mul,
1923 },1923 },
...@@ -1927,14 +1927,14 @@ pub const cpu_atmega32hvb = Cpu{...@@ -1927,14 +1927,14 @@ pub const cpu_atmega32hvb = Cpu{
1927 .name = "atmega32hvb",1927 .name = "atmega32hvb",
1928 .llvm_name = "atmega32hvb",1928 .llvm_name = "atmega32hvb",
1929 .dependencies = &[_]*const Feature {1929 .dependencies = &[_]*const Feature {
1930 &feature_lpmx,
1931 &feature_jmpcall,
1930 &feature_lpm,1932 &feature_lpm,
1931 &feature_sram,1933 &feature_sram,
1932 &feature_addsubiw,1934 &feature_addsubiw,
1933 &feature_movw,1935 &feature_movw,
1934 &feature_break,
1935 &feature_ijmpcall,1936 &feature_ijmpcall,
1936 &feature_lpmx,1937 &feature_break,
1937 &feature_jmpcall,
1938 &feature_spm,1938 &feature_spm,
1939 &feature_mul,1939 &feature_mul,
1940 },1940 },
...@@ -1944,14 +1944,14 @@ pub const cpu_atmega32hvbrevb = Cpu{...@@ -1944,14 +1944,14 @@ pub const cpu_atmega32hvbrevb = Cpu{
1944 .name = "atmega32hvbrevb",1944 .name = "atmega32hvbrevb",
1945 .llvm_name = "atmega32hvbrevb",1945 .llvm_name = "atmega32hvbrevb",
1946 .dependencies = &[_]*const Feature {1946 .dependencies = &[_]*const Feature {
1947 &feature_lpmx,
1948 &feature_jmpcall,
1947 &feature_lpm,1949 &feature_lpm,
1948 &feature_sram,1950 &feature_sram,
1949 &feature_addsubiw,1951 &feature_addsubiw,
1950 &feature_movw,1952 &feature_movw,
1951 &feature_break,
1952 &feature_ijmpcall,1953 &feature_ijmpcall,
1953 &feature_lpmx,1954 &feature_break,
1954 &feature_jmpcall,
1955 &feature_spm,1955 &feature_spm,
1956 &feature_mul,1956 &feature_mul,
1957 },1957 },
...@@ -1961,14 +1961,14 @@ pub const cpu_atmega32m1 = Cpu{...@@ -1961,14 +1961,14 @@ pub const cpu_atmega32m1 = Cpu{
1961 .name = "atmega32m1",1961 .name = "atmega32m1",
1962 .llvm_name = "atmega32m1",1962 .llvm_name = "atmega32m1",
1963 .dependencies = &[_]*const Feature {1963 .dependencies = &[_]*const Feature {
1964 &feature_lpmx,
1965 &feature_jmpcall,
1964 &feature_lpm,1966 &feature_lpm,
1965 &feature_sram,1967 &feature_sram,
1966 &feature_addsubiw,1968 &feature_addsubiw,
1967 &feature_movw,1969 &feature_movw,
1968 &feature_break,
1969 &feature_ijmpcall,1970 &feature_ijmpcall,
1970 &feature_lpmx,1971 &feature_break,
1971 &feature_jmpcall,
1972 &feature_spm,1972 &feature_spm,
1973 &feature_mul,1973 &feature_mul,
1974 },1974 },
...@@ -1978,14 +1978,14 @@ pub const cpu_atmega32u2 = Cpu{...@@ -1978,14 +1978,14 @@ pub const cpu_atmega32u2 = Cpu{
1978 .name = "atmega32u2",1978 .name = "atmega32u2",
1979 .llvm_name = "atmega32u2",1979 .llvm_name = "atmega32u2",
1980 .dependencies = &[_]*const Feature {1980 .dependencies = &[_]*const Feature {
1981 &feature_lpmx,
1982 &feature_jmpcall,
1981 &feature_lpm,1983 &feature_lpm,
1982 &feature_sram,1984 &feature_sram,
1983 &feature_addsubiw,1985 &feature_addsubiw,
1984 &feature_movw,1986 &feature_movw,
1985 &feature_break,
1986 &feature_ijmpcall,1987 &feature_ijmpcall,
1987 &feature_lpmx,1988 &feature_break,
1988 &feature_jmpcall,
1989 &feature_spm,1989 &feature_spm,
1990 },1990 },
1991};1991};
...@@ -1994,14 +1994,14 @@ pub const cpu_atmega32u4 = Cpu{...@@ -1994,14 +1994,14 @@ pub const cpu_atmega32u4 = Cpu{
1994 .name = "atmega32u4",1994 .name = "atmega32u4",
1995 .llvm_name = "atmega32u4",1995 .llvm_name = "atmega32u4",
1996 .dependencies = &[_]*const Feature {1996 .dependencies = &[_]*const Feature {
1997 &feature_lpmx,
1998 &feature_jmpcall,
1997 &feature_lpm,1999 &feature_lpm,
1998 &feature_sram,2000 &feature_sram,
1999 &feature_addsubiw,2001 &feature_addsubiw,
2000 &feature_movw,2002 &feature_movw,
2001 &feature_break,
2002 &feature_ijmpcall,2003 &feature_ijmpcall,
2003 &feature_lpmx,2004 &feature_break,
2004 &feature_jmpcall,
2005 &feature_spm,2005 &feature_spm,
2006 &feature_mul,2006 &feature_mul,
2007 },2007 },
...@@ -2011,14 +2011,14 @@ pub const cpu_atmega32u6 = Cpu{...@@ -2011,14 +2011,14 @@ pub const cpu_atmega32u6 = Cpu{
2011 .name = "atmega32u6",2011 .name = "atmega32u6",
2012 .llvm_name = "atmega32u6",2012 .llvm_name = "atmega32u6",
2013 .dependencies = &[_]*const Feature {2013 .dependencies = &[_]*const Feature {
2014 &feature_lpmx,
2015 &feature_jmpcall,
2014 &feature_lpm,2016 &feature_lpm,
2015 &feature_sram,2017 &feature_sram,
2016 &feature_addsubiw,2018 &feature_addsubiw,
2017 &feature_movw,2019 &feature_movw,
2018 &feature_break,
2019 &feature_ijmpcall,2020 &feature_ijmpcall,
2020 &feature_lpmx,2021 &feature_break,
2021 &feature_jmpcall,
2022 &feature_spm,2022 &feature_spm,
2023 &feature_mul,2023 &feature_mul,
2024 },2024 },
...@@ -2028,14 +2028,14 @@ pub const cpu_atmega406 = Cpu{...@@ -2028,14 +2028,14 @@ pub const cpu_atmega406 = Cpu{
2028 .name = "atmega406",2028 .name = "atmega406",
2029 .llvm_name = "atmega406",2029 .llvm_name = "atmega406",
2030 .dependencies = &[_]*const Feature {2030 .dependencies = &[_]*const Feature {
2031 &feature_lpmx,
2032 &feature_jmpcall,
2031 &feature_lpm,2033 &feature_lpm,
2032 &feature_sram,2034 &feature_sram,
2033 &feature_addsubiw,2035 &feature_addsubiw,
2034 &feature_movw,2036 &feature_movw,
2035 &feature_break,
2036 &feature_ijmpcall,2037 &feature_ijmpcall,
2037 &feature_lpmx,2038 &feature_break,
2038 &feature_jmpcall,
2039 &feature_spm,2039 &feature_spm,
2040 &feature_mul,2040 &feature_mul,
2041 },2041 },
...@@ -2045,13 +2045,13 @@ pub const cpu_atmega48 = Cpu{...@@ -2045,13 +2045,13 @@ pub const cpu_atmega48 = Cpu{
2045 .name = "atmega48",2045 .name = "atmega48",
2046 .llvm_name = "atmega48",2046 .llvm_name = "atmega48",
2047 .dependencies = &[_]*const Feature {2047 .dependencies = &[_]*const Feature {
2048 &feature_lpmx,
2048 &feature_lpm,2049 &feature_lpm,
2049 &feature_sram,2050 &feature_sram,
2050 &feature_addsubiw,2051 &feature_addsubiw,
2051 &feature_movw,2052 &feature_movw,
2052 &feature_break,
2053 &feature_ijmpcall,2053 &feature_ijmpcall,
2054 &feature_lpmx,2054 &feature_break,
2055 &feature_spm,2055 &feature_spm,
2056 &feature_mul,2056 &feature_mul,
2057 },2057 },
...@@ -2061,13 +2061,13 @@ pub const cpu_atmega48a = Cpu{...@@ -2061,13 +2061,13 @@ pub const cpu_atmega48a = Cpu{
2061 .name = "atmega48a",2061 .name = "atmega48a",
2062 .llvm_name = "atmega48a",2062 .llvm_name = "atmega48a",
2063 .dependencies = &[_]*const Feature {2063 .dependencies = &[_]*const Feature {
2064 &feature_lpmx,
2064 &feature_lpm,2065 &feature_lpm,
2065 &feature_sram,2066 &feature_sram,
2066 &feature_addsubiw,2067 &feature_addsubiw,
2067 &feature_movw,2068 &feature_movw,
2068 &feature_break,
2069 &feature_ijmpcall,2069 &feature_ijmpcall,
2070 &feature_lpmx,2070 &feature_break,
2071 &feature_spm,2071 &feature_spm,
2072 &feature_mul,2072 &feature_mul,
2073 },2073 },
...@@ -2077,13 +2077,13 @@ pub const cpu_atmega48p = Cpu{...@@ -2077,13 +2077,13 @@ pub const cpu_atmega48p = Cpu{
2077 .name = "atmega48p",2077 .name = "atmega48p",
2078 .llvm_name = "atmega48p",2078 .llvm_name = "atmega48p",
2079 .dependencies = &[_]*const Feature {2079 .dependencies = &[_]*const Feature {
2080 &feature_lpmx,
2080 &feature_lpm,2081 &feature_lpm,
2081 &feature_sram,2082 &feature_sram,
2082 &feature_addsubiw,2083 &feature_addsubiw,
2083 &feature_movw,2084 &feature_movw,
2084 &feature_break,
2085 &feature_ijmpcall,2085 &feature_ijmpcall,
2086 &feature_lpmx,2086 &feature_break,
2087 &feature_spm,2087 &feature_spm,
2088 &feature_mul,2088 &feature_mul,
2089 },2089 },
...@@ -2093,13 +2093,13 @@ pub const cpu_atmega48pa = Cpu{...@@ -2093,13 +2093,13 @@ pub const cpu_atmega48pa = Cpu{
2093 .name = "atmega48pa",2093 .name = "atmega48pa",
2094 .llvm_name = "atmega48pa",2094 .llvm_name = "atmega48pa",
2095 .dependencies = &[_]*const Feature {2095 .dependencies = &[_]*const Feature {
2096 &feature_lpmx,
2096 &feature_lpm,2097 &feature_lpm,
2097 &feature_sram,2098 &feature_sram,
2098 &feature_addsubiw,2099 &feature_addsubiw,
2099 &feature_movw,2100 &feature_movw,
2100 &feature_break,
2101 &feature_ijmpcall,2101 &feature_ijmpcall,
2102 &feature_lpmx,2102 &feature_break,
2103 &feature_spm,2103 &feature_spm,
2104 &feature_mul,2104 &feature_mul,
2105 },2105 },
...@@ -2109,14 +2109,14 @@ pub const cpu_atmega64 = Cpu{...@@ -2109,14 +2109,14 @@ pub const cpu_atmega64 = Cpu{
2109 .name = "atmega64",2109 .name = "atmega64",
2110 .llvm_name = "atmega64",2110 .llvm_name = "atmega64",
2111 .dependencies = &[_]*const Feature {2111 .dependencies = &[_]*const Feature {
2112 &feature_lpmx,
2113 &feature_jmpcall,
2112 &feature_lpm,2114 &feature_lpm,
2113 &feature_sram,2115 &feature_sram,
2114 &feature_addsubiw,2116 &feature_addsubiw,
2115 &feature_movw,2117 &feature_movw,
2116 &feature_break,
2117 &feature_ijmpcall,2118 &feature_ijmpcall,
2118 &feature_lpmx,2119 &feature_break,
2119 &feature_jmpcall,
2120 &feature_spm,2120 &feature_spm,
2121 &feature_mul,2121 &feature_mul,
2122 },2122 },
...@@ -2126,14 +2126,14 @@ pub const cpu_atmega640 = Cpu{...@@ -2126,14 +2126,14 @@ pub const cpu_atmega640 = Cpu{
2126 .name = "atmega640",2126 .name = "atmega640",
2127 .llvm_name = "atmega640",2127 .llvm_name = "atmega640",
2128 .dependencies = &[_]*const Feature {2128 .dependencies = &[_]*const Feature {
2129 &feature_lpmx,
2130 &feature_jmpcall,
2129 &feature_lpm,2131 &feature_lpm,
2130 &feature_sram,2132 &feature_sram,
2131 &feature_addsubiw,2133 &feature_addsubiw,
2132 &feature_movw,2134 &feature_movw,
2133 &feature_break,
2134 &feature_ijmpcall,2135 &feature_ijmpcall,
2135 &feature_lpmx,2136 &feature_break,
2136 &feature_jmpcall,
2137 &feature_spm,2137 &feature_spm,
2138 &feature_mul,2138 &feature_mul,
2139 },2139 },
...@@ -2143,14 +2143,14 @@ pub const cpu_atmega644 = Cpu{...@@ -2143,14 +2143,14 @@ pub const cpu_atmega644 = Cpu{
2143 .name = "atmega644",2143 .name = "atmega644",
2144 .llvm_name = "atmega644",2144 .llvm_name = "atmega644",
2145 .dependencies = &[_]*const Feature {2145 .dependencies = &[_]*const Feature {
2146 &feature_lpmx,
2147 &feature_jmpcall,
2146 &feature_lpm,2148 &feature_lpm,
2147 &feature_sram,2149 &feature_sram,
2148 &feature_addsubiw,2150 &feature_addsubiw,
2149 &feature_movw,2151 &feature_movw,
2150 &feature_break,
2151 &feature_ijmpcall,2152 &feature_ijmpcall,
2152 &feature_lpmx,2153 &feature_break,
2153 &feature_jmpcall,
2154 &feature_spm,2154 &feature_spm,
2155 &feature_mul,2155 &feature_mul,
2156 },2156 },
...@@ -2160,14 +2160,14 @@ pub const cpu_atmega644a = Cpu{...@@ -2160,14 +2160,14 @@ pub const cpu_atmega644a = Cpu{
2160 .name = "atmega644a",2160 .name = "atmega644a",
2161 .llvm_name = "atmega644a",2161 .llvm_name = "atmega644a",
2162 .dependencies = &[_]*const Feature {2162 .dependencies = &[_]*const Feature {
2163 &feature_lpmx,
2164 &feature_jmpcall,
2163 &feature_lpm,2165 &feature_lpm,
2164 &feature_sram,2166 &feature_sram,
2165 &feature_addsubiw,2167 &feature_addsubiw,
2166 &feature_movw,2168 &feature_movw,
2167 &feature_break,
2168 &feature_ijmpcall,2169 &feature_ijmpcall,
2169 &feature_lpmx,2170 &feature_break,
2170 &feature_jmpcall,
2171 &feature_spm,2171 &feature_spm,
2172 &feature_mul,2172 &feature_mul,
2173 },2173 },
...@@ -2177,14 +2177,14 @@ pub const cpu_atmega644p = Cpu{...@@ -2177,14 +2177,14 @@ pub const cpu_atmega644p = Cpu{
2177 .name = "atmega644p",2177 .name = "atmega644p",
2178 .llvm_name = "atmega644p",2178 .llvm_name = "atmega644p",
2179 .dependencies = &[_]*const Feature {2179 .dependencies = &[_]*const Feature {
2180 &feature_lpmx,
2181 &feature_jmpcall,
2180 &feature_lpm,2182 &feature_lpm,
2181 &feature_sram,2183 &feature_sram,
2182 &feature_addsubiw,2184 &feature_addsubiw,
2183 &feature_movw,2185 &feature_movw,
2184 &feature_break,
2185 &feature_ijmpcall,2186 &feature_ijmpcall,
2186 &feature_lpmx,2187 &feature_break,
2187 &feature_jmpcall,
2188 &feature_spm,2188 &feature_spm,
2189 &feature_mul,2189 &feature_mul,
2190 },2190 },
...@@ -2194,14 +2194,14 @@ pub const cpu_atmega644pa = Cpu{...@@ -2194,14 +2194,14 @@ pub const cpu_atmega644pa = Cpu{
2194 .name = "atmega644pa",2194 .name = "atmega644pa",
2195 .llvm_name = "atmega644pa",2195 .llvm_name = "atmega644pa",
2196 .dependencies = &[_]*const Feature {2196 .dependencies = &[_]*const Feature {
2197 &feature_lpmx,
2198 &feature_jmpcall,
2197 &feature_lpm,2199 &feature_lpm,
2198 &feature_sram,2200 &feature_sram,
2199 &feature_addsubiw,2201 &feature_addsubiw,
2200 &feature_movw,2202 &feature_movw,
2201 &feature_break,
2202 &feature_ijmpcall,2203 &feature_ijmpcall,
2203 &feature_lpmx,2204 &feature_break,
2204 &feature_jmpcall,
2205 &feature_spm,2205 &feature_spm,
2206 &feature_mul,2206 &feature_mul,
2207 },2207 },
...@@ -2211,14 +2211,14 @@ pub const cpu_atmega644rfr2 = Cpu{...@@ -2211,14 +2211,14 @@ pub const cpu_atmega644rfr2 = Cpu{
2211 .name = "atmega644rfr2",2211 .name = "atmega644rfr2",
2212 .llvm_name = "atmega644rfr2",2212 .llvm_name = "atmega644rfr2",
2213 .dependencies = &[_]*const Feature {2213 .dependencies = &[_]*const Feature {
2214 &feature_lpmx,
2215 &feature_jmpcall,
2214 &feature_lpm,2216 &feature_lpm,
2215 &feature_sram,2217 &feature_sram,
2216 &feature_addsubiw,2218 &feature_addsubiw,
2217 &feature_movw,2219 &feature_movw,
2218 &feature_break,
2219 &feature_ijmpcall,2220 &feature_ijmpcall,
2220 &feature_lpmx,2221 &feature_break,
2221 &feature_jmpcall,
2222 &feature_spm,2222 &feature_spm,
2223 &feature_mul,2223 &feature_mul,
2224 },2224 },
...@@ -2228,14 +2228,14 @@ pub const cpu_atmega645 = Cpu{...@@ -2228,14 +2228,14 @@ pub const cpu_atmega645 = Cpu{
2228 .name = "atmega645",2228 .name = "atmega645",
2229 .llvm_name = "atmega645",2229 .llvm_name = "atmega645",
2230 .dependencies = &[_]*const Feature {2230 .dependencies = &[_]*const Feature {
2231 &feature_lpmx,
2232 &feature_jmpcall,
2231 &feature_lpm,2233 &feature_lpm,
2232 &feature_sram,2234 &feature_sram,
2233 &feature_addsubiw,2235 &feature_addsubiw,
2234 &feature_movw,2236 &feature_movw,
2235 &feature_break,
2236 &feature_ijmpcall,2237 &feature_ijmpcall,
2237 &feature_lpmx,2238 &feature_break,
2238 &feature_jmpcall,
2239 &feature_spm,2239 &feature_spm,
2240 &feature_mul,2240 &feature_mul,
2241 },2241 },
...@@ -2245,14 +2245,14 @@ pub const cpu_atmega6450 = Cpu{...@@ -2245,14 +2245,14 @@ pub const cpu_atmega6450 = Cpu{
2245 .name = "atmega6450",2245 .name = "atmega6450",
2246 .llvm_name = "atmega6450",2246 .llvm_name = "atmega6450",
2247 .dependencies = &[_]*const Feature {2247 .dependencies = &[_]*const Feature {
2248 &feature_lpmx,
2249 &feature_jmpcall,
2248 &feature_lpm,2250 &feature_lpm,
2249 &feature_sram,2251 &feature_sram,
2250 &feature_addsubiw,2252 &feature_addsubiw,
2251 &feature_movw,2253 &feature_movw,
2252 &feature_break,
2253 &feature_ijmpcall,2254 &feature_ijmpcall,
2254 &feature_lpmx,2255 &feature_break,
2255 &feature_jmpcall,
2256 &feature_spm,2256 &feature_spm,
2257 &feature_mul,2257 &feature_mul,
2258 },2258 },
...@@ -2262,14 +2262,14 @@ pub const cpu_atmega6450a = Cpu{...@@ -2262,14 +2262,14 @@ pub const cpu_atmega6450a = Cpu{
2262 .name = "atmega6450a",2262 .name = "atmega6450a",
2263 .llvm_name = "atmega6450a",2263 .llvm_name = "atmega6450a",
2264 .dependencies = &[_]*const Feature {2264 .dependencies = &[_]*const Feature {
2265 &feature_lpmx,
2266 &feature_jmpcall,
2265 &feature_lpm,2267 &feature_lpm,
2266 &feature_sram,2268 &feature_sram,
2267 &feature_addsubiw,2269 &feature_addsubiw,
2268 &feature_movw,2270 &feature_movw,
2269 &feature_break,
2270 &feature_ijmpcall,2271 &feature_ijmpcall,
2271 &feature_lpmx,2272 &feature_break,
2272 &feature_jmpcall,
2273 &feature_spm,2273 &feature_spm,
2274 &feature_mul,2274 &feature_mul,
2275 },2275 },
...@@ -2279,14 +2279,14 @@ pub const cpu_atmega6450p = Cpu{...@@ -2279,14 +2279,14 @@ pub const cpu_atmega6450p = Cpu{
2279 .name = "atmega6450p",2279 .name = "atmega6450p",
2280 .llvm_name = "atmega6450p",2280 .llvm_name = "atmega6450p",
2281 .dependencies = &[_]*const Feature {2281 .dependencies = &[_]*const Feature {
2282 &feature_lpmx,
2283 &feature_jmpcall,
2282 &feature_lpm,2284 &feature_lpm,
2283 &feature_sram,2285 &feature_sram,
2284 &feature_addsubiw,2286 &feature_addsubiw,
2285 &feature_movw,2287 &feature_movw,
2286 &feature_break,
2287 &feature_ijmpcall,2288 &feature_ijmpcall,
2288 &feature_lpmx,2289 &feature_break,
2289 &feature_jmpcall,
2290 &feature_spm,2290 &feature_spm,
2291 &feature_mul,2291 &feature_mul,
2292 },2292 },
...@@ -2296,14 +2296,14 @@ pub const cpu_atmega645a = Cpu{...@@ -2296,14 +2296,14 @@ pub const cpu_atmega645a = Cpu{
2296 .name = "atmega645a",2296 .name = "atmega645a",
2297 .llvm_name = "atmega645a",2297 .llvm_name = "atmega645a",
2298 .dependencies = &[_]*const Feature {2298 .dependencies = &[_]*const Feature {
2299 &feature_lpmx,
2300 &feature_jmpcall,
2299 &feature_lpm,2301 &feature_lpm,
2300 &feature_sram,2302 &feature_sram,
2301 &feature_addsubiw,2303 &feature_addsubiw,
2302 &feature_movw,2304 &feature_movw,
2303 &feature_break,
2304 &feature_ijmpcall,2305 &feature_ijmpcall,
2305 &feature_lpmx,2306 &feature_break,
2306 &feature_jmpcall,
2307 &feature_spm,2307 &feature_spm,
2308 &feature_mul,2308 &feature_mul,
2309 },2309 },
...@@ -2313,14 +2313,14 @@ pub const cpu_atmega645p = Cpu{...@@ -2313,14 +2313,14 @@ pub const cpu_atmega645p = Cpu{
2313 .name = "atmega645p",2313 .name = "atmega645p",
2314 .llvm_name = "atmega645p",2314 .llvm_name = "atmega645p",
2315 .dependencies = &[_]*const Feature {2315 .dependencies = &[_]*const Feature {
2316 &feature_lpmx,
2317 &feature_jmpcall,
2316 &feature_lpm,2318 &feature_lpm,
2317 &feature_sram,2319 &feature_sram,
2318 &feature_addsubiw,2320 &feature_addsubiw,
2319 &feature_movw,2321 &feature_movw,
2320 &feature_break,
2321 &feature_ijmpcall,2322 &feature_ijmpcall,
2322 &feature_lpmx,2323 &feature_break,
2323 &feature_jmpcall,
2324 &feature_spm,2324 &feature_spm,
2325 &feature_mul,2325 &feature_mul,
2326 },2326 },
...@@ -2330,14 +2330,14 @@ pub const cpu_atmega649 = Cpu{...@@ -2330,14 +2330,14 @@ pub const cpu_atmega649 = Cpu{
2330 .name = "atmega649",2330 .name = "atmega649",
2331 .llvm_name = "atmega649",2331 .llvm_name = "atmega649",
2332 .dependencies = &[_]*const Feature {2332 .dependencies = &[_]*const Feature {
2333 &feature_lpmx,
2334 &feature_jmpcall,
2333 &feature_lpm,2335 &feature_lpm,
2334 &feature_sram,2336 &feature_sram,
2335 &feature_addsubiw,2337 &feature_addsubiw,
2336 &feature_movw,2338 &feature_movw,
2337 &feature_break,
2338 &feature_ijmpcall,2339 &feature_ijmpcall,
2339 &feature_lpmx,2340 &feature_break,
2340 &feature_jmpcall,
2341 &feature_spm,2341 &feature_spm,
2342 &feature_mul,2342 &feature_mul,
2343 },2343 },
...@@ -2347,14 +2347,14 @@ pub const cpu_atmega6490 = Cpu{...@@ -2347,14 +2347,14 @@ pub const cpu_atmega6490 = Cpu{
2347 .name = "atmega6490",2347 .name = "atmega6490",
2348 .llvm_name = "atmega6490",2348 .llvm_name = "atmega6490",
2349 .dependencies = &[_]*const Feature {2349 .dependencies = &[_]*const Feature {
2350 &feature_lpmx,
2351 &feature_jmpcall,
2350 &feature_lpm,2352 &feature_lpm,
2351 &feature_sram,2353 &feature_sram,
2352 &feature_addsubiw,2354 &feature_addsubiw,
2353 &feature_movw,2355 &feature_movw,
2354 &feature_break,
2355 &feature_ijmpcall,2356 &feature_ijmpcall,
2356 &feature_lpmx,2357 &feature_break,
2357 &feature_jmpcall,
2358 &feature_spm,2358 &feature_spm,
2359 &feature_mul,2359 &feature_mul,
2360 },2360 },
...@@ -2364,14 +2364,14 @@ pub const cpu_atmega6490a = Cpu{...@@ -2364,14 +2364,14 @@ pub const cpu_atmega6490a = Cpu{
2364 .name = "atmega6490a",2364 .name = "atmega6490a",
2365 .llvm_name = "atmega6490a",2365 .llvm_name = "atmega6490a",
2366 .dependencies = &[_]*const Feature {2366 .dependencies = &[_]*const Feature {
2367 &feature_lpmx,
2368 &feature_jmpcall,
2367 &feature_lpm,2369 &feature_lpm,
2368 &feature_sram,2370 &feature_sram,
2369 &feature_addsubiw,2371 &feature_addsubiw,
2370 &feature_movw,2372 &feature_movw,
2371 &feature_break,
2372 &feature_ijmpcall,2373 &feature_ijmpcall,
2373 &feature_lpmx,2374 &feature_break,
2374 &feature_jmpcall,
2375 &feature_spm,2375 &feature_spm,
2376 &feature_mul,2376 &feature_mul,
2377 },2377 },
...@@ -2381,14 +2381,14 @@ pub const cpu_atmega6490p = Cpu{...@@ -2381,14 +2381,14 @@ pub const cpu_atmega6490p = Cpu{
2381 .name = "atmega6490p",2381 .name = "atmega6490p",
2382 .llvm_name = "atmega6490p",2382 .llvm_name = "atmega6490p",
2383 .dependencies = &[_]*const Feature {2383 .dependencies = &[_]*const Feature {
2384 &feature_lpmx,
2385 &feature_jmpcall,
2384 &feature_lpm,2386 &feature_lpm,
2385 &feature_sram,2387 &feature_sram,
2386 &feature_addsubiw,2388 &feature_addsubiw,
2387 &feature_movw,2389 &feature_movw,
2388 &feature_break,
2389 &feature_ijmpcall,2390 &feature_ijmpcall,
2390 &feature_lpmx,2391 &feature_break,
2391 &feature_jmpcall,
2392 &feature_spm,2392 &feature_spm,
2393 &feature_mul,2393 &feature_mul,
2394 },2394 },
...@@ -2398,14 +2398,14 @@ pub const cpu_atmega649a = Cpu{...@@ -2398,14 +2398,14 @@ pub const cpu_atmega649a = Cpu{
2398 .name = "atmega649a",2398 .name = "atmega649a",
2399 .llvm_name = "atmega649a",2399 .llvm_name = "atmega649a",
2400 .dependencies = &[_]*const Feature {2400 .dependencies = &[_]*const Feature {
2401 &feature_lpmx,
2402 &feature_jmpcall,
2401 &feature_lpm,2403 &feature_lpm,
2402 &feature_sram,2404 &feature_sram,
2403 &feature_addsubiw,2405 &feature_addsubiw,
2404 &feature_movw,2406 &feature_movw,
2405 &feature_break,
2406 &feature_ijmpcall,2407 &feature_ijmpcall,
2407 &feature_lpmx,2408 &feature_break,
2408 &feature_jmpcall,
2409 &feature_spm,2409 &feature_spm,
2410 &feature_mul,2410 &feature_mul,
2411 },2411 },
...@@ -2415,14 +2415,14 @@ pub const cpu_atmega649p = Cpu{...@@ -2415,14 +2415,14 @@ pub const cpu_atmega649p = Cpu{
2415 .name = "atmega649p",2415 .name = "atmega649p",
2416 .llvm_name = "atmega649p",2416 .llvm_name = "atmega649p",
2417 .dependencies = &[_]*const Feature {2417 .dependencies = &[_]*const Feature {
2418 &feature_lpmx,
2419 &feature_jmpcall,
2418 &feature_lpm,2420 &feature_lpm,
2419 &feature_sram,2421 &feature_sram,
2420 &feature_addsubiw,2422 &feature_addsubiw,
2421 &feature_movw,2423 &feature_movw,
2422 &feature_break,
2423 &feature_ijmpcall,2424 &feature_ijmpcall,
2424 &feature_lpmx,2425 &feature_break,
2425 &feature_jmpcall,
2426 &feature_spm,2426 &feature_spm,
2427 &feature_mul,2427 &feature_mul,
2428 },2428 },
...@@ -2432,14 +2432,14 @@ pub const cpu_atmega64a = Cpu{...@@ -2432,14 +2432,14 @@ pub const cpu_atmega64a = Cpu{
2432 .name = "atmega64a",2432 .name = "atmega64a",
2433 .llvm_name = "atmega64a",2433 .llvm_name = "atmega64a",
2434 .dependencies = &[_]*const Feature {2434 .dependencies = &[_]*const Feature {
2435 &feature_lpmx,
2436 &feature_jmpcall,
2435 &feature_lpm,2437 &feature_lpm,
2436 &feature_sram,2438 &feature_sram,
2437 &feature_addsubiw,2439 &feature_addsubiw,
2438 &feature_movw,2440 &feature_movw,
2439 &feature_break,
2440 &feature_ijmpcall,2441 &feature_ijmpcall,
2441 &feature_lpmx,2442 &feature_break,
2442 &feature_jmpcall,
2443 &feature_spm,2443 &feature_spm,
2444 &feature_mul,2444 &feature_mul,
2445 },2445 },
...@@ -2449,14 +2449,14 @@ pub const cpu_atmega64c1 = Cpu{...@@ -2449,14 +2449,14 @@ pub const cpu_atmega64c1 = Cpu{
2449 .name = "atmega64c1",2449 .name = "atmega64c1",
2450 .llvm_name = "atmega64c1",2450 .llvm_name = "atmega64c1",
2451 .dependencies = &[_]*const Feature {2451 .dependencies = &[_]*const Feature {
2452 &feature_lpmx,
2453 &feature_jmpcall,
2452 &feature_lpm,2454 &feature_lpm,
2453 &feature_sram,2455 &feature_sram,
2454 &feature_addsubiw,2456 &feature_addsubiw,
2455 &feature_movw,2457 &feature_movw,
2456 &feature_break,
2457 &feature_ijmpcall,2458 &feature_ijmpcall,
2458 &feature_lpmx,2459 &feature_break,
2459 &feature_jmpcall,
2460 &feature_spm,2460 &feature_spm,
2461 &feature_mul,2461 &feature_mul,
2462 },2462 },
...@@ -2466,14 +2466,14 @@ pub const cpu_atmega64hve = Cpu{...@@ -2466,14 +2466,14 @@ pub const cpu_atmega64hve = Cpu{
2466 .name = "atmega64hve",2466 .name = "atmega64hve",
2467 .llvm_name = "atmega64hve",2467 .llvm_name = "atmega64hve",
2468 .dependencies = &[_]*const Feature {2468 .dependencies = &[_]*const Feature {
2469 &feature_lpmx,
2470 &feature_jmpcall,
2469 &feature_lpm,2471 &feature_lpm,
2470 &feature_sram,2472 &feature_sram,
2471 &feature_addsubiw,2473 &feature_addsubiw,
2472 &feature_movw,2474 &feature_movw,
2473 &feature_break,
2474 &feature_ijmpcall,2475 &feature_ijmpcall,
2475 &feature_lpmx,2476 &feature_break,
2476 &feature_jmpcall,
2477 &feature_spm,2477 &feature_spm,
2478 &feature_mul,2478 &feature_mul,
2479 },2479 },
...@@ -2483,14 +2483,14 @@ pub const cpu_atmega64m1 = Cpu{...@@ -2483,14 +2483,14 @@ pub const cpu_atmega64m1 = Cpu{
2483 .name = "atmega64m1",2483 .name = "atmega64m1",
2484 .llvm_name = "atmega64m1",2484 .llvm_name = "atmega64m1",
2485 .dependencies = &[_]*const Feature {2485 .dependencies = &[_]*const Feature {
2486 &feature_lpmx,
2487 &feature_jmpcall,
2486 &feature_lpm,2488 &feature_lpm,
2487 &feature_sram,2489 &feature_sram,
2488 &feature_addsubiw,2490 &feature_addsubiw,
2489 &feature_movw,2491 &feature_movw,
2490 &feature_break,
2491 &feature_ijmpcall,2492 &feature_ijmpcall,
2492 &feature_lpmx,2493 &feature_break,
2493 &feature_jmpcall,
2494 &feature_spm,2494 &feature_spm,
2495 &feature_mul,2495 &feature_mul,
2496 },2496 },
...@@ -2500,14 +2500,14 @@ pub const cpu_atmega64rfr2 = Cpu{...@@ -2500,14 +2500,14 @@ pub const cpu_atmega64rfr2 = Cpu{
2500 .name = "atmega64rfr2",2500 .name = "atmega64rfr2",
2501 .llvm_name = "atmega64rfr2",2501 .llvm_name = "atmega64rfr2",
2502 .dependencies = &[_]*const Feature {2502 .dependencies = &[_]*const Feature {
2503 &feature_lpmx,
2504 &feature_jmpcall,
2503 &feature_lpm,2505 &feature_lpm,
2504 &feature_sram,2506 &feature_sram,
2505 &feature_addsubiw,2507 &feature_addsubiw,
2506 &feature_movw,2508 &feature_movw,
2507 &feature_break,
2508 &feature_ijmpcall,2509 &feature_ijmpcall,
2509 &feature_lpmx,2510 &feature_break,
2510 &feature_jmpcall,
2511 &feature_spm,2511 &feature_spm,
2512 &feature_mul,2512 &feature_mul,
2513 },2513 },
...@@ -2517,13 +2517,13 @@ pub const cpu_atmega8 = Cpu{...@@ -2517,13 +2517,13 @@ pub const cpu_atmega8 = Cpu{
2517 .name = "atmega8",2517 .name = "atmega8",
2518 .llvm_name = "atmega8",2518 .llvm_name = "atmega8",
2519 .dependencies = &[_]*const Feature {2519 .dependencies = &[_]*const Feature {
2520 &feature_lpmx,
2520 &feature_lpm,2521 &feature_lpm,
2521 &feature_sram,2522 &feature_sram,
2522 &feature_addsubiw,2523 &feature_addsubiw,
2523 &feature_movw,2524 &feature_movw,
2524 &feature_break,
2525 &feature_ijmpcall,2525 &feature_ijmpcall,
2526 &feature_lpmx,2526 &feature_break,
2527 &feature_spm,2527 &feature_spm,
2528 &feature_mul,2528 &feature_mul,
2529 },2529 },
...@@ -2563,13 +2563,13 @@ pub const cpu_atmega88 = Cpu{...@@ -2563,13 +2563,13 @@ pub const cpu_atmega88 = Cpu{
2563 .name = "atmega88",2563 .name = "atmega88",
2564 .llvm_name = "atmega88",2564 .llvm_name = "atmega88",
2565 .dependencies = &[_]*const Feature {2565 .dependencies = &[_]*const Feature {
2566 &feature_lpmx,
2566 &feature_lpm,2567 &feature_lpm,
2567 &feature_sram,2568 &feature_sram,
2568 &feature_addsubiw,2569 &feature_addsubiw,
2569 &feature_movw,2570 &feature_movw,
2570 &feature_break,
2571 &feature_ijmpcall,2571 &feature_ijmpcall,
2572 &feature_lpmx,2572 &feature_break,
2573 &feature_spm,2573 &feature_spm,
2574 &feature_mul,2574 &feature_mul,
2575 },2575 },
...@@ -2579,13 +2579,13 @@ pub const cpu_atmega88a = Cpu{...@@ -2579,13 +2579,13 @@ pub const cpu_atmega88a = Cpu{
2579 .name = "atmega88a",2579 .name = "atmega88a",
2580 .llvm_name = "atmega88a",2580 .llvm_name = "atmega88a",
2581 .dependencies = &[_]*const Feature {2581 .dependencies = &[_]*const Feature {
2582 &feature_lpmx,
2582 &feature_lpm,2583 &feature_lpm,
2583 &feature_sram,2584 &feature_sram,
2584 &feature_addsubiw,2585 &feature_addsubiw,
2585 &feature_movw,2586 &feature_movw,
2586 &feature_break,
2587 &feature_ijmpcall,2587 &feature_ijmpcall,
2588 &feature_lpmx,2588 &feature_break,
2589 &feature_spm,2589 &feature_spm,
2590 &feature_mul,2590 &feature_mul,
2591 },2591 },
...@@ -2595,13 +2595,13 @@ pub const cpu_atmega88p = Cpu{...@@ -2595,13 +2595,13 @@ pub const cpu_atmega88p = Cpu{
2595 .name = "atmega88p",2595 .name = "atmega88p",
2596 .llvm_name = "atmega88p",2596 .llvm_name = "atmega88p",
2597 .dependencies = &[_]*const Feature {2597 .dependencies = &[_]*const Feature {
2598 &feature_lpmx,
2598 &feature_lpm,2599 &feature_lpm,
2599 &feature_sram,2600 &feature_sram,
2600 &feature_addsubiw,2601 &feature_addsubiw,
2601 &feature_movw,2602 &feature_movw,
2602 &feature_break,
2603 &feature_ijmpcall,2603 &feature_ijmpcall,
2604 &feature_lpmx,2604 &feature_break,
2605 &feature_spm,2605 &feature_spm,
2606 &feature_mul,2606 &feature_mul,
2607 },2607 },
...@@ -2611,13 +2611,13 @@ pub const cpu_atmega88pa = Cpu{...@@ -2611,13 +2611,13 @@ pub const cpu_atmega88pa = Cpu{
2611 .name = "atmega88pa",2611 .name = "atmega88pa",
2612 .llvm_name = "atmega88pa",2612 .llvm_name = "atmega88pa",
2613 .dependencies = &[_]*const Feature {2613 .dependencies = &[_]*const Feature {
2614 &feature_lpmx,
2614 &feature_lpm,2615 &feature_lpm,
2615 &feature_sram,2616 &feature_sram,
2616 &feature_addsubiw,2617 &feature_addsubiw,
2617 &feature_movw,2618 &feature_movw,
2618 &feature_break,
2619 &feature_ijmpcall,2619 &feature_ijmpcall,
2620 &feature_lpmx,2620 &feature_break,
2621 &feature_spm,2621 &feature_spm,
2622 &feature_mul,2622 &feature_mul,
2623 },2623 },
...@@ -2627,13 +2627,13 @@ pub const cpu_atmega8a = Cpu{...@@ -2627,13 +2627,13 @@ pub const cpu_atmega8a = Cpu{
2627 .name = "atmega8a",2627 .name = "atmega8a",
2628 .llvm_name = "atmega8a",2628 .llvm_name = "atmega8a",
2629 .dependencies = &[_]*const Feature {2629 .dependencies = &[_]*const Feature {
2630 &feature_lpmx,
2630 &feature_lpm,2631 &feature_lpm,
2631 &feature_sram,2632 &feature_sram,
2632 &feature_addsubiw,2633 &feature_addsubiw,
2633 &feature_movw,2634 &feature_movw,
2634 &feature_break,
2635 &feature_ijmpcall,2635 &feature_ijmpcall,
2636 &feature_lpmx,2636 &feature_break,
2637 &feature_spm,2637 &feature_spm,
2638 &feature_mul,2638 &feature_mul,
2639 },2639 },
...@@ -2643,13 +2643,13 @@ pub const cpu_atmega8hva = Cpu{...@@ -2643,13 +2643,13 @@ pub const cpu_atmega8hva = Cpu{
2643 .name = "atmega8hva",2643 .name = "atmega8hva",
2644 .llvm_name = "atmega8hva",2644 .llvm_name = "atmega8hva",
2645 .dependencies = &[_]*const Feature {2645 .dependencies = &[_]*const Feature {
2646 &feature_lpmx,
2646 &feature_lpm,2647 &feature_lpm,
2647 &feature_sram,2648 &feature_sram,
2648 &feature_addsubiw,2649 &feature_addsubiw,
2649 &feature_movw,2650 &feature_movw,
2650 &feature_break,
2651 &feature_ijmpcall,2651 &feature_ijmpcall,
2652 &feature_lpmx,2652 &feature_break,
2653 &feature_spm,2653 &feature_spm,
2654 &feature_mul,2654 &feature_mul,
2655 },2655 },
...@@ -2659,14 +2659,14 @@ pub const cpu_atmega8u2 = Cpu{...@@ -2659,14 +2659,14 @@ pub const cpu_atmega8u2 = Cpu{
2659 .name = "atmega8u2",2659 .name = "atmega8u2",
2660 .llvm_name = "atmega8u2",2660 .llvm_name = "atmega8u2",
2661 .dependencies = &[_]*const Feature {2661 .dependencies = &[_]*const Feature {
2662 &feature_lpmx,
2663 &feature_jmpcall,
2662 &feature_lpm,2664 &feature_lpm,
2663 &feature_sram,2665 &feature_sram,
2664 &feature_addsubiw,2666 &feature_addsubiw,
2665 &feature_movw,2667 &feature_movw,
2666 &feature_break,
2667 &feature_ijmpcall,2668 &feature_ijmpcall,
2668 &feature_lpmx,2669 &feature_break,
2669 &feature_jmpcall,
2670 &feature_spm,2670 &feature_spm,
2671 },2671 },
2672};2672};
...@@ -2721,13 +2721,13 @@ pub const cpu_attiny13 = Cpu{...@@ -2721,13 +2721,13 @@ pub const cpu_attiny13 = Cpu{
2721 .name = "attiny13",2721 .name = "attiny13",
2722 .llvm_name = "attiny13",2722 .llvm_name = "attiny13",
2723 .dependencies = &[_]*const Feature {2723 .dependencies = &[_]*const Feature {
2724 &feature_lpmx,
2724 &feature_lpm,2725 &feature_lpm,
2725 &feature_sram,2726 &feature_sram,
2726 &feature_addsubiw,2727 &feature_addsubiw,
2727 &feature_movw,2728 &feature_movw,
2728 &feature_break,
2729 &feature_ijmpcall,2729 &feature_ijmpcall,
2730 &feature_lpmx,2730 &feature_break,
2731 &feature_spm,2731 &feature_spm,
2732 },2732 },
2733};2733};
...@@ -2736,13 +2736,13 @@ pub const cpu_attiny13a = Cpu{...@@ -2736,13 +2736,13 @@ pub const cpu_attiny13a = Cpu{
2736 .name = "attiny13a",2736 .name = "attiny13a",
2737 .llvm_name = "attiny13a",2737 .llvm_name = "attiny13a",
2738 .dependencies = &[_]*const Feature {2738 .dependencies = &[_]*const Feature {
2739 &feature_lpmx,
2739 &feature_lpm,2740 &feature_lpm,
2740 &feature_sram,2741 &feature_sram,
2741 &feature_addsubiw,2742 &feature_addsubiw,
2742 &feature_movw,2743 &feature_movw,
2743 &feature_break,
2744 &feature_ijmpcall,2744 &feature_ijmpcall,
2745 &feature_lpmx,2745 &feature_break,
2746 &feature_spm,2746 &feature_spm,
2747 },2747 },
2748};2748};
...@@ -2759,14 +2759,14 @@ pub const cpu_attiny1634 = Cpu{...@@ -2759,14 +2759,14 @@ pub const cpu_attiny1634 = Cpu{
2759 .name = "attiny1634",2759 .name = "attiny1634",
2760 .llvm_name = "attiny1634",2760 .llvm_name = "attiny1634",
2761 .dependencies = &[_]*const Feature {2761 .dependencies = &[_]*const Feature {
2762 &feature_lpmx,
2763 &feature_jmpcall,
2762 &feature_lpm,2764 &feature_lpm,
2763 &feature_sram,2765 &feature_sram,
2764 &feature_addsubiw,2766 &feature_addsubiw,
2765 &feature_movw,2767 &feature_movw,
2766 &feature_break,
2767 &feature_ijmpcall,2768 &feature_ijmpcall,
2768 &feature_lpmx,2769 &feature_break,
2769 &feature_jmpcall,
2770 &feature_spm,2770 &feature_spm,
2771 },2771 },
2772};2772};
...@@ -2775,14 +2775,14 @@ pub const cpu_attiny167 = Cpu{...@@ -2775,14 +2775,14 @@ pub const cpu_attiny167 = Cpu{
2775 .name = "attiny167",2775 .name = "attiny167",
2776 .llvm_name = "attiny167",2776 .llvm_name = "attiny167",
2777 .dependencies = &[_]*const Feature {2777 .dependencies = &[_]*const Feature {
2778 &feature_lpmx,
2779 &feature_jmpcall,
2778 &feature_lpm,2780 &feature_lpm,
2779 &feature_sram,2781 &feature_sram,
2780 &feature_addsubiw,2782 &feature_addsubiw,
2781 &feature_movw,2783 &feature_movw,
2782 &feature_break,
2783 &feature_ijmpcall,2784 &feature_ijmpcall,
2784 &feature_lpmx,2785 &feature_break,
2785 &feature_jmpcall,
2786 &feature_spm,2786 &feature_spm,
2787 },2787 },
2788};2788};
...@@ -2812,13 +2812,13 @@ pub const cpu_attiny2313 = Cpu{...@@ -2812,13 +2812,13 @@ pub const cpu_attiny2313 = Cpu{
2812 .name = "attiny2313",2812 .name = "attiny2313",
2813 .llvm_name = "attiny2313",2813 .llvm_name = "attiny2313",
2814 .dependencies = &[_]*const Feature {2814 .dependencies = &[_]*const Feature {
2815 &feature_lpmx,
2815 &feature_lpm,2816 &feature_lpm,
2816 &feature_sram,2817 &feature_sram,
2817 &feature_addsubiw,2818 &feature_addsubiw,
2818 &feature_movw,2819 &feature_movw,
2819 &feature_break,
2820 &feature_ijmpcall,2820 &feature_ijmpcall,
2821 &feature_lpmx,2821 &feature_break,
2822 &feature_spm,2822 &feature_spm,
2823 },2823 },
2824};2824};
...@@ -2827,13 +2827,13 @@ pub const cpu_attiny2313a = Cpu{...@@ -2827,13 +2827,13 @@ pub const cpu_attiny2313a = Cpu{
2827 .name = "attiny2313a",2827 .name = "attiny2313a",
2828 .llvm_name = "attiny2313a",2828 .llvm_name = "attiny2313a",
2829 .dependencies = &[_]*const Feature {2829 .dependencies = &[_]*const Feature {
2830 &feature_lpmx,
2830 &feature_lpm,2831 &feature_lpm,
2831 &feature_sram,2832 &feature_sram,
2832 &feature_addsubiw,2833 &feature_addsubiw,
2833 &feature_movw,2834 &feature_movw,
2834 &feature_break,
2835 &feature_ijmpcall,2835 &feature_ijmpcall,
2836 &feature_lpmx,2836 &feature_break,
2837 &feature_spm,2837 &feature_spm,
2838 },2838 },
2839};2839};
...@@ -2842,13 +2842,13 @@ pub const cpu_attiny24 = Cpu{...@@ -2842,13 +2842,13 @@ pub const cpu_attiny24 = Cpu{
2842 .name = "attiny24",2842 .name = "attiny24",
2843 .llvm_name = "attiny24",2843 .llvm_name = "attiny24",
2844 .dependencies = &[_]*const Feature {2844 .dependencies = &[_]*const Feature {
2845 &feature_lpmx,
2845 &feature_lpm,2846 &feature_lpm,
2846 &feature_sram,2847 &feature_sram,
2847 &feature_addsubiw,2848 &feature_addsubiw,
2848 &feature_movw,2849 &feature_movw,
2849 &feature_break,
2850 &feature_ijmpcall,2850 &feature_ijmpcall,
2851 &feature_lpmx,2851 &feature_break,
2852 &feature_spm,2852 &feature_spm,
2853 },2853 },
2854};2854};
...@@ -2857,13 +2857,13 @@ pub const cpu_attiny24a = Cpu{...@@ -2857,13 +2857,13 @@ pub const cpu_attiny24a = Cpu{
2857 .name = "attiny24a",2857 .name = "attiny24a",
2858 .llvm_name = "attiny24a",2858 .llvm_name = "attiny24a",
2859 .dependencies = &[_]*const Feature {2859 .dependencies = &[_]*const Feature {
2860 &feature_lpmx,
2860 &feature_lpm,2861 &feature_lpm,
2861 &feature_sram,2862 &feature_sram,
2862 &feature_addsubiw,2863 &feature_addsubiw,
2863 &feature_movw,2864 &feature_movw,
2864 &feature_break,
2865 &feature_ijmpcall,2865 &feature_ijmpcall,
2866 &feature_lpmx,2866 &feature_break,
2867 &feature_spm,2867 &feature_spm,
2868 },2868 },
2869};2869};
...@@ -2872,13 +2872,13 @@ pub const cpu_attiny25 = Cpu{...@@ -2872,13 +2872,13 @@ pub const cpu_attiny25 = Cpu{
2872 .name = "attiny25",2872 .name = "attiny25",
2873 .llvm_name = "attiny25",2873 .llvm_name = "attiny25",
2874 .dependencies = &[_]*const Feature {2874 .dependencies = &[_]*const Feature {
2875 &feature_lpmx,
2875 &feature_lpm,2876 &feature_lpm,
2876 &feature_sram,2877 &feature_sram,
2877 &feature_addsubiw,2878 &feature_addsubiw,
2878 &feature_movw,2879 &feature_movw,
2879 &feature_break,
2880 &feature_ijmpcall,2880 &feature_ijmpcall,
2881 &feature_lpmx,2881 &feature_break,
2882 &feature_spm,2882 &feature_spm,
2883 },2883 },
2884};2884};
...@@ -2899,13 +2899,13 @@ pub const cpu_attiny261 = Cpu{...@@ -2899,13 +2899,13 @@ pub const cpu_attiny261 = Cpu{
2899 .name = "attiny261",2899 .name = "attiny261",
2900 .llvm_name = "attiny261",2900 .llvm_name = "attiny261",
2901 .dependencies = &[_]*const Feature {2901 .dependencies = &[_]*const Feature {
2902 &feature_lpmx,
2902 &feature_lpm,2903 &feature_lpm,
2903 &feature_sram,2904 &feature_sram,
2904 &feature_addsubiw,2905 &feature_addsubiw,
2905 &feature_movw,2906 &feature_movw,
2906 &feature_break,
2907 &feature_ijmpcall,2907 &feature_ijmpcall,
2908 &feature_lpmx,2908 &feature_break,
2909 &feature_spm,2909 &feature_spm,
2910 },2910 },
2911};2911};
...@@ -2914,13 +2914,13 @@ pub const cpu_attiny261a = Cpu{...@@ -2914,13 +2914,13 @@ pub const cpu_attiny261a = Cpu{
2914 .name = "attiny261a",2914 .name = "attiny261a",
2915 .llvm_name = "attiny261a",2915 .llvm_name = "attiny261a",
2916 .dependencies = &[_]*const Feature {2916 .dependencies = &[_]*const Feature {
2917 &feature_lpmx,
2917 &feature_lpm,2918 &feature_lpm,
2918 &feature_sram,2919 &feature_sram,
2919 &feature_addsubiw,2920 &feature_addsubiw,
2920 &feature_movw,2921 &feature_movw,
2921 &feature_break,
2922 &feature_ijmpcall,2922 &feature_ijmpcall,
2923 &feature_lpmx,2923 &feature_break,
2924 &feature_spm,2924 &feature_spm,
2925 },2925 },
2926};2926};
...@@ -2957,13 +2957,13 @@ pub const cpu_attiny4313 = Cpu{...@@ -2957,13 +2957,13 @@ pub const cpu_attiny4313 = Cpu{
2957 .name = "attiny4313",2957 .name = "attiny4313",
2958 .llvm_name = "attiny4313",2958 .llvm_name = "attiny4313",
2959 .dependencies = &[_]*const Feature {2959 .dependencies = &[_]*const Feature {
2960 &feature_lpmx,
2960 &feature_lpm,2961 &feature_lpm,
2961 &feature_sram,2962 &feature_sram,
2962 &feature_addsubiw,2963 &feature_addsubiw,
2963 &feature_movw,2964 &feature_movw,
2964 &feature_break,
2965 &feature_ijmpcall,2965 &feature_ijmpcall,
2966 &feature_lpmx,2966 &feature_break,
2967 &feature_spm,2967 &feature_spm,
2968 },2968 },
2969};2969};
...@@ -2972,13 +2972,13 @@ pub const cpu_attiny43u = Cpu{...@@ -2972,13 +2972,13 @@ pub const cpu_attiny43u = Cpu{
2972 .name = "attiny43u",2972 .name = "attiny43u",
2973 .llvm_name = "attiny43u",2973 .llvm_name = "attiny43u",
2974 .dependencies = &[_]*const Feature {2974 .dependencies = &[_]*const Feature {
2975 &feature_lpmx,
2975 &feature_lpm,2976 &feature_lpm,
2976 &feature_sram,2977 &feature_sram,
2977 &feature_addsubiw,2978 &feature_addsubiw,
2978 &feature_movw,2979 &feature_movw,
2979 &feature_break,
2980 &feature_ijmpcall,2980 &feature_ijmpcall,
2981 &feature_lpmx,2981 &feature_break,
2982 &feature_spm,2982 &feature_spm,
2983 },2983 },
2984};2984};
...@@ -2987,13 +2987,13 @@ pub const cpu_attiny44 = Cpu{...@@ -2987,13 +2987,13 @@ pub const cpu_attiny44 = Cpu{
2987 .name = "attiny44",2987 .name = "attiny44",
2988 .llvm_name = "attiny44",2988 .llvm_name = "attiny44",
2989 .dependencies = &[_]*const Feature {2989 .dependencies = &[_]*const Feature {
2990 &feature_lpmx,
2990 &feature_lpm,2991 &feature_lpm,
2991 &feature_sram,2992 &feature_sram,
2992 &feature_addsubiw,2993 &feature_addsubiw,
2993 &feature_movw,2994 &feature_movw,
2994 &feature_break,
2995 &feature_ijmpcall,2995 &feature_ijmpcall,
2996 &feature_lpmx,2996 &feature_break,
2997 &feature_spm,2997 &feature_spm,
2998 },2998 },
2999};2999};
...@@ -3002,13 +3002,13 @@ pub const cpu_attiny44a = Cpu{...@@ -3002,13 +3002,13 @@ pub const cpu_attiny44a = Cpu{
3002 .name = "attiny44a",3002 .name = "attiny44a",
3003 .llvm_name = "attiny44a",3003 .llvm_name = "attiny44a",
3004 .dependencies = &[_]*const Feature {3004 .dependencies = &[_]*const Feature {
3005 &feature_lpmx,
3005 &feature_lpm,3006 &feature_lpm,
3006 &feature_sram,3007 &feature_sram,
3007 &feature_addsubiw,3008 &feature_addsubiw,
3008 &feature_movw,3009 &feature_movw,
3009 &feature_break,
3010 &feature_ijmpcall,3010 &feature_ijmpcall,
3011 &feature_lpmx,3011 &feature_break,
3012 &feature_spm,3012 &feature_spm,
3013 },3013 },
3014};3014};
...@@ -3017,13 +3017,13 @@ pub const cpu_attiny45 = Cpu{...@@ -3017,13 +3017,13 @@ pub const cpu_attiny45 = Cpu{
3017 .name = "attiny45",3017 .name = "attiny45",
3018 .llvm_name = "attiny45",3018 .llvm_name = "attiny45",
3019 .dependencies = &[_]*const Feature {3019 .dependencies = &[_]*const Feature {
3020 &feature_lpmx,
3020 &feature_lpm,3021 &feature_lpm,
3021 &feature_sram,3022 &feature_sram,
3022 &feature_addsubiw,3023 &feature_addsubiw,
3023 &feature_movw,3024 &feature_movw,
3024 &feature_break,
3025 &feature_ijmpcall,3025 &feature_ijmpcall,
3026 &feature_lpmx,3026 &feature_break,
3027 &feature_spm,3027 &feature_spm,
3028 },3028 },
3029};3029};
...@@ -3032,13 +3032,13 @@ pub const cpu_attiny461 = Cpu{...@@ -3032,13 +3032,13 @@ pub const cpu_attiny461 = Cpu{
3032 .name = "attiny461",3032 .name = "attiny461",
3033 .llvm_name = "attiny461",3033 .llvm_name = "attiny461",
3034 .dependencies = &[_]*const Feature {3034 .dependencies = &[_]*const Feature {
3035 &feature_lpmx,
3035 &feature_lpm,3036 &feature_lpm,
3036 &feature_sram,3037 &feature_sram,
3037 &feature_addsubiw,3038 &feature_addsubiw,
3038 &feature_movw,3039 &feature_movw,
3039 &feature_break,
3040 &feature_ijmpcall,3040 &feature_ijmpcall,
3041 &feature_lpmx,3041 &feature_break,
3042 &feature_spm,3042 &feature_spm,
3043 },3043 },
3044};3044};
...@@ -3047,13 +3047,13 @@ pub const cpu_attiny461a = Cpu{...@@ -3047,13 +3047,13 @@ pub const cpu_attiny461a = Cpu{
3047 .name = "attiny461a",3047 .name = "attiny461a",
3048 .llvm_name = "attiny461a",3048 .llvm_name = "attiny461a",
3049 .dependencies = &[_]*const Feature {3049 .dependencies = &[_]*const Feature {
3050 &feature_lpmx,
3050 &feature_lpm,3051 &feature_lpm,
3051 &feature_sram,3052 &feature_sram,
3052 &feature_addsubiw,3053 &feature_addsubiw,
3053 &feature_movw,3054 &feature_movw,
3054 &feature_break,
3055 &feature_ijmpcall,3055 &feature_ijmpcall,
3056 &feature_lpmx,3056 &feature_break,
3057 &feature_spm,3057 &feature_spm,
3058 },3058 },
3059};3059};
...@@ -3062,13 +3062,13 @@ pub const cpu_attiny48 = Cpu{...@@ -3062,13 +3062,13 @@ pub const cpu_attiny48 = Cpu{
3062 .name = "attiny48",3062 .name = "attiny48",
3063 .llvm_name = "attiny48",3063 .llvm_name = "attiny48",
3064 .dependencies = &[_]*const Feature {3064 .dependencies = &[_]*const Feature {
3065 &feature_lpmx,
3065 &feature_lpm,3066 &feature_lpm,
3066 &feature_sram,3067 &feature_sram,
3067 &feature_addsubiw,3068 &feature_addsubiw,
3068 &feature_movw,3069 &feature_movw,
3069 &feature_break,
3070 &feature_ijmpcall,3070 &feature_ijmpcall,
3071 &feature_lpmx,3071 &feature_break,
3072 &feature_spm,3072 &feature_spm,
3073 },3073 },
3074};3074};
...@@ -3087,13 +3087,13 @@ pub const cpu_attiny828 = Cpu{...@@ -3087,13 +3087,13 @@ pub const cpu_attiny828 = Cpu{
3087 .name = "attiny828",3087 .name = "attiny828",
3088 .llvm_name = "attiny828",3088 .llvm_name = "attiny828",
3089 .dependencies = &[_]*const Feature {3089 .dependencies = &[_]*const Feature {
3090 &feature_lpmx,
3090 &feature_lpm,3091 &feature_lpm,
3091 &feature_sram,3092 &feature_sram,
3092 &feature_addsubiw,3093 &feature_addsubiw,
3093 &feature_movw,3094 &feature_movw,
3094 &feature_break,
3095 &feature_ijmpcall,3095 &feature_ijmpcall,
3096 &feature_lpmx,3096 &feature_break,
3097 &feature_spm,3097 &feature_spm,
3098 },3098 },
3099};3099};
...@@ -3102,13 +3102,13 @@ pub const cpu_attiny84 = Cpu{...@@ -3102,13 +3102,13 @@ pub const cpu_attiny84 = Cpu{
3102 .name = "attiny84",3102 .name = "attiny84",
3103 .llvm_name = "attiny84",3103 .llvm_name = "attiny84",
3104 .dependencies = &[_]*const Feature {3104 .dependencies = &[_]*const Feature {
3105 &feature_lpmx,
3105 &feature_lpm,3106 &feature_lpm,
3106 &feature_sram,3107 &feature_sram,
3107 &feature_addsubiw,3108 &feature_addsubiw,
3108 &feature_movw,3109 &feature_movw,
3109 &feature_break,
3110 &feature_ijmpcall,3110 &feature_ijmpcall,
3111 &feature_lpmx,3111 &feature_break,
3112 &feature_spm,3112 &feature_spm,
3113 },3113 },
3114};3114};
...@@ -3117,13 +3117,13 @@ pub const cpu_attiny84a = Cpu{...@@ -3117,13 +3117,13 @@ pub const cpu_attiny84a = Cpu{
3117 .name = "attiny84a",3117 .name = "attiny84a",
3118 .llvm_name = "attiny84a",3118 .llvm_name = "attiny84a",
3119 .dependencies = &[_]*const Feature {3119 .dependencies = &[_]*const Feature {
3120 &feature_lpmx,
3120 &feature_lpm,3121 &feature_lpm,
3121 &feature_sram,3122 &feature_sram,
3122 &feature_addsubiw,3123 &feature_addsubiw,
3123 &feature_movw,3124 &feature_movw,
3124 &feature_break,
3125 &feature_ijmpcall,3125 &feature_ijmpcall,
3126 &feature_lpmx,3126 &feature_break,
3127 &feature_spm,3127 &feature_spm,
3128 },3128 },
3129};3129};
...@@ -3132,13 +3132,13 @@ pub const cpu_attiny85 = Cpu{...@@ -3132,13 +3132,13 @@ pub const cpu_attiny85 = Cpu{
3132 .name = "attiny85",3132 .name = "attiny85",
3133 .llvm_name = "attiny85",3133 .llvm_name = "attiny85",
3134 .dependencies = &[_]*const Feature {3134 .dependencies = &[_]*const Feature {
3135 &feature_lpmx,
3135 &feature_lpm,3136 &feature_lpm,
3136 &feature_sram,3137 &feature_sram,
3137 &feature_addsubiw,3138 &feature_addsubiw,
3138 &feature_movw,3139 &feature_movw,
3139 &feature_break,
3140 &feature_ijmpcall,3140 &feature_ijmpcall,
3141 &feature_lpmx,3141 &feature_break,
3142 &feature_spm,3142 &feature_spm,
3143 },3143 },
3144};3144};
...@@ -3147,13 +3147,13 @@ pub const cpu_attiny861 = Cpu{...@@ -3147,13 +3147,13 @@ pub const cpu_attiny861 = Cpu{
3147 .name = "attiny861",3147 .name = "attiny861",
3148 .llvm_name = "attiny861",3148 .llvm_name = "attiny861",
3149 .dependencies = &[_]*const Feature {3149 .dependencies = &[_]*const Feature {
3150 &feature_lpmx,
3150 &feature_lpm,3151 &feature_lpm,
3151 &feature_sram,3152 &feature_sram,
3152 &feature_addsubiw,3153 &feature_addsubiw,
3153 &feature_movw,3154 &feature_movw,
3154 &feature_break,
3155 &feature_ijmpcall,3155 &feature_ijmpcall,
3156 &feature_lpmx,3156 &feature_break,
3157 &feature_spm,3157 &feature_spm,
3158 },3158 },
3159};3159};
...@@ -3162,13 +3162,13 @@ pub const cpu_attiny861a = Cpu{...@@ -3162,13 +3162,13 @@ pub const cpu_attiny861a = Cpu{
3162 .name = "attiny861a",3162 .name = "attiny861a",
3163 .llvm_name = "attiny861a",3163 .llvm_name = "attiny861a",
3164 .dependencies = &[_]*const Feature {3164 .dependencies = &[_]*const Feature {
3165 &feature_lpmx,
3165 &feature_lpm,3166 &feature_lpm,
3166 &feature_sram,3167 &feature_sram,
3167 &feature_addsubiw,3168 &feature_addsubiw,
3168 &feature_movw,3169 &feature_movw,
3169 &feature_break,
3170 &feature_ijmpcall,3170 &feature_ijmpcall,
3171 &feature_lpmx,3171 &feature_break,
3172 &feature_spm,3172 &feature_spm,
3173 },3173 },
3174};3174};
...@@ -3177,13 +3177,13 @@ pub const cpu_attiny87 = Cpu{...@@ -3177,13 +3177,13 @@ pub const cpu_attiny87 = Cpu{
3177 .name = "attiny87",3177 .name = "attiny87",
3178 .llvm_name = "attiny87",3178 .llvm_name = "attiny87",
3179 .dependencies = &[_]*const Feature {3179 .dependencies = &[_]*const Feature {
3180 &feature_lpmx,
3180 &feature_lpm,3181 &feature_lpm,
3181 &feature_sram,3182 &feature_sram,
3182 &feature_addsubiw,3183 &feature_addsubiw,
3183 &feature_movw,3184 &feature_movw,
3184 &feature_break,
3185 &feature_ijmpcall,3185 &feature_ijmpcall,
3186 &feature_lpmx,3186 &feature_break,
3187 &feature_spm,3187 &feature_spm,
3188 },3188 },
3189};3189};
...@@ -3192,13 +3192,13 @@ pub const cpu_attiny88 = Cpu{...@@ -3192,13 +3192,13 @@ pub const cpu_attiny88 = Cpu{
3192 .name = "attiny88",3192 .name = "attiny88",
3193 .llvm_name = "attiny88",3193 .llvm_name = "attiny88",
3194 .dependencies = &[_]*const Feature {3194 .dependencies = &[_]*const Feature {
3195 &feature_lpmx,
3195 &feature_lpm,3196 &feature_lpm,
3196 &feature_sram,3197 &feature_sram,
3197 &feature_addsubiw,3198 &feature_addsubiw,
3198 &feature_movw,3199 &feature_movw,
3199 &feature_break,
3200 &feature_ijmpcall,3200 &feature_ijmpcall,
3201 &feature_lpmx,3201 &feature_break,
3202 &feature_spm,3202 &feature_spm,
3203 },3203 },
3204};3204};
...@@ -3217,20 +3217,20 @@ pub const cpu_atxmega128a1 = Cpu{...@@ -3217,20 +3217,20 @@ pub const cpu_atxmega128a1 = Cpu{
3217 .name = "atxmega128a1",3217 .name = "atxmega128a1",
3218 .llvm_name = "atxmega128a1",3218 .llvm_name = "atxmega128a1",
3219 .dependencies = &[_]*const Feature {3219 .dependencies = &[_]*const Feature {
3220 &feature_eijmpcall,3220 &feature_spmx,
3221 &feature_des,
3222 &feature_lpmx,
3223 &feature_jmpcall,
3221 &feature_lpm,3224 &feature_lpm,
3225 &feature_elpm,
3222 &feature_sram,3226 &feature_sram,
3223 &feature_addsubiw,3227 &feature_addsubiw,
3228 &feature_elpmx,
3224 &feature_movw,3229 &feature_movw,
3225 &feature_elpm,
3226 &feature_break,
3227 &feature_ijmpcall,3230 &feature_ijmpcall,
3228 &feature_des,3231 &feature_break,
3229 &feature_spmx,3232 &feature_eijmpcall,
3230 &feature_lpmx,
3231 &feature_jmpcall,
3232 &feature_spm,3233 &feature_spm,
3233 &feature_elpmx,
3234 &feature_mul,3234 &feature_mul,
3235 },3235 },
3236};3236};
...@@ -3239,21 +3239,21 @@ pub const cpu_atxmega128a1u = Cpu{...@@ -3239,21 +3239,21 @@ pub const cpu_atxmega128a1u = Cpu{
3239 .name = "atxmega128a1u",3239 .name = "atxmega128a1u",
3240 .llvm_name = "atxmega128a1u",3240 .llvm_name = "atxmega128a1u",
3241 .dependencies = &[_]*const Feature {3241 .dependencies = &[_]*const Feature {
3242 &feature_eijmpcall,3242 &feature_spmx,
3243 &feature_des,
3244 &feature_lpmx,
3245 &feature_jmpcall,
3243 &feature_lpm,3246 &feature_lpm,
3247 &feature_elpm,
3244 &feature_sram,3248 &feature_sram,
3245 &feature_movw,
3246 &feature_addsubiw,3249 &feature_addsubiw,
3250 &feature_elpmx,
3247 &feature_rmw,3251 &feature_rmw,
3248 &feature_elpm,3252 &feature_movw,
3249 &feature_break,
3250 &feature_ijmpcall,3253 &feature_ijmpcall,
3251 &feature_des,3254 &feature_break,
3252 &feature_spmx,3255 &feature_eijmpcall,
3253 &feature_lpmx,
3254 &feature_jmpcall,
3255 &feature_spm,3256 &feature_spm,
3256 &feature_elpmx,
3257 &feature_mul,3257 &feature_mul,
3258 },3258 },
3259};3259};
...@@ -3262,20 +3262,20 @@ pub const cpu_atxmega128a3 = Cpu{...@@ -3262,20 +3262,20 @@ pub const cpu_atxmega128a3 = Cpu{
3262 .name = "atxmega128a3",3262 .name = "atxmega128a3",
3263 .llvm_name = "atxmega128a3",3263 .llvm_name = "atxmega128a3",
3264 .dependencies = &[_]*const Feature {3264 .dependencies = &[_]*const Feature {
3265 &feature_eijmpcall,3265 &feature_spmx,
3266 &feature_des,
3267 &feature_lpmx,
3268 &feature_jmpcall,
3266 &feature_lpm,3269 &feature_lpm,
3270 &feature_elpm,
3267 &feature_sram,3271 &feature_sram,
3268 &feature_addsubiw,3272 &feature_addsubiw,
3273 &feature_elpmx,
3269 &feature_movw,3274 &feature_movw,
3270 &feature_elpm,
3271 &feature_break,
3272 &feature_ijmpcall,3275 &feature_ijmpcall,
3273 &feature_des,3276 &feature_break,
3274 &feature_spmx,3277 &feature_eijmpcall,
3275 &feature_lpmx,
3276 &feature_jmpcall,
3277 &feature_spm,3278 &feature_spm,
3278 &feature_elpmx,
3279 &feature_mul,3279 &feature_mul,
3280 },3280 },
3281};3281};
...@@ -3284,21 +3284,21 @@ pub const cpu_atxmega128a3u = Cpu{...@@ -3284,21 +3284,21 @@ pub const cpu_atxmega128a3u = Cpu{
3284 .name = "atxmega128a3u",3284 .name = "atxmega128a3u",
3285 .llvm_name = "atxmega128a3u",3285 .llvm_name = "atxmega128a3u",
3286 .dependencies = &[_]*const Feature {3286 .dependencies = &[_]*const Feature {
3287 &feature_eijmpcall,3287 &feature_spmx,
3288 &feature_des,
3289 &feature_lpmx,
3290 &feature_jmpcall,
3288 &feature_lpm,3291 &feature_lpm,
3292 &feature_elpm,
3289 &feature_sram,3293 &feature_sram,
3290 &feature_movw,
3291 &feature_addsubiw,3294 &feature_addsubiw,
3295 &feature_elpmx,
3292 &feature_rmw,3296 &feature_rmw,
3293 &feature_elpm,3297 &feature_movw,
3294 &feature_break,
3295 &feature_ijmpcall,3298 &feature_ijmpcall,
3296 &feature_des,3299 &feature_break,
3297 &feature_spmx,3300 &feature_eijmpcall,
3298 &feature_lpmx,
3299 &feature_jmpcall,
3300 &feature_spm,3301 &feature_spm,
3301 &feature_elpmx,
3302 &feature_mul,3302 &feature_mul,
3303 },3303 },
3304};3304};
...@@ -3307,21 +3307,21 @@ pub const cpu_atxmega128a4u = Cpu{...@@ -3307,21 +3307,21 @@ pub const cpu_atxmega128a4u = Cpu{
3307 .name = "atxmega128a4u",3307 .name = "atxmega128a4u",
3308 .llvm_name = "atxmega128a4u",3308 .llvm_name = "atxmega128a4u",
3309 .dependencies = &[_]*const Feature {3309 .dependencies = &[_]*const Feature {
3310 &feature_eijmpcall,3310 &feature_spmx,
3311 &feature_des,
3312 &feature_lpmx,
3313 &feature_jmpcall,
3311 &feature_lpm,3314 &feature_lpm,
3315 &feature_elpm,
3312 &feature_sram,3316 &feature_sram,
3313 &feature_movw,
3314 &feature_addsubiw,3317 &feature_addsubiw,
3318 &feature_elpmx,
3315 &feature_rmw,3319 &feature_rmw,
3316 &feature_elpm,3320 &feature_movw,
3317 &feature_break,
3318 &feature_ijmpcall,3321 &feature_ijmpcall,
3319 &feature_des,3322 &feature_break,
3320 &feature_spmx,3323 &feature_eijmpcall,
3321 &feature_lpmx,
3322 &feature_jmpcall,
3323 &feature_spm,3324 &feature_spm,
3324 &feature_elpmx,
3325 &feature_mul,3325 &feature_mul,
3326 },3326 },
3327};3327};
...@@ -3330,21 +3330,21 @@ pub const cpu_atxmega128b1 = Cpu{...@@ -3330,21 +3330,21 @@ pub const cpu_atxmega128b1 = Cpu{
3330 .name = "atxmega128b1",3330 .name = "atxmega128b1",
3331 .llvm_name = "atxmega128b1",3331 .llvm_name = "atxmega128b1",
3332 .dependencies = &[_]*const Feature {3332 .dependencies = &[_]*const Feature {
3333 &feature_eijmpcall,3333 &feature_spmx,
3334 &feature_des,
3335 &feature_lpmx,
3336 &feature_jmpcall,
3334 &feature_lpm,3337 &feature_lpm,
3338 &feature_elpm,
3335 &feature_sram,3339 &feature_sram,
3336 &feature_movw,
3337 &feature_addsubiw,3340 &feature_addsubiw,
3341 &feature_elpmx,
3338 &feature_rmw,3342 &feature_rmw,
3339 &feature_elpm,3343 &feature_movw,
3340 &feature_break,
3341 &feature_ijmpcall,3344 &feature_ijmpcall,
3342 &feature_des,3345 &feature_break,
3343 &feature_spmx,3346 &feature_eijmpcall,
3344 &feature_lpmx,
3345 &feature_jmpcall,
3346 &feature_spm,3347 &feature_spm,
3347 &feature_elpmx,
3348 &feature_mul,3348 &feature_mul,
3349 },3349 },
3350};3350};
...@@ -3353,21 +3353,21 @@ pub const cpu_atxmega128b3 = Cpu{...@@ -3353,21 +3353,21 @@ pub const cpu_atxmega128b3 = Cpu{
3353 .name = "atxmega128b3",3353 .name = "atxmega128b3",
3354 .llvm_name = "atxmega128b3",3354 .llvm_name = "atxmega128b3",
3355 .dependencies = &[_]*const Feature {3355 .dependencies = &[_]*const Feature {
3356 &feature_eijmpcall,3356 &feature_spmx,
3357 &feature_des,
3358 &feature_lpmx,
3359 &feature_jmpcall,
3357 &feature_lpm,3360 &feature_lpm,
3361 &feature_elpm,
3358 &feature_sram,3362 &feature_sram,
3359 &feature_movw,
3360 &feature_addsubiw,3363 &feature_addsubiw,
3364 &feature_elpmx,
3361 &feature_rmw,3365 &feature_rmw,
3362 &feature_elpm,3366 &feature_movw,
3363 &feature_break,
3364 &feature_ijmpcall,3367 &feature_ijmpcall,
3365 &feature_des,3368 &feature_break,
3366 &feature_spmx,3369 &feature_eijmpcall,
3367 &feature_lpmx,
3368 &feature_jmpcall,
3369 &feature_spm,3370 &feature_spm,
3370 &feature_elpmx,
3371 &feature_mul,3371 &feature_mul,
3372 },3372 },
3373};3373};
...@@ -3376,21 +3376,21 @@ pub const cpu_atxmega128c3 = Cpu{...@@ -3376,21 +3376,21 @@ pub const cpu_atxmega128c3 = Cpu{
3376 .name = "atxmega128c3",3376 .name = "atxmega128c3",
3377 .llvm_name = "atxmega128c3",3377 .llvm_name = "atxmega128c3",
3378 .dependencies = &[_]*const Feature {3378 .dependencies = &[_]*const Feature {
3379 &feature_eijmpcall,3379 &feature_spmx,
3380 &feature_des,
3381 &feature_lpmx,
3382 &feature_jmpcall,
3380 &feature_lpm,3383 &feature_lpm,
3384 &feature_elpm,
3381 &feature_sram,3385 &feature_sram,
3382 &feature_movw,
3383 &feature_addsubiw,3386 &feature_addsubiw,
3387 &feature_elpmx,
3384 &feature_rmw,3388 &feature_rmw,
3385 &feature_elpm,3389 &feature_movw,
3386 &feature_break,
3387 &feature_ijmpcall,3390 &feature_ijmpcall,
3388 &feature_des,3391 &feature_break,
3389 &feature_spmx,3392 &feature_eijmpcall,
3390 &feature_lpmx,
3391 &feature_jmpcall,
3392 &feature_spm,3393 &feature_spm,
3393 &feature_elpmx,
3394 &feature_mul,3394 &feature_mul,
3395 },3395 },
3396};3396};
...@@ -3399,20 +3399,20 @@ pub const cpu_atxmega128d3 = Cpu{...@@ -3399,20 +3399,20 @@ pub const cpu_atxmega128d3 = Cpu{
3399 .name = "atxmega128d3",3399 .name = "atxmega128d3",
3400 .llvm_name = "atxmega128d3",3400 .llvm_name = "atxmega128d3",
3401 .dependencies = &[_]*const Feature {3401 .dependencies = &[_]*const Feature {
3402 &feature_eijmpcall,3402 &feature_spmx,
3403 &feature_des,
3404 &feature_lpmx,
3405 &feature_jmpcall,
3403 &feature_lpm,3406 &feature_lpm,
3407 &feature_elpm,
3404 &feature_sram,3408 &feature_sram,
3405 &feature_addsubiw,3409 &feature_addsubiw,
3410 &feature_elpmx,
3406 &feature_movw,3411 &feature_movw,
3407 &feature_elpm,
3408 &feature_break,
3409 &feature_ijmpcall,3412 &feature_ijmpcall,
3410 &feature_des,3413 &feature_break,
3411 &feature_spmx,3414 &feature_eijmpcall,
3412 &feature_lpmx,
3413 &feature_jmpcall,
3414 &feature_spm,3415 &feature_spm,
3415 &feature_elpmx,
3416 &feature_mul,3416 &feature_mul,
3417 },3417 },
3418};3418};
...@@ -3421,20 +3421,20 @@ pub const cpu_atxmega128d4 = Cpu{...@@ -3421,20 +3421,20 @@ pub const cpu_atxmega128d4 = Cpu{
3421 .name = "atxmega128d4",3421 .name = "atxmega128d4",
3422 .llvm_name = "atxmega128d4",3422 .llvm_name = "atxmega128d4",
3423 .dependencies = &[_]*const Feature {3423 .dependencies = &[_]*const Feature {
3424 &feature_eijmpcall,3424 &feature_spmx,
3425 &feature_des,
3426 &feature_lpmx,
3427 &feature_jmpcall,
3425 &feature_lpm,3428 &feature_lpm,
3429 &feature_elpm,
3426 &feature_sram,3430 &feature_sram,
3427 &feature_addsubiw,3431 &feature_addsubiw,
3432 &feature_elpmx,
3428 &feature_movw,3433 &feature_movw,
3429 &feature_elpm,
3430 &feature_break,
3431 &feature_ijmpcall,3434 &feature_ijmpcall,
3432 &feature_des,3435 &feature_break,
3433 &feature_spmx,3436 &feature_eijmpcall,
3434 &feature_lpmx,
3435 &feature_jmpcall,
3436 &feature_spm,3437 &feature_spm,
3437 &feature_elpmx,
3438 &feature_mul,3438 &feature_mul,
3439 },3439 },
3440};3440};
...@@ -3443,20 +3443,20 @@ pub const cpu_atxmega16a4 = Cpu{...@@ -3443,20 +3443,20 @@ pub const cpu_atxmega16a4 = Cpu{
3443 .name = "atxmega16a4",3443 .name = "atxmega16a4",
3444 .llvm_name = "atxmega16a4",3444 .llvm_name = "atxmega16a4",
3445 .dependencies = &[_]*const Feature {3445 .dependencies = &[_]*const Feature {
3446 &feature_eijmpcall,3446 &feature_spmx,
3447 &feature_des,
3448 &feature_lpmx,
3449 &feature_jmpcall,
3447 &feature_lpm,3450 &feature_lpm,
3451 &feature_elpm,
3448 &feature_sram,3452 &feature_sram,
3449 &feature_addsubiw,3453 &feature_addsubiw,
3454 &feature_elpmx,
3450 &feature_movw,3455 &feature_movw,
3451 &feature_elpm,
3452 &feature_break,
3453 &feature_ijmpcall,3456 &feature_ijmpcall,
3454 &feature_des,3457 &feature_break,
3455 &feature_spmx,3458 &feature_eijmpcall,
3456 &feature_lpmx,
3457 &feature_jmpcall,
3458 &feature_spm,3459 &feature_spm,
3459 &feature_elpmx,
3460 &feature_mul,3460 &feature_mul,
3461 },3461 },
3462};3462};
...@@ -3465,21 +3465,21 @@ pub const cpu_atxmega16a4u = Cpu{...@@ -3465,21 +3465,21 @@ pub const cpu_atxmega16a4u = Cpu{
3465 .name = "atxmega16a4u",3465 .name = "atxmega16a4u",
3466 .llvm_name = "atxmega16a4u",3466 .llvm_name = "atxmega16a4u",
3467 .dependencies = &[_]*const Feature {3467 .dependencies = &[_]*const Feature {
3468 &feature_eijmpcall,3468 &feature_spmx,
3469 &feature_des,
3470 &feature_lpmx,
3471 &feature_jmpcall,
3469 &feature_lpm,3472 &feature_lpm,
3473 &feature_elpm,
3470 &feature_sram,3474 &feature_sram,
3471 &feature_movw,
3472 &feature_addsubiw,3475 &feature_addsubiw,
3476 &feature_elpmx,
3473 &feature_rmw,3477 &feature_rmw,
3474 &feature_elpm,3478 &feature_movw,
3475 &feature_break,
3476 &feature_ijmpcall,3479 &feature_ijmpcall,
3477 &feature_des,3480 &feature_break,
3478 &feature_spmx,3481 &feature_eijmpcall,
3479 &feature_lpmx,
3480 &feature_jmpcall,
3481 &feature_spm,3482 &feature_spm,
3482 &feature_elpmx,
3483 &feature_mul,3483 &feature_mul,
3484 },3484 },
3485};3485};
...@@ -3488,21 +3488,21 @@ pub const cpu_atxmega16c4 = Cpu{...@@ -3488,21 +3488,21 @@ pub const cpu_atxmega16c4 = Cpu{
3488 .name = "atxmega16c4",3488 .name = "atxmega16c4",
3489 .llvm_name = "atxmega16c4",3489 .llvm_name = "atxmega16c4",
3490 .dependencies = &[_]*const Feature {3490 .dependencies = &[_]*const Feature {
3491 &feature_eijmpcall,3491 &feature_spmx,
3492 &feature_des,
3493 &feature_lpmx,
3494 &feature_jmpcall,
3492 &feature_lpm,3495 &feature_lpm,
3496 &feature_elpm,
3493 &feature_sram,3497 &feature_sram,
3494 &feature_movw,
3495 &feature_addsubiw,3498 &feature_addsubiw,
3499 &feature_elpmx,
3496 &feature_rmw,3500 &feature_rmw,
3497 &feature_elpm,3501 &feature_movw,
3498 &feature_break,
3499 &feature_ijmpcall,3502 &feature_ijmpcall,
3500 &feature_des,3503 &feature_break,
3501 &feature_spmx,3504 &feature_eijmpcall,
3502 &feature_lpmx,
3503 &feature_jmpcall,
3504 &feature_spm,3505 &feature_spm,
3505 &feature_elpmx,
3506 &feature_mul,3506 &feature_mul,
3507 },3507 },
3508};3508};
...@@ -3511,20 +3511,20 @@ pub const cpu_atxmega16d4 = Cpu{...@@ -3511,20 +3511,20 @@ pub const cpu_atxmega16d4 = Cpu{
3511 .name = "atxmega16d4",3511 .name = "atxmega16d4",
3512 .llvm_name = "atxmega16d4",3512 .llvm_name = "atxmega16d4",
3513 .dependencies = &[_]*const Feature {3513 .dependencies = &[_]*const Feature {
3514 &feature_eijmpcall,3514 &feature_spmx,
3515 &feature_des,
3516 &feature_lpmx,
3517 &feature_jmpcall,
3515 &feature_lpm,3518 &feature_lpm,
3519 &feature_elpm,
3516 &feature_sram,3520 &feature_sram,
3517 &feature_addsubiw,3521 &feature_addsubiw,
3522 &feature_elpmx,
3518 &feature_movw,3523 &feature_movw,
3519 &feature_elpm,
3520 &feature_break,
3521 &feature_ijmpcall,3524 &feature_ijmpcall,
3522 &feature_des,3525 &feature_break,
3523 &feature_spmx,3526 &feature_eijmpcall,
3524 &feature_lpmx,
3525 &feature_jmpcall,
3526 &feature_spm,3527 &feature_spm,
3527 &feature_elpmx,
3528 &feature_mul,3528 &feature_mul,
3529 },3529 },
3530};3530};
...@@ -3533,20 +3533,20 @@ pub const cpu_atxmega16e5 = Cpu{...@@ -3533,20 +3533,20 @@ pub const cpu_atxmega16e5 = Cpu{
3533 .name = "atxmega16e5",3533 .name = "atxmega16e5",
3534 .llvm_name = "atxmega16e5",3534 .llvm_name = "atxmega16e5",
3535 .dependencies = &[_]*const Feature {3535 .dependencies = &[_]*const Feature {
3536 &feature_eijmpcall,3536 &feature_spmx,
3537 &feature_des,
3538 &feature_lpmx,
3539 &feature_jmpcall,
3537 &feature_lpm,3540 &feature_lpm,
3541 &feature_elpm,
3538 &feature_sram,3542 &feature_sram,
3539 &feature_addsubiw,3543 &feature_addsubiw,
3544 &feature_elpmx,
3540 &feature_movw,3545 &feature_movw,
3541 &feature_elpm,
3542 &feature_break,
3543 &feature_ijmpcall,3546 &feature_ijmpcall,
3544 &feature_des,3547 &feature_break,
3545 &feature_spmx,3548 &feature_eijmpcall,
3546 &feature_lpmx,
3547 &feature_jmpcall,
3548 &feature_spm,3549 &feature_spm,
3549 &feature_elpmx,
3550 &feature_mul,3550 &feature_mul,
3551 },3551 },
3552};3552};
...@@ -3555,20 +3555,20 @@ pub const cpu_atxmega192a3 = Cpu{...@@ -3555,20 +3555,20 @@ pub const cpu_atxmega192a3 = Cpu{
3555 .name = "atxmega192a3",3555 .name = "atxmega192a3",
3556 .llvm_name = "atxmega192a3",3556 .llvm_name = "atxmega192a3",
3557 .dependencies = &[_]*const Feature {3557 .dependencies = &[_]*const Feature {
3558 &feature_eijmpcall,3558 &feature_spmx,
3559 &feature_des,
3560 &feature_lpmx,
3561 &feature_jmpcall,
3559 &feature_lpm,3562 &feature_lpm,
3563 &feature_elpm,
3560 &feature_sram,3564 &feature_sram,
3561 &feature_addsubiw,3565 &feature_addsubiw,
3566 &feature_elpmx,
3562 &feature_movw,3567 &feature_movw,
3563 &feature_elpm,
3564 &feature_break,
3565 &feature_ijmpcall,3568 &feature_ijmpcall,
3566 &feature_des,3569 &feature_break,
3567 &feature_spmx,3570 &feature_eijmpcall,
3568 &feature_lpmx,
3569 &feature_jmpcall,
3570 &feature_spm,3571 &feature_spm,
3571 &feature_elpmx,
3572 &feature_mul,3572 &feature_mul,
3573 },3573 },
3574};3574};
...@@ -3577,21 +3577,21 @@ pub const cpu_atxmega192a3u = Cpu{...@@ -3577,21 +3577,21 @@ pub const cpu_atxmega192a3u = Cpu{
3577 .name = "atxmega192a3u",3577 .name = "atxmega192a3u",
3578 .llvm_name = "atxmega192a3u",3578 .llvm_name = "atxmega192a3u",
3579 .dependencies = &[_]*const Feature {3579 .dependencies = &[_]*const Feature {
3580 &feature_eijmpcall,3580 &feature_spmx,
3581 &feature_des,
3582 &feature_lpmx,
3583 &feature_jmpcall,
3581 &feature_lpm,3584 &feature_lpm,
3585 &feature_elpm,
3582 &feature_sram,3586 &feature_sram,
3583 &feature_movw,
3584 &feature_addsubiw,3587 &feature_addsubiw,
3588 &feature_elpmx,
3585 &feature_rmw,3589 &feature_rmw,
3586 &feature_elpm,3590 &feature_movw,
3587 &feature_break,
3588 &feature_ijmpcall,3591 &feature_ijmpcall,
3589 &feature_des,3592 &feature_break,
3590 &feature_spmx,3593 &feature_eijmpcall,
3591 &feature_lpmx,
3592 &feature_jmpcall,
3593 &feature_spm,3594 &feature_spm,
3594 &feature_elpmx,
3595 &feature_mul,3595 &feature_mul,
3596 },3596 },
3597};3597};
...@@ -3600,21 +3600,21 @@ pub const cpu_atxmega192c3 = Cpu{...@@ -3600,21 +3600,21 @@ pub const cpu_atxmega192c3 = Cpu{
3600 .name = "atxmega192c3",3600 .name = "atxmega192c3",
3601 .llvm_name = "atxmega192c3",3601 .llvm_name = "atxmega192c3",
3602 .dependencies = &[_]*const Feature {3602 .dependencies = &[_]*const Feature {
3603 &feature_eijmpcall,3603 &feature_spmx,
3604 &feature_des,
3605 &feature_lpmx,
3606 &feature_jmpcall,
3604 &feature_lpm,3607 &feature_lpm,
3608 &feature_elpm,
3605 &feature_sram,3609 &feature_sram,
3606 &feature_movw,
3607 &feature_addsubiw,3610 &feature_addsubiw,
3611 &feature_elpmx,
3608 &feature_rmw,3612 &feature_rmw,
3609 &feature_elpm,3613 &feature_movw,
3610 &feature_break,
3611 &feature_ijmpcall,3614 &feature_ijmpcall,
3612 &feature_des,3615 &feature_break,
3613 &feature_spmx,3616 &feature_eijmpcall,
3614 &feature_lpmx,
3615 &feature_jmpcall,
3616 &feature_spm,3617 &feature_spm,
3617 &feature_elpmx,
3618 &feature_mul,3618 &feature_mul,
3619 },3619 },
3620};3620};
...@@ -3623,20 +3623,20 @@ pub const cpu_atxmega192d3 = Cpu{...@@ -3623,20 +3623,20 @@ pub const cpu_atxmega192d3 = Cpu{
3623 .name = "atxmega192d3",3623 .name = "atxmega192d3",
3624 .llvm_name = "atxmega192d3",3624 .llvm_name = "atxmega192d3",
3625 .dependencies = &[_]*const Feature {3625 .dependencies = &[_]*const Feature {
3626 &feature_eijmpcall,3626 &feature_spmx,
3627 &feature_des,
3628 &feature_lpmx,
3629 &feature_jmpcall,
3627 &feature_lpm,3630 &feature_lpm,
3631 &feature_elpm,
3628 &feature_sram,3632 &feature_sram,
3629 &feature_addsubiw,3633 &feature_addsubiw,
3634 &feature_elpmx,
3630 &feature_movw,3635 &feature_movw,
3631 &feature_elpm,
3632 &feature_break,
3633 &feature_ijmpcall,3636 &feature_ijmpcall,
3634 &feature_des,3637 &feature_break,
3635 &feature_spmx,3638 &feature_eijmpcall,
3636 &feature_lpmx,
3637 &feature_jmpcall,
3638 &feature_spm,3639 &feature_spm,
3639 &feature_elpmx,
3640 &feature_mul,3640 &feature_mul,
3641 },3641 },
3642};3642};
...@@ -3645,20 +3645,20 @@ pub const cpu_atxmega256a3 = Cpu{...@@ -3645,20 +3645,20 @@ pub const cpu_atxmega256a3 = Cpu{
3645 .name = "atxmega256a3",3645 .name = "atxmega256a3",
3646 .llvm_name = "atxmega256a3",3646 .llvm_name = "atxmega256a3",
3647 .dependencies = &[_]*const Feature {3647 .dependencies = &[_]*const Feature {
3648 &feature_eijmpcall,3648 &feature_spmx,
3649 &feature_des,
3650 &feature_lpmx,
3651 &feature_jmpcall,
3649 &feature_lpm,3652 &feature_lpm,
3653 &feature_elpm,
3650 &feature_sram,3654 &feature_sram,
3651 &feature_addsubiw,3655 &feature_addsubiw,
3656 &feature_elpmx,
3652 &feature_movw,3657 &feature_movw,
3653 &feature_elpm,
3654 &feature_break,
3655 &feature_ijmpcall,3658 &feature_ijmpcall,
3656 &feature_des,3659 &feature_break,
3657 &feature_spmx,3660 &feature_eijmpcall,
3658 &feature_lpmx,
3659 &feature_jmpcall,
3660 &feature_spm,3661 &feature_spm,
3661 &feature_elpmx,
3662 &feature_mul,3662 &feature_mul,
3663 },3663 },
3664};3664};
...@@ -3667,20 +3667,20 @@ pub const cpu_atxmega256a3b = Cpu{...@@ -3667,20 +3667,20 @@ pub const cpu_atxmega256a3b = Cpu{
3667 .name = "atxmega256a3b",3667 .name = "atxmega256a3b",
3668 .llvm_name = "atxmega256a3b",3668 .llvm_name = "atxmega256a3b",
3669 .dependencies = &[_]*const Feature {3669 .dependencies = &[_]*const Feature {
3670 &feature_eijmpcall,3670 &feature_spmx,
3671 &feature_des,
3672 &feature_lpmx,
3673 &feature_jmpcall,
3671 &feature_lpm,3674 &feature_lpm,
3675 &feature_elpm,
3672 &feature_sram,3676 &feature_sram,
3673 &feature_addsubiw,3677 &feature_addsubiw,
3678 &feature_elpmx,
3674 &feature_movw,3679 &feature_movw,
3675 &feature_elpm,
3676 &feature_break,
3677 &feature_ijmpcall,3680 &feature_ijmpcall,
3678 &feature_des,3681 &feature_break,
3679 &feature_spmx,3682 &feature_eijmpcall,
3680 &feature_lpmx,
3681 &feature_jmpcall,
3682 &feature_spm,3683 &feature_spm,
3683 &feature_elpmx,
3684 &feature_mul,3684 &feature_mul,
3685 },3685 },
3686};3686};
...@@ -3689,21 +3689,21 @@ pub const cpu_atxmega256a3bu = Cpu{...@@ -3689,21 +3689,21 @@ pub const cpu_atxmega256a3bu = Cpu{
3689 .name = "atxmega256a3bu",3689 .name = "atxmega256a3bu",
3690 .llvm_name = "atxmega256a3bu",3690 .llvm_name = "atxmega256a3bu",
3691 .dependencies = &[_]*const Feature {3691 .dependencies = &[_]*const Feature {
3692 &feature_eijmpcall,3692 &feature_spmx,
3693 &feature_des,
3694 &feature_lpmx,
3695 &feature_jmpcall,
3693 &feature_lpm,3696 &feature_lpm,
3697 &feature_elpm,
3694 &feature_sram,3698 &feature_sram,
3695 &feature_movw,
3696 &feature_addsubiw,3699 &feature_addsubiw,
3700 &feature_elpmx,
3697 &feature_rmw,3701 &feature_rmw,
3698 &feature_elpm,3702 &feature_movw,
3699 &feature_break,
3700 &feature_ijmpcall,3703 &feature_ijmpcall,
3701 &feature_des,3704 &feature_break,
3702 &feature_spmx,3705 &feature_eijmpcall,
3703 &feature_lpmx,
3704 &feature_jmpcall,
3705 &feature_spm,3706 &feature_spm,
3706 &feature_elpmx,
3707 &feature_mul,3707 &feature_mul,
3708 },3708 },
3709};3709};
...@@ -3712,21 +3712,21 @@ pub const cpu_atxmega256a3u = Cpu{...@@ -3712,21 +3712,21 @@ pub const cpu_atxmega256a3u = Cpu{
3712 .name = "atxmega256a3u",3712 .name = "atxmega256a3u",
3713 .llvm_name = "atxmega256a3u",3713 .llvm_name = "atxmega256a3u",
3714 .dependencies = &[_]*const Feature {3714 .dependencies = &[_]*const Feature {
3715 &feature_eijmpcall,3715 &feature_spmx,
3716 &feature_des,
3717 &feature_lpmx,
3718 &feature_jmpcall,
3716 &feature_lpm,3719 &feature_lpm,
3720 &feature_elpm,
3717 &feature_sram,3721 &feature_sram,
3718 &feature_movw,
3719 &feature_addsubiw,3722 &feature_addsubiw,
3723 &feature_elpmx,
3720 &feature_rmw,3724 &feature_rmw,
3721 &feature_elpm,3725 &feature_movw,
3722 &feature_break,
3723 &feature_ijmpcall,3726 &feature_ijmpcall,
3724 &feature_des,3727 &feature_break,
3725 &feature_spmx,3728 &feature_eijmpcall,
3726 &feature_lpmx,
3727 &feature_jmpcall,
3728 &feature_spm,3729 &feature_spm,
3729 &feature_elpmx,
3730 &feature_mul,3730 &feature_mul,
3731 },3731 },
3732};3732};
...@@ -3735,21 +3735,21 @@ pub const cpu_atxmega256c3 = Cpu{...@@ -3735,21 +3735,21 @@ pub const cpu_atxmega256c3 = Cpu{
3735 .name = "atxmega256c3",3735 .name = "atxmega256c3",
3736 .llvm_name = "atxmega256c3",3736 .llvm_name = "atxmega256c3",
3737 .dependencies = &[_]*const Feature {3737 .dependencies = &[_]*const Feature {
3738 &feature_eijmpcall,3738 &feature_spmx,
3739 &feature_des,
3740 &feature_lpmx,
3741 &feature_jmpcall,
3739 &feature_lpm,3742 &feature_lpm,
3743 &feature_elpm,
3740 &feature_sram,3744 &feature_sram,
3741 &feature_movw,
3742 &feature_addsubiw,3745 &feature_addsubiw,
3746 &feature_elpmx,
3743 &feature_rmw,3747 &feature_rmw,
3744 &feature_elpm,3748 &feature_movw,
3745 &feature_break,
3746 &feature_ijmpcall,3749 &feature_ijmpcall,
3747 &feature_des,3750 &feature_break,
3748 &feature_spmx,3751 &feature_eijmpcall,
3749 &feature_lpmx,
3750 &feature_jmpcall,
3751 &feature_spm,3752 &feature_spm,
3752 &feature_elpmx,
3753 &feature_mul,3753 &feature_mul,
3754 },3754 },
3755};3755};
...@@ -3758,20 +3758,20 @@ pub const cpu_atxmega256d3 = Cpu{...@@ -3758,20 +3758,20 @@ pub const cpu_atxmega256d3 = Cpu{
3758 .name = "atxmega256d3",3758 .name = "atxmega256d3",
3759 .llvm_name = "atxmega256d3",3759 .llvm_name = "atxmega256d3",
3760 .dependencies = &[_]*const Feature {3760 .dependencies = &[_]*const Feature {
3761 &feature_eijmpcall,3761 &feature_spmx,
3762 &feature_des,
3763 &feature_lpmx,
3764 &feature_jmpcall,
3762 &feature_lpm,3765 &feature_lpm,
3766 &feature_elpm,
3763 &feature_sram,3767 &feature_sram,
3764 &feature_addsubiw,3768 &feature_addsubiw,
3769 &feature_elpmx,
3765 &feature_movw,3770 &feature_movw,
3766 &feature_elpm,
3767 &feature_break,
3768 &feature_ijmpcall,3771 &feature_ijmpcall,
3769 &feature_des,3772 &feature_break,
3770 &feature_spmx,3773 &feature_eijmpcall,
3771 &feature_lpmx,
3772 &feature_jmpcall,
3773 &feature_spm,3774 &feature_spm,
3774 &feature_elpmx,
3775 &feature_mul,3775 &feature_mul,
3776 },3776 },
3777};3777};
...@@ -3780,20 +3780,20 @@ pub const cpu_atxmega32a4 = Cpu{...@@ -3780,20 +3780,20 @@ pub const cpu_atxmega32a4 = Cpu{
3780 .name = "atxmega32a4",3780 .name = "atxmega32a4",
3781 .llvm_name = "atxmega32a4",3781 .llvm_name = "atxmega32a4",
3782 .dependencies = &[_]*const Feature {3782 .dependencies = &[_]*const Feature {
3783 &feature_eijmpcall,3783 &feature_spmx,
3784 &feature_des,
3785 &feature_lpmx,
3786 &feature_jmpcall,
3784 &feature_lpm,3787 &feature_lpm,
3788 &feature_elpm,
3785 &feature_sram,3789 &feature_sram,
3786 &feature_addsubiw,3790 &feature_addsubiw,
3791 &feature_elpmx,
3787 &feature_movw,3792 &feature_movw,
3788 &feature_elpm,
3789 &feature_break,
3790 &feature_ijmpcall,3793 &feature_ijmpcall,
3791 &feature_des,3794 &feature_break,
3792 &feature_spmx,3795 &feature_eijmpcall,
3793 &feature_lpmx,
3794 &feature_jmpcall,
3795 &feature_spm,3796 &feature_spm,
3796 &feature_elpmx,
3797 &feature_mul,3797 &feature_mul,
3798 },3798 },
3799};3799};
...@@ -3802,21 +3802,21 @@ pub const cpu_atxmega32a4u = Cpu{...@@ -3802,21 +3802,21 @@ pub const cpu_atxmega32a4u = Cpu{
3802 .name = "atxmega32a4u",3802 .name = "atxmega32a4u",
3803 .llvm_name = "atxmega32a4u",3803 .llvm_name = "atxmega32a4u",
3804 .dependencies = &[_]*const Feature {3804 .dependencies = &[_]*const Feature {
3805 &feature_eijmpcall,3805 &feature_spmx,
3806 &feature_des,
3807 &feature_lpmx,
3808 &feature_jmpcall,
3806 &feature_lpm,3809 &feature_lpm,
3810 &feature_elpm,
3807 &feature_sram,3811 &feature_sram,
3808 &feature_movw,
3809 &feature_addsubiw,3812 &feature_addsubiw,
3813 &feature_elpmx,
3810 &feature_rmw,3814 &feature_rmw,
3811 &feature_elpm,3815 &feature_movw,
3812 &feature_break,
3813 &feature_ijmpcall,3816 &feature_ijmpcall,
3814 &feature_des,3817 &feature_break,
3815 &feature_spmx,3818 &feature_eijmpcall,
3816 &feature_lpmx,
3817 &feature_jmpcall,
3818 &feature_spm,3819 &feature_spm,
3819 &feature_elpmx,
3820 &feature_mul,3820 &feature_mul,
3821 },3821 },
3822};3822};
...@@ -3825,21 +3825,21 @@ pub const cpu_atxmega32c4 = Cpu{...@@ -3825,21 +3825,21 @@ pub const cpu_atxmega32c4 = Cpu{
3825 .name = "atxmega32c4",3825 .name = "atxmega32c4",
3826 .llvm_name = "atxmega32c4",3826 .llvm_name = "atxmega32c4",
3827 .dependencies = &[_]*const Feature {3827 .dependencies = &[_]*const Feature {
3828 &feature_eijmpcall,3828 &feature_spmx,
3829 &feature_des,
3830 &feature_lpmx,
3831 &feature_jmpcall,
3829 &feature_lpm,3832 &feature_lpm,
3833 &feature_elpm,
3830 &feature_sram,3834 &feature_sram,
3831 &feature_movw,
3832 &feature_addsubiw,3835 &feature_addsubiw,
3836 &feature_elpmx,
3833 &feature_rmw,3837 &feature_rmw,
3834 &feature_elpm,3838 &feature_movw,
3835 &feature_break,
3836 &feature_ijmpcall,3839 &feature_ijmpcall,
3837 &feature_des,3840 &feature_break,
3838 &feature_spmx,3841 &feature_eijmpcall,
3839 &feature_lpmx,
3840 &feature_jmpcall,
3841 &feature_spm,3842 &feature_spm,
3842 &feature_elpmx,
3843 &feature_mul,3843 &feature_mul,
3844 },3844 },
3845};3845};
...@@ -3848,20 +3848,20 @@ pub const cpu_atxmega32d4 = Cpu{...@@ -3848,20 +3848,20 @@ pub const cpu_atxmega32d4 = Cpu{
3848 .name = "atxmega32d4",3848 .name = "atxmega32d4",
3849 .llvm_name = "atxmega32d4",3849 .llvm_name = "atxmega32d4",
3850 .dependencies = &[_]*const Feature {3850 .dependencies = &[_]*const Feature {
3851 &feature_eijmpcall,3851 &feature_spmx,
3852 &feature_des,
3853 &feature_lpmx,
3854 &feature_jmpcall,
3852 &feature_lpm,3855 &feature_lpm,
3856 &feature_elpm,
3853 &feature_sram,3857 &feature_sram,
3854 &feature_addsubiw,3858 &feature_addsubiw,
3859 &feature_elpmx,
3855 &feature_movw,3860 &feature_movw,
3856 &feature_elpm,
3857 &feature_break,
3858 &feature_ijmpcall,3861 &feature_ijmpcall,
3859 &feature_des,3862 &feature_break,
3860 &feature_spmx,3863 &feature_eijmpcall,
3861 &feature_lpmx,
3862 &feature_jmpcall,
3863 &feature_spm,3864 &feature_spm,
3864 &feature_elpmx,
3865 &feature_mul,3865 &feature_mul,
3866 },3866 },
3867};3867};
...@@ -3870,20 +3870,20 @@ pub const cpu_atxmega32e5 = Cpu{...@@ -3870,20 +3870,20 @@ pub const cpu_atxmega32e5 = Cpu{
3870 .name = "atxmega32e5",3870 .name = "atxmega32e5",
3871 .llvm_name = "atxmega32e5",3871 .llvm_name = "atxmega32e5",
3872 .dependencies = &[_]*const Feature {3872 .dependencies = &[_]*const Feature {
3873 &feature_eijmpcall,3873 &feature_spmx,
3874 &feature_des,
3875 &feature_lpmx,
3876 &feature_jmpcall,
3874 &feature_lpm,3877 &feature_lpm,
3878 &feature_elpm,
3875 &feature_sram,3879 &feature_sram,
3876 &feature_addsubiw,3880 &feature_addsubiw,
3881 &feature_elpmx,
3877 &feature_movw,3882 &feature_movw,
3878 &feature_elpm,
3879 &feature_break,
3880 &feature_ijmpcall,3883 &feature_ijmpcall,
3881 &feature_des,3884 &feature_break,
3882 &feature_spmx,3885 &feature_eijmpcall,
3883 &feature_lpmx,
3884 &feature_jmpcall,
3885 &feature_spm,3886 &feature_spm,
3886 &feature_elpmx,
3887 &feature_mul,3887 &feature_mul,
3888 },3888 },
3889};3889};
...@@ -3892,20 +3892,20 @@ pub const cpu_atxmega32x1 = Cpu{...@@ -3892,20 +3892,20 @@ pub const cpu_atxmega32x1 = Cpu{
3892 .name = "atxmega32x1",3892 .name = "atxmega32x1",
3893 .llvm_name = "atxmega32x1",3893 .llvm_name = "atxmega32x1",
3894 .dependencies = &[_]*const Feature {3894 .dependencies = &[_]*const Feature {
3895 &feature_eijmpcall,3895 &feature_spmx,
3896 &feature_des,
3897 &feature_lpmx,
3898 &feature_jmpcall,
3896 &feature_lpm,3899 &feature_lpm,
3900 &feature_elpm,
3897 &feature_sram,3901 &feature_sram,
3898 &feature_addsubiw,3902 &feature_addsubiw,
3903 &feature_elpmx,
3899 &feature_movw,3904 &feature_movw,
3900 &feature_elpm,
3901 &feature_break,
3902 &feature_ijmpcall,3905 &feature_ijmpcall,
3903 &feature_des,3906 &feature_break,
3904 &feature_spmx,3907 &feature_eijmpcall,
3905 &feature_lpmx,
3906 &feature_jmpcall,
3907 &feature_spm,3908 &feature_spm,
3908 &feature_elpmx,
3909 &feature_mul,3909 &feature_mul,
3910 },3910 },
3911};3911};
...@@ -3914,21 +3914,21 @@ pub const cpu_atxmega384c3 = Cpu{...@@ -3914,21 +3914,21 @@ pub const cpu_atxmega384c3 = Cpu{
3914 .name = "atxmega384c3",3914 .name = "atxmega384c3",
3915 .llvm_name = "atxmega384c3",3915 .llvm_name = "atxmega384c3",
3916 .dependencies = &[_]*const Feature {3916 .dependencies = &[_]*const Feature {
3917 &feature_eijmpcall,3917 &feature_spmx,
3918 &feature_des,
3919 &feature_lpmx,
3920 &feature_jmpcall,
3918 &feature_lpm,3921 &feature_lpm,
3922 &feature_elpm,
3919 &feature_sram,3923 &feature_sram,
3920 &feature_movw,
3921 &feature_addsubiw,3924 &feature_addsubiw,
3925 &feature_elpmx,
3922 &feature_rmw,3926 &feature_rmw,
3923 &feature_elpm,3927 &feature_movw,
3924 &feature_break,
3925 &feature_ijmpcall,3928 &feature_ijmpcall,
3926 &feature_des,3929 &feature_break,
3927 &feature_spmx,3930 &feature_eijmpcall,
3928 &feature_lpmx,
3929 &feature_jmpcall,
3930 &feature_spm,3931 &feature_spm,
3931 &feature_elpmx,
3932 &feature_mul,3932 &feature_mul,
3933 },3933 },
3934};3934};
...@@ -3937,20 +3937,20 @@ pub const cpu_atxmega384d3 = Cpu{...@@ -3937,20 +3937,20 @@ pub const cpu_atxmega384d3 = Cpu{
3937 .name = "atxmega384d3",3937 .name = "atxmega384d3",
3938 .llvm_name = "atxmega384d3",3938 .llvm_name = "atxmega384d3",
3939 .dependencies = &[_]*const Feature {3939 .dependencies = &[_]*const Feature {
3940 &feature_eijmpcall,3940 &feature_spmx,
3941 &feature_des,
3942 &feature_lpmx,
3943 &feature_jmpcall,
3941 &feature_lpm,3944 &feature_lpm,
3945 &feature_elpm,
3942 &feature_sram,3946 &feature_sram,
3943 &feature_addsubiw,3947 &feature_addsubiw,
3948 &feature_elpmx,
3944 &feature_movw,3949 &feature_movw,
3945 &feature_elpm,
3946 &feature_break,
3947 &feature_ijmpcall,3950 &feature_ijmpcall,
3948 &feature_des,3951 &feature_break,
3949 &feature_spmx,3952 &feature_eijmpcall,
3950 &feature_lpmx,
3951 &feature_jmpcall,
3952 &feature_spm,3953 &feature_spm,
3953 &feature_elpmx,
3954 &feature_mul,3954 &feature_mul,
3955 },3955 },
3956};3956};
...@@ -3959,20 +3959,20 @@ pub const cpu_atxmega64a1 = Cpu{...@@ -3959,20 +3959,20 @@ pub const cpu_atxmega64a1 = Cpu{
3959 .name = "atxmega64a1",3959 .name = "atxmega64a1",
3960 .llvm_name = "atxmega64a1",3960 .llvm_name = "atxmega64a1",
3961 .dependencies = &[_]*const Feature {3961 .dependencies = &[_]*const Feature {
3962 &feature_eijmpcall,3962 &feature_spmx,
3963 &feature_des,
3964 &feature_lpmx,
3965 &feature_jmpcall,
3963 &feature_lpm,3966 &feature_lpm,
3967 &feature_elpm,
3964 &feature_sram,3968 &feature_sram,
3965 &feature_addsubiw,3969 &feature_addsubiw,
3970 &feature_elpmx,
3966 &feature_movw,3971 &feature_movw,
3967 &feature_elpm,
3968 &feature_break,
3969 &feature_ijmpcall,3972 &feature_ijmpcall,
3970 &feature_des,3973 &feature_break,
3971 &feature_spmx,3974 &feature_eijmpcall,
3972 &feature_lpmx,
3973 &feature_jmpcall,
3974 &feature_spm,3975 &feature_spm,
3975 &feature_elpmx,
3976 &feature_mul,3976 &feature_mul,
3977 },3977 },
3978};3978};
...@@ -3981,21 +3981,21 @@ pub const cpu_atxmega64a1u = Cpu{...@@ -3981,21 +3981,21 @@ pub const cpu_atxmega64a1u = Cpu{
3981 .name = "atxmega64a1u",3981 .name = "atxmega64a1u",
3982 .llvm_name = "atxmega64a1u",3982 .llvm_name = "atxmega64a1u",
3983 .dependencies = &[_]*const Feature {3983 .dependencies = &[_]*const Feature {
3984 &feature_eijmpcall,3984 &feature_spmx,
3985 &feature_des,
3986 &feature_lpmx,
3987 &feature_jmpcall,
3985 &feature_lpm,3988 &feature_lpm,
3989 &feature_elpm,
3986 &feature_sram,3990 &feature_sram,
3987 &feature_movw,
3988 &feature_addsubiw,3991 &feature_addsubiw,
3992 &feature_elpmx,
3989 &feature_rmw,3993 &feature_rmw,
3990 &feature_elpm,3994 &feature_movw,
3991 &feature_break,
3992 &feature_ijmpcall,3995 &feature_ijmpcall,
3993 &feature_des,3996 &feature_break,
3994 &feature_spmx,3997 &feature_eijmpcall,
3995 &feature_lpmx,
3996 &feature_jmpcall,
3997 &feature_spm,3998 &feature_spm,
3998 &feature_elpmx,
3999 &feature_mul,3999 &feature_mul,
4000 },4000 },
4001};4001};
...@@ -4004,20 +4004,20 @@ pub const cpu_atxmega64a3 = Cpu{...@@ -4004,20 +4004,20 @@ pub const cpu_atxmega64a3 = Cpu{
4004 .name = "atxmega64a3",4004 .name = "atxmega64a3",
4005 .llvm_name = "atxmega64a3",4005 .llvm_name = "atxmega64a3",
4006 .dependencies = &[_]*const Feature {4006 .dependencies = &[_]*const Feature {
4007 &feature_eijmpcall,4007 &feature_spmx,
4008 &feature_des,
4009 &feature_lpmx,
4010 &feature_jmpcall,
4008 &feature_lpm,4011 &feature_lpm,
4012 &feature_elpm,
4009 &feature_sram,4013 &feature_sram,
4010 &feature_addsubiw,4014 &feature_addsubiw,
4015 &feature_elpmx,
4011 &feature_movw,4016 &feature_movw,
4012 &feature_elpm,
4013 &feature_break,
4014 &feature_ijmpcall,4017 &feature_ijmpcall,
4015 &feature_des,4018 &feature_break,
4016 &feature_spmx,4019 &feature_eijmpcall,
4017 &feature_lpmx,
4018 &feature_jmpcall,
4019 &feature_spm,4020 &feature_spm,
4020 &feature_elpmx,
4021 &feature_mul,4021 &feature_mul,
4022 },4022 },
4023};4023};
...@@ -4026,21 +4026,21 @@ pub const cpu_atxmega64a3u = Cpu{...@@ -4026,21 +4026,21 @@ pub const cpu_atxmega64a3u = Cpu{
4026 .name = "atxmega64a3u",4026 .name = "atxmega64a3u",
4027 .llvm_name = "atxmega64a3u",4027 .llvm_name = "atxmega64a3u",
4028 .dependencies = &[_]*const Feature {4028 .dependencies = &[_]*const Feature {
4029 &feature_eijmpcall,4029 &feature_spmx,
4030 &feature_des,
4031 &feature_lpmx,
4032 &feature_jmpcall,
4030 &feature_lpm,4033 &feature_lpm,
4034 &feature_elpm,
4031 &feature_sram,4035 &feature_sram,
4032 &feature_movw,
4033 &feature_addsubiw,4036 &feature_addsubiw,
4037 &feature_elpmx,
4034 &feature_rmw,4038 &feature_rmw,
4035 &feature_elpm,4039 &feature_movw,
4036 &feature_break,
4037 &feature_ijmpcall,4040 &feature_ijmpcall,
4038 &feature_des,4041 &feature_break,
4039 &feature_spmx,4042 &feature_eijmpcall,
4040 &feature_lpmx,
4041 &feature_jmpcall,
4042 &feature_spm,4043 &feature_spm,
4043 &feature_elpmx,
4044 &feature_mul,4044 &feature_mul,
4045 },4045 },
4046};4046};
...@@ -4049,21 +4049,21 @@ pub const cpu_atxmega64a4u = Cpu{...@@ -4049,21 +4049,21 @@ pub const cpu_atxmega64a4u = Cpu{
4049 .name = "atxmega64a4u",4049 .name = "atxmega64a4u",
4050 .llvm_name = "atxmega64a4u",4050 .llvm_name = "atxmega64a4u",
4051 .dependencies = &[_]*const Feature {4051 .dependencies = &[_]*const Feature {
4052 &feature_eijmpcall,4052 &feature_spmx,
4053 &feature_des,
4054 &feature_lpmx,
4055 &feature_jmpcall,
4053 &feature_lpm,4056 &feature_lpm,
4057 &feature_elpm,
4054 &feature_sram,4058 &feature_sram,
4055 &feature_movw,
4056 &feature_addsubiw,4059 &feature_addsubiw,
4060 &feature_elpmx,
4057 &feature_rmw,4061 &feature_rmw,
4058 &feature_elpm,4062 &feature_movw,
4059 &feature_break,
4060 &feature_ijmpcall,4063 &feature_ijmpcall,
4061 &feature_des,4064 &feature_break,
4062 &feature_spmx,4065 &feature_eijmpcall,
4063 &feature_lpmx,
4064 &feature_jmpcall,
4065 &feature_spm,4066 &feature_spm,
4066 &feature_elpmx,
4067 &feature_mul,4067 &feature_mul,
4068 },4068 },
4069};4069};
...@@ -4072,21 +4072,21 @@ pub const cpu_atxmega64b1 = Cpu{...@@ -4072,21 +4072,21 @@ pub const cpu_atxmega64b1 = Cpu{
4072 .name = "atxmega64b1",4072 .name = "atxmega64b1",
4073 .llvm_name = "atxmega64b1",4073 .llvm_name = "atxmega64b1",
4074 .dependencies = &[_]*const Feature {4074 .dependencies = &[_]*const Feature {
4075 &feature_eijmpcall,4075 &feature_spmx,
4076 &feature_des,
4077 &feature_lpmx,
4078 &feature_jmpcall,
4076 &feature_lpm,4079 &feature_lpm,
4080 &feature_elpm,
4077 &feature_sram,4081 &feature_sram,
4078 &feature_movw,
4079 &feature_addsubiw,4082 &feature_addsubiw,
4083 &feature_elpmx,
4080 &feature_rmw,4084 &feature_rmw,
4081 &feature_elpm,4085 &feature_movw,
4082 &feature_break,
4083 &feature_ijmpcall,4086 &feature_ijmpcall,
4084 &feature_des,4087 &feature_break,
4085 &feature_spmx,4088 &feature_eijmpcall,
4086 &feature_lpmx,
4087 &feature_jmpcall,
4088 &feature_spm,4089 &feature_spm,
4089 &feature_elpmx,
4090 &feature_mul,4090 &feature_mul,
4091 },4091 },
4092};4092};
...@@ -4095,21 +4095,21 @@ pub const cpu_atxmega64b3 = Cpu{...@@ -4095,21 +4095,21 @@ pub const cpu_atxmega64b3 = Cpu{
4095 .name = "atxmega64b3",4095 .name = "atxmega64b3",
4096 .llvm_name = "atxmega64b3",4096 .llvm_name = "atxmega64b3",
4097 .dependencies = &[_]*const Feature {4097 .dependencies = &[_]*const Feature {
4098 &feature_eijmpcall,4098 &feature_spmx,
4099 &feature_des,
4100 &feature_lpmx,
4101 &feature_jmpcall,
4099 &feature_lpm,4102 &feature_lpm,
4103 &feature_elpm,
4100 &feature_sram,4104 &feature_sram,
4101 &feature_movw,
4102 &feature_addsubiw,4105 &feature_addsubiw,
4106 &feature_elpmx,
4103 &feature_rmw,4107 &feature_rmw,
4104 &feature_elpm,4108 &feature_movw,
4105 &feature_break,
4106 &feature_ijmpcall,4109 &feature_ijmpcall,
4107 &feature_des,4110 &feature_break,
4108 &feature_spmx,4111 &feature_eijmpcall,
4109 &feature_lpmx,
4110 &feature_jmpcall,
4111 &feature_spm,4112 &feature_spm,
4112 &feature_elpmx,
4113 &feature_mul,4113 &feature_mul,
4114 },4114 },
4115};4115};
...@@ -4118,21 +4118,21 @@ pub const cpu_atxmega64c3 = Cpu{...@@ -4118,21 +4118,21 @@ pub const cpu_atxmega64c3 = Cpu{
4118 .name = "atxmega64c3",4118 .name = "atxmega64c3",
4119 .llvm_name = "atxmega64c3",4119 .llvm_name = "atxmega64c3",
4120 .dependencies = &[_]*const Feature {4120 .dependencies = &[_]*const Feature {
4121 &feature_eijmpcall,4121 &feature_spmx,
4122 &feature_des,
4123 &feature_lpmx,
4124 &feature_jmpcall,
4122 &feature_lpm,4125 &feature_lpm,
4126 &feature_elpm,
4123 &feature_sram,4127 &feature_sram,
4124 &feature_movw,
4125 &feature_addsubiw,4128 &feature_addsubiw,
4129 &feature_elpmx,
4126 &feature_rmw,4130 &feature_rmw,
4127 &feature_elpm,4131 &feature_movw,
4128 &feature_break,
4129 &feature_ijmpcall,4132 &feature_ijmpcall,
4130 &feature_des,4133 &feature_break,
4131 &feature_spmx,4134 &feature_eijmpcall,
4132 &feature_lpmx,
4133 &feature_jmpcall,
4134 &feature_spm,4135 &feature_spm,
4135 &feature_elpmx,
4136 &feature_mul,4136 &feature_mul,
4137 },4137 },
4138};4138};
...@@ -4141,20 +4141,20 @@ pub const cpu_atxmega64d3 = Cpu{...@@ -4141,20 +4141,20 @@ pub const cpu_atxmega64d3 = Cpu{
4141 .name = "atxmega64d3",4141 .name = "atxmega64d3",
4142 .llvm_name = "atxmega64d3",4142 .llvm_name = "atxmega64d3",
4143 .dependencies = &[_]*const Feature {4143 .dependencies = &[_]*const Feature {
4144 &feature_eijmpcall,4144 &feature_spmx,
4145 &feature_des,
4146 &feature_lpmx,
4147 &feature_jmpcall,
4145 &feature_lpm,4148 &feature_lpm,
4149 &feature_elpm,
4146 &feature_sram,4150 &feature_sram,
4147 &feature_addsubiw,4151 &feature_addsubiw,
4152 &feature_elpmx,
4148 &feature_movw,4153 &feature_movw,
4149 &feature_elpm,
4150 &feature_break,
4151 &feature_ijmpcall,4154 &feature_ijmpcall,
4152 &feature_des,4155 &feature_break,
4153 &feature_spmx,4156 &feature_eijmpcall,
4154 &feature_lpmx,
4155 &feature_jmpcall,
4156 &feature_spm,4157 &feature_spm,
4157 &feature_elpmx,
4158 &feature_mul,4158 &feature_mul,
4159 },4159 },
4160};4160};
...@@ -4163,20 +4163,20 @@ pub const cpu_atxmega64d4 = Cpu{...@@ -4163,20 +4163,20 @@ pub const cpu_atxmega64d4 = Cpu{
4163 .name = "atxmega64d4",4163 .name = "atxmega64d4",
4164 .llvm_name = "atxmega64d4",4164 .llvm_name = "atxmega64d4",
4165 .dependencies = &[_]*const Feature {4165 .dependencies = &[_]*const Feature {
4166 &feature_eijmpcall,4166 &feature_spmx,
4167 &feature_des,
4168 &feature_lpmx,
4169 &feature_jmpcall,
4167 &feature_lpm,4170 &feature_lpm,
4171 &feature_elpm,
4168 &feature_sram,4172 &feature_sram,
4169 &feature_addsubiw,4173 &feature_addsubiw,
4174 &feature_elpmx,
4170 &feature_movw,4175 &feature_movw,
4171 &feature_elpm,
4172 &feature_break,
4173 &feature_ijmpcall,4176 &feature_ijmpcall,
4174 &feature_des,4177 &feature_break,
4175 &feature_spmx,4178 &feature_eijmpcall,
4176 &feature_lpmx,
4177 &feature_jmpcall,
4178 &feature_spm,4179 &feature_spm,
4179 &feature_elpmx,
4180 &feature_mul,4180 &feature_mul,
4181 },4181 },
4182};4182};
...@@ -4185,20 +4185,20 @@ pub const cpu_atxmega8e5 = Cpu{...@@ -4185,20 +4185,20 @@ pub const cpu_atxmega8e5 = Cpu{
4185 .name = "atxmega8e5",4185 .name = "atxmega8e5",
4186 .llvm_name = "atxmega8e5",4186 .llvm_name = "atxmega8e5",
4187 .dependencies = &[_]*const Feature {4187 .dependencies = &[_]*const Feature {
4188 &feature_eijmpcall,4188 &feature_spmx,
4189 &feature_des,
4190 &feature_lpmx,
4191 &feature_jmpcall,
4189 &feature_lpm,4192 &feature_lpm,
4193 &feature_elpm,
4190 &feature_sram,4194 &feature_sram,
4191 &feature_addsubiw,4195 &feature_addsubiw,
4196 &feature_elpmx,
4192 &feature_movw,4197 &feature_movw,
4193 &feature_elpm,
4194 &feature_break,
4195 &feature_ijmpcall,4198 &feature_ijmpcall,
4196 &feature_des,4199 &feature_break,
4197 &feature_spmx,4200 &feature_eijmpcall,
4198 &feature_lpmx,
4199 &feature_jmpcall,
4200 &feature_spm,4201 &feature_spm,
4201 &feature_elpmx,
4202 &feature_mul,4202 &feature_mul,
4203 },4203 },
4204};4204};
...@@ -4226,13 +4226,13 @@ pub const cpu_avr25 = Cpu{...@@ -4226,13 +4226,13 @@ pub const cpu_avr25 = Cpu{
4226 .name = "avr25",4226 .name = "avr25",
4227 .llvm_name = "avr25",4227 .llvm_name = "avr25",
4228 .dependencies = &[_]*const Feature {4228 .dependencies = &[_]*const Feature {
4229 &feature_lpmx,
4229 &feature_lpm,4230 &feature_lpm,
4230 &feature_sram,4231 &feature_sram,
4231 &feature_addsubiw,4232 &feature_addsubiw,
4232 &feature_movw,4233 &feature_movw,
4233 &feature_break,
4234 &feature_ijmpcall,4234 &feature_ijmpcall,
4235 &feature_lpmx,4235 &feature_break,
4236 &feature_spm,4236 &feature_spm,
4237 },4237 },
4238};4238};
...@@ -4241,11 +4241,11 @@ pub const cpu_avr3 = Cpu{...@@ -4241,11 +4241,11 @@ pub const cpu_avr3 = Cpu{
4241 .name = "avr3",4241 .name = "avr3",
4242 .llvm_name = "avr3",4242 .llvm_name = "avr3",
4243 .dependencies = &[_]*const Feature {4243 .dependencies = &[_]*const Feature {
4244 &feature_jmpcall,
4244 &feature_lpm,4245 &feature_lpm,
4245 &feature_sram,4246 &feature_sram,
4246 &feature_addsubiw,4247 &feature_addsubiw,
4247 &feature_ijmpcall,4248 &feature_ijmpcall,
4248 &feature_jmpcall,
4249 },4249 },
4250};4250};
42514251
...@@ -4253,12 +4253,12 @@ pub const cpu_avr31 = Cpu{...@@ -4253,12 +4253,12 @@ pub const cpu_avr31 = Cpu{
4253 .name = "avr31",4253 .name = "avr31",
4254 .llvm_name = "avr31",4254 .llvm_name = "avr31",
4255 .dependencies = &[_]*const Feature {4255 .dependencies = &[_]*const Feature {
4256 &feature_jmpcall,
4256 &feature_lpm,4257 &feature_lpm,
4258 &feature_elpm,
4257 &feature_sram,4259 &feature_sram,
4258 &feature_addsubiw,4260 &feature_addsubiw,
4259 &feature_elpm,
4260 &feature_ijmpcall,4261 &feature_ijmpcall,
4261 &feature_jmpcall,
4262 },4262 },
4263};4263};
42644264
...@@ -4266,14 +4266,14 @@ pub const cpu_avr35 = Cpu{...@@ -4266,14 +4266,14 @@ pub const cpu_avr35 = Cpu{
4266 .name = "avr35",4266 .name = "avr35",
4267 .llvm_name = "avr35",4267 .llvm_name = "avr35",
4268 .dependencies = &[_]*const Feature {4268 .dependencies = &[_]*const Feature {
4269 &feature_lpmx,
4270 &feature_jmpcall,
4269 &feature_lpm,4271 &feature_lpm,
4270 &feature_sram,4272 &feature_sram,
4271 &feature_addsubiw,4273 &feature_addsubiw,
4272 &feature_movw,4274 &feature_movw,
4273 &feature_break,
4274 &feature_ijmpcall,4275 &feature_ijmpcall,
4275 &feature_lpmx,4276 &feature_break,
4276 &feature_jmpcall,
4277 &feature_spm,4277 &feature_spm,
4278 },4278 },
4279};4279};
...@@ -4282,13 +4282,13 @@ pub const cpu_avr4 = Cpu{...@@ -4282,13 +4282,13 @@ pub const cpu_avr4 = Cpu{
4282 .name = "avr4",4282 .name = "avr4",
4283 .llvm_name = "avr4",4283 .llvm_name = "avr4",
4284 .dependencies = &[_]*const Feature {4284 .dependencies = &[_]*const Feature {
4285 &feature_lpmx,
4285 &feature_lpm,4286 &feature_lpm,
4286 &feature_sram,4287 &feature_sram,
4287 &feature_addsubiw,4288 &feature_addsubiw,
4288 &feature_movw,4289 &feature_movw,
4289 &feature_break,
4290 &feature_ijmpcall,4290 &feature_ijmpcall,
4291 &feature_lpmx,4291 &feature_break,
4292 &feature_spm,4292 &feature_spm,
4293 &feature_mul,4293 &feature_mul,
4294 },4294 },
...@@ -4298,14 +4298,14 @@ pub const cpu_avr5 = Cpu{...@@ -4298,14 +4298,14 @@ pub const cpu_avr5 = Cpu{
4298 .name = "avr5",4298 .name = "avr5",
4299 .llvm_name = "avr5",4299 .llvm_name = "avr5",
4300 .dependencies = &[_]*const Feature {4300 .dependencies = &[_]*const Feature {
4301 &feature_lpmx,
4302 &feature_jmpcall,
4301 &feature_lpm,4303 &feature_lpm,
4302 &feature_sram,4304 &feature_sram,
4303 &feature_addsubiw,4305 &feature_addsubiw,
4304 &feature_movw,4306 &feature_movw,
4305 &feature_break,
4306 &feature_ijmpcall,4307 &feature_ijmpcall,
4307 &feature_lpmx,4308 &feature_break,
4308 &feature_jmpcall,
4309 &feature_spm,4309 &feature_spm,
4310 &feature_mul,4310 &feature_mul,
4311 },4311 },
...@@ -4315,17 +4315,17 @@ pub const cpu_avr51 = Cpu{...@@ -4315,17 +4315,17 @@ pub const cpu_avr51 = Cpu{
4315 .name = "avr51",4315 .name = "avr51",
4316 .llvm_name = "avr51",4316 .llvm_name = "avr51",
4317 .dependencies = &[_]*const Feature {4317 .dependencies = &[_]*const Feature {
4318 &feature_lpmx,
4319 &feature_jmpcall,
4318 &feature_lpm,4320 &feature_lpm,
4321 &feature_elpm,
4319 &feature_sram,4322 &feature_sram,
4320 &feature_addsubiw,4323 &feature_addsubiw,
4324 &feature_elpmx,
4321 &feature_movw,4325 &feature_movw,
4322 &feature_elpm,
4323 &feature_break,
4324 &feature_ijmpcall,4326 &feature_ijmpcall,
4325 &feature_lpmx,4327 &feature_break,
4326 &feature_jmpcall,
4327 &feature_spm,4328 &feature_spm,
4328 &feature_elpmx,
4329 &feature_mul,4329 &feature_mul,
4330 },4330 },
4331};4331};
...@@ -4334,17 +4334,17 @@ pub const cpu_avr6 = Cpu{...@@ -4334,17 +4334,17 @@ pub const cpu_avr6 = Cpu{
4334 .name = "avr6",4334 .name = "avr6",
4335 .llvm_name = "avr6",4335 .llvm_name = "avr6",
4336 .dependencies = &[_]*const Feature {4336 .dependencies = &[_]*const Feature {
4337 &feature_lpmx,
4338 &feature_jmpcall,
4337 &feature_lpm,4339 &feature_lpm,
4340 &feature_elpm,
4338 &feature_sram,4341 &feature_sram,
4339 &feature_addsubiw,4342 &feature_addsubiw,
4343 &feature_elpmx,
4340 &feature_movw,4344 &feature_movw,
4341 &feature_elpm,
4342 &feature_break,
4343 &feature_ijmpcall,4345 &feature_ijmpcall,
4344 &feature_lpmx,4346 &feature_break,
4345 &feature_jmpcall,
4346 &feature_spm,4347 &feature_spm,
4347 &feature_elpmx,
4348 &feature_mul,4348 &feature_mul,
4349 },4349 },
4350};4350};
...@@ -4363,20 +4363,20 @@ pub const cpu_avrxmega1 = Cpu{...@@ -4363,20 +4363,20 @@ pub const cpu_avrxmega1 = Cpu{
4363 .name = "avrxmega1",4363 .name = "avrxmega1",
4364 .llvm_name = "avrxmega1",4364 .llvm_name = "avrxmega1",
4365 .dependencies = &[_]*const Feature {4365 .dependencies = &[_]*const Feature {
4366 &feature_eijmpcall,4366 &feature_spmx,
4367 &feature_des,
4368 &feature_lpmx,
4369 &feature_jmpcall,
4367 &feature_lpm,4370 &feature_lpm,
4371 &feature_elpm,
4368 &feature_sram,4372 &feature_sram,
4369 &feature_addsubiw,4373 &feature_addsubiw,
4374 &feature_elpmx,
4370 &feature_movw,4375 &feature_movw,
4371 &feature_elpm,
4372 &feature_break,
4373 &feature_ijmpcall,4376 &feature_ijmpcall,
4374 &feature_des,4377 &feature_break,
4375 &feature_spmx,4378 &feature_eijmpcall,
4376 &feature_lpmx,
4377 &feature_jmpcall,
4378 &feature_spm,4379 &feature_spm,
4379 &feature_elpmx,
4380 &feature_mul,4380 &feature_mul,
4381 },4381 },
4382};4382};
...@@ -4385,20 +4385,20 @@ pub const cpu_avrxmega2 = Cpu{...@@ -4385,20 +4385,20 @@ pub const cpu_avrxmega2 = Cpu{
4385 .name = "avrxmega2",4385 .name = "avrxmega2",
4386 .llvm_name = "avrxmega2",4386 .llvm_name = "avrxmega2",
4387 .dependencies = &[_]*const Feature {4387 .dependencies = &[_]*const Feature {
4388 &feature_eijmpcall,4388 &feature_spmx,
4389 &feature_des,
4390 &feature_lpmx,
4391 &feature_jmpcall,
4389 &feature_lpm,4392 &feature_lpm,
4393 &feature_elpm,
4390 &feature_sram,4394 &feature_sram,
4391 &feature_addsubiw,4395 &feature_addsubiw,
4396 &feature_elpmx,
4392 &feature_movw,4397 &feature_movw,
4393 &feature_elpm,
4394 &feature_break,
4395 &feature_ijmpcall,4398 &feature_ijmpcall,
4396 &feature_des,4399 &feature_break,
4397 &feature_spmx,4400 &feature_eijmpcall,
4398 &feature_lpmx,
4399 &feature_jmpcall,
4400 &feature_spm,4401 &feature_spm,
4401 &feature_elpmx,
4402 &feature_mul,4402 &feature_mul,
4403 },4403 },
4404};4404};
...@@ -4407,20 +4407,20 @@ pub const cpu_avrxmega3 = Cpu{...@@ -4407,20 +4407,20 @@ pub const cpu_avrxmega3 = Cpu{
4407 .name = "avrxmega3",4407 .name = "avrxmega3",
4408 .llvm_name = "avrxmega3",4408 .llvm_name = "avrxmega3",
4409 .dependencies = &[_]*const Feature {4409 .dependencies = &[_]*const Feature {
4410 &feature_eijmpcall,4410 &feature_spmx,
4411 &feature_des,
4412 &feature_lpmx,
4413 &feature_jmpcall,
4411 &feature_lpm,4414 &feature_lpm,
4415 &feature_elpm,
4412 &feature_sram,4416 &feature_sram,
4413 &feature_addsubiw,4417 &feature_addsubiw,
4418 &feature_elpmx,
4414 &feature_movw,4419 &feature_movw,
4415 &feature_elpm,
4416 &feature_break,
4417 &feature_ijmpcall,4420 &feature_ijmpcall,
4418 &feature_des,4421 &feature_break,
4419 &feature_spmx,4422 &feature_eijmpcall,
4420 &feature_lpmx,
4421 &feature_jmpcall,
4422 &feature_spm,4423 &feature_spm,
4423 &feature_elpmx,
4424 &feature_mul,4424 &feature_mul,
4425 },4425 },
4426};4426};
...@@ -4429,20 +4429,20 @@ pub const cpu_avrxmega4 = Cpu{...@@ -4429,20 +4429,20 @@ pub const cpu_avrxmega4 = Cpu{
4429 .name = "avrxmega4",4429 .name = "avrxmega4",
4430 .llvm_name = "avrxmega4",4430 .llvm_name = "avrxmega4",
4431 .dependencies = &[_]*const Feature {4431 .dependencies = &[_]*const Feature {
4432 &feature_eijmpcall,4432 &feature_spmx,
4433 &feature_des,
4434 &feature_lpmx,
4435 &feature_jmpcall,
4433 &feature_lpm,4436 &feature_lpm,
4437 &feature_elpm,
4434 &feature_sram,4438 &feature_sram,
4435 &feature_addsubiw,4439 &feature_addsubiw,
4440 &feature_elpmx,
4436 &feature_movw,4441 &feature_movw,
4437 &feature_elpm,
4438 &feature_break,
4439 &feature_ijmpcall,4442 &feature_ijmpcall,
4440 &feature_des,4443 &feature_break,
4441 &feature_spmx,4444 &feature_eijmpcall,
4442 &feature_lpmx,
4443 &feature_jmpcall,
4444 &feature_spm,4445 &feature_spm,
4445 &feature_elpmx,
4446 &feature_mul,4446 &feature_mul,
4447 },4447 },
4448};4448};
...@@ -4451,20 +4451,20 @@ pub const cpu_avrxmega5 = Cpu{...@@ -4451,20 +4451,20 @@ pub const cpu_avrxmega5 = Cpu{
4451 .name = "avrxmega5",4451 .name = "avrxmega5",
4452 .llvm_name = "avrxmega5",4452 .llvm_name = "avrxmega5",
4453 .dependencies = &[_]*const Feature {4453 .dependencies = &[_]*const Feature {
4454 &feature_eijmpcall,4454 &feature_spmx,
4455 &feature_des,
4456 &feature_lpmx,
4457 &feature_jmpcall,
4455 &feature_lpm,4458 &feature_lpm,
4459 &feature_elpm,
4456 &feature_sram,4460 &feature_sram,
4457 &feature_addsubiw,4461 &feature_addsubiw,
4462 &feature_elpmx,
4458 &feature_movw,4463 &feature_movw,
4459 &feature_elpm,
4460 &feature_break,
4461 &feature_ijmpcall,4464 &feature_ijmpcall,
4462 &feature_des,4465 &feature_break,
4463 &feature_spmx,4466 &feature_eijmpcall,
4464 &feature_lpmx,
4465 &feature_jmpcall,
4466 &feature_spm,4467 &feature_spm,
4467 &feature_elpmx,
4468 &feature_mul,4468 &feature_mul,
4469 },4469 },
4470};4470};
...@@ -4473,20 +4473,20 @@ pub const cpu_avrxmega6 = Cpu{...@@ -4473,20 +4473,20 @@ pub const cpu_avrxmega6 = Cpu{
4473 .name = "avrxmega6",4473 .name = "avrxmega6",
4474 .llvm_name = "avrxmega6",4474 .llvm_name = "avrxmega6",
4475 .dependencies = &[_]*const Feature {4475 .dependencies = &[_]*const Feature {
4476 &feature_eijmpcall,4476 &feature_spmx,
4477 &feature_des,
4478 &feature_lpmx,
4479 &feature_jmpcall,
4477 &feature_lpm,4480 &feature_lpm,
4481 &feature_elpm,
4478 &feature_sram,4482 &feature_sram,
4479 &feature_addsubiw,4483 &feature_addsubiw,
4484 &feature_elpmx,
4480 &feature_movw,4485 &feature_movw,
4481 &feature_elpm,
4482 &feature_break,
4483 &feature_ijmpcall,4486 &feature_ijmpcall,
4484 &feature_des,4487 &feature_break,
4485 &feature_spmx,4488 &feature_eijmpcall,
4486 &feature_lpmx,
4487 &feature_jmpcall,
4488 &feature_spm,4489 &feature_spm,
4489 &feature_elpmx,
4490 &feature_mul,4490 &feature_mul,
4491 },4491 },
4492};4492};
...@@ -4495,20 +4495,20 @@ pub const cpu_avrxmega7 = Cpu{...@@ -4495,20 +4495,20 @@ pub const cpu_avrxmega7 = Cpu{
4495 .name = "avrxmega7",4495 .name = "avrxmega7",
4496 .llvm_name = "avrxmega7",4496 .llvm_name = "avrxmega7",
4497 .dependencies = &[_]*const Feature {4497 .dependencies = &[_]*const Feature {
4498 &feature_eijmpcall,4498 &feature_spmx,
4499 &feature_des,
4500 &feature_lpmx,
4501 &feature_jmpcall,
4499 &feature_lpm,4502 &feature_lpm,
4503 &feature_elpm,
4500 &feature_sram,4504 &feature_sram,
4501 &feature_addsubiw,4505 &feature_addsubiw,
4506 &feature_elpmx,
4502 &feature_movw,4507 &feature_movw,
4503 &feature_elpm,
4504 &feature_break,
4505 &feature_ijmpcall,4508 &feature_ijmpcall,
4506 &feature_des,4509 &feature_break,
4507 &feature_spmx,4510 &feature_eijmpcall,
4508 &feature_lpmx,
4509 &feature_jmpcall,
4510 &feature_spm,4511 &feature_spm,
4511 &feature_elpmx,
4512 &feature_mul,4512 &feature_mul,
4513 },4513 },
4514};4514};
...@@ -4517,14 +4517,14 @@ pub const cpu_m3000 = Cpu{...@@ -4517,14 +4517,14 @@ pub const cpu_m3000 = Cpu{
4517 .name = "m3000",4517 .name = "m3000",
4518 .llvm_name = "m3000",4518 .llvm_name = "m3000",
4519 .dependencies = &[_]*const Feature {4519 .dependencies = &[_]*const Feature {
4520 &feature_lpmx,
4521 &feature_jmpcall,
4520 &feature_lpm,4522 &feature_lpm,
4521 &feature_sram,4523 &feature_sram,
4522 &feature_addsubiw,4524 &feature_addsubiw,
4523 &feature_movw,4525 &feature_movw,
4524 &feature_break,
4525 &feature_ijmpcall,4526 &feature_ijmpcall,
4526 &feature_lpmx,4527 &feature_break,
4527 &feature_jmpcall,
4528 &feature_spm,4528 &feature_spm,
4529 &feature_mul,4529 &feature_mul,
4530 },4530 },
lib/std/target/mips.zig+64-73
...@@ -22,13 +22,13 @@ pub const feature_cnmips = Feature{...@@ -22,13 +22,13 @@ pub const feature_cnmips = Feature{
22 .llvm_name = "cnmips",22 .llvm_name = "cnmips",
23 .description = "Octeon cnMIPS Support",23 .description = "Octeon cnMIPS Support",
24 .dependencies = &[_]*const Feature {24 .dependencies = &[_]*const Feature {
25 &feature_mips4_32,
25 &feature_mips5_32r2,26 &feature_mips5_32r2,
26 &feature_mips1,
27 &feature_mips3_32r2,27 &feature_mips3_32r2,
28 &feature_mips3_32,28 &feature_mips3_32,
29 &feature_mips4_32r2,29 &feature_mips4_32r2,
30 &feature_gp64,30 &feature_gp64,
31 &feature_mips4_32,31 &feature_mips1,
32 &feature_fp64,32 &feature_fp64,
33 },33 },
34};34};
...@@ -161,10 +161,10 @@ pub const feature_mips3 = Feature{...@@ -161,10 +161,10 @@ pub const feature_mips3 = Feature{
161 .llvm_name = "mips3",161 .llvm_name = "mips3",
162 .description = "MIPS III ISA Support [highly experimental]",162 .description = "MIPS III ISA Support [highly experimental]",
163 .dependencies = &[_]*const Feature {163 .dependencies = &[_]*const Feature {
164 &feature_mips1,
165 &feature_mips3_32r2,164 &feature_mips3_32r2,
166 &feature_mips3_32,165 &feature_mips3_32,
167 &feature_gp64,166 &feature_gp64,
167 &feature_mips1,
168 &feature_fp64,168 &feature_fp64,
169 },169 },
170};170};
...@@ -190,12 +190,12 @@ pub const feature_mips4 = Feature{...@@ -190,12 +190,12 @@ pub const feature_mips4 = Feature{
190 .llvm_name = "mips4",190 .llvm_name = "mips4",
191 .description = "MIPS IV ISA Support",191 .description = "MIPS IV ISA Support",
192 .dependencies = &[_]*const Feature {192 .dependencies = &[_]*const Feature {
193 &feature_mips1,193 &feature_mips4_32,
194 &feature_mips3_32r2,194 &feature_mips3_32r2,
195 &feature_mips3_32,195 &feature_mips3_32,
196 &feature_gp64,
197 &feature_mips4_32r2,196 &feature_mips4_32r2,
198 &feature_mips4_32,197 &feature_gp64,
198 &feature_mips1,
199 &feature_fp64,199 &feature_fp64,
200 },200 },
201};201};
...@@ -221,13 +221,13 @@ pub const feature_mips5 = Feature{...@@ -221,13 +221,13 @@ pub const feature_mips5 = Feature{
221 .llvm_name = "mips5",221 .llvm_name = "mips5",
222 .description = "MIPS V ISA Support [highly experimental]",222 .description = "MIPS V ISA Support [highly experimental]",
223 .dependencies = &[_]*const Feature {223 .dependencies = &[_]*const Feature {
224 &feature_mips4_32,
224 &feature_mips5_32r2,225 &feature_mips5_32r2,
225 &feature_mips1,
226 &feature_mips3_32r2,226 &feature_mips3_32r2,
227 &feature_mips3_32,227 &feature_mips3_32,
228 &feature_mips4_32r2,228 &feature_mips4_32r2,
229 &feature_gp64,229 &feature_gp64,
230 &feature_mips4_32,230 &feature_mips1,
231 &feature_fp64,231 &feature_fp64,
232 },232 },
233};233};
...@@ -264,12 +264,12 @@ pub const feature_mips32r2 = Feature{...@@ -264,12 +264,12 @@ pub const feature_mips32r2 = Feature{
264 .llvm_name = "mips32r2",264 .llvm_name = "mips32r2",
265 .description = "Mips32r2 ISA Support",265 .description = "Mips32r2 ISA Support",
266 .dependencies = &[_]*const Feature {266 .dependencies = &[_]*const Feature {
267 &feature_mips4_32,
267 &feature_mips5_32r2,268 &feature_mips5_32r2,
268 &feature_mips1,
269 &feature_mips3_32r2,269 &feature_mips3_32r2,
270 &feature_mips3_32,270 &feature_mips3_32,
271 &feature_mips4_32r2,271 &feature_mips4_32r2,
272 &feature_mips4_32,272 &feature_mips1,
273 },273 },
274};274};
275275
...@@ -278,12 +278,12 @@ pub const feature_mips32r3 = Feature{...@@ -278,12 +278,12 @@ pub const feature_mips32r3 = Feature{
278 .llvm_name = "mips32r3",278 .llvm_name = "mips32r3",
279 .description = "Mips32r3 ISA Support",279 .description = "Mips32r3 ISA Support",
280 .dependencies = &[_]*const Feature {280 .dependencies = &[_]*const Feature {
281 &feature_mips4_32,
281 &feature_mips5_32r2,282 &feature_mips5_32r2,
282 &feature_mips1,
283 &feature_mips3_32r2,283 &feature_mips3_32r2,
284 &feature_mips3_32,284 &feature_mips3_32,
285 &feature_mips4_32r2,285 &feature_mips4_32r2,
286 &feature_mips4_32,286 &feature_mips1,
287 },287 },
288};288};
289289
...@@ -292,12 +292,12 @@ pub const feature_mips32r5 = Feature{...@@ -292,12 +292,12 @@ pub const feature_mips32r5 = Feature{
292 .llvm_name = "mips32r5",292 .llvm_name = "mips32r5",
293 .description = "Mips32r5 ISA Support",293 .description = "Mips32r5 ISA Support",
294 .dependencies = &[_]*const Feature {294 .dependencies = &[_]*const Feature {
295 &feature_mips4_32,
295 &feature_mips5_32r2,296 &feature_mips5_32r2,
296 &feature_mips1,
297 &feature_mips3_32r2,297 &feature_mips3_32r2,
298 &feature_mips3_32,298 &feature_mips3_32,
299 &feature_mips4_32r2,299 &feature_mips4_32r2,
300 &feature_mips4_32,300 &feature_mips1,
301 },301 },
302};302};
303303
...@@ -306,15 +306,15 @@ pub const feature_mips32r6 = Feature{...@@ -306,15 +306,15 @@ pub const feature_mips32r6 = Feature{
306 .llvm_name = "mips32r6",306 .llvm_name = "mips32r6",
307 .description = "Mips32r6 ISA Support [experimental]",307 .description = "Mips32r6 ISA Support [experimental]",
308 .dependencies = &[_]*const Feature {308 .dependencies = &[_]*const Feature {
309 &feature_nan2008,309 &feature_mips4_32,
310 &feature_mips5_32r2,310 &feature_mips5_32r2,
311 &feature_mips1,
312 &feature_mips3_32r2,311 &feature_mips3_32r2,
313 &feature_mips3_32,312 &feature_mips3_32,
314 &feature_mips4_32r2,313 &feature_mips4_32r2,
315 &feature_mips4_32,314 &feature_nan2008,
316 &feature_abs2008,315 &feature_mips1,
317 &feature_fp64,316 &feature_fp64,
317 &feature_abs2008,
318 },318 },
319};319};
320320
...@@ -323,13 +323,13 @@ pub const feature_mips64 = Feature{...@@ -323,13 +323,13 @@ pub const feature_mips64 = Feature{
323 .llvm_name = "mips64",323 .llvm_name = "mips64",
324 .description = "Mips64 ISA Support",324 .description = "Mips64 ISA Support",
325 .dependencies = &[_]*const Feature {325 .dependencies = &[_]*const Feature {
326 &feature_mips4_32,
326 &feature_mips5_32r2,327 &feature_mips5_32r2,
327 &feature_mips1,
328 &feature_mips3_32r2,328 &feature_mips3_32r2,
329 &feature_mips3_32,329 &feature_mips3_32,
330 &feature_mips4_32r2,330 &feature_mips4_32r2,
331 &feature_gp64,331 &feature_gp64,
332 &feature_mips4_32,332 &feature_mips1,
333 &feature_fp64,333 &feature_fp64,
334 },334 },
335};335};
...@@ -339,13 +339,13 @@ pub const feature_mips64r2 = Feature{...@@ -339,13 +339,13 @@ pub const feature_mips64r2 = Feature{
339 .llvm_name = "mips64r2",339 .llvm_name = "mips64r2",
340 .description = "Mips64r2 ISA Support",340 .description = "Mips64r2 ISA Support",
341 .dependencies = &[_]*const Feature {341 .dependencies = &[_]*const Feature {
342 &feature_mips4_32,
342 &feature_mips5_32r2,343 &feature_mips5_32r2,
343 &feature_mips1,
344 &feature_mips3_32r2,344 &feature_mips3_32r2,
345 &feature_mips3_32,345 &feature_mips3_32,
346 &feature_mips4_32r2,346 &feature_mips4_32r2,
347 &feature_gp64,347 &feature_gp64,
348 &feature_mips4_32,348 &feature_mips1,
349 &feature_fp64,349 &feature_fp64,
350 },350 },
351};351};
...@@ -355,13 +355,13 @@ pub const feature_mips64r3 = Feature{...@@ -355,13 +355,13 @@ pub const feature_mips64r3 = Feature{
355 .llvm_name = "mips64r3",355 .llvm_name = "mips64r3",
356 .description = "Mips64r3 ISA Support",356 .description = "Mips64r3 ISA Support",
357 .dependencies = &[_]*const Feature {357 .dependencies = &[_]*const Feature {
358 &feature_mips4_32,
358 &feature_mips5_32r2,359 &feature_mips5_32r2,
359 &feature_mips1,
360 &feature_mips3_32r2,360 &feature_mips3_32r2,
361 &feature_mips3_32,361 &feature_mips3_32,
362 &feature_mips4_32r2,362 &feature_mips4_32r2,
363 &feature_gp64,363 &feature_gp64,
364 &feature_mips4_32,364 &feature_mips1,
365 &feature_fp64,365 &feature_fp64,
366 },366 },
367};367};
...@@ -371,13 +371,13 @@ pub const feature_mips64r5 = Feature{...@@ -371,13 +371,13 @@ pub const feature_mips64r5 = Feature{
371 .llvm_name = "mips64r5",371 .llvm_name = "mips64r5",
372 .description = "Mips64r5 ISA Support",372 .description = "Mips64r5 ISA Support",
373 .dependencies = &[_]*const Feature {373 .dependencies = &[_]*const Feature {
374 &feature_mips4_32,
374 &feature_mips5_32r2,375 &feature_mips5_32r2,
375 &feature_mips1,
376 &feature_mips3_32r2,376 &feature_mips3_32r2,
377 &feature_mips3_32,377 &feature_mips3_32,
378 &feature_mips4_32r2,378 &feature_mips4_32r2,
379 &feature_gp64,379 &feature_gp64,
380 &feature_mips4_32,380 &feature_mips1,
381 &feature_fp64,381 &feature_fp64,
382 },382 },
383};383};
...@@ -387,16 +387,16 @@ pub const feature_mips64r6 = Feature{...@@ -387,16 +387,16 @@ pub const feature_mips64r6 = Feature{
387 .llvm_name = "mips64r6",387 .llvm_name = "mips64r6",
388 .description = "Mips64r6 ISA Support [experimental]",388 .description = "Mips64r6 ISA Support [experimental]",
389 .dependencies = &[_]*const Feature {389 .dependencies = &[_]*const Feature {
390 &feature_nan2008,390 &feature_mips4_32,
391 &feature_mips5_32r2,391 &feature_mips5_32r2,
392 &feature_mips1,
393 &feature_mips3_32r2,392 &feature_mips3_32r2,
394 &feature_mips3_32,393 &feature_mips3_32,
395 &feature_mips4_32r2,394 &feature_mips4_32r2,
395 &feature_nan2008,
396 &feature_gp64,396 &feature_gp64,
397 &feature_mips4_32,397 &feature_mips1,
398 &feature_abs2008,
399 &feature_fp64,398 &feature_fp64,
399 &feature_abs2008,
400 },400 },
401};401};
402402
...@@ -488,25 +488,17 @@ pub const feature_virt = Feature{...@@ -488,25 +488,17 @@ pub const feature_virt = Feature{
488 },488 },
489};489};
490490
491pub const feature_xgot = Feature{
492 .name = "xgot",
493 .llvm_name = "xgot",
494 .description = "Assume 32-bit GOT",
495 .dependencies = &[_]*const Feature {
496 },
497};
498
499pub const feature_p5600 = Feature{491pub const feature_p5600 = Feature{
500 .name = "p5600",492 .name = "p5600",
501 .llvm_name = "p5600",493 .llvm_name = "p5600",
502 .description = "The P5600 Processor",494 .description = "The P5600 Processor",
503 .dependencies = &[_]*const Feature {495 .dependencies = &[_]*const Feature {
496 &feature_mips4_32,
504 &feature_mips5_32r2,497 &feature_mips5_32r2,
505 &feature_mips1,
506 &feature_mips3_32r2,498 &feature_mips3_32r2,
507 &feature_mips3_32,499 &feature_mips3_32,
508 &feature_mips4_32r2,500 &feature_mips4_32r2,
509 &feature_mips4_32,501 &feature_mips1,
510 },502 },
511};503};
512504
...@@ -559,7 +551,6 @@ pub const features = &[_]*const Feature {...@@ -559,7 +551,6 @@ pub const features = &[_]*const Feature {
559 &feature_useTccInDiv,551 &feature_useTccInDiv,
560 &feature_vfpu,552 &feature_vfpu,
561 &feature_virt,553 &feature_virt,
562 &feature_xgot,
563 &feature_p5600,554 &feature_p5600,
564};555};
565556
...@@ -584,10 +575,10 @@ pub const cpu_mips3 = Cpu{...@@ -584,10 +575,10 @@ pub const cpu_mips3 = Cpu{
584 .name = "mips3",575 .name = "mips3",
585 .llvm_name = "mips3",576 .llvm_name = "mips3",
586 .dependencies = &[_]*const Feature {577 .dependencies = &[_]*const Feature {
587 &feature_mips1,
588 &feature_mips3_32r2,578 &feature_mips3_32r2,
589 &feature_mips3_32,579 &feature_mips3_32,
590 &feature_gp64,580 &feature_gp64,
581 &feature_mips1,
591 &feature_fp64,582 &feature_fp64,
592 &feature_mips3,583 &feature_mips3,
593 },584 },
...@@ -608,12 +599,12 @@ pub const cpu_mips32r2 = Cpu{...@@ -608,12 +599,12 @@ pub const cpu_mips32r2 = Cpu{
608 .name = "mips32r2",599 .name = "mips32r2",
609 .llvm_name = "mips32r2",600 .llvm_name = "mips32r2",
610 .dependencies = &[_]*const Feature {601 .dependencies = &[_]*const Feature {
602 &feature_mips4_32,
611 &feature_mips5_32r2,603 &feature_mips5_32r2,
612 &feature_mips1,
613 &feature_mips3_32r2,604 &feature_mips3_32r2,
614 &feature_mips3_32,605 &feature_mips3_32,
615 &feature_mips4_32r2,606 &feature_mips4_32r2,
616 &feature_mips4_32,607 &feature_mips1,
617 &feature_mips32r2,608 &feature_mips32r2,
618 },609 },
619};610};
...@@ -622,12 +613,12 @@ pub const cpu_mips32r3 = Cpu{...@@ -622,12 +613,12 @@ pub const cpu_mips32r3 = Cpu{
622 .name = "mips32r3",613 .name = "mips32r3",
623 .llvm_name = "mips32r3",614 .llvm_name = "mips32r3",
624 .dependencies = &[_]*const Feature {615 .dependencies = &[_]*const Feature {
616 &feature_mips4_32,
625 &feature_mips5_32r2,617 &feature_mips5_32r2,
626 &feature_mips1,
627 &feature_mips3_32r2,618 &feature_mips3_32r2,
628 &feature_mips3_32,619 &feature_mips3_32,
629 &feature_mips4_32r2,620 &feature_mips4_32r2,
630 &feature_mips4_32,621 &feature_mips1,
631 &feature_mips32r3,622 &feature_mips32r3,
632 },623 },
633};624};
...@@ -636,12 +627,12 @@ pub const cpu_mips32r5 = Cpu{...@@ -636,12 +627,12 @@ pub const cpu_mips32r5 = Cpu{
636 .name = "mips32r5",627 .name = "mips32r5",
637 .llvm_name = "mips32r5",628 .llvm_name = "mips32r5",
638 .dependencies = &[_]*const Feature {629 .dependencies = &[_]*const Feature {
630 &feature_mips4_32,
639 &feature_mips5_32r2,631 &feature_mips5_32r2,
640 &feature_mips1,
641 &feature_mips3_32r2,632 &feature_mips3_32r2,
642 &feature_mips3_32,633 &feature_mips3_32,
643 &feature_mips4_32r2,634 &feature_mips4_32r2,
644 &feature_mips4_32,635 &feature_mips1,
645 &feature_mips32r5,636 &feature_mips32r5,
646 },637 },
647};638};
...@@ -650,15 +641,15 @@ pub const cpu_mips32r6 = Cpu{...@@ -650,15 +641,15 @@ pub const cpu_mips32r6 = Cpu{
650 .name = "mips32r6",641 .name = "mips32r6",
651 .llvm_name = "mips32r6",642 .llvm_name = "mips32r6",
652 .dependencies = &[_]*const Feature {643 .dependencies = &[_]*const Feature {
653 &feature_nan2008,644 &feature_mips4_32,
654 &feature_mips5_32r2,645 &feature_mips5_32r2,
655 &feature_mips1,
656 &feature_mips3_32r2,646 &feature_mips3_32r2,
657 &feature_mips3_32,647 &feature_mips3_32,
658 &feature_mips4_32r2,648 &feature_mips4_32r2,
659 &feature_mips4_32,649 &feature_nan2008,
660 &feature_abs2008,650 &feature_mips1,
661 &feature_fp64,651 &feature_fp64,
652 &feature_abs2008,
662 &feature_mips32r6,653 &feature_mips32r6,
663 },654 },
664};655};
...@@ -667,12 +658,12 @@ pub const cpu_mips4 = Cpu{...@@ -667,12 +658,12 @@ pub const cpu_mips4 = Cpu{
667 .name = "mips4",658 .name = "mips4",
668 .llvm_name = "mips4",659 .llvm_name = "mips4",
669 .dependencies = &[_]*const Feature {660 .dependencies = &[_]*const Feature {
670 &feature_mips1,661 &feature_mips4_32,
671 &feature_mips3_32r2,662 &feature_mips3_32r2,
672 &feature_mips3_32,663 &feature_mips3_32,
673 &feature_gp64,
674 &feature_mips4_32r2,664 &feature_mips4_32r2,
675 &feature_mips4_32,665 &feature_gp64,
666 &feature_mips1,
676 &feature_fp64,667 &feature_fp64,
677 &feature_mips4,668 &feature_mips4,
678 },669 },
...@@ -682,13 +673,13 @@ pub const cpu_mips5 = Cpu{...@@ -682,13 +673,13 @@ pub const cpu_mips5 = Cpu{
682 .name = "mips5",673 .name = "mips5",
683 .llvm_name = "mips5",674 .llvm_name = "mips5",
684 .dependencies = &[_]*const Feature {675 .dependencies = &[_]*const Feature {
676 &feature_mips4_32,
685 &feature_mips5_32r2,677 &feature_mips5_32r2,
686 &feature_mips1,
687 &feature_mips3_32r2,678 &feature_mips3_32r2,
688 &feature_mips3_32,679 &feature_mips3_32,
689 &feature_mips4_32r2,680 &feature_mips4_32r2,
690 &feature_gp64,681 &feature_gp64,
691 &feature_mips4_32,682 &feature_mips1,
692 &feature_fp64,683 &feature_fp64,
693 &feature_mips5,684 &feature_mips5,
694 },685 },
...@@ -698,13 +689,13 @@ pub const cpu_mips64 = Cpu{...@@ -698,13 +689,13 @@ pub const cpu_mips64 = Cpu{
698 .name = "mips64",689 .name = "mips64",
699 .llvm_name = "mips64",690 .llvm_name = "mips64",
700 .dependencies = &[_]*const Feature {691 .dependencies = &[_]*const Feature {
692 &feature_mips4_32,
701 &feature_mips5_32r2,693 &feature_mips5_32r2,
702 &feature_mips1,
703 &feature_mips3_32r2,694 &feature_mips3_32r2,
704 &feature_mips3_32,695 &feature_mips3_32,
705 &feature_mips4_32r2,696 &feature_mips4_32r2,
706 &feature_gp64,697 &feature_gp64,
707 &feature_mips4_32,698 &feature_mips1,
708 &feature_fp64,699 &feature_fp64,
709 &feature_mips64,700 &feature_mips64,
710 },701 },
...@@ -714,13 +705,13 @@ pub const cpu_mips64r2 = Cpu{...@@ -714,13 +705,13 @@ pub const cpu_mips64r2 = Cpu{
714 .name = "mips64r2",705 .name = "mips64r2",
715 .llvm_name = "mips64r2",706 .llvm_name = "mips64r2",
716 .dependencies = &[_]*const Feature {707 .dependencies = &[_]*const Feature {
708 &feature_mips4_32,
717 &feature_mips5_32r2,709 &feature_mips5_32r2,
718 &feature_mips1,
719 &feature_mips3_32r2,710 &feature_mips3_32r2,
720 &feature_mips3_32,711 &feature_mips3_32,
721 &feature_mips4_32r2,712 &feature_mips4_32r2,
722 &feature_gp64,713 &feature_gp64,
723 &feature_mips4_32,714 &feature_mips1,
724 &feature_fp64,715 &feature_fp64,
725 &feature_mips64r2,716 &feature_mips64r2,
726 },717 },
...@@ -730,13 +721,13 @@ pub const cpu_mips64r3 = Cpu{...@@ -730,13 +721,13 @@ pub const cpu_mips64r3 = Cpu{
730 .name = "mips64r3",721 .name = "mips64r3",
731 .llvm_name = "mips64r3",722 .llvm_name = "mips64r3",
732 .dependencies = &[_]*const Feature {723 .dependencies = &[_]*const Feature {
724 &feature_mips4_32,
733 &feature_mips5_32r2,725 &feature_mips5_32r2,
734 &feature_mips1,
735 &feature_mips3_32r2,726 &feature_mips3_32r2,
736 &feature_mips3_32,727 &feature_mips3_32,
737 &feature_mips4_32r2,728 &feature_mips4_32r2,
738 &feature_gp64,729 &feature_gp64,
739 &feature_mips4_32,730 &feature_mips1,
740 &feature_fp64,731 &feature_fp64,
741 &feature_mips64r3,732 &feature_mips64r3,
742 },733 },
...@@ -746,13 +737,13 @@ pub const cpu_mips64r5 = Cpu{...@@ -746,13 +737,13 @@ pub const cpu_mips64r5 = Cpu{
746 .name = "mips64r5",737 .name = "mips64r5",
747 .llvm_name = "mips64r5",738 .llvm_name = "mips64r5",
748 .dependencies = &[_]*const Feature {739 .dependencies = &[_]*const Feature {
740 &feature_mips4_32,
749 &feature_mips5_32r2,741 &feature_mips5_32r2,
750 &feature_mips1,
751 &feature_mips3_32r2,742 &feature_mips3_32r2,
752 &feature_mips3_32,743 &feature_mips3_32,
753 &feature_mips4_32r2,744 &feature_mips4_32r2,
754 &feature_gp64,745 &feature_gp64,
755 &feature_mips4_32,746 &feature_mips1,
756 &feature_fp64,747 &feature_fp64,
757 &feature_mips64r5,748 &feature_mips64r5,
758 },749 },
...@@ -762,16 +753,16 @@ pub const cpu_mips64r6 = Cpu{...@@ -762,16 +753,16 @@ pub const cpu_mips64r6 = Cpu{
762 .name = "mips64r6",753 .name = "mips64r6",
763 .llvm_name = "mips64r6",754 .llvm_name = "mips64r6",
764 .dependencies = &[_]*const Feature {755 .dependencies = &[_]*const Feature {
765 &feature_nan2008,756 &feature_mips4_32,
766 &feature_mips5_32r2,757 &feature_mips5_32r2,
767 &feature_mips1,
768 &feature_mips3_32r2,758 &feature_mips3_32r2,
769 &feature_mips3_32,759 &feature_mips3_32,
770 &feature_mips4_32r2,760 &feature_mips4_32r2,
761 &feature_nan2008,
771 &feature_gp64,762 &feature_gp64,
772 &feature_mips4_32,763 &feature_mips1,
773 &feature_abs2008,
774 &feature_fp64,764 &feature_fp64,
765 &feature_abs2008,
775 &feature_mips64r6,766 &feature_mips64r6,
776 },767 },
777};768};
...@@ -780,13 +771,13 @@ pub const cpu_octeon = Cpu{...@@ -780,13 +771,13 @@ pub const cpu_octeon = Cpu{
780 .name = "octeon",771 .name = "octeon",
781 .llvm_name = "octeon",772 .llvm_name = "octeon",
782 .dependencies = &[_]*const Feature {773 .dependencies = &[_]*const Feature {
774 &feature_mips4_32,
783 &feature_mips5_32r2,775 &feature_mips5_32r2,
784 &feature_mips1,
785 &feature_mips3_32r2,776 &feature_mips3_32r2,
786 &feature_mips3_32,777 &feature_mips3_32,
787 &feature_mips4_32r2,778 &feature_mips4_32r2,
788 &feature_gp64,779 &feature_gp64,
789 &feature_mips4_32,780 &feature_mips1,
790 &feature_fp64,781 &feature_fp64,
791 &feature_cnmips,782 &feature_cnmips,
792 &feature_mips64r2,783 &feature_mips64r2,
...@@ -797,12 +788,12 @@ pub const cpu_p5600 = Cpu{...@@ -797,12 +788,12 @@ pub const cpu_p5600 = Cpu{
797 .name = "p5600",788 .name = "p5600",
798 .llvm_name = "p5600",789 .llvm_name = "p5600",
799 .dependencies = &[_]*const Feature {790 .dependencies = &[_]*const Feature {
791 &feature_mips4_32,
800 &feature_mips5_32r2,792 &feature_mips5_32r2,
801 &feature_mips1,
802 &feature_mips3_32r2,793 &feature_mips3_32r2,
803 &feature_mips3_32,794 &feature_mips3_32,
804 &feature_mips4_32r2,795 &feature_mips4_32r2,
805 &feature_mips4_32,796 &feature_mips1,
806 &feature_p5600,797 &feature_p5600,
807 },798 },
808};799};
lib/std/target/powerpc.zig+2-2
...@@ -296,8 +296,8 @@ pub const feature_power9Altivec = Feature{...@@ -296,8 +296,8 @@ pub const feature_power9Altivec = Feature{
296 .llvm_name = "power9-altivec",296 .llvm_name = "power9-altivec",
297 .description = "Enable POWER9 Altivec instructions",297 .description = "Enable POWER9 Altivec instructions",
298 .dependencies = &[_]*const Feature {298 .dependencies = &[_]*const Feature {
299 &feature_hardFloat,
300 &feature_isaV30Instructions,299 &feature_isaV30Instructions,
300 &feature_hardFloat,
301 },301 },
302};302};
303303
...@@ -306,8 +306,8 @@ pub const feature_power9Vector = Feature{...@@ -306,8 +306,8 @@ pub const feature_power9Vector = Feature{
306 .llvm_name = "power9-vector",306 .llvm_name = "power9-vector",
307 .description = "Enable POWER9 vector instructions",307 .description = "Enable POWER9 vector instructions",
308 .dependencies = &[_]*const Feature {308 .dependencies = &[_]*const Feature {
309 &feature_hardFloat,
310 &feature_isaV30Instructions,309 &feature_isaV30Instructions,
310 &feature_hardFloat,
311 },311 },
312};312};
313313
lib/std/target/riscv.zig-11
...@@ -17,14 +17,6 @@ pub const feature_e = Feature{...@@ -17,14 +17,6 @@ pub const feature_e = Feature{
17 },17 },
18};18};
1919
20pub const feature_rvcHints = Feature{
21 .name = "rvcHints",
22 .llvm_name = "rvc-hints",
23 .description = "Enable RVC Hint Instructions.",
24 .dependencies = &[_]*const Feature {
25 },
26};
27
28pub const feature_relax = Feature{20pub const feature_relax = Feature{
29 .name = "relax",21 .name = "relax",
30 .llvm_name = "relax",22 .llvm_name = "relax",
...@@ -77,7 +69,6 @@ pub const feature_m = Feature{...@@ -77,7 +69,6 @@ pub const feature_m = Feature{
77pub const features = &[_]*const Feature {69pub const features = &[_]*const Feature {
78 &feature_bit64,70 &feature_bit64,
79 &feature_e,71 &feature_e,
80 &feature_rvcHints,
81 &feature_relax,72 &feature_relax,
82 &feature_a,73 &feature_a,
83 &feature_c,74 &feature_c,
...@@ -90,7 +81,6 @@ pub const cpu_genericRv32 = Cpu{...@@ -90,7 +81,6 @@ pub const cpu_genericRv32 = Cpu{
90 .name = "genericRv32",81 .name = "genericRv32",
91 .llvm_name = "generic-rv32",82 .llvm_name = "generic-rv32",
92 .dependencies = &[_]*const Feature {83 .dependencies = &[_]*const Feature {
93 &feature_rvcHints,
94 },84 },
95};85};
9686
...@@ -99,7 +89,6 @@ pub const cpu_genericRv64 = Cpu{...@@ -99,7 +89,6 @@ pub const cpu_genericRv64 = Cpu{
99 .llvm_name = "generic-rv64",89 .llvm_name = "generic-rv64",
100 .dependencies = &[_]*const Feature {90 .dependencies = &[_]*const Feature {
101 &feature_bit64,91 &feature_bit64,
102 &feature_rvcHints,
103 },92 },
104};93};
10594
lib/std/target/systemz.zig-43
...@@ -553,48 +553,6 @@ pub const cpu_z14 = Cpu{...@@ -553,48 +553,6 @@ pub const cpu_z14 = Cpu{
553 },553 },
554};554};
555555
556pub const cpu_z15 = Cpu{
557 .name = "z15",
558 .llvm_name = "z15",
559 .dependencies = &[_]*const Feature {
560 &feature_dfpPackedConversion,
561 &feature_dfpZonedConversion,
562 &feature_deflateConversion,
563 &feature_distinctOps,
564 &feature_enhancedDat2,
565 &feature_enhancedSort,
566 &feature_executionHint,
567 &feature_fpExtension,
568 &feature_fastSerialization,
569 &feature_guardedStorage,
570 &feature_highWord,
571 &feature_insertReferenceBitsMultiple,
572 &feature_interlockedAccess1,
573 &feature_loadAndTrap,
574 &feature_loadAndZeroRightmostByte,
575 &feature_loadStoreOnCond,
576 &feature_loadStoreOnCond2,
577 &feature_messageSecurityAssistExtension3,
578 &feature_messageSecurityAssistExtension4,
579 &feature_messageSecurityAssistExtension5,
580 &feature_messageSecurityAssistExtension7,
581 &feature_messageSecurityAssistExtension8,
582 &feature_messageSecurityAssistExtension9,
583 &feature_miscellaneousExtensions,
584 &feature_miscellaneousExtensions2,
585 &feature_miscellaneousExtensions3,
586 &feature_populationCount,
587 &feature_processorAssist,
588 &feature_resetReferenceBitsMultiple,
589 &feature_transactionalExecution,
590 &feature_vector,
591 &feature_vectorEnhancements1,
592 &feature_vectorEnhancements2,
593 &feature_vectorPackedDecimal,
594 &feature_vectorPackedDecimalEnhancement,
595 },
596};
597
598pub const cpu_z196 = Cpu{556pub const cpu_z196 = Cpu{
599 .name = "z196",557 .name = "z196",
600 .llvm_name = "z196",558 .llvm_name = "z196",
...@@ -647,7 +605,6 @@ pub const cpus = &[_]*const Cpu {...@@ -647,7 +605,6 @@ pub const cpus = &[_]*const Cpu {
647 &cpu_z10,605 &cpu_z10,
648 &cpu_z13,606 &cpu_z13,
649 &cpu_z14,607 &cpu_z14,
650 &cpu_z15,
651 &cpu_z196,608 &cpu_z196,
652 &cpu_zEC12,609 &cpu_zEC12,
653};610};
lib/std/target/x86.zig+20-109
...@@ -197,14 +197,6 @@ pub const feature_avx512dq = Feature{...@@ -197,14 +197,6 @@ pub const feature_avx512dq = Feature{
197 },197 },
198};198};
199199
200pub const feature_mpx = Feature{
201 .name = "mpx",
202 .llvm_name = "mpx",
203 .description = "Deprecated. Support MPX instructions",
204 .dependencies = &[_]*const Feature {
205 },
206};
207
208pub const feature_enqcmd = Feature{200pub const feature_enqcmd = Feature{
209 .name = "enqcmd",201 .name = "enqcmd",
210 .llvm_name = "enqcmd",202 .llvm_name = "enqcmd",
...@@ -484,6 +476,14 @@ pub const feature_movdiri = Feature{...@@ -484,6 +476,14 @@ pub const feature_movdiri = Feature{
484 },476 },
485};477};
486478
479pub const feature_mpx = Feature{
480 .name = "mpx",
481 .llvm_name = "mpx",
482 .description = "Support MPX instructions",
483 .dependencies = &[_]*const Feature {
484 },
485};
486
487pub const feature_mwaitx = Feature{487pub const feature_mwaitx = Feature{
488 .name = "mwaitx",488 .name = "mwaitx",
489 .llvm_name = "mwaitx",489 .llvm_name = "mwaitx",
...@@ -598,14 +598,6 @@ pub const feature_padShortFunctions = Feature{...@@ -598,14 +598,6 @@ pub const feature_padShortFunctions = Feature{
598 },598 },
599};599};
600600
601pub const feature_prefer128Bit = Feature{
602 .name = "prefer128Bit",
603 .llvm_name = "prefer-128-bit",
604 .description = "Prefer 128-bit AVX instructions",
605 .dependencies = &[_]*const Feature {
606 },
607};
608
609pub const feature_prefer256Bit = Feature{601pub const feature_prefer256Bit = Feature{
610 .name = "prefer256Bit",602 .name = "prefer256Bit",
611 .llvm_name = "prefer-256-bit",603 .llvm_name = "prefer-256-bit",
...@@ -880,14 +872,6 @@ pub const feature_tbm = Feature{...@@ -880,14 +872,6 @@ pub const feature_tbm = Feature{
880 },872 },
881};873};
882874
883pub const feature_useAa = Feature{
884 .name = "useAa",
885 .llvm_name = "use-aa",
886 .description = "Use alias analysis during codegen",
887 .dependencies = &[_]*const Feature {
888 },
889};
890
891pub const feature_vaes = Feature{875pub const feature_vaes = Feature{
892 .name = "vaes",876 .name = "vaes",
893 .llvm_name = "vaes",877 .llvm_name = "vaes",
...@@ -1073,7 +1057,6 @@ pub const features = &[_]*const Feature {...@@ -1073,7 +1057,6 @@ pub const features = &[_]*const Feature {
1073 &feature_cx8,1057 &feature_cx8,
1074 &feature_cx16,1058 &feature_cx16,
1075 &feature_avx512dq,1059 &feature_avx512dq,
1076 &feature_mpx,
1077 &feature_enqcmd,1060 &feature_enqcmd,
1078 &feature_avx512er,1061 &feature_avx512er,
1079 &feature_ermsb,1062 &feature_ermsb,
...@@ -1108,6 +1091,7 @@ pub const features = &[_]*const Feature {...@@ -1108,6 +1091,7 @@ pub const features = &[_]*const Feature {
1108 &feature_movbe,1091 &feature_movbe,
1109 &feature_movdir64b,1092 &feature_movdir64b,
1110 &feature_movdiri,1093 &feature_movdiri,
1094 &feature_mpx,
1111 &feature_mwaitx,1095 &feature_mwaitx,
1112 &feature_macrofusion,1096 &feature_macrofusion,
1113 &feature_mergeToThreewayBranch,1097 &feature_mergeToThreewayBranch,
...@@ -1122,7 +1106,6 @@ pub const features = &[_]*const Feature {...@@ -1122,7 +1106,6 @@ pub const features = &[_]*const Feature {
1122 &feature_prfchw,1106 &feature_prfchw,
1123 &feature_ptwrite,1107 &feature_ptwrite,
1124 &feature_padShortFunctions,1108 &feature_padShortFunctions,
1125 &feature_prefer128Bit,
1126 &feature_prefer256Bit,1109 &feature_prefer256Bit,
1127 &feature_rdpid,1110 &feature_rdpid,
1128 &feature_rdrnd,1111 &feature_rdrnd,
...@@ -1156,7 +1139,6 @@ pub const features = &[_]*const Feature {...@@ -1156,7 +1139,6 @@ pub const features = &[_]*const Feature {
1156 &feature_slowUnalignedMem32,1139 &feature_slowUnalignedMem32,
1157 &feature_softFloat,1140 &feature_softFloat,
1158 &feature_tbm,1141 &feature_tbm,
1159 &feature_useAa,
1160 &feature_vaes,1142 &feature_vaes,
1161 &feature_avx512vbmi,1143 &feature_avx512vbmi,
1162 &feature_avx512vbmi2,1144 &feature_avx512vbmi2,
...@@ -1727,6 +1709,7 @@ pub const cpu_cannonlake = Cpu{...@@ -1727,6 +1709,7 @@ pub const cpu_cannonlake = Cpu{
1727 &feature_lzcnt,1709 &feature_lzcnt,
1728 &feature_mmx,1710 &feature_mmx,
1729 &feature_movbe,1711 &feature_movbe,
1712 &feature_mpx,
1730 &feature_macrofusion,1713 &feature_macrofusion,
1731 &feature_mergeToThreewayBranch,1714 &feature_mergeToThreewayBranch,
1732 &feature_nopl,1715 &feature_nopl,
...@@ -1734,7 +1717,6 @@ pub const cpu_cannonlake = Cpu{...@@ -1734,7 +1717,6 @@ pub const cpu_cannonlake = Cpu{
1734 &feature_pku,1717 &feature_pku,
1735 &feature_popcnt,1718 &feature_popcnt,
1736 &feature_prfchw,1719 &feature_prfchw,
1737 &feature_prefer256Bit,
1738 &feature_rdrnd,1720 &feature_rdrnd,
1739 &feature_rdseed,1721 &feature_rdseed,
1740 &feature_sgx,1722 &feature_sgx,
...@@ -1788,6 +1770,7 @@ pub const cpu_cascadelake = Cpu{...@@ -1788,6 +1770,7 @@ pub const cpu_cascadelake = Cpu{
1788 &feature_lzcnt,1770 &feature_lzcnt,
1789 &feature_mmx,1771 &feature_mmx,
1790 &feature_movbe,1772 &feature_movbe,
1773 &feature_mpx,
1791 &feature_macrofusion,1774 &feature_macrofusion,
1792 &feature_mergeToThreewayBranch,1775 &feature_mergeToThreewayBranch,
1793 &feature_nopl,1776 &feature_nopl,
...@@ -1796,7 +1779,6 @@ pub const cpu_cascadelake = Cpu{...@@ -1796,7 +1779,6 @@ pub const cpu_cascadelake = Cpu{
1796 &feature_popcnt,1779 &feature_popcnt,
1797 &feature_falseDepsPopcnt,1780 &feature_falseDepsPopcnt,
1798 &feature_prfchw,1781 &feature_prfchw,
1799 &feature_prefer256Bit,
1800 &feature_rdrnd,1782 &feature_rdrnd,
1801 &feature_rdseed,1783 &feature_rdseed,
1802 &feature_sse42,1784 &feature_sse42,
...@@ -1849,6 +1831,7 @@ pub const cpu_cooperlake = Cpu{...@@ -1849,6 +1831,7 @@ pub const cpu_cooperlake = Cpu{
1849 &feature_lzcnt,1831 &feature_lzcnt,
1850 &feature_mmx,1832 &feature_mmx,
1851 &feature_movbe,1833 &feature_movbe,
1834 &feature_mpx,
1852 &feature_macrofusion,1835 &feature_macrofusion,
1853 &feature_mergeToThreewayBranch,1836 &feature_mergeToThreewayBranch,
1854 &feature_nopl,1837 &feature_nopl,
...@@ -1857,7 +1840,6 @@ pub const cpu_cooperlake = Cpu{...@@ -1857,7 +1840,6 @@ pub const cpu_cooperlake = Cpu{
1857 &feature_popcnt,1840 &feature_popcnt,
1858 &feature_falseDepsPopcnt,1841 &feature_falseDepsPopcnt,
1859 &feature_prfchw,1842 &feature_prfchw,
1860 &feature_prefer256Bit,
1861 &feature_rdrnd,1843 &feature_rdrnd,
1862 &feature_rdseed,1844 &feature_rdseed,
1863 &feature_sse42,1845 &feature_sse42,
...@@ -2059,6 +2041,7 @@ pub const cpu_goldmont = Cpu{...@@ -2059,6 +2041,7 @@ pub const cpu_goldmont = Cpu{
2059 &feature_sahf,2041 &feature_sahf,
2060 &feature_mmx,2042 &feature_mmx,
2061 &feature_movbe,2043 &feature_movbe,
2044 &feature_mpx,
2062 &feature_nopl,2045 &feature_nopl,
2063 &feature_pclmul,2046 &feature_pclmul,
2064 &feature_popcnt,2047 &feature_popcnt,
...@@ -2096,6 +2079,7 @@ pub const cpu_goldmontPlus = Cpu{...@@ -2096,6 +2079,7 @@ pub const cpu_goldmontPlus = Cpu{
2096 &feature_sahf,2079 &feature_sahf,
2097 &feature_mmx,2080 &feature_mmx,
2098 &feature_movbe,2081 &feature_movbe,
2082 &feature_mpx,
2099 &feature_nopl,2083 &feature_nopl,
2100 &feature_pclmul,2084 &feature_pclmul,
2101 &feature_popcnt,2085 &feature_popcnt,
...@@ -2240,6 +2224,7 @@ pub const cpu_icelakeClient = Cpu{...@@ -2240,6 +2224,7 @@ pub const cpu_icelakeClient = Cpu{
2240 &feature_lzcnt,2224 &feature_lzcnt,
2241 &feature_mmx,2225 &feature_mmx,
2242 &feature_movbe,2226 &feature_movbe,
2227 &feature_mpx,
2243 &feature_macrofusion,2228 &feature_macrofusion,
2244 &feature_mergeToThreewayBranch,2229 &feature_mergeToThreewayBranch,
2245 &feature_nopl,2230 &feature_nopl,
...@@ -2247,7 +2232,6 @@ pub const cpu_icelakeClient = Cpu{...@@ -2247,7 +2232,6 @@ pub const cpu_icelakeClient = Cpu{
2247 &feature_pku,2232 &feature_pku,
2248 &feature_popcnt,2233 &feature_popcnt,
2249 &feature_prfchw,2234 &feature_prfchw,
2250 &feature_prefer256Bit,
2251 &feature_rdpid,2235 &feature_rdpid,
2252 &feature_rdrnd,2236 &feature_rdrnd,
2253 &feature_rdseed,2237 &feature_rdseed,
...@@ -2310,6 +2294,7 @@ pub const cpu_icelakeServer = Cpu{...@@ -2310,6 +2294,7 @@ pub const cpu_icelakeServer = Cpu{
2310 &feature_lzcnt,2294 &feature_lzcnt,
2311 &feature_mmx,2295 &feature_mmx,
2312 &feature_movbe,2296 &feature_movbe,
2297 &feature_mpx,
2313 &feature_macrofusion,2298 &feature_macrofusion,
2314 &feature_mergeToThreewayBranch,2299 &feature_mergeToThreewayBranch,
2315 &feature_nopl,2300 &feature_nopl,
...@@ -2318,7 +2303,6 @@ pub const cpu_icelakeServer = Cpu{...@@ -2318,7 +2303,6 @@ pub const cpu_icelakeServer = Cpu{
2318 &feature_pku,2303 &feature_pku,
2319 &feature_popcnt,2304 &feature_popcnt,
2320 &feature_prfchw,2305 &feature_prfchw,
2321 &feature_prefer256Bit,
2322 &feature_rdpid,2306 &feature_rdpid,
2323 &feature_rdrnd,2307 &feature_rdrnd,
2324 &feature_rdseed,2308 &feature_rdseed,
...@@ -2888,6 +2872,7 @@ pub const cpu_skx = Cpu{...@@ -2888,6 +2872,7 @@ pub const cpu_skx = Cpu{
2888 &feature_lzcnt,2872 &feature_lzcnt,
2889 &feature_mmx,2873 &feature_mmx,
2890 &feature_movbe,2874 &feature_movbe,
2875 &feature_mpx,
2891 &feature_macrofusion,2876 &feature_macrofusion,
2892 &feature_mergeToThreewayBranch,2877 &feature_mergeToThreewayBranch,
2893 &feature_nopl,2878 &feature_nopl,
...@@ -2896,7 +2881,6 @@ pub const cpu_skx = Cpu{...@@ -2896,7 +2881,6 @@ pub const cpu_skx = Cpu{
2896 &feature_popcnt,2881 &feature_popcnt,
2897 &feature_falseDepsPopcnt,2882 &feature_falseDepsPopcnt,
2898 &feature_prfchw,2883 &feature_prfchw,
2899 &feature_prefer256Bit,
2900 &feature_rdrnd,2884 &feature_rdrnd,
2901 &feature_rdseed,2885 &feature_rdseed,
2902 &feature_sse42,2886 &feature_sse42,
...@@ -2942,6 +2926,7 @@ pub const cpu_skylake = Cpu{...@@ -2942,6 +2926,7 @@ pub const cpu_skylake = Cpu{
2942 &feature_lzcnt,2926 &feature_lzcnt,
2943 &feature_mmx,2927 &feature_mmx,
2944 &feature_movbe,2928 &feature_movbe,
2929 &feature_mpx,
2945 &feature_macrofusion,2930 &feature_macrofusion,
2946 &feature_mergeToThreewayBranch,2931 &feature_mergeToThreewayBranch,
2947 &feature_nopl,2932 &feature_nopl,
...@@ -2999,6 +2984,7 @@ pub const cpu_skylakeAvx512 = Cpu{...@@ -2999,6 +2984,7 @@ pub const cpu_skylakeAvx512 = Cpu{
2999 &feature_lzcnt,2984 &feature_lzcnt,
3000 &feature_mmx,2985 &feature_mmx,
3001 &feature_movbe,2986 &feature_movbe,
2987 &feature_mpx,
3002 &feature_macrofusion,2988 &feature_macrofusion,
3003 &feature_mergeToThreewayBranch,2989 &feature_mergeToThreewayBranch,
3004 &feature_nopl,2990 &feature_nopl,
...@@ -3007,7 +2993,6 @@ pub const cpu_skylakeAvx512 = Cpu{...@@ -3007,7 +2993,6 @@ pub const cpu_skylakeAvx512 = Cpu{
3007 &feature_popcnt,2993 &feature_popcnt,
3008 &feature_falseDepsPopcnt,2994 &feature_falseDepsPopcnt,
3009 &feature_prfchw,2995 &feature_prfchw,
3010 &feature_prefer256Bit,
3011 &feature_rdrnd,2996 &feature_rdrnd,
3012 &feature_rdseed,2997 &feature_rdseed,
3013 &feature_sse42,2998 &feature_sse42,
...@@ -3052,80 +3037,6 @@ pub const cpu_slm = Cpu{...@@ -3052,80 +3037,6 @@ pub const cpu_slm = Cpu{
3052 },3037 },
3053};3038};
30543039
3055pub const cpu_tigerlake = Cpu{
3056 .name = "tigerlake",
3057 .llvm_name = "tigerlake",
3058 .dependencies = &[_]*const Feature {
3059 &feature_bit64,
3060 &feature_adx,
3061 &feature_sse,
3062 &feature_aes,
3063 &feature_avx,
3064 &feature_avx2,
3065 &feature_avx512f,
3066 &feature_avx512bitalg,
3067 &feature_bmi,
3068 &feature_bmi2,
3069 &feature_avx512bw,
3070 &feature_avx512cd,
3071 &feature_clflushopt,
3072 &feature_clwb,
3073 &feature_cmov,
3074 &feature_cx8,
3075 &feature_cx16,
3076 &feature_avx512dq,
3077 &feature_ermsb,
3078 &feature_f16c,
3079 &feature_fma,
3080 &feature_fsgsbase,
3081 &feature_fxsr,
3082 &feature_fastShldRotate,
3083 &feature_fastScalarFsqrt,
3084 &feature_fastVariableShuffle,
3085 &feature_fastVectorFsqrt,
3086 &feature_gfni,
3087 &feature_fastGather,
3088 &feature_avx512ifma,
3089 &feature_invpcid,
3090 &feature_sahf,
3091 &feature_lzcnt,
3092 &feature_mmx,
3093 &feature_movbe,
3094 &feature_movdir64b,
3095 &feature_movdiri,
3096 &feature_macrofusion,
3097 &feature_mergeToThreewayBranch,
3098 &feature_nopl,
3099 &feature_pclmul,
3100 &feature_pku,
3101 &feature_popcnt,
3102 &feature_prfchw,
3103 &feature_prefer256Bit,
3104 &feature_rdpid,
3105 &feature_rdrnd,
3106 &feature_rdseed,
3107 &feature_sgx,
3108 &feature_sha,
3109 &feature_shstk,
3110 &feature_sse42,
3111 &feature_slow3opsLea,
3112 &feature_idivqToDivl,
3113 &feature_vaes,
3114 &feature_avx512vbmi,
3115 &feature_avx512vbmi2,
3116 &feature_avx512vl,
3117 &feature_avx512vnni,
3118 &feature_avx512vp2intersect,
3119 &feature_vpclmulqdq,
3120 &feature_avx512vpopcntdq,
3121 &feature_x87,
3122 &feature_xsave,
3123 &feature_xsavec,
3124 &feature_xsaveopt,
3125 &feature_xsaves,
3126 },
3127};
3128
3129pub const cpu_tremont = Cpu{3040pub const cpu_tremont = Cpu{
3130 .name = "tremont",3041 .name = "tremont",
3131 .llvm_name = "tremont",3042 .llvm_name = "tremont",
...@@ -3146,6 +3057,7 @@ pub const cpu_tremont = Cpu{...@@ -3146,6 +3057,7 @@ pub const cpu_tremont = Cpu{
3146 &feature_movbe,3057 &feature_movbe,
3147 &feature_movdir64b,3058 &feature_movdir64b,
3148 &feature_movdiri,3059 &feature_movdiri,
3060 &feature_mpx,
3149 &feature_nopl,3061 &feature_nopl,
3150 &feature_pclmul,3062 &feature_pclmul,
3151 &feature_popcnt,3063 &feature_popcnt,
...@@ -3415,7 +3327,6 @@ pub const cpus = &[_]*const Cpu {...@@ -3415,7 +3327,6 @@ pub const cpus = &[_]*const Cpu {
3415 &cpu_skylake,3327 &cpu_skylake,
3416 &cpu_skylakeAvx512,3328 &cpu_skylakeAvx512,
3417 &cpu_slm,3329 &cpu_slm,
3418 &cpu_tigerlake,
3419 &cpu_tremont,3330 &cpu_tremont,
3420 &cpu_westmere,3331 &cpu_westmere,
3421 &cpu_winchipC6,3332 &cpu_winchipC6,