fix large ints amd64 sysv abi

Fixes #3707
This commit is contained in:
Laytan Laats
2024-06-09 02:47:05 +02:00
parent 96c06185dd
commit 9ad9236c3b
+9 -1
View File
@@ -900,7 +900,15 @@ namespace lbAbiAmd64SysV {
} }
switch (LLVMGetTypeKind(t)) { switch (LLVMGetTypeKind(t)) {
case LLVMIntegerTypeKind: case LLVMIntegerTypeKind: {
i64 s = t_size;
while (s > 0) {
unify(cls, ix + off/8, RegClass_Int);
off += 8;
s -= 8;
}
break;
}
case LLVMPointerTypeKind: case LLVMPointerTypeKind:
case LLVMHalfTypeKind: case LLVMHalfTypeKind:
unify(cls, ix + off/8, RegClass_Int); unify(cls, ix + off/8, RegClass_Int);