OSDN Git Service

Update aosp/master llvm for rebase to r233350
[android-x86/external-llvm.git] / test / CodeGen / PowerPC / or-addressing-mode.ll
index 7058fb2..f98b34c 100644 (file)
@@ -1,22 +1,22 @@
-; RUN: llvm-upgrade < %s | llvm-as | llc | not grep ori
-; RUN: llvm-upgrade < %s | llvm-as | llc | not grep rlwimi
+; RUN: llc < %s -mtriple=powerpc-apple-darwin8 | not grep ori
+; RUN: llc < %s -mtriple=powerpc-apple-darwin8 | not grep rlwimi
 
-int %test1(sbyte* %P) {  ;; or -> lwzx
-        %tmp.2.i = cast sbyte* %P to uint
-        %tmp.4.i = and uint %tmp.2.i, 4294901760
-        %tmp.10.i = shr uint %tmp.2.i, ubyte 5
-        %tmp.11.i = and uint %tmp.10.i, 2040
-        %tmp.13.i = or uint %tmp.11.i, %tmp.4.i
-        %tmp.14.i = cast uint %tmp.13.i to int*
-        %tmp.3 = load int* %tmp.14.i
-        ret int %tmp.3
+define i32 @test1(i8* %P) {
+        %tmp.2.i = ptrtoint i8* %P to i32               ; <i32> [#uses=2]
+        %tmp.4.i = and i32 %tmp.2.i, -65536             ; <i32> [#uses=1]
+        %tmp.10.i = lshr i32 %tmp.2.i, 5                ; <i32> [#uses=1]
+        %tmp.11.i = and i32 %tmp.10.i, 2040             ; <i32> [#uses=1]
+        %tmp.13.i = or i32 %tmp.11.i, %tmp.4.i          ; <i32> [#uses=1]
+        %tmp.14.i = inttoptr i32 %tmp.13.i to i32*              ; <i32*> [#uses=1]
+        %tmp.3 = load i32, i32* %tmp.14.i            ; <i32> [#uses=1]
+        ret i32 %tmp.3
 }
 
-int %test2(int %P) {    ;; or -> lwz
-        %tmp.2 = shl int %P, ubyte 4
-        %tmp.3 = or int %tmp.2, 2
-        %tmp.4 = cast int %tmp.3 to int*
-        %tmp.5 = load int* %tmp.4
-        ret int %tmp.5
+define i32 @test2(i32 %P) {
+        %tmp.2 = shl i32 %P, 4          ; <i32> [#uses=1]
+        %tmp.3 = or i32 %tmp.2, 2               ; <i32> [#uses=1]
+        %tmp.4 = inttoptr i32 %tmp.3 to i32*            ; <i32*> [#uses=1]
+        %tmp.5 = load i32, i32* %tmp.4               ; <i32> [#uses=1]
+        ret i32 %tmp.5
 }