| ... | @@ -61,10 +61,6 @@ const llvm_targets = [_]LlvmTarget{ | ... | @@ -61,10 +61,6 @@ const llvm_targets = [_]LlvmTarget{ |
| 61 | .zig_name = "contextidr_el2", | 61 | .zig_name = "contextidr_el2", |
| 62 | .desc = "Enable RW operand Context ID Register (EL2)", | 62 | .desc = "Enable RW operand Context ID Register (EL2)", |
| 63 | }, | 63 | }, |
| 64 | .{ | | |
| 65 | .llvm_name = "v8a", | | |
| 66 | .extra_deps = &.{"neon"}, | | |
| 67 | }, | | |
| 68 | .{ | 64 | .{ |
| 69 | .llvm_name = "neoversee1", | 65 | .llvm_name = "neoversee1", |
| 70 | .flatten = true, | 66 | .flatten = true, |
| ... | @@ -1436,6 +1432,24 @@ fn processOneTarget(job: Job) anyerror!void { | ... | @@ -1436,6 +1432,24 @@ fn processOneTarget(job: Job) anyerror!void { |
| 1436 | try deps.append(other_zig_name); | 1432 | try deps.append(other_zig_name); |
| 1437 | } | 1433 | } |
| 1438 | } | 1434 | } |
| | 1435 | // This is used by AArch64. |
| | 1436 | if (kv.value_ptr.object.get("DefaultExts")) |exts_val| { |
| | 1437 | for (exts_val.array.items) |ext| { |
| | 1438 | const other_key = ext.object.get("def").?.string; |
| | 1439 | const other_obj = &root_map.getPtr(other_key).?.object; |
| | 1440 | const other_llvm_name = other_obj.get("Name").?.string; |
| | 1441 | const other_zig_name = (try llvmFeatureNameToZigNameOmit( |
| | 1442 | arena, |
| | 1443 | llvm_target, |
| | 1444 | other_llvm_name, |
| | 1445 | )) orelse continue; |
| | 1446 | for (omit_deps) |omit_dep| { |
| | 1447 | if (mem.eql(u8, other_zig_name, omit_dep)) break; |
| | 1448 | } else { |
| | 1449 | try deps.append(other_zig_name); |
| | 1450 | } |
| | 1451 | } |
| | 1452 | } |
| 1439 | for (extra_deps) |extra_dep| { | 1453 | for (extra_deps) |extra_dep| { |
| 1440 | try deps.append(extra_dep); | 1454 | try deps.append(extra_dep); |
| 1441 | } | 1455 | } |