diff options
author | Anton Korobeynikov <asl@math.spbu.ru> | 2008-04-28 07:40:07 +0000 |
---|---|---|
committer | Anton Korobeynikov <asl@math.spbu.ru> | 2008-04-28 07:40:07 +0000 |
commit | fac70f2f4494f4d53bafc17ba4ed0d3a0798cff0 (patch) | |
tree | 0a7c5bf8c51a3320406989b796de01198225e77c | |
parent | c9e280c78a27cc9d64693fcdcf39881e8563e736 (diff) | |
download | bcm5719-llvm-fac70f2f4494f4d53bafc17ba4ed0d3a0798cff0.tar.gz bcm5719-llvm-fac70f2f4494f4d53bafc17ba4ed0d3a0798cff0.zip |
Fix FP return for Win64 ABI
llvm-svn: 50342
-rw-r--r-- | llvm/lib/Target/X86/X86CallingConv.td | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86CallingConv.td b/llvm/lib/Target/X86/X86CallingConv.td index e32a891eba1..60ee0a1bd33 100644 --- a/llvm/lib/Target/X86/X86CallingConv.td +++ b/llvm/lib/Target/X86/X86CallingConv.td @@ -83,6 +83,10 @@ def RetCC_X86_Win64_C : CallingConv<[ // The X86-Win64 calling convention always returns __m64 values in RAX. CCIfType<[v8i8, v4i16, v2i32, v1i64], CCAssignToReg<[RAX]>>, + // And FP in XMM0 only. + CCIfType<[f32], CCAssignToReg<[XMM0]>>, + CCIfType<[f64], CCAssignToReg<[XMM0]>>, + // Otherwise, everything is the same as 'normal' X86-64 C CC. CCDelegateTo<RetCC_X86_64_C> ]>; |