aboutsummaryrefslogtreecommitdiffstats
path: root/test/CodeGen/PTX
diff options
context:
space:
mode:
authorChe-Liang Chiou <clchiou@gmail.com>2010-11-17 08:08:49 +0000
committerChe-Liang Chiou <clchiou@gmail.com>2010-11-17 08:08:49 +0000
commit3f409f7fefea4d4191a914b528afe16fd7d0b4d9 (patch)
treebe75f4fab21344fd61aac50e7cd2c4e4e8eb43c9 /test/CodeGen/PTX
parent3642e64c114e636548888c72c21ae023ee0121a7 (diff)
downloadexternal_llvm-3f409f7fefea4d4191a914b528afe16fd7d0b4d9.zip
external_llvm-3f409f7fefea4d4191a914b528afe16fd7d0b4d9.tar.gz
external_llvm-3f409f7fefea4d4191a914b528afe16fd7d0b4d9.tar.bz2
Add simple arithmetics and %type directive for PTX
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119485 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/PTX')
-rw-r--r--test/CodeGen/PTX/add.ll15
-rw-r--r--test/CodeGen/PTX/exit.ll3
-rw-r--r--test/CodeGen/PTX/mov.ll8
-rw-r--r--test/CodeGen/PTX/ret.ll3
-rw-r--r--test/CodeGen/PTX/sub.ll15
5 files changed, 38 insertions, 6 deletions
diff --git a/test/CodeGen/PTX/add.ll b/test/CodeGen/PTX/add.ll
new file mode 100644
index 0000000..1259d03
--- /dev/null
+++ b/test/CodeGen/PTX/add.ll
@@ -0,0 +1,15 @@
+; RUN: llc < %s -march=ptx | FileCheck %s
+
+define ptx_device i32 @t1(i32 %x, i32 %y) {
+; CHECK: add.s32 r0, r1, r2;
+ %z = add i32 %x, %y
+; CHECK: ret;
+ ret i32 %z
+}
+
+define ptx_device i32 @t2(i32 %x) {
+; CHECK: add.s32 r0, r1, 1;
+ %z = add i32 %x, 1
+; CHECK: ret;
+ ret i32 %z
+}
diff --git a/test/CodeGen/PTX/exit.ll b/test/CodeGen/PTX/exit.ll
index 1fb297c..396898b 100644
--- a/test/CodeGen/PTX/exit.ll
+++ b/test/CodeGen/PTX/exit.ll
@@ -1,6 +1,7 @@
; RUN: llc < %s -march=ptx | FileCheck %s
define ptx_kernel void @t1() {
-;CHECK: exit;
+; CHECK: exit;
+; CHECK-NOT: ret;
ret void
}
diff --git a/test/CodeGen/PTX/mov.ll b/test/CodeGen/PTX/mov.ll
index 287b846..c365e9b 100644
--- a/test/CodeGen/PTX/mov.ll
+++ b/test/CodeGen/PTX/mov.ll
@@ -1,13 +1,13 @@
; RUN: llc < %s -march=ptx | FileCheck %s
define ptx_device i32 @t1() {
-;CHECK: mov.s32 r0, 0;
-;CHECK: ret;
+; CHECK: mov.s32 r0, 0;
+; CHECK: ret;
ret i32 0
}
define ptx_device i32 @t2(i32 %x) {
-;CHECK: mov.s32 r0, r1;
-;CHECK: ret;
+; CHECK: mov.s32 r0, r1;
+; CHECK: ret;
ret i32 %x
}
diff --git a/test/CodeGen/PTX/ret.ll b/test/CodeGen/PTX/ret.ll
index c129ffe..d5037f2 100644
--- a/test/CodeGen/PTX/ret.ll
+++ b/test/CodeGen/PTX/ret.ll
@@ -1,6 +1,7 @@
; RUN: llc < %s -march=ptx | FileCheck %s
define ptx_device void @t1() {
-;CHECK: ret;
+; CHECK: ret;
+; CHECK-NOT: exit;
ret void
}
diff --git a/test/CodeGen/PTX/sub.ll b/test/CodeGen/PTX/sub.ll
new file mode 100644
index 0000000..aab3fda
--- /dev/null
+++ b/test/CodeGen/PTX/sub.ll
@@ -0,0 +1,15 @@
+; RUN: llc < %s -march=ptx | FileCheck %s
+
+define ptx_device i32 @t1(i32 %x, i32 %y) {
+;CHECK: sub.s32 r0, r1, r2;
+ %z = sub i32 %x, %y
+;CHECK: ret;
+ ret i32 %z
+}
+
+define ptx_device i32 @t2(i32 %x) {
+;CHECK: add.s32 r0, r1, -1;
+ %z = sub i32 %x, 1
+;CHECK: ret;
+ ret i32 %z
+}