commit dcbd3cbce924579fd4cdd71ef83935570daa774e (tree)
parent d3ba5f397d3270047bcf05c7ed21c5bd6b97e75b
Author: Alex Rønne Petersen <alex@alexrp.com>
Date: Tue, 24 Sep 2024 11:08:29 +0200
update_cpu_features: Add support for parsing DefaultExts as used for aarch64.
Diffstat:
1 file changed, 18 insertions(+), 4 deletions(-)
diff --git a/tools/update_cpu_features.zig b/tools/update_cpu_features.zig
@@ -62,10 +62,6 @@ const llvm_targets = [_]LlvmTarget{
.desc = "Enable RW operand Context ID Register (EL2)",
},
.{
- .llvm_name = "v8a",
- .extra_deps = &.{"neon"},
- },
- .{
.llvm_name = "neoversee1",
.flatten = true,
},
@@ -1436,6 +1432,24 @@ fn processOneTarget(job: Job) anyerror!void {
try deps.append(other_zig_name);
}
}
+ // This is used by AArch64.
+ if (kv.value_ptr.object.get("DefaultExts")) |exts_val| {
+ for (exts_val.array.items) |ext| {
+ const other_key = ext.object.get("def").?.string;
+ const other_obj = &root_map.getPtr(other_key).?.object;
+ const other_llvm_name = other_obj.get("Name").?.string;
+ const other_zig_name = (try llvmFeatureNameToZigNameOmit(
+ arena,
+ llvm_target,
+ other_llvm_name,
+ )) orelse continue;
+ for (omit_deps) |omit_dep| {
+ if (mem.eql(u8, other_zig_name, omit_dep)) break;
+ } else {
+ try deps.append(other_zig_name);
+ }
+ }
+ }
for (extra_deps) |extra_dep| {
try deps.append(extra_dep);
}