InstCombine: simplify comparisons to zero of (shl %x, Cst) or (mul %x, Cst)
[oota-llvm.git] / test / Transforms / InstCombine / 2006-10-19-SignedToUnsignedCastAndConst-2.ll
index f7925e138d2e44d8227b7f25ea36ac3f5867c92f..889bbcfa3ea5b562abd22712cc6e4744404fa758 100644 (file)
@@ -1,9 +1,10 @@
 ; The optimizer should be able to remove cast operation here.
-; RUN: llvm-as %s -o - | opt -instcombine | llvm-dis | not grep 'sext.*int'
+; RUN: opt < %s -instcombine -S | \
+; RUN:    not grep sext.*i32
 
-bool %eq_signed_to_small_unsigned(sbyte %SB) {
-   %Y = cast sbyte %SB to uint         ; <uint> [#uses=1]
-   %C = seteq uint %Y, 17              ; <bool> [#uses=1]
-   ret bool %C
- }
+define i1 @eq_signed_to_small_unsigned(i8 %SB) {
+        %Y = sext i8 %SB to i32         ; <i32> [#uses=1]
+        %C = icmp eq i32 %Y, 17         ; <i1> [#uses=1]
+        ret i1 %C
+}