1 ; RUN: opt -instcombine -S < %s | FileCheck %s 2 3 ; CHECK: test1 4 define 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 15 define 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