aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_abi.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2021-05-10 21:16:26 +0100
committergingerBill <bill@gingerbill.org>2021-05-10 21:16:26 +0100
commitff6fdc7812bce3edfbf102dddc97c5821da6e840 (patch)
treeed51ae2f65ec915afe9ddf9db54cba30060b98f0 /src/llvm_abi.cpp
parentc85c5ec38cae351ef8394553cdc701cb854656c9 (diff)
Correct SysV ABI for `-> (f32, bool)`
Diffstat (limited to 'src/llvm_abi.cpp')
-rw-r--r--src/llvm_abi.cpp5
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) {