1; RUN: opt -instcombine -S < %s | FileCheck %s
2
3; CHECK: test1
4define double @test1(float %a, double %b) nounwind readnone ssp uwtable {
5; CHECK-NOT: fsub
6; CHECK: fpext
7; CHECK: fadd
8  %1 = fsub float -0.000000e+00, %a
9  %2 = fpext float %1 to double
10  %3 = fsub double %b, %2
11  ret double %3
12}
13
14; CHECK: test2
15define double @test2(float %a, double %b) nounwind readnone ssp uwtable {
16; CHECK-NOT: fsub
17; CHECK: fpext
18; CHECK: fadd fast
19  %1 = fsub float -0.000000e+00, %a
20  %2 = fpext float %1 to double
21  %3 = fsub fast double %b, %2
22  ret double %3
23}
24