diff options
author | Bob Wilson <bob.wilson@apple.com> | 2009-04-17 19:07:39 +0000 |
---|---|---|
committer | Bob Wilson <bob.wilson@apple.com> | 2009-04-17 19:07:39 +0000 |
commit | 1f595bb42950088ccb8246e6b065a96027b46ec6 (patch) | |
tree | 4f697a8bf24d7aca7c17a6042b6c9307ce43c36d /test | |
parent | 5bea822a0c21d46b2ee539a38474735b2617365d (diff) | |
download | llvm-1f595bb42950088ccb8246e6b065a96027b46ec6.tar.gz llvm-1f595bb42950088ccb8246e6b065a96027b46ec6.tar.bz2 llvm-1f595bb42950088ccb8246e6b065a96027b46ec6.tar.xz |
Use CallConvLower.h and TableGen descriptions of the calling conventions
for ARM. Patch by Sandeep Patel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69371 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/CodeGen/ARM/arguments2.ll | 9 | ||||
-rw-r--r-- | test/CodeGen/ARM/arguments3.ll | 9 | ||||
-rw-r--r-- | test/CodeGen/ARM/arguments4.ll | 9 | ||||
-rw-r--r-- | test/CodeGen/ARM/arguments5.ll | 9 | ||||
-rw-r--r-- | test/CodeGen/ARM/arguments6.ll | 9 | ||||
-rw-r--r-- | test/CodeGen/ARM/arguments7.ll | 9 | ||||
-rw-r--r-- | test/CodeGen/ARM/arguments8.ll | 9 | ||||
-rw-r--r-- | test/CodeGen/ARM/formal.ll | 8 | ||||
-rw-r--r-- | test/CodeGen/ARM/ret_f32_arg2.ll | 6 | ||||
-rw-r--r-- | test/CodeGen/ARM/ret_f32_arg5.ll | 6 | ||||
-rw-r--r-- | test/CodeGen/ARM/ret_f64_arg2.ll | 6 | ||||
-rw-r--r-- | test/CodeGen/ARM/ret_f64_arg_reg_split.ll | 6 | ||||
-rw-r--r-- | test/CodeGen/ARM/ret_f64_arg_split.ll | 6 | ||||
-rw-r--r-- | test/CodeGen/ARM/ret_f64_arg_stack.ll | 6 | ||||
-rw-r--r-- | test/CodeGen/ARM/ret_i128_arg2.ii | 6 | ||||
-rw-r--r-- | test/CodeGen/ARM/ret_i64_arg2.ll | 6 | ||||
-rw-r--r-- | test/CodeGen/ARM/ret_i64_arg3.ll | 6 | ||||
-rw-r--r-- | test/CodeGen/ARM/ret_i64_arg_split.ll | 6 |
18 files changed, 131 insertions, 0 deletions
diff --git a/test/CodeGen/ARM/arguments2.ll b/test/CodeGen/ARM/arguments2.ll new file mode 100644 index 0000000000..eb7e45b4f3 --- /dev/null +++ b/test/CodeGen/ARM/arguments2.ll @@ -0,0 +1,9 @@ +; RUN: llvm-as < %s | llc -mtriple=arm-linux-gnueabi +; RUN: llvm-as < %s | llc -mtriple=arm-apple-darwin + +define i32 @f(i32 %a, i128 %b) { + %tmp = call i32 @g(i128 %b) + ret i32 %tmp +} + +declare i32 @g(i128) diff --git a/test/CodeGen/ARM/arguments3.ll b/test/CodeGen/ARM/arguments3.ll new file mode 100644 index 0000000000..97c040521d --- /dev/null +++ b/test/CodeGen/ARM/arguments3.ll @@ -0,0 +1,9 @@ +; RUN: llvm-as < %s | llc -mtriple=arm-linux-gnueabi +; RUN: llvm-as < %s | llc -mtriple=arm-apple-darwin + +define i64 @f(i32 %a, i128 %b) { + %tmp = call i64 @g(i128 %b) + ret i64 %tmp +} + +declare i64 @g(i128) diff --git a/test/CodeGen/ARM/arguments4.ll b/test/CodeGen/ARM/arguments4.ll new file mode 100644 index 0000000000..63ba64b27f --- /dev/null +++ b/test/CodeGen/ARM/arguments4.ll @@ -0,0 +1,9 @@ +; RUN: llvm-as < %s | llc -mtriple=arm-linux-gnueabi +; RUN: llvm-as < %s | llc -mtriple=arm-apple-darwin + +define float @f(i32 %a, i128 %b) { + %tmp = call float @g(i128 %b) + ret float %tmp +} + +declare float @g(i128) diff --git a/test/CodeGen/ARM/arguments5.ll b/test/CodeGen/ARM/arguments5.ll new file mode 100644 index 0000000000..2000ff7b4a --- /dev/null +++ b/test/CodeGen/ARM/arguments5.ll @@ -0,0 +1,9 @@ +; RUN: llvm-as < %s | llc -mtriple=arm-linux-gnueabi +; RUN: llvm-as < %s | llc -mtriple=arm-apple-darwin + +define double @f(i32 %a, i128 %b) { + %tmp = call double @g(i128 %b) + ret double %tmp +} + +declare double @g(i128) diff --git a/test/CodeGen/ARM/arguments6.ll b/test/CodeGen/ARM/arguments6.ll new file mode 100644 index 0000000000..a18c621d14 --- /dev/null +++ b/test/CodeGen/ARM/arguments6.ll @@ -0,0 +1,9 @@ +; RUN: llvm-as < %s | llc -mtriple=arm-linux-gnueabi +; RUN: llvm-as < %s | llc -mtriple=arm-apple-darwin + +define i128 @f(i32 %a, i128 %b) { + %tmp = call i128 @g(i128 %b) + ret i128 %tmp +} + +declare i128 @g(i128) diff --git a/test/CodeGen/ARM/arguments7.ll b/test/CodeGen/ARM/arguments7.ll new file mode 100644 index 0000000000..489ffd4160 --- /dev/null +++ b/test/CodeGen/ARM/arguments7.ll @@ -0,0 +1,9 @@ +; RUN: llvm-as < %s | llc -mtriple=arm-linux-gnueabi +; RUN: llvm-as < %s | llc -mtriple=arm-apple-darwin + +define double @f(i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, double %b) { + %tmp = call double @g(i32 %a2, i32 %a3, i32 %a4, i32 %a5, double %b) + ret double %tmp +} + +declare double @g(double) diff --git a/test/CodeGen/ARM/arguments8.ll b/test/CodeGen/ARM/arguments8.ll new file mode 100644 index 0000000000..5ff7e09548 --- /dev/null +++ b/test/CodeGen/ARM/arguments8.ll @@ -0,0 +1,9 @@ +; RUN: llvm-as < %s | llc -mtriple=arm-linux-gnueabi +; RUN: llvm-as < %s | llc -mtriple=arm-apple-darwin + +define i64 @f(i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, i64 %b) { + %tmp = call i64 @g(i32 %a2, i32 %a3, i32 %a4, i32 %a5, i64 %b) + ret i64 %tmp +} + +declare i64 @g(i64) diff --git a/test/CodeGen/ARM/formal.ll b/test/CodeGen/ARM/formal.ll new file mode 100644 index 0000000000..6d6d108f32 --- /dev/null +++ b/test/CodeGen/ARM/formal.ll @@ -0,0 +1,8 @@ +; RUN: llvm-as < %s | llc -march=arm -mattr=+vfp2 + +declare void @bar(i64 %x, i64 %y) + +define void @foo() { + call void @bar(i64 2, i64 3) + ret void +} diff --git a/test/CodeGen/ARM/ret_f32_arg2.ll b/test/CodeGen/ARM/ret_f32_arg2.ll new file mode 100644 index 0000000000..287d92b9eb --- /dev/null +++ b/test/CodeGen/ARM/ret_f32_arg2.ll @@ -0,0 +1,6 @@ +; RUN: llvm-as < %s | llc -march=arm -mattr=+vfp2 + +define float @test_f32(float %a1, float %a2) { + ret float %a2 +} + diff --git a/test/CodeGen/ARM/ret_f32_arg5.ll b/test/CodeGen/ARM/ret_f32_arg5.ll new file mode 100644 index 0000000000..3418be93e1 --- /dev/null +++ b/test/CodeGen/ARM/ret_f32_arg5.ll @@ -0,0 +1,6 @@ +; RUN: llvm-as < %s | llc -march=arm -mattr=+vfp2 + +define float @test_f32_arg5(float %a1, float %a2, float %a3, float %a4, float %a5) { + ret float %a5 +} + diff --git a/test/CodeGen/ARM/ret_f64_arg2.ll b/test/CodeGen/ARM/ret_f64_arg2.ll new file mode 100644 index 0000000000..66848d5fb4 --- /dev/null +++ b/test/CodeGen/ARM/ret_f64_arg2.ll @@ -0,0 +1,6 @@ +; RUN: llvm-as < %s | llc -march=arm -mattr=+vfp2 + +define double @test_f64(double %a1, double %a2) { + ret double %a2 +} + diff --git a/test/CodeGen/ARM/ret_f64_arg_reg_split.ll b/test/CodeGen/ARM/ret_f64_arg_reg_split.ll new file mode 100644 index 0000000000..626ee6fb13 --- /dev/null +++ b/test/CodeGen/ARM/ret_f64_arg_reg_split.ll @@ -0,0 +1,6 @@ +; RUN: llvm-as < %s | llc -march=arm -mcpu=arm8 -mattr=+vfp2 + +define double @test_double_arg_reg_split(i32 %a1, double %a2) { + ret double %a2 +} + diff --git a/test/CodeGen/ARM/ret_f64_arg_split.ll b/test/CodeGen/ARM/ret_f64_arg_split.ll new file mode 100644 index 0000000000..b03b604bee --- /dev/null +++ b/test/CodeGen/ARM/ret_f64_arg_split.ll @@ -0,0 +1,6 @@ +; RUN: llvm-as < %s | llc -march=arm -mattr=+vfp2 + +define double @test_double_arg_split(i64 %a1, i32 %a2, double %a3) { + ret double %a3 +} + diff --git a/test/CodeGen/ARM/ret_f64_arg_stack.ll b/test/CodeGen/ARM/ret_f64_arg_stack.ll new file mode 100644 index 0000000000..ba3ec7fb75 --- /dev/null +++ b/test/CodeGen/ARM/ret_f64_arg_stack.ll @@ -0,0 +1,6 @@ +; RUN: llvm-as < %s | llc -march=arm -mattr=+vfp2 + +define double @test_double_arg_stack(i64 %a1, i32 %a2, i32 %a3, double %a4) { + ret double %a4 +} + diff --git a/test/CodeGen/ARM/ret_i128_arg2.ii b/test/CodeGen/ARM/ret_i128_arg2.ii new file mode 100644 index 0000000000..0fe98e6b70 --- /dev/null +++ b/test/CodeGen/ARM/ret_i128_arg2.ii @@ -0,0 +1,6 @@ +; RUN: llvm-as < %s | llc -march=arm -mattr=+vfp2 + +define i128 @test_i128(i128 %a1, i128 %a2, i128 %a3) { + ret i128 %a3 +} + diff --git a/test/CodeGen/ARM/ret_i64_arg2.ll b/test/CodeGen/ARM/ret_i64_arg2.ll new file mode 100644 index 0000000000..b015a96e0b --- /dev/null +++ b/test/CodeGen/ARM/ret_i64_arg2.ll @@ -0,0 +1,6 @@ +; RUN: llvm-as < %s | llc -march=arm -mattr=+vfp2 + +define i64 @test_i64(i64 %a1, i64 %a2) { + ret i64 %a2 +} + diff --git a/test/CodeGen/ARM/ret_i64_arg3.ll b/test/CodeGen/ARM/ret_i64_arg3.ll new file mode 100644 index 0000000000..5dfecca319 --- /dev/null +++ b/test/CodeGen/ARM/ret_i64_arg3.ll @@ -0,0 +1,6 @@ +; RUN: llvm-as < %s | llc -march=arm -mattr=+vfp2 + +define i64 @test_i64_arg3(i64 %a1, i64 %a2, i64 %a3) { + ret i64 %a3 +} + diff --git a/test/CodeGen/ARM/ret_i64_arg_split.ll b/test/CodeGen/ARM/ret_i64_arg_split.ll new file mode 100644 index 0000000000..5bd5cb2a23 --- /dev/null +++ b/test/CodeGen/ARM/ret_i64_arg_split.ll @@ -0,0 +1,6 @@ +; RUN: llvm-as < %s | llc -march=arm -mattr=+vfp2 + +define i64 @test_i64_arg_split(i64 %a1, i32 %a2, i64 %a3) { + ret i64 %a3 +} + |