From a1827d597723aff6236001bd0bb74a6b0bab9ce7 Mon Sep 17 00:00:00 2001 From: Jacob Young Date: Wed, 26 Nov 2025 02:34:43 -0500 Subject: x86_64: fix abi of a struct that partially fits in registers Closes #26035 --- src/codegen/x86_64/CodeGen.zig | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/codegen/x86_64/CodeGen.zig') diff --git a/src/codegen/x86_64/CodeGen.zig b/src/codegen/x86_64/CodeGen.zig index 99d768805f..08ca72a5d3 100644 --- a/src/codegen/x86_64/CodeGen.zig +++ b/src/codegen/x86_64/CodeGen.zig @@ -181159,6 +181159,9 @@ fn resolveCallingConventionValues( else => unreachable, } + const save_param_gpr_index = param_gpr_index; + const save_param_sse_index = param_gpr_index; + var arg_mcv: [4]MCValue = undefined; var arg_mcv_len: u32 = 0; @@ -181258,6 +181261,9 @@ fn resolveCallingConventionValues( continue; } + param_gpr_index = save_param_gpr_index; + param_sse_index = save_param_sse_index; + const param_align = ty.abiAlignment(zcu).max(.@"8"); result.stack_byte_count = @intCast(param_align.forward(result.stack_byte_count)); result.stack_align = result.stack_align.max(param_align); -- cgit v1.2.3