[llvm-commits] [llvm] r59720 - /llvm/trunk/lib/Target/X86/X86CallingConv.td

Mon P Wang wangmp at apple.com
Wed Nov 19 23:48:19 PST 2008


Author: wangmp
Date: Thu Nov 20 01:48:19 2008
New Revision: 59720

URL: http://llvm.org/viewvc/llvm-project?rev=59720&view=rev
Log:
Allow XMM2 and XMM3 to be used for non ABI compliant code.

Modified:
    llvm/trunk/lib/Target/X86/X86CallingConv.td

Modified: llvm/trunk/lib/Target/X86/X86CallingConv.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86CallingConv.td?rev=59720&r1=59719&r2=59720&view=diff

==============================================================================
--- llvm/trunk/lib/Target/X86/X86CallingConv.td (original)
+++ llvm/trunk/lib/Target/X86/X86CallingConv.td Thu Nov 20 01:48:19 2008
@@ -28,10 +28,11 @@
   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.





More information about the llvm-commits mailing list