| author | |
| committer | |
| log | 468b976f63b0938f2a799261b536167959c059b4 |
| tree | 9af0e9f74eef0a4cf0732d5600eda9ad425a68d4 |
| parent | 7a7421c74970a0d52286fa33086e80af29fc8d0b |
| parent | e912411fbedab06f4b7313404c9bb88f9e9e6c44 |
| signature |
update_cpu_features: Fixes and updates3 files changed, 20 insertions(+), 8 deletions(-)
lib/std/Target/arm.zig+9-8| ... | ... | @@ -86,6 +86,7 @@ pub const Feature = enum { |
| 86 | 86 | has_v9_2a, |
| 87 | 87 | has_v9_3a, |
| 88 | 88 | has_v9_4a, |
| 89 | has_v9_5a, | |
| 89 | 90 | has_v9a, |
| 90 | 91 | hwdiv, |
| 91 | 92 | hwdiv_arm, |
| ... | ... | @@ -754,6 +755,13 @@ pub const all_features = blk: { |
| 754 | 755 | .has_v9_3a, |
| 755 | 756 | }), |
| 756 | 757 | }; |
| 758 | result[@intFromEnum(Feature.has_v9_5a)] = .{ | |
| 759 | .llvm_name = "v9.5a", | |
| 760 | .description = "Support ARM v9.5a instructions", | |
| 761 | .dependencies = featureSet(&[_]Feature{ | |
| 762 | .has_v9_4a, | |
| 763 | }), | |
| 764 | }; | |
| 757 | 765 | result[@intFromEnum(Feature.has_v9a)] = .{ |
| 758 | 766 | .llvm_name = "v9a", |
| 759 | 767 | .description = "Support ARM v9a instructions", |
| ... | ... | @@ -1582,20 +1590,13 @@ pub const all_features = blk: { |
| 1582 | 1590 | .db, |
| 1583 | 1591 | .dsp, |
| 1584 | 1592 | .fp_armv8, |
| 1593 | .has_v9_5a, | |
| 1585 | 1594 | .mp, |
| 1586 | 1595 | .ras, |
| 1587 | 1596 | .trustzone, |
| 1588 | .v9_5a, | |
| 1589 | 1597 | .virtualization, |
| 1590 | 1598 | }), |
| 1591 | 1599 | }; |
| 1592 | result[@intFromEnum(Feature.v9_5a)] = .{ | |
| 1593 | .llvm_name = "v9.5a", | |
| 1594 | .description = "Support ARM v9.5a instructions", | |
| 1595 | .dependencies = featureSet(&[_]Feature{ | |
| 1596 | .has_v9_4a, | |
| 1597 | }), | |
| 1598 | }; | |
| 1599 | 1600 | result[@intFromEnum(Feature.v9a)] = .{ |
| 1600 | 1601 | .llvm_name = "armv9-a", |
| 1601 | 1602 | .description = "ARMv9a architecture", |
lib/std/Target/riscv.zig+6| ... | ... | @@ -78,6 +78,7 @@ pub const Feature = enum { |
| 78 | 78 | svnapot, |
| 79 | 79 | svpbmt, |
| 80 | 80 | tagged_globals, |
| 81 | unaligned_scalar_mem, | |
| 81 | 82 | use_postra_scheduler, |
| 82 | 83 | v, |
| 83 | 84 | ventana_veyron, |
| ... | ... | @@ -584,6 +585,11 @@ pub const all_features = blk: { |
| 584 | 585 | .description = "Use an instruction sequence for taking the address of a global that allows a memory tag in the upper address bits", |
| 585 | 586 | .dependencies = featureSet(&[_]Feature{}), |
| 586 | 587 | }; |
| 588 | result[@intFromEnum(Feature.unaligned_scalar_mem)] = .{ | |
| 589 | .llvm_name = "unaligned-scalar-mem", | |
| 590 | .description = "Has reasonably performant unaligned scalar loads and stores", | |
| 591 | .dependencies = featureSet(&[_]Feature{}), | |
| 592 | }; | |
| 587 | 593 | result[@intFromEnum(Feature.use_postra_scheduler)] = .{ |
| 588 | 594 | .llvm_name = "use-postra-scheduler", |
| 589 | 595 | .description = "Schedule again after register allocation", |
tools/update_cpu_features.zig+5| ... | ... | @@ -809,6 +809,10 @@ const llvm_targets = [_]LlvmTarget{ |
| 809 | 809 | .llvm_name = "v9.4a", |
| 810 | 810 | .zig_name = "has_v9_4a", |
| 811 | 811 | }, |
| 812 | .{ | |
| 813 | .llvm_name = "v9.5a", | |
| 814 | .zig_name = "has_v9_5a", | |
| 815 | }, | |
| 812 | 816 | }, |
| 813 | 817 | // LLVM removed support for v2 and v3 but zig wants to support targeting old hardware |
| 814 | 818 | .extra_features = &.{ |
| ... | ... | @@ -990,6 +994,7 @@ const llvm_targets = [_]LlvmTarget{ |
| 990 | 994 | "icelake_client", |
| 991 | 995 | "icelake_server", |
| 992 | 996 | "graniterapids_d", |
| 997 | "arrowlake_s", | |
| 993 | 998 | }, |
| 994 | 999 | }, |
| 995 | 1000 | .{ |