aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGen/ARM/2013-04-16-AAPCS-C5-vs-VFP.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/CodeGen/ARM/2013-04-16-AAPCS-C5-vs-VFP.ll')
-rw-r--r--test/CodeGen/ARM/2013-04-16-AAPCS-C5-vs-VFP.ll61
1 files changed, 0 insertions, 61 deletions
diff --git a/test/CodeGen/ARM/2013-04-16-AAPCS-C5-vs-VFP.ll b/test/CodeGen/ARM/2013-04-16-AAPCS-C5-vs-VFP.ll
deleted file mode 100644
index 5e82b0925b24..000000000000
--- a/test/CodeGen/ARM/2013-04-16-AAPCS-C5-vs-VFP.ll
+++ /dev/null
@@ -1,61 +0,0 @@
-;Check 5.5 Parameter Passing --> Stage C --> C.5 statement, when NSAA is not
-;equal to SP.
-;
-; Our purpose: make NSAA != SP, and only after start to use GPRs, then pass
-; byval parameter and check that it goes to stack only.
-;
-;Co-Processor register candidates may be either in VFP or in stack, so after
-;all VFP are allocated, stack is used. We can use stack without GPR allocation
-;in that case, passing 9 f64 params, for example.
-;First eight params goes to d0-d7, ninth one goes to the stack.
-;Now, as 10th parameter, we pass i32, and it must go to R0.
-;
-;For more information,
-;please, read 5.5 Parameter Passing, Stage C, stages C.2.cp, C.4 and C.5
-;
-;
-;RUN: llc -mtriple=thumbv7-linux-gnueabihf -float-abi=hard < %s | FileCheck %s
-
-%struct_t = type { i32, i32, i32, i32 }
-@static_val = constant %struct_t { i32 777, i32 888, i32 999, i32 1000 }
-declare void @fooUseStruct(%struct_t*)
-
-define void @foo2(double %p0, ; --> D0
- double %p1, ; --> D1
- double %p2, ; --> D2
- double %p3, ; --> D3
- double %p4, ; --> D4
- double %p5, ; --> D5
- double %p6, ; --> D6
- double %p7, ; --> D7
- double %p8, ; --> Stack
- i32 %p9, ; --> R0
- %struct_t* byval %p10) ; --> Stack+8
-{
-entry:
-;CHECK: push {r7, lr}
-;CHECK-NOT: stm
-;CHECK: add r0, sp, #16
-;CHECK: bl fooUseStruct
- call void @fooUseStruct(%struct_t* %p10)
-
- ret void
-}
-
-define void @doFoo2() {
-entry:
-;CHECK-NOT: ldm
- tail call void @foo2(double 23.0, ; --> D0
- double 23.1, ; --> D1
- double 23.2, ; --> D2
- double 23.3, ; --> D3
- double 23.4, ; --> D4
- double 23.5, ; --> D5
- double 23.6, ; --> D6
- double 23.7, ; --> D7
- double 23.8, ; --> Stack
- i32 43, ; --> R0, not Stack+8
- %struct_t* byval @static_val) ; --> Stack+8, not R1
- ret void
-}
-