diff options
Diffstat (limited to 'test/CodeGen/XCore/byVal.ll')
| -rw-r--r-- | test/CodeGen/XCore/byVal.ll | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/test/CodeGen/XCore/byVal.ll b/test/CodeGen/XCore/byVal.ll deleted file mode 100644 index df6c6d351d18..000000000000 --- a/test/CodeGen/XCore/byVal.ll +++ /dev/null @@ -1,73 +0,0 @@ -; RUN: llc < %s -march=xcore | FileCheck %s - -; CHECK-LABEL: f0Test -; CHECK: entsp 1 -; CHECK: bl f0 -; CHECK: retsp 1 -%struct.st0 = type { [0 x i32] } -declare void @f0(%struct.st0*) nounwind -define void @f0Test(%struct.st0* byval %s0) nounwind { -entry: - call void @f0(%struct.st0* %s0) nounwind - ret void -} - -; CHECK-LABEL: f1Test -; CHECK: entsp 13 -; CHECK: stw r4, sp[12] -; CHECK: stw r5, sp[11] -; CHECK: mov r4, r0 -; CHECK: ldaw r5, sp[1] -; CHECK: ldc r2, 40 -; CHECK: mov r0, r5 -; CHECK: bl __memcpy_4 -; CHECK: mov r0, r5 -; CHECK: bl f1 -; CHECK: mov r0, r4 -; CHECK: ldw r5, sp[11] -; CHECK: ldw r4, sp[12] -; CHECK: retsp 13 -%struct.st1 = type { [10 x i32] } -declare void @f1(%struct.st1*) nounwind -define i32 @f1Test(i32 %i, %struct.st1* byval %s1) nounwind { -entry: - call void @f1(%struct.st1* %s1) nounwind - ret i32 %i -} - -; CHECK-LABEL: f2Test -; CHECK: extsp 4 -; CHECK: stw lr, sp[1] -; CHECK: stw r2, sp[3] -; CHECK: stw r3, sp[4] -; CHECK: ldw r0, r0[0] -; CHECK: stw r0, sp[2] -; CHECK: ldaw r2, sp[2] -; CHECK: mov r0, r1 -; CHECK: mov r1, r2 -; CHECK: bl f2 -; CHECK: ldw lr, sp[1] -; CHECK: ldaw sp, sp[4] -; CHECK: retsp 0 -%struct.st2 = type { i32 } -declare void @f2(i32, %struct.st2*) nounwind -define void @f2Test(%struct.st2* byval %s2, i32 %i, ...) nounwind { -entry: - call void @f2(i32 %i, %struct.st2* %s2) - ret void -} - -; CHECK-LABEL: f3Test -; CHECK: entsp 2 -; CHECK: ldc r1, 0 -; CHECK: ld8u r2, r0[r1] -; CHECK: ldaw r0, sp[1] -; CHECK: st8 r2, r0[r1] -; CHECK: bl f -; CHECK: retsp 2 -declare void @f3(i8*) nounwind -define void @f3Test(i8* byval %v) nounwind { -entry: - call void @f3(i8* %v) nounwind - ret void -} |
