From b11f95cec7468f99d2293863fec8e76e0529d3a8 Mon Sep 17 00:00:00 2001 From: lemon Date: Thu, 18 Dec 2025 20:27:27 +0100 Subject: x86-64 abi: fix wrong class being used in float vararg --- x86_64/sysv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'x86_64/sysv.c') diff --git a/x86_64/sysv.c b/x86_64/sysv.c index 32cc9e5..1c63782 100644 --- a/x86_64/sysv.c +++ b/x86_64/sysv.c @@ -275,7 +275,7 @@ vaarg(struct function *fn, struct block *blk, int *curi) phi = insertphi(merge, KPTR); memcpy(phitab.p[instrtab[phi.i].l.i], phiargs, sizeof phiargs); if (!ty.isagg) { - instrtab[var] = mkinstr(cls[0] == KI32 ? Oloads32 : Oloadi64, cls[0], phi); + instrtab[var] = mkinstr(cls2load[cls[0]], cls[0], phi); } else { instrtab[var] = mkalloca(8, 8); tmp = insertinstr(merge, 1, mkinstr(Oloadi64, KI64, phi)); -- cgit v1.2.3