summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>2008-08-03 15:37:43 +0000
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>2008-08-03 15:37:43 +0000
commit64cf160fef3c6916b6e30a9ff80484e3098b34e2 (patch)
tree03d608398833723c7e26f5961db642c97a89f705
parent91ef849e6cb01a019dc50ed4e95c058e01616062 (diff)
downloadllvm-64cf160fef3c6916b6e30a9ff80484e3098b34e2.tar.gz
llvm-64cf160fef3c6916b6e30a9ff80484e3098b34e2.tar.bz2
llvm-64cf160fef3c6916b6e30a9ff80484e3098b34e2.tar.xz
Fix PR2615
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54312 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/Mips/MipsCallingConv.td8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/Target/Mips/MipsCallingConv.td b/lib/Target/Mips/MipsCallingConv.td
index c05e82d5b5..034a8d16ca 100644
--- a/lib/Target/Mips/MipsCallingConv.td
+++ b/lib/Target/Mips/MipsCallingConv.td
@@ -30,7 +30,13 @@ def CC_MipsO32 : CallingConv<[
def RetCC_MipsO32 : CallingConv<[
// i32 are returned in registers V0, V1
- CCIfType<[i32], CCAssignToReg<[V0, V1]>>
+ CCIfType<[i32], CCAssignToReg<[V0, V1]>>,
+
+ // f32 are returned in registers F0, F1
+ CCIfType<[f32], CCAssignToReg<[F0, F1]>>,
+
+ // f64 are returned in register D0
+ CCIfType<[f64], CCIfSubtarget<"isNotSingleFloat()", CCAssignToReg<[D0]>>>
]>;
//===----------------------------------------------------------------------===//