[Hexagon] Fixing load instruction parsing and reenabling tests.
[oota-llvm.git] / test / CodeGen / PowerPC / 2006-11-10-DAGCombineMiscompile.ll
index a5476eb3b50df6fbb34788b3ed55f783c8356846..49b3b9d18fae1e7f720fc66395e1943ff1b710a6 100644 (file)
@@ -1,14 +1,13 @@
-; RUN: llvm-upgrade < %s | llvm-as | llc -march=ppc32 | grep rlwimi
+; RUN: llc < %s -march=ppc32 | grep rlwimi
 
-void %test(short %div.0.i.i.i.i, int %L_num.0.i.i.i.i, int %tmp1.i.i206.i.i, short* %P) {
-        %X = shl short %div.0.i.i.i.i, ubyte 1          ; <short> [#uses=1]
-        %tmp28.i.i.i.i = shl int %L_num.0.i.i.i.i, ubyte 1              ; <int> [#uses=2]
-        %tmp31.i.i.i.i = setlt int %tmp28.i.i.i.i, %tmp1.i.i206.i.i             ; <bool> [#uses=2]
-
-        %tmp31.i.i.i.i = cast bool %tmp31.i.i.i.i to short              ; <short> [#uses=1]
-        %tmp371.i.i.i.i1 = or short %tmp31.i.i.i.i, %X          ; <short> [#uses=1]
-        %div.0.be.i.i.i.i = xor short %tmp371.i.i.i.i1, 1               ; <short> [#uses=1]
-        store short %div.0.be.i.i.i.i, short* %P
+define void @test(i16 %div.0.i.i.i.i, i32 %L_num.0.i.i.i.i, i32 %tmp1.i.i206.i.i, i16* %P) {
+        %X = shl i16 %div.0.i.i.i.i, 1          ; <i16> [#uses=1]
+        %tmp28.i.i.i.i = shl i32 %L_num.0.i.i.i.i, 1            ; <i32> [#uses=1]
+        %tmp31.i.i.i.i = icmp slt i32 %tmp28.i.i.i.i, %tmp1.i.i206.i.i          ; <i1> [#uses=1]
+        %tmp31.i.i.i.i.upgrd.1 = zext i1 %tmp31.i.i.i.i to i16          ; <i16> [#uses=1]
+        %tmp371.i.i.i.i1 = or i16 %tmp31.i.i.i.i.upgrd.1, %X            ; <i16> [#uses=1]
+        %div.0.be.i.i.i.i = xor i16 %tmp371.i.i.i.i1, 1         ; <i16> [#uses=1]
+        store i16 %div.0.be.i.i.i.i, i16* %P
         ret void
 }