; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -force-vector-width=4 -dce -instcombine -S -enable-if-conversion | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" target triple = "x86_64-apple-macosx10.9.0" ; This is kernel11 from "LivermoreLoops". We can't vectorize it because we ; access both x[k] and x[k-1]. ; ; void kernel11(double *x, double *y, int n) { ; for ( int k=1 ; k ; CHECK: ret define i32 @kernel11(double* %x, double* %y, i32 %n) nounwind uwtable ssp { %1 = alloca double*, align 8 %2 = alloca double*, align 8 %3 = alloca i32, align 4 %k = alloca i32, align 4 store double* %x, double** %1, align 8 store double* %y, double** %2, align 8 store i32 %n, i32* %3, align 4 store i32 1, i32* %k, align 4 br label %4 ;