[InstCombine] SSE/AVX vector shifts demanded shift amount bits
[oota-llvm.git] / test / Transforms / ScalarRepl / 2003-05-29-ArrayFail.ll
index c20411d8e7a4abcc30dd6bb2fbf0231f5f90f48b..336c0a9dfa6b4d159f64a803f707f6e5a0b23701 100644 (file)
@@ -1,12 +1,13 @@
-; RUN: llvm-upgrade < %s | llvm-as | opt -scalarrepl | llvm-dis | \
-; RUN:   grep alloca | grep {4 x}
+; RUN: opt < %s -scalarrepl -instcombine -S | not grep alloca
+target datalayout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64"
 
-; Test that an array is not incorrectly deconstructed...
+; Test that an array is not incorrectly deconstructed.
 
-int %test() {
-  %X = alloca [4 x int]
-  %Y = getelementptr [4 x int]* %X, long 0, long 0
-  %Z = getelementptr int* %Y, long 1           ; Must preserve arrayness!
-  %A = load int* %Z
-  ret int %A
+define i32 @test() nounwind {
+       %X = alloca [4 x i32]           ; <[4 x i32]*> [#uses=1]
+       %Y = getelementptr [4 x i32], [4 x i32]* %X, i64 0, i64 0               ; <i32*> [#uses=1]
+        ; Must preserve arrayness!
+       %Z = getelementptr i32, i32* %Y, i64 1          ; <i32*> [#uses=1]
+       %A = load i32, i32* %Z          ; <i32> [#uses=1]
+       ret i32 %A
 }