Add correct NEON encodings for the "multiple single elements" form of vld.
[oota-llvm.git] / test / Transforms / ScalarRepl / sroa_two.ll
index fa044922e8ba1199f60f0d0003bfb8fe59e1911f..d8aa26dce637740e429d217b6b3f62714c1ea3a9 100644 (file)
@@ -1,16 +1,13 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl | llvm-dis
+; RUN: opt < %s -scalarrepl | llvm-dis
 
-implementation
-
-int %test(int %X) {
-       %Arr = alloca [2 x int]
-       %tmp.0 = getelementptr [2 x int]* %Arr, int 0, int 0
-       store int 1, int* %tmp.0
-       %tmp.1 = getelementptr [2 x int]* %Arr, int 0, int 1
-       store int 2, int* %tmp.1
-
-       ;; This should turn into a select instruction.
-       %tmp.3 = getelementptr [2 x int]* %Arr, int 0, int %X
-       %tmp.4 = load int* %tmp.3
-       ret int %tmp.4
+define i32 @test(i32 %X) {
+       %Arr = alloca [2 x i32]         ; <[2 x i32]*> [#uses=3]
+       %tmp.0 = getelementptr [2 x i32]* %Arr, i32 0, i32 0            ; <i32*> [#uses=1]
+       store i32 1, i32* %tmp.0
+       %tmp.1 = getelementptr [2 x i32]* %Arr, i32 0, i32 1            ; <i32*> [#uses=1]
+       store i32 2, i32* %tmp.1
+       %tmp.3 = getelementptr [2 x i32]* %Arr, i32 0, i32 %X           ; <i32*> [#uses=1]
+       %tmp.4 = load i32* %tmp.3               ; <i32> [#uses=1]
+       ret i32 %tmp.4
 }
+