aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2025-09-03 18:22:14 -0700
committerAndrew Kelley <andrew@ziglang.org>2025-09-20 18:33:00 -0700
commitd00aee021befe7555a30854e777358eb98ce549a (patch)
tree3781694108eb58ad5454d27870010e480829bea5 /src
parent09e4fc4dcf180860314c278a594d994f49a9769d (diff)
downloadzig-d00aee021befe7555a30854e777358eb98ce549a.tar.gz
zig-d00aee021befe7555a30854e777358eb98ce549a.zip
x86 codegen: handle spilled tuples
Diffstat (limited to 'src')
-rw-r--r--src/arch/x86_64/CodeGen.zig4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/arch/x86_64/CodeGen.zig b/src/arch/x86_64/CodeGen.zig
index 3222aea55e..f92ceaffb3 100644
--- a/src/arch/x86_64/CodeGen.zig
+++ b/src/arch/x86_64/CodeGen.zig
@@ -187021,6 +187021,10 @@ const Temp = struct {
assert(src_regs.len - part_index == std.math.divCeil(u32, src_abi_size, 8) catch unreachable);
break :part_ty .u64;
},
+ .tuple_type => |tuple_type| {
+ assert(tuple_type.types.len == src_regs.len);
+ break :part_ty .fromInterned(tuple_type.types.get(ip)[part_index]);
+ },
};
const part_size: u31 = @intCast(part_ty.abiSize(zcu));
const src_rc = src_reg.class();