Fix a serious brain-o. Obviously no-one reviewed my patch :(
[oota-llvm.git] / test / Transforms / ScalarRepl / vector_promote.ll
index 1387183dec2dff28a0ed8ab77809c442f7e61196..ec22f6464b456b9c7d3d500ee428d0a9cd0f1235 100644 (file)
@@ -1,56 +1,55 @@
+; RUN: llvm-as < %s | opt -scalarrepl | llvm-dis | \
+; RUN:   not grep alloca
+; END.
 
-; RUN: llvm-as < %s | opt -scalarrepl -disable-output &&
-; RUN: llvm-as < %s | opt -scalarrepl | llvm-dis | not grep alloca
-
-void %test(<4 x float>* %F, float %f) {
+define void @test(<4 x float>* %F, float %f) {
 entry:
-        %G = alloca <4 x float>, align 16               ; <<4 x float>*> [#uses=3]
-        %tmp = load <4 x float>* %F             ; <<4 x float>> [#uses=2]
-        %tmp3 = add <4 x float> %tmp, %tmp              ; <<4 x float>> [#uses=1]
-        store <4 x float> %tmp3, <4 x float>* %G
-        %G = getelementptr <4 x float>* %G, int 0, int 0                ; <float*> [#uses=1]
-        store float %f, float* %G
-        %tmp4 = load <4 x float>* %G            ; <<4 x float>> [#uses=2]
-        %tmp6 = add <4 x float> %tmp4, %tmp4            ; <<4 x float>> [#uses=1]
-        store <4 x float> %tmp6, <4 x float>* %F
-        ret void
+       %G = alloca <4 x float>, align 16               ; <<4 x float>*> [#uses=3]
+       %tmp = load <4 x float>* %F             ; <<4 x float>> [#uses=2]
+       %tmp3 = add <4 x float> %tmp, %tmp              ; <<4 x float>> [#uses=1]
+       store <4 x float> %tmp3, <4 x float>* %G
+       %G.upgrd.1 = getelementptr <4 x float>* %G, i32 0, i32 0                ; <float*> [#uses=1]
+       store float %f, float* %G.upgrd.1
+       %tmp4 = load <4 x float>* %G            ; <<4 x float>> [#uses=2]
+       %tmp6 = add <4 x float> %tmp4, %tmp4            ; <<4 x float>> [#uses=1]
+       store <4 x float> %tmp6, <4 x float>* %F
+       ret void
 }
 
-void %test2(<4 x float>* %F, float %f) {
+define void @test2(<4 x float>* %F, float %f) {
 entry:
-        %G = alloca <4 x float>, align 16               ; <<4 x float>*> [#uses=3]
-        %tmp = load <4 x float>* %F             ; <<4 x float>> [#uses=2]
-        %tmp3 = add <4 x float> %tmp, %tmp              ; <<4 x float>> [#uses=1]
-        store <4 x float> %tmp3, <4 x float>* %G
-        %tmp = getelementptr <4 x float>* %G, int 0, int 2              ; <float*> [#uses=1]
-        store float %f, float* %tmp
-        %tmp4 = load <4 x float>* %G            ; <<4 x float>> [#uses=2]
-        %tmp6 = add <4 x float> %tmp4, %tmp4            ; <<4 x float>> [#uses=1]
-        store <4 x float> %tmp6, <4 x float>* %F
-        ret void
+       %G = alloca <4 x float>, align 16               ; <<4 x float>*> [#uses=3]
+       %tmp = load <4 x float>* %F             ; <<4 x float>> [#uses=2]
+       %tmp3 = add <4 x float> %tmp, %tmp              ; <<4 x float>> [#uses=1]
+       store <4 x float> %tmp3, <4 x float>* %G
+       %tmp.upgrd.2 = getelementptr <4 x float>* %G, i32 0, i32 2              ; <float*> [#uses=1]
+       store float %f, float* %tmp.upgrd.2
+       %tmp4 = load <4 x float>* %G            ; <<4 x float>> [#uses=2]
+       %tmp6 = add <4 x float> %tmp4, %tmp4            ; <<4 x float>> [#uses=1]
+       store <4 x float> %tmp6, <4 x float>* %F
+       ret void
 }
 
-void %test3(<4 x float>* %F, float* %f) {
+define void @test3(<4 x float>* %F, float* %f) {
 entry:
-        %G = alloca <4 x float>, align 16               ; <<4 x float>*> [#uses=2]
-        %tmp = load <4 x float>* %F             ; <<4 x float>> [#uses=2]
-        %tmp3 = add <4 x float> %tmp, %tmp              ; <<4 x float>> [#uses=1]
-        store <4 x float> %tmp3, <4 x float>* %G
-        %tmp = getelementptr <4 x float>* %G, int 0, int 2              ; <float*> [#uses=1]
-        %tmp = load float* %tmp         ; <float> [#uses=1]
-        store float %tmp, float* %f
-        ret void
+       %G = alloca <4 x float>, align 16               ; <<4 x float>*> [#uses=2]
+       %tmp = load <4 x float>* %F             ; <<4 x float>> [#uses=2]
+       %tmp3 = add <4 x float> %tmp, %tmp              ; <<4 x float>> [#uses=1]
+       store <4 x float> %tmp3, <4 x float>* %G
+       %tmp.upgrd.3 = getelementptr <4 x float>* %G, i32 0, i32 2              ; <float*> [#uses=1]
+       %tmp.upgrd.4 = load float* %tmp.upgrd.3         ; <float> [#uses=1]
+       store float %tmp.upgrd.4, float* %f
+       ret void
 }
 
-void %test4(<4 x float>* %F, float* %f) {
+define void @test4(<4 x float>* %F, float* %f) {
 entry:
-        %G = alloca <4 x float>, align 16               ; <<4 x float>*> [#uses=2]
-        %tmp = load <4 x float>* %F             ; <<4 x float>> [#uses=2]
-        %tmp3 = add <4 x float> %tmp, %tmp              ; <<4 x float>> [#uses=1]
-        store <4 x float> %tmp3, <4 x float>* %G
-        %G = getelementptr <4 x float>* %G, int 0, int 0                ; <float*> [#uses=1]
-        %tmp = load float* %G           ; <float> [#uses=1]
-        store float %tmp, float* %f
-        ret void
+       %G = alloca <4 x float>, align 16               ; <<4 x float>*> [#uses=2]
+       %tmp = load <4 x float>* %F             ; <<4 x float>> [#uses=2]
+       %tmp3 = add <4 x float> %tmp, %tmp              ; <<4 x float>> [#uses=1]
+       store <4 x float> %tmp3, <4 x float>* %G
+       %G.upgrd.5 = getelementptr <4 x float>* %G, i32 0, i32 0                ; <float*> [#uses=1]
+       %tmp.upgrd.6 = load float* %G.upgrd.5           ; <float> [#uses=1]
+       store float %tmp.upgrd.6, float* %f
+       ret void
 }
-