From 3e6b2c6b03eacd311de2579b52f5ed9b83e57a02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= Date: Mon, 6 Jul 2026 06:01:23 +0200 Subject: [PATCH] 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. --- lib/std/Target/loongarch.zig | 4 +--- tools/update_cpu_features.zig | 8 ++++++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/std/Target/loongarch.zig b/lib/std/Target/loongarch.zig index 20a02568ccd5a9244923e33c02e6a84ba2fa72de..7158074464942873b3b7e9eb2ecde999bb4c204f 100644 --- a/lib/std/Target/loongarch.zig +++ b/lib/std/Target/loongarch.zig @@ -168,11 +168,9 @@ pub const cpu = struct { }; pub const generic_la64: CpuModel = .{ .name = "generic_la64", - .llvm_name = "generic-la64", + .llvm_name = null, .features = featureSet(&[_]Feature{ .@"64bit", - .lsx, - .ual, }), }; pub const la32rv1_0: CpuModel = .{ diff --git a/tools/update_cpu_features.zig b/tools/update_cpu_features.zig index f7b4de724bedebd4c770ce15b161ef1774c3c4e9..a1f876282a584edb8470c76bcca72a4248c9cb04 100644 --- a/tools/update_cpu_features.zig +++ b/tools/update_cpu_features.zig @@ -1345,6 +1345,13 @@ const targets = [_]ArchTarget{ .td_name = "LoongArch", }, .extra_cpus = &.{ + .{ + .llvm_name = null, + .zig_name = "generic_la64", + .features = &.{ + "64bit", + }, + }, .{ .llvm_name = null, .zig_name = "la32v1_0", @@ -1390,6 +1397,7 @@ const targets = [_]ArchTarget{ }, .omit_cpus = &.{ "generic", + "generic-la64", "loongarch32", "loongarch64", }, -- 2.54.0