[InstCombine] Signed saturation patterns
[llvm-core.git] / test / Transforms / GVNHoist / hoist-call.ll
blob50378f7d82264ed7ed13daa28068e9115c094678
1 ; RUN: opt -S -gvn-hoist < %s | FileCheck %s
3 ; Check that the call and fcmp are hoisted.
4 ; CHECK-LABEL: define void @fun(
5 ; CHECK: call float
6 ; CHECK: fcmp oeq
7 ; CHECK-NOT: call float
8 ; CHECK-NOT: fcmp oeq
10 define void @fun(float %__b) minsize {
11 entry:
12   br label %if.then
14 if.then:                                          ; preds = %entry
15   br i1 undef, label %if.then8, label %lor.lhs.false
17 lor.lhs.false:                                    ; preds = %if.then
18   %0 = call float @llvm.fabs.f32(float %__b) #2
19   %cmpinf7 = fcmp oeq float %0, 0x7FF0000000000000
20   unreachable
22 if.then8:                                         ; preds = %if.then
23   %1 = call float @llvm.fabs.f32(float %__b) #2
24   %cmpinf10 = fcmp oeq float %1, 0x7FF0000000000000
25   ret void
28 declare float @llvm.fabs.f32(float)