; RUN: opt < %s -passes="require<scalar-evolution>,print<scalar-evolution>,loop-vectorize" --verify-scev -force-vector-interleave=2 -force-vector-width=8 -S | FileCheck %s | |
; CHECK-LABEL: @main( | |
; CHECK: vector.body | |
define i32 @main(i32 %.pre) { | |
entry: | |
br label %for.body | |
for.body: | |
%g.019 = phi i16 [ 0, %entry ], [ %dec7, %for.body ] | |
%and = and i32 %.pre, 40 | |
%0 = sub i32 0, %and | |
%dec7 = add i16 %g.019, 1 | |
%cmp.not = icmp eq i16 %dec7, 0 | |
br i1 %cmp.not, label %for.inc16, label %for.body | |
for.inc16: | |
%1 = phi i32 [ %inc, %for.inc16 ], [ 0, %for.body ] | |
%inc = add i32 %1, 1 | |
%add12 = add i32 %0, %1 | |
br label %for.inc16 | |
} |