[InstCombine] Signed saturation patterns
[llvm-core.git] / test / Transforms / InstCombine / pr12338.ll
blob7e0bf59614c3a4780677ba0f9100c79af7b89df4
1 ; RUN: opt < %s -instcombine -S | FileCheck %s
3 define void @entry() nounwind {
4 entry:
5   br label %for.cond
7 ; CHECK: br label %for.cond
8 for.cond:
9   %local = phi <1 x i32> [ <i32 0>, %entry ], [ %phi2, %cond.end47 ]
10   %phi3 = sub <1 x i32> zeroinitializer, %local
11   br label %cond.end
13 cond.false:
14   br label %cond.end
16 cond.end:
17   %cond = phi <1 x i32> [ %phi3, %for.cond ], [ undef, %cond.false ]
18   br label %cond.end47
20 cond.end47:
21   %sum = add <1 x i32> %cond, <i32 92>
22   %phi2 = sub <1 x i32> zeroinitializer, %sum
23   br label %for.cond