From a8e624d7f1220da166a61c5eb5956a5569188856 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= Date: Sun, 18 Jan 2026 12:11:52 +0100 Subject: [PATCH] compiler: let LLVM set the 64bit feature from the target triple on powerpc targets --- src/Compilation.zig | 1 + src/Package/Module.zig | 1 + 2 files changed, 2 insertions(+) diff --git a/src/Compilation.zig b/src/Compilation.zig index 0ed0e9f78b..6a58bcc9db 100644 --- a/src/Compilation.zig +++ b/src/Compilation.zig @@ -6808,6 +6808,7 @@ pub fn addCCArgs( // We communicate these to Clang through the dedicated options. if (std.mem.startsWith(u8, llvm_name, "soft-float") or std.mem.startsWith(u8, llvm_name, "hard-float") or + (target.cpu.arch.isPowerPC() and std.mem.startsWith(u8, llvm_name, "64bit")) or (target.cpu.arch.isX86() and std.mem.startsWith(u8, llvm_name, "x32")) or (target.cpu.arch == .s390x and std.mem.eql(u8, llvm_name, "backchain"))) continue; diff --git a/src/Package/Module.zig b/src/Package/Module.zig index 3c4f36f151..aee98bbe3d 100644 --- a/src/Package/Module.zig +++ b/src/Package/Module.zig @@ -347,6 +347,7 @@ pub fn create(arena: Allocator, options: CreateOptions) !*Package.Module { // See https://github.com/ziglang/zig/issues/23539 if (target_util.isDynamicAMDGCNFeature(target, feature)) continue; + if (target.cpu.arch.isPowerPC() and @as(std.Target.powerpc.Feature, @enumFromInt(feature.index)) == .@"64bit") continue; if (target.cpu.arch.isX86() and @as(std.Target.x86.Feature, @enumFromInt(feature.index)) == .x32) continue; var is_enabled = target.cpu.features.isEnabled(feature.index);