diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2025-09-03 18:22:14 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2025-09-20 18:33:00 -0700 |
| commit | d00aee021befe7555a30854e777358eb98ce549a (patch) | |
| tree | 3781694108eb58ad5454d27870010e480829bea5 /src | |
| parent | 09e4fc4dcf180860314c278a594d994f49a9769d (diff) | |
| download | zig-d00aee021befe7555a30854e777358eb98ce549a.tar.gz zig-d00aee021befe7555a30854e777358eb98ce549a.zip | |
x86 codegen: handle spilled tuples
Diffstat (limited to 'src')
| -rw-r--r-- | src/arch/x86_64/CodeGen.zig | 4 |
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(); |
