arm64 HFA eligibility; byval stack slot align on i386, amd64 + callsite; sse eightbyte merge

This commit is contained in:
kalsprite
2026-08-12 23:11:39 -07:00
parent 8470c6eda2
commit c2389067d2
2 changed files with 66 additions and 24 deletions

View File

@@ -1033,6 +1033,11 @@ gb_internal lbValue lb_emit_call_internal(lbProcedure *p, lbValue value, lbValue
if (attribute != nullptr) {
LLVMAddCallSiteAttribute(ret, param_offset, attribute);
}
// `byval`'s alignment decides the outgoing stack slot, and LLVM reads it
// from the CALL, not the declaration
if (ft->args[i].align_attribute != nullptr) {
LLVMAddCallSiteAttribute(ret, param_offset, ft->args[i].align_attribute);
}
param_offset += 1;
}