split LowerMEMCPY into LowerMEMCPYCall and LowerMEMCPYInline in the ARM backend.
[oota-llvm.git] / lib / Target / PowerPC / PPCCallingConv.td
index 2b69d46bab617b043560e40feb1ff0c507c10cb4..0991d8397c78ba35216e298f94f72f36c2383c48 100644 (file)
@@ -25,7 +25,8 @@ def RetCC_PPC : CallingConv<[
   CCIfType<[i32], CCAssignToReg<[R3, R4]>>,
   CCIfType<[i64], CCAssignToReg<[X3, X4]>>,
   
-  CCIfType<[f32, f64], CCAssignToReg<[F1]>>,
+  CCIfType<[f32], CCAssignToReg<[F1]>>,
+  CCIfType<[f64], CCAssignToReg<[F1, F2]>>,
   
   // Vector types are always returned in V2.
   CCIfType<[v16i8, v8i16, v4i32, v4f32], CCAssignToReg<[V2]>>
@@ -41,11 +42,11 @@ def CC_PPC : CallingConv<[
   CCIfType<[i32], CCAssignToReg<[R3, R4, R5, R6, R7, R8, R9, R10]>>,
   CCIfType<[i64], CCAssignToReg<[X3, X4, X5, X6, X7, X8, X9, X10]>>,
   
-  // Darwin passes FP values in F1 - F13
+  // Common sub-targets passes FP values in F1 - F13
   CCIfType<[f32, f64], CCIfSubtarget<"isMachoABI()",
            CCAssignToReg<[F1, F2, F3, F4, F5, F6, F7, F8,F9,F10,F11,F12,F13]>>>,
-  // Other sub-targets pass FP values in F1-10.
-  CCIfType<[f32, f64], CCAssignToReg<[F1, F2, F3, F4, F5, F6, F7, F8, F9,F10]>>,
+  // ELF32 sub-target pass FP values in F1 - F8.
+  CCIfType<[f32, f64], CCAssignToReg<[F1, F2, F3, F4, F5, F6, F7, F8]>>,
            
   // The first 12 Vector arguments are passed in altivec registers.
   CCIfType<[v16i8, v8i16, v4i32, v4f32],