Lines Matching refs:FMA
1165 // This currently forces unfolding various combinations of fsub into fma with
1166 // free fneg'd operands. As long as we have fast FMA (controlled by
1169 // When fma is quarter rate, for f64 where add / sub are at best half rate,
1188 // have different rates for fma or all f64 operations.
1199 // however does not support denormals, so we do report fma as faster if we have
1200 // a fast fma device and require denormals.
1212 // which we should prefer over fma. We can't use this if we want to support
2210 SDValue Fma0 = DAG.getNode(ISD::FMA, SL, MVT::f32, NegDivScale0, ApproxRcp, One);
2211 SDValue Fma1 = DAG.getNode(ISD::FMA, SL, MVT::f32, Fma0, ApproxRcp, ApproxRcp);
2215 SDValue Fma2 = DAG.getNode(ISD::FMA, SL, MVT::f32, NegDivScale0, Mul, NumeratorScaled);
2216 SDValue Fma3 = DAG.getNode(ISD::FMA, SL, MVT::f32, Fma2, Fma1, Mul);
2217 SDValue Fma4 = DAG.getNode(ISD::FMA, SL, MVT::f32, NegDivScale0, Fma3, NumeratorScaled);
2243 SDValue Fma0 = DAG.getNode(ISD::FMA, SL, MVT::f64, NegDivScale0, Rcp, One);
2245 SDValue Fma1 = DAG.getNode(ISD::FMA, SL, MVT::f64, Rcp, Fma0, Rcp);
2247 SDValue Fma2 = DAG.getNode(ISD::FMA, SL, MVT::f64, NegDivScale0, Fma1, One);
2251 SDValue Fma3 = DAG.getNode(ISD::FMA, SL, MVT::f64, Fma1, Fma2, Fma1);
2254 SDValue Fma4 = DAG.getNode(ISD::FMA, SL, MVT::f64,