[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / Transforms / GVNSink / fpmath.ll
blob69e3a2471e7bc3095d16b9d1faa93fc3569fe78b
1 ; RUN: opt -S < %s -gvn-sink | FileCheck %s
3 ; CHECK-LABEL: sink
4 ; CHECK-NOT: fneg
5 ; CHECK: = phi
6 ; CHECK: fneg
7 define float @sink(float %a, float %b, i1 %cmp) {
8 entry:
9   br i1 %cmp, label %if.then, label %if.else
11 if.then:
12   %sub = fsub float %a, %b
13   %neg0 = fneg float %sub
14   br label %if.end
16 if.else:
17   %add = fadd float %a, %b
18   %neg1 = fneg float %add
19   br label %if.end
21 if.end:
22   %phi = phi float [ %neg0, %if.then ], [ %neg1, %if.else ]
23   ret float %phi