authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-07-06 06:01:23+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-07-06 23:27:58+02:00
log3e6b2c6b03eacd311de2579b52f5ed9b83e57a02
tree8d4262813a7405acfc204f698330d24fa777d32a
parent5f2b532be56bf39bac3f4b8b9e7947badada3d5a
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

std.Target: fix definition of generic_la64 CPU model

LLVM's generic_la64 model is clearly biased towards Loongson's current offerings rather than actually reflecting a generic model in the architectural sense. So fix it up on our side.

2 files changed, 9 insertions(+), 3 deletions(-)

lib/std/Target/loongarch.zig+1-3
......@@ -168,11 +168,9 @@ pub const cpu = struct {
168168 };
169169 pub const generic_la64: CpuModel = .{
170170 .name = "generic_la64",
171 .llvm_name = "generic-la64",
171 .llvm_name = null,
172172 .features = featureSet(&[_]Feature{
173173 .@"64bit",
174 .lsx,
175 .ual,
176174 }),
177175 };
178176 pub const la32rv1_0: CpuModel = .{
tools/update_cpu_features.zig+8
......@@ -1345,6 +1345,13 @@ const targets = [_]ArchTarget{
13451345 .td_name = "LoongArch",
13461346 },
13471347 .extra_cpus = &.{
1348 .{
1349 .llvm_name = null,
1350 .zig_name = "generic_la64",
1351 .features = &.{
1352 "64bit",
1353 },
1354 },
13481355 .{
13491356 .llvm_name = null,
13501357 .zig_name = "la32v1_0",
......@@ -1390,6 +1397,7 @@ const targets = [_]ArchTarget{
13901397 },
13911398 .omit_cpus = &.{
13921399 "generic",
1400 "generic-la64",
13931401 "loongarch32",
13941402 "loongarch64",
13951403 },