summaryrefslogtreecommitdiff
path: root/lib/Target/X86/X86CallingConv.td
diff options
context:
space:
mode:
authorMon P Wang <wangmp@apple.com>2008-11-20 07:48:19 +0000
committerMon P Wang <wangmp@apple.com>2008-11-20 07:48:19 +0000
commit07239f13cd1123d28a1dea19f5fd4e985d89011a (patch)
tree790aa2a6a3573a47059e41e3208fa1ada446b18c /lib/Target/X86/X86CallingConv.td
parentf0a2d0cb8f08f951731840d604c121ca662a0326 (diff)
downloadllvm-07239f13cd1123d28a1dea19f5fd4e985d89011a.tar.gz
llvm-07239f13cd1123d28a1dea19f5fd4e985d89011a.tar.bz2
llvm-07239f13cd1123d28a1dea19f5fd4e985d89011a.tar.xz
Allow XMM2 and XMM3 to be used for non ABI compliant code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59720 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86CallingConv.td')
-rw-r--r--lib/Target/X86/X86CallingConv.td7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/Target/X86/X86CallingConv.td b/lib/Target/X86/X86CallingConv.td
index c5aef19c7e..385bd91618 100644
--- a/lib/Target/X86/X86CallingConv.td
+++ b/lib/Target/X86/X86CallingConv.td
@@ -28,10 +28,11 @@ def RetCC_X86Common : CallingConv<[
CCIfType<[i32], CCAssignToReg<[EAX, EDX]>>,
CCIfType<[i64], CCAssignToReg<[RAX, RDX]>>,
- // Vector types are returned in XMM0 and XMM1, when they fit. If the target
- // doesn't have XMM registers, it won't have vector types.
+ // Vector types are returned in XMM0 and XMM1, when they fit. XMMM2 and XMM3
+ // can only be used by ABI non-compliant code. If the target doesn't have XMM
+ // registers, it won't have vector types.
CCIfType<[v16i8, v8i16, v4i32, v2i64, v4f32, v2f64],
- CCAssignToReg<[XMM0,XMM1]>>,
+ CCAssignToReg<[XMM0,XMM1,XMM2,XMM3]>>,
// MMX vector types are always returned in MM0. If the target doesn't have
// MM0, it doesn't support these vector types.