Fix live variables issues:
[oota-llvm.git] / test / CodeGen / Generic / 2006-04-28-Sign-extend-bool.ll
index 719c66d552e3f422f6c51cf2d6100d7c15ef7965..6b9bf11860f98180eb8d9cfe8a9577b572f7d94d 100644 (file)
@@ -1,10 +1,9 @@
 ; RUN: llvm-as < %s | llc
 
-int %test(int %tmp93) {
-       %tmp98 = shl int %tmp93, ubyte 31               ; <int> [#uses=1]
-       %tmp99 = shr int %tmp98, ubyte 31               ; <int> [#uses=1]
-       %tmp99 = cast int %tmp99 to sbyte               ; <sbyte> [#uses=1]
-       %tmp99100 = cast sbyte %tmp99 to int            ; <int> [#uses=1]
-       ret int %tmp99100
+define i32 @test(i32 %tmp93) {
+        %tmp98 = shl i32 %tmp93, 31             ; <i32> [#uses=1]
+        %tmp99 = ashr i32 %tmp98, 31            ; <i32> [#uses=1]
+        %tmp99.upgrd.1 = trunc i32 %tmp99 to i8         ; <i8> [#uses=1]
+        %tmp99100 = sext i8 %tmp99.upgrd.1 to i32               ; <i32> [#uses=1]
+        ret i32 %tmp99100
 }
-