Add 3 more test cases for ptrtoint, fptoui and fptosi
authorReid Spencer <rspencer@reidspencer.com>
Mon, 27 Nov 2006 19:54:23 +0000 (19:54 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Mon, 27 Nov 2006 19:54:23 +0000 (19:54 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31940 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/X86/trunc-to-bool.ll

index 0af8de2729d314b93f63e56fa3d840c28d94a283..92a0949308c7f100fdfd4021ead9d52e8d2ca3f1 100644 (file)
@@ -2,7 +2,7 @@
 ; sure only the LSBit survives. Test that this is the case both for a returned
 ; value and as the operand of a branch.
 ; RUN: llvm-as < %s | llc -march=x86 &&
-; RUN: llvm-as < %s | llc -march=x86 | grep '\(and\)\|\(test.*\$1\)' | wc -l | grep 3
+; RUN: llvm-as < %s | llc -march=x86 | grep '\(and\)\|\(test.*\$1\)' | wc -l | grep 6
 bool %test1(int %X) {
     %Y = trunc int %X to bool
     ret bool %Y
@@ -30,3 +30,30 @@ cond_true:
 cond_false:
     ret int 42
 }
+
+int %test4(sbyte* %ptr) {
+    %tmp = ptrtoint sbyte* %ptr to bool
+    br bool %tmp, label %cond_true, label %cond_false
+cond_true:
+    ret int 21
+cond_false:
+    ret int 42
+}
+
+int %test5(float %f) {
+    %tmp = fptoui float %f to bool
+    br bool %tmp, label %cond_true, label %cond_false
+cond_true:
+    ret int 21
+cond_false:
+    ret int 42
+}
+
+int %test6(double %d) {
+    %tmp = fptosi double %d to bool
+    br bool %tmp, label %cond_true, label %cond_false
+cond_true:
+    ret int 21
+cond_false:
+    ret int 42
+}