| ; 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 |
| } |