xref: /llvm-project/llvm/test/Transforms/LoopVectorize/scev-invalidation.ll (revision 4718b4011f1d3038c73e2594e4651243f4a221e5)
1; 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
2
3; CHECK-LABEL: @main(
4; CHECK: vector.body
5define i32 @main(i32 %.pre) {
6entry:
7  br label %for.body
8
9for.body:
10  %g.019 = phi i16 [ 0, %entry ], [ %dec7, %for.body ]
11  %and = and i32 %.pre, 40
12  %0 = sub i32 0, %and
13  %dec7 = add i16 %g.019, 1
14  %cmp.not = icmp eq i16 %dec7, 0
15  br i1 %cmp.not, label %for.inc16, label %for.body
16
17for.inc16:
18  %1 = phi i32 [ %inc, %for.inc16 ], [ 0, %for.body ]
19  %inc = add i32 %1, 1
20  %add12 = add i32 %0, %1
21  br label %for.inc16
22}
23