fix PR6533 by updating the br(xor) code to remember the case
[oota-llvm.git] / test / CodeGen / PowerPC / addi-reassoc.ll
index 7cfbd8653f5dd09b4816c94ec1deb05943c0b9f2..2b71ce65f6bca6852bc27fda625dac218f84eaeb 100644 (file)
@@ -1,21 +1,19 @@
-; RUN: llvm-upgrade < %s | llvm-as | llc -march=ppc32 &&
-; RUN: llvm-upgrade < %s | llvm-as | llc -march=ppc32 | not grep addi
+; RUN: llc < %s -march=ppc32 | not grep addi
 
-        %struct.X = type { [5 x sbyte] }
-implementation   ; Functions:
+        %struct.X = type { [5 x i8] }
 
-int %test1([4 x int]* %P, int %i) {
-        %tmp.2 = add int %i, 2          ; <int> [#uses=1]
-        %tmp.4 = getelementptr [4 x int]* %P, int %tmp.2, int 1
-        %tmp.5 = load int* %tmp.4
-        ret int %tmp.5
+define i32 @test1([4 x i32]* %P, i32 %i) {
+        %tmp.2 = add i32 %i, 2          ; <i32> [#uses=1]
+        %tmp.4 = getelementptr [4 x i32]* %P, i32 %tmp.2, i32 1         ; <i32*> [#uses=1]
+        %tmp.5 = load i32* %tmp.4               ; <i32> [#uses=1]
+        ret i32 %tmp.5
 }
 
-int %test2(%struct.X* %P, int %i) {
-        %tmp.2 = add int %i, 2
-        %tmp.5 = getelementptr %struct.X* %P, int %tmp.2, uint 0, int 1
-        %tmp.6 = load sbyte* %tmp.5
-        %tmp.7 = cast sbyte %tmp.6 to int
-        ret int %tmp.7
+define i32 @test2(%struct.X* %P, i32 %i) {
+        %tmp.2 = add i32 %i, 2          ; <i32> [#uses=1]
+        %tmp.5 = getelementptr %struct.X* %P, i32 %tmp.2, i32 0, i32 1          ; <i8*> [#uses=1]
+        %tmp.6 = load i8* %tmp.5                ; <i8> [#uses=1]
+        %tmp.7 = sext i8 %tmp.6 to i32          ; <i32> [#uses=1]
+        ret i32 %tmp.7
 }