zpu: wip eke out some simple instructions for load/store/add
[llvm/zpu.git] / test / Transforms / LoopStrengthReduce / pr2537.ll
blob46ad70e736d83d689359b6fd70df0a395e6e657e
1 ; RUN: opt < %s -loop-reduce -disable-output
2 ; PR 2537
4 define void @a() {
5 entry:
6         br label %dobody
8 dobody:         ; preds = %dobody, %entry
9         %y.0 = phi i128 [ 0, %entry ], [ %add, %dobody ]
10         %x.0 = phi i128 [ 0, %entry ], [ %add2, %dobody ]
11         %add = add i128 %y.0, shl (i128 1, i128 64)
12         %add2 = add i128 %x.0, shl (i128 1, i128 48)
13         call void @b( i128 %add )
14         %cmp = icmp ult i128 %add2, shl (i128 1, i128 64)
15         br i1 %cmp, label %dobody, label %afterdo
17 afterdo:                ; preds = %dobody
18         ret void
21 declare void @b(i128 %add)