- Divides the comparisons in two types: comparisons that only use N and Z
[oota-llvm.git] / test / CodeGen / ARM / tst_teq.ll
diff --git a/test/CodeGen/ARM/tst_teq.ll b/test/CodeGen/ARM/tst_teq.ll
new file mode 100644 (file)
index 0000000..fb2f73b
--- /dev/null
@@ -0,0 +1,21 @@
+; RUN: llvm-as < %s | llc -march=arm &&
+; RUN: llvm-as < %s | llc -march=thumb &&
+; RUN: llvm-as < %s | llc -march=arm | grep "tst" &&
+; RUN: llvm-as < %s | llc -march=arm | grep "teq" &&
+; RUN: llvm-as < %s | llc -march=thumb | grep "tst"
+
+define i32 @f(i32 %a) {
+entry:
+       %tmp2 = and i32 %a, 255         ; <i32> [#uses=1]
+       icmp eq i32 %tmp2, 0            ; <i1>:0 [#uses=1]
+       %retval = select i1 %0, i32 20, i32 10          ; <i32> [#uses=1]
+       ret i32 %retval
+}
+
+define i32 @g(i32 %a) {
+entry:
+        %tmp2 = xor i32 %a, 255
+       icmp eq i32 %tmp2, 0            ; <i1>:0 [#uses=1]
+       %retval = select i1 %0, i32 20, i32 10          ; <i32> [#uses=1]
+       ret i32 %retval
+}