diff --git a/src/Zcu.zig b/src/Zcu.zig index 81021b71e4..ae6105557b 100644 --- a/src/Zcu.zig +++ b/src/Zcu.zig @@ -3607,7 +3607,8 @@ pub fn callconvSupported(zcu: *Zcu, cc: std.builtin.CallingConvention) union(enu else => false, }, .stage2_x86_64 => switch (cc) { - .x86_64_sysv, .x86_64_win, .naked => true, // stack alignment supported + .x86_64_sysv, .x86_64_win => |opts| opts.incoming_stack_alignment == null, + .naked => true, else => false, }, .stage2_aarch64 => switch (cc) { diff --git a/src/arch/riscv64/CodeGen.zig b/src/arch/riscv64/CodeGen.zig index 517d2e9d9d..61eaf373f5 100644 --- a/src/arch/riscv64/CodeGen.zig +++ b/src/arch/riscv64/CodeGen.zig @@ -820,10 +820,7 @@ pub fn generate( try function.frame_allocs.resize(gpa, FrameIndex.named_count); function.frame_allocs.set( @intFromEnum(FrameIndex.stack_frame), - FrameAlloc.init(.{ - .size = 0, - .alignment = .fromByteUnits(target_util.stackAlignment(function.target.*, fn_type.fnCallingConvention(zcu))), - }), + FrameAlloc.init(.{ .size = 0, .alignment = .@"1" }), ); function.frame_allocs.set( @intFromEnum(FrameIndex.call_frame), diff --git a/src/arch/x86_64/CodeGen.zig b/src/arch/x86_64/CodeGen.zig index 54c881a487..7adeae77f9 100644 --- a/src/arch/x86_64/CodeGen.zig +++ b/src/arch/x86_64/CodeGen.zig @@ -871,10 +871,7 @@ pub fn generate( try function.frame_allocs.resize(gpa, FrameIndex.named_count); function.frame_allocs.set( @intFromEnum(FrameIndex.stack_frame), - FrameAlloc.init(.{ - .size = 0, - .alignment = .fromByteUnits(target_util.stackAlignment(function.target.*, fn_type.fnCallingConvention(zcu))), - }), + FrameAlloc.init(.{ .size = 0, .alignment = .@"1" }), ); function.frame_allocs.set( @intFromEnum(FrameIndex.call_frame),