As Dan pointed out, movzbl, movsbl, and friends are nicer than their alias
[oota-llvm.git] / test / CodeGen / X86 / bool-zext.ll
index 67168d4bf04f2eb7a15a04a3153abc705db183b9..d2c30c64f23737f3ea2d32b58a90fbdca3be5195 100644 (file)
@@ -6,7 +6,7 @@
 define void @bar1(i1 zeroext %v1) nounwind ssp {
 entry:
   %conv = zext i1 %v1 to i32
-  %call = tail call i32 (...)* @foo(i32 %conv) nounwind
+  %call = tail call i32 (...)* @foo1(i32 %conv) nounwind
   ret void
 }
 
@@ -16,8 +16,20 @@ entry:
 define void @bar2(i8 zeroext %v1) nounwind ssp {
 entry:
   %conv = zext i8 %v1 to i32
-  %call = tail call i32 (...)* @foo(i32 %conv) nounwind
+  %call = tail call i32 (...)* @foo1(i32 %conv) nounwind
   ret void
 }
 
-declare i32 @foo(...)
+; CHECK: @bar3
+; CHECK: callq
+; CHECK-NOT: movzbl
+; CHECK-NOT: and
+; CHECK: ret
+define zeroext i1 @bar3() nounwind ssp {
+entry:
+  %call = call i1 @foo2() nounwind
+  ret i1 %call
+}
+
+declare i32 @foo1(...)
+declare zeroext i1 @foo2()