Add simple arithmetics and %type directive for PTX

llvm-svn: 119485
diff --git a/llvm/test/CodeGen/PTX/add.ll b/llvm/test/CodeGen/PTX/add.ll
new file mode 100644
index 0000000..1259d03
--- /dev/null
+++ b/llvm/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/llvm/test/CodeGen/PTX/exit.ll b/llvm/test/CodeGen/PTX/exit.ll
index 1fb297c..396898b 100644
--- a/llvm/test/CodeGen/PTX/exit.ll
+++ b/llvm/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/llvm/test/CodeGen/PTX/mov.ll b/llvm/test/CodeGen/PTX/mov.ll
index 287b846..c365e9b 100644
--- a/llvm/test/CodeGen/PTX/mov.ll
+++ b/llvm/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/llvm/test/CodeGen/PTX/ret.ll b/llvm/test/CodeGen/PTX/ret.ll
index c129ffe..d5037f2 100644
--- a/llvm/test/CodeGen/PTX/ret.ll
+++ b/llvm/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/llvm/test/CodeGen/PTX/sub.ll b/llvm/test/CodeGen/PTX/sub.ll
new file mode 100644
index 0000000..aab3fda
--- /dev/null
+++ b/llvm/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
+}