aboutsummaryrefslogtreecommitdiff
path: root/tools/update_cpu_features.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2023-01-26 16:33:40 -0700
committerAndrew Kelley <andrew@ziglang.org>2023-01-26 16:36:14 -0700
commit0ca3582a86da377a25ea144acf94531dd8a28722 (patch)
treeb18114547c561264532a8f5aee68f225553bff53 /tools/update_cpu_features.zig
parent1e7083d09cc77663560b4c971421bff06f2c6c12 (diff)
downloadzig-0ca3582a86da377a25ea144acf94531dd8a28722.tar.gz
zig-0ca3582a86da377a25ea144acf94531dd8a28722.zip
update CPU features to LLVM 16
Diffstat (limited to 'tools/update_cpu_features.zig')
-rw-r--r--tools/update_cpu_features.zig79
1 files changed, 79 insertions, 0 deletions
diff --git a/tools/update_cpu_features.zig b/tools/update_cpu_features.zig
index 647d2c5a9b..65f0afdaba 100644
--- a/tools/update_cpu_features.zig
+++ b/tools/update_cpu_features.zig
@@ -80,6 +80,10 @@ const llvm_targets = [_]LlvmTarget{
.flatten = true,
},
.{
+ .llvm_name = "neoversev2",
+ .flatten = true,
+ },
+ .{
.llvm_name = "neoverse512tvb",
.flatten = true,
},
@@ -138,6 +142,14 @@ const llvm_targets = [_]LlvmTarget{
.flatten = true,
},
.{
+ .llvm_name = "a715",
+ .flatten = true,
+ },
+ .{
+ .llvm_name = "ampere1a",
+ .flatten = true,
+ },
+ .{
.llvm_name = "apple-a7",
.flatten = true,
},
@@ -162,6 +174,14 @@ const llvm_targets = [_]LlvmTarget{
.flatten = true,
},
.{
+ .llvm_name = "apple-a15",
+ .flatten = true,
+ },
+ .{
+ .llvm_name = "apple-a16",
+ .flatten = true,
+ },
+ .{
.llvm_name = "apple-a7-sysreg",
.flatten = true,
},
@@ -182,6 +202,10 @@ const llvm_targets = [_]LlvmTarget{
.flatten = true,
},
.{
+ .llvm_name = "cortex-x3",
+ .flatten = true,
+ },
+ .{
.llvm_name = "falkor",
.flatten = true,
.extra_deps = &.{"v8a"},
@@ -595,6 +619,10 @@ const llvm_targets = [_]LlvmTarget{
.zig_name = "v8_8a",
},
.{
+ .llvm_name = "armv8.9-a",
+ .zig_name = "v8_9a",
+ },
+ .{
.llvm_name = "armv8-a",
.zig_name = "v8a",
},
@@ -623,6 +651,10 @@ const llvm_targets = [_]LlvmTarget{
.zig_name = "v9_3a",
},
.{
+ .llvm_name = "armv9.4-a",
+ .zig_name = "v9_4a",
+ },
+ .{
.llvm_name = "armv9-a",
.zig_name = "v9a",
},
@@ -711,6 +743,10 @@ const llvm_targets = [_]LlvmTarget{
.zig_name = "has_v8_8a",
},
.{
+ .llvm_name = "v8.9a",
+ .zig_name = "has_v8_9a",
+ },
+ .{
.llvm_name = "v9a",
.zig_name = "has_v9a",
},
@@ -726,6 +762,33 @@ const llvm_targets = [_]LlvmTarget{
.llvm_name = "v9.3a",
.zig_name = "has_v9_3a",
},
+ .{
+ .llvm_name = "v9.4a",
+ .zig_name = "has_v9_4a",
+ },
+ },
+ // LLVM removed support for v2 and v3 but zig wants to support targeting old hardware
+ .extra_features = &.{
+ .{
+ .zig_name = "v2",
+ .desc = "ARMv2 architecture",
+ .deps = &.{"strict_align"},
+ },
+ .{
+ .zig_name = "v2a",
+ .desc = "ARMv2a architecture",
+ .deps = &.{"strict_align"},
+ },
+ .{
+ .zig_name = "v3",
+ .desc = "ARMv3 architecture",
+ .deps = &.{"strict_align"},
+ },
+ .{
+ .zig_name = "v3m",
+ .desc = "ARMv3m architecture",
+ .deps = &.{"strict_align"},
+ },
},
},
.{
@@ -754,6 +817,11 @@ const llvm_targets = [_]LlvmTarget{
.td_name = "Lanai.td",
},
.{
+ .zig_name = "loongarch",
+ .llvm_name = "LoongArch",
+ .td_name = "LoongArch.td",
+ },
+ .{
.zig_name = "m68k",
.llvm_name = "M68k",
.td_name = "M68k.td",
@@ -812,6 +880,12 @@ const llvm_targets = [_]LlvmTarget{
.llvm_name = "Sparc",
.td_name = "Sparc.td",
},
+ // TODO: merge tools/update_spirv_features.zig into this script
+ //.{
+ // .zig_name = "spirv",
+ // .llvm_name = "SPIRV",
+ // .td_name = "SPIRV.td",
+ //},
.{
.zig_name = "s390x",
.llvm_name = "SystemZ",
@@ -847,6 +921,11 @@ const llvm_targets = [_]LlvmTarget{
.llvm_name = "XCore",
.td_name = "XCore.td",
},
+ .{
+ .zig_name = "xtensa",
+ .llvm_name = "Xtensa",
+ .td_name = "Xtensa.td",
+ },
};
pub fn main() anyerror!void {