• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: opt -loop-vectorize -force-vector-interleave=1 -S < %s | FileCheck %s
2; CHECK-LABEL: TestFoo
3; CHECK-NOT: %wide.vec
4
5target datalayout = "e-m:e-i64:64-n32:64"
6target triple = "powerpc64le-unknown-linux-gnu"
7
8define void @TestFoo(i1 %X, i1 %Y) {
9bb:
10  br label %.loopexit5.outer
11
12.loopexit5.outer:
13  br label %.lr.ph12
14
15.loopexit:
16  br i1 %X, label %.loopexit5.outer, label %.lr.ph12
17
18.lr.ph12:
19  %f.110 = phi i32* [ %tmp1, %.loopexit ], [ null, %.loopexit5.outer ]
20  %tmp1 = getelementptr inbounds i32, i32* %f.110, i64 -2
21  br i1 %Y, label %bb4, label %.loopexit
22
23bb4:
24  %j.27 = phi i32 [ 0, %.lr.ph12 ], [ %tmp7, %bb4 ]
25  %tmp5 = load i32, i32* %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
29}
30