diff options
| author | Jeroen van Rijn <Kelimion@users.noreply.github.com> | 2024-06-09 11:01:31 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-06-09 11:01:31 +0200 |
| commit | 14f08ff02bfca5a79fe14a521448bd28484e45b6 (patch) | |
| tree | 1ef21f732460907c74deb2a7f4997567ba40b7a9 | |
| parent | 5d5ef78de9e09f01ed29f3f7791141a5cefdd2ed (diff) | |
| parent | 9ad9236c3bc2d9ea538bd1e5050141c85e0732ab (diff) | |
Merge pull request #3712 from laytan/fix-large-ints-amd64sysv-abi
fix large ints amd64 sysv abi
| -rw-r--r-- | src/llvm_abi.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/llvm_abi.cpp b/src/llvm_abi.cpp index 85a16d321..1f7a39447 100644 --- a/src/llvm_abi.cpp +++ b/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); |