aboutsummaryrefslogtreecommitdiff
path: root/src/codegen
diff options
context:
space:
mode:
authorAlex Rønne Petersen <alex@alexrp.com>2025-10-20 03:43:03 +0200
committerAlex Rønne Petersen <alex@alexrp.com>2025-10-23 09:27:17 +0200
commitee72f06f47055ecf3fa650eae9ef49446745f509 (patch)
treea97f16c8d6e40b487be730c32f8aca43445b5c3f /src/codegen
parentc55e83eab1369373fe6db5072802c2fc1c4d7ebc (diff)
downloadzig-ee72f06f47055ecf3fa650eae9ef49446745f509.tar.gz
zig-ee72f06f47055ecf3fa650eae9ef49446745f509.zip
std.Target: add tags and info for alpha, hppa, microblaze, sh
Diffstat (limited to 'src/codegen')
-rw-r--r--src/codegen/c.zig2
-rw-r--r--src/codegen/llvm.zig27
2 files changed, 29 insertions, 0 deletions
diff --git a/src/codegen/c.zig b/src/codegen/c.zig
index bf9be70529..cf0519e1f1 100644
--- a/src/codegen/c.zig
+++ b/src/codegen/c.zig
@@ -8106,6 +8106,8 @@ fn toCallingConvention(cc: std.builtin.CallingConvention, zcu: *Zcu) ?[]const u8
inline else => |m| "interrupt(\"" ++ @tagName(m) ++ "\")",
},
+ .sh_renesas => "renesas",
+
.m68k_rtd => "m68k_rtd",
.avr_interrupt,
diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig
index b922ae0704..8c6f5f973f 100644
--- a/src/codegen/llvm.zig
+++ b/src/codegen/llvm.zig
@@ -106,10 +106,17 @@ pub fn targetTriple(allocator: Allocator, target: *const std.Target) ![]const u8
.wasm64 => "wasm64",
.ve => "ve",
+ .alpha,
.arceb,
+ .hppa,
+ .hppa64,
.kalimba,
+ .microblaze,
+ .microblazeel,
.or1k,
.propeller,
+ .sh,
+ .sheb,
.xtensaeb,
=> unreachable, // Gated by hasLlvmSupport().
};
@@ -475,10 +482,17 @@ pub fn dataLayout(target: *const std.Target) []const u8 {
.loongarch64 => "e-m:e-p:64:64-i64:64-i128:128-n32:64-S128",
.xtensa => "e-m:e-p:32:32-i8:8:32-i16:16:32-i64:64-n32",
+ .alpha,
.arceb,
+ .hppa,
+ .hppa64,
.kalimba,
+ .microblaze,
+ .microblazeel,
.or1k,
.propeller,
+ .sh,
+ .sheb,
.xtensaeb,
=> unreachable, // Gated by hasLlvmSupport().
};
@@ -11908,6 +11922,8 @@ fn toLlvmCallConvTag(cc_tag: std.builtin.CallingConvention.Tag, target: *const s
.aarch64_aapcs,
.aarch64_aapcs_darwin,
.aarch64_aapcs_win,
+ .alpha_osf,
+ .microblaze_std,
.mips64_n64,
.mips64_n32,
.mips_o32,
@@ -11930,6 +11946,8 @@ fn toLlvmCallConvTag(cc_tag: std.builtin.CallingConvention.Tag, target: *const s
.csky_sysv,
.hexagon_sysv,
.hexagon_sysv_hvx,
+ .hppa_elf,
+ .hppa64_elf,
.lanai_sysv,
.loongarch64_lp64,
.loongarch32_ilp32,
@@ -11940,6 +11958,8 @@ fn toLlvmCallConvTag(cc_tag: std.builtin.CallingConvention.Tag, target: *const s
.propeller_sysv,
.s390x_sysv,
.s390x_sysv_vx,
+ .sh_gnu,
+ .sh_renesas,
.ve_sysv,
.xcore_xs1,
.xcore_xs2,
@@ -13111,10 +13131,17 @@ pub fn initializeLLVMTarget(arch: std.Target.Cpu.Arch) void {
},
// LLVM does does not have a backend for these.
+ .alpha,
.arceb,
+ .hppa,
+ .hppa64,
.kalimba,
+ .microblaze,
+ .microblazeel,
.or1k,
.propeller,
+ .sh,
+ .sheb,
.xtensaeb,
=> unreachable,
}