Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / Analysis / LoopAccessAnalysis / interleave-innermost.ll
blob74d02ebc8e3ec1ec5de1fd9d1f4a5981244e120b
1 ; RUN: opt -passes=loop-vectorize -force-vector-interleave=1 -S < %s | FileCheck %s
2 ; CHECK-LABEL: TestFoo
3 ; CHECK-NOT: %wide.vec
5 target datalayout = "e-m:e-i64:64-n32:64"
6 target triple = "powerpc64le-unknown-linux-gnu"
8 define void @TestFoo(i1 %X, i1 %Y) {
9 bb:
10   br label %.loopexit5.outer
12 .loopexit5.outer:
13   br label %.lr.ph12
15 .loopexit:
16   br i1 %X, label %.loopexit5.outer, label %.lr.ph12
18 .lr.ph12:
19   %f.110 = phi ptr [ %tmp1, %.loopexit ], [ null, %.loopexit5.outer ]
20   %tmp1 = getelementptr inbounds i32, ptr %f.110, i64 -2
21   br i1 %Y, label %bb4, label %.loopexit
23 bb4:
24   %j.27 = phi i32 [ 0, %.lr.ph12 ], [ %tmp7, %bb4 ]
25   %tmp5 = load i32, ptr %f.110, align 4
26   %tmp7 = add nsw i32 %j.27, 1
27   %exitcond = icmp eq i32 %tmp7, 0
28   br i1 %exitcond, label %.loopexit, label %bb4