Browse Source

Merge pull request #3712 from laytan/fix-large-ints-amd64sysv-abi

fix large ints amd64 sysv abi
Jeroen van Rijn 1 year ago
parent
commit
14f08ff02b
1 changed files with 9 additions and 1 deletions
  1. 9 1
      src/llvm_abi.cpp

+ 9 - 1
src/llvm_abi.cpp

@@ -900,7 +900,15 @@ namespace lbAbiAmd64SysV {
 		}
 
 		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 LLVMHalfTypeKind:
 			unify(cls, ix + off/8, RegClass_Int);