diff options
author | Cong Hou <congh@google.com> | 2015-10-29 05:35:22 +0000 |
---|---|---|
committer | Cong Hou <congh@google.com> | 2015-10-29 05:35:22 +0000 |
commit | 45bd8ce64c53f86711f5a5ce61db751a3640d0d1 (patch) | |
tree | 7ec5dd3204e584b00880ce66fcc73b9dd3bcd723 /llvm/test | |
parent | 15c0fbaae150725cbf9c8d1a4cb2f2a90f23de86 (diff) | |
download | bcm5719-llvm-45bd8ce64c53f86711f5a5ce61db751a3640d0d1.tar.gz bcm5719-llvm-45bd8ce64c53f86711f5a5ce61db751a3640d0d1.zip |
Revert the revision 251592 as it fails a test on some platforms.
llvm-svn: 251617
Diffstat (limited to 'llvm/test')
-rw-r--r-- | llvm/test/Transforms/LoopVectorize/X86/vector_max_bandwidth.ll | 46 | ||||
-rw-r--r-- | llvm/test/Transforms/LoopVectorize/X86/vector_ptr_load_store.ll | 8 |
2 files changed, 4 insertions, 50 deletions
diff --git a/llvm/test/Transforms/LoopVectorize/X86/vector_max_bandwidth.ll b/llvm/test/Transforms/LoopVectorize/X86/vector_max_bandwidth.ll deleted file mode 100644 index e6dc39c2afa..00000000000 --- a/llvm/test/Transforms/LoopVectorize/X86/vector_max_bandwidth.ll +++ /dev/null @@ -1,46 +0,0 @@ -; RUN: opt -loop-vectorize -vectorizer-maximize-bandwidth -mcpu=corei7-avx -debug-only=loop-vectorize -S < %s 2>&1 | FileCheck %s -; REQUIRES: asserts - -target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" -target triple = "x86_64-unknown-linux-gnu" - -@a = global [1000 x i8] zeroinitializer, align 16 -@b = global [1000 x i8] zeroinitializer, align 16 -@c = global [1000 x i8] zeroinitializer, align 16 -@u = global [1000 x i32] zeroinitializer, align 16 -@v = global [1000 x i32] zeroinitializer, align 16 -@w = global [1000 x i32] zeroinitializer, align 16 - -; Tests that the vectorization factor is determined by the smallest instead of -; widest type in the loop for maximum bandwidth when -; -vectorizer-maximize-bandwidth is indicated. -; -; CHECK-label: foo -; CHECK: LV: Selecting VF: 16. -define void @foo() { -entry: - br label %for.body - -for.cond.cleanup: - ret void - -for.body: - %indvars.iv = phi i64 [ 0, %entry ], [ %indvars.iv.next, %for.body ] - %arrayidx = getelementptr inbounds [1000 x i8], [1000 x i8]* @b, i64 0, i64 %indvars.iv - %0 = load i8, i8* %arrayidx, align 1 - %arrayidx2 = getelementptr inbounds [1000 x i8], [1000 x i8]* @c, i64 0, i64 %indvars.iv - %1 = load i8, i8* %arrayidx2, align 1 - %add = add i8 %1, %0 - %arrayidx6 = getelementptr inbounds [1000 x i8], [1000 x i8]* @a, i64 0, i64 %indvars.iv - store i8 %add, i8* %arrayidx6, align 1 - %arrayidx8 = getelementptr inbounds [1000 x i32], [1000 x i32]* @v, i64 0, i64 %indvars.iv - %2 = load i32, i32* %arrayidx8, align 4 - %arrayidx10 = getelementptr inbounds [1000 x i32], [1000 x i32]* @w, i64 0, i64 %indvars.iv - %3 = load i32, i32* %arrayidx10, align 4 - %add11 = add nsw i32 %3, %2 - %arrayidx13 = getelementptr inbounds [1000 x i32], [1000 x i32]* @u, i64 0, i64 %indvars.iv - store i32 %add11, i32* %arrayidx13, align 4 - %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 - %exitcond = icmp eq i64 %indvars.iv.next, 1000 - br i1 %exitcond, label %for.cond.cleanup, label %for.body -} diff --git a/llvm/test/Transforms/LoopVectorize/X86/vector_ptr_load_store.ll b/llvm/test/Transforms/LoopVectorize/X86/vector_ptr_load_store.ll index cca829b9457..6cd3c9c3bc0 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/vector_ptr_load_store.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/vector_ptr_load_store.ll @@ -17,7 +17,7 @@ target triple = "x86_64-apple-macosx10.8.0" ; widest vector count. ; ; CHECK: test_consecutive_store -; CHECK: The Smallest and Widest types: 64 / 64 bits. +; CHECK: The Widest type: 64 bits define void @test_consecutive_store(%0**, %0**, %0** nocapture) nounwind ssp uwtable align 2 { %4 = load %0*, %0** %2, align 8 %5 = icmp eq %0** %0, %1 @@ -51,7 +51,7 @@ define void @test_consecutive_store(%0**, %0**, %0** nocapture) nounwind ssp uwt ; p[i][y] = (int*) (1 + q[i]); ; } ; CHECK: test_nonconsecutive_store -; CHECK: The Smallest and Widest types: 16 / 16 bits. +; CHECK: The Widest type: 16 bits define void @test_nonconsecutive_store() nounwind ssp uwtable { br label %1 @@ -93,7 +93,7 @@ define void @test_nonconsecutive_store() nounwind ssp uwtable { ;; Now we check the same rules for loads. We should take consecutive loads of ;; pointer types into account. ; CHECK: test_consecutive_ptr_load -; CHECK: The Smallest and Widest types: 8 / 64 bits. +; CHECK: The Widest type: 64 bits define i8 @test_consecutive_ptr_load() nounwind readonly ssp uwtable { br label %1 @@ -117,7 +117,7 @@ define i8 @test_consecutive_ptr_load() nounwind readonly ssp uwtable { ;; However, we should not take unconsecutive loads of pointers into account. ; CHECK: test_nonconsecutive_ptr_load -; CHECK: LV: The Smallest and Widest types: 16 / 16 bits. +; CHECK: The Widest type: 16 bits define void @test_nonconsecutive_ptr_load() nounwind ssp uwtable { br label %1 |