diff options
| author | gingerBill <bill@gingerbill.org> | 2021-05-10 21:16:26 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2021-05-10 21:16:26 +0100 |
| commit | ff6fdc7812bce3edfbf102dddc97c5821da6e840 (patch) | |
| tree | ed51ae2f65ec915afe9ddf9db54cba30060b98f0 /src/llvm_abi.cpp | |
| parent | c85c5ec38cae351ef8394553cdc701cb854656c9 (diff) | |
Correct SysV ABI for `-> (f32, bool)`
Diffstat (limited to 'src/llvm_abi.cpp')
| -rw-r--r-- | src/llvm_abi.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/llvm_abi.cpp b/src/llvm_abi.cpp index 739d43d60..6635423e7 100644 --- a/src/llvm_abi.cpp +++ b/src/llvm_abi.cpp @@ -549,6 +549,11 @@ namespace lbAbiAmd64SysV { } else if (oldv == RegClass_Memory || newv == RegClass_Memory) { return; } else if (oldv == RegClass_Int || newv == RegClass_Int) { + if (oldv == RegClass_SSEFv || oldv == RegClass_SSEFs) { + oldv = RegClass_Int; + } else if (newv == RegClass_SSEFv || newv == RegClass_SSEFs) { + oldv = RegClass_Int; + } return; } else if (oldv == RegClass_X87 || oldv == RegClass_X87Up || oldv == RegClass_ComplexX87 || newv == RegClass_X87 || newv == RegClass_X87Up || newv == RegClass_ComplexX87) { |