22 lines
643 B
LLVM
22 lines
643 B
LLVM
; 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
|
|
}
|