[llvm] r207222 - [ARM64] Handle fp128 for parameter passing on stack

Jiangning Liu jiangning.liu at arm.com
Fri Apr 25 05:07:04 PDT 2014


Author: jiangning
Date: Fri Apr 25 07:07:03 2014
New Revision: 207222

URL: http://llvm.org/viewvc/llvm-project?rev=207222&view=rev
Log:
[ARM64] Handle fp128 for parameter passing on stack

Modified:
    llvm/trunk/lib/Target/ARM64/ARM64CallingConvention.td
    llvm/trunk/test/CodeGen/ARM64/aapcs.ll

Modified: llvm/trunk/lib/Target/ARM64/ARM64CallingConvention.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM64/ARM64CallingConvention.td?rev=207222&r1=207221&r2=207222&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM64/ARM64CallingConvention.td (original)
+++ llvm/trunk/lib/Target/ARM64/ARM64CallingConvention.td Fri Apr 25 07:07:03 2014
@@ -59,7 +59,8 @@ def CC_ARM64_AAPCS : CallingConv<[
   CCIfType<[i32, f32], CCAssignToStack<8, 8>>,
   CCIfType<[i64, f64, v1f64, v2f32, v1i64, v2i32, v4i16, v8i8],
            CCAssignToStack<8, 8>>,
-  CCIfType<[v2i64, v4i32, v8i16, v16i8, v4f32, v2f64], CCAssignToStack<16, 16>>
+  CCIfType<[f128, v2i64, v4i32, v8i16, v16i8, v4f32, v2f64],
+           CCAssignToStack<16, 16>>
 ]>;
 
 def RetCC_ARM64_AAPCS : CallingConv<[

Modified: llvm/trunk/test/CodeGen/ARM64/aapcs.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM64/aapcs.ll?rev=207222&r1=207221&r2=207222&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/ARM64/aapcs.ll (original)
+++ llvm/trunk/test/CodeGen/ARM64/aapcs.ll Fri Apr 25 07:07:03 2014
@@ -94,3 +94,10 @@ define i128 @test_i128_shadow([7 x i64]
 
   ret i128 %sp
 }
+
+; This test is to check if fp128 can be correctly handled on stack.
+define fp128 @test_fp128([8 x float] %arg0, fp128 %arg1) {
+; CHECK-LABEL: test_fp128:
+; CHECK: ldr {{q[0-9]+}}, [sp]
+  ret fp128 %arg1
+}





More information about the llvm-commits mailing list