Home | History | Annotate | Download | only in SelectionDAG

Lines Matching refs:APFloat

65   case MVT::f16:     return &APFloat::IEEEhalf;
66 case MVT::f32: return &APFloat::IEEEsingle;
67 case MVT::f64: return &APFloat::IEEEdouble;
68 case MVT::f80: return &APFloat::x87DoubleExtended;
69 case MVT::f128: return &APFloat::IEEEquad;
70 case MVT::ppcf128: return &APFloat::PPCDoubleDouble;
84 bool ConstantFPSDNode::isExactlyValue(const APFloat& V) const {
89 const APFloat& Val) {
94 &Val.getSemantics() == &APFloat::PPCDoubleDouble)
98 APFloat Val2 = APFloat(Val);
100 (void) Val2.convert(*EVTToAPFloatSemantics(VT), APFloat::rmNearestTiesToEven,
1002 SDValue SelectionDAG::getConstantFP(const APFloat& V, EVT VT, bool isTarget) {
1043 return getConstantFP(APFloat((float)Val), VT, isTarget);
1045 return getConstantFP(APFloat(Val), VT, isTarget);
1048 APFloat apf = APFloat(Val);
1049 apf.convert(*EVTToAPFloatSemantics(EltVT), APFloat::rmNearestTiesToEven,
1562 APFloat::cmpResult R = N1C->getValueAPF().compare(N2C->getValueAPF());
1565 case ISD::SETEQ: if (R==APFloat::cmpUnordered)
1568 case ISD::SETOEQ: return getConstant(R==APFloat::cmpEqual, VT);
1569 case ISD::SETNE: if (R==APFloat::cmpUnordered)
1572 case ISD::SETONE: return getConstant(R==APFloat::cmpGreaterThan ||
1573 R==APFloat::cmpLessThan, VT);
1574 case ISD::SETLT: if (R==APFloat::cmpUnordered)
1577 case ISD::SETOLT: return getConstant(R==APFloat::cmpLessThan, VT);
1578 case ISD::SETGT: if (R==APFloat::cmpUnordered)
1581 case ISD::SETOGT: return getConstant(R==APFloat::cmpGreaterThan, VT);
1582 case ISD::SETLE: if (R==APFloat::cmpUnordered)
1585 case ISD::SETOLE: return getConstant(R==APFloat::cmpLessThan ||
1586 R==APFloat::cmpEqual, VT);
1587 case ISD::SETGE: if (R==APFloat::cmpUnordered)
1590 case ISD::SETOGE: return getConstant(R==APFloat::cmpGreaterThan ||
1591 R==APFloat::cmpEqual, VT);
1592 case ISD::SETO: return getConstant(R!=APFloat::cmpUnordered, VT);
1593 case ISD::SETUO: return getConstant(R==APFloat::cmpUnordered, VT);
1594 case ISD::SETUEQ: return getConstant(R==APFloat::cmpUnordered ||
1595 R==APFloat::cmpEqual, VT);
1596 case ISD::SETUNE: return getConstant(R!=APFloat::cmpEqual, VT);
1597 case ISD::SETULT: return getConstant(R==APFloat::cmpUnordered ||
1598 R==APFloat::cmpLessThan, VT);
1599 case ISD::SETUGT: return getConstant(R==APFloat::cmpGreaterThan ||
1600 R==APFloat::cmpUnordered, VT);
1601 case ISD::SETULE: return getConstant(R!=APFloat::cmpGreaterThan, VT);
1602 case ISD::SETUGE: return getConstant(R!=APFloat::cmpLessThan, VT);
2395 APFloat apf(APInt::getNullValue(VT.getSizeInBits()));
2398 APFloat::rmNearestTiesToEven);
2422 APFloat V = C->getValueAPF(); // make copy
2436 APFloat::rmNearestTiesToEven, &ignored);
2445 APFloat::opStatus s = V.convertToInteger(x, VT.getSizeInBits(),
2447 APFloat::rmTowardZero, &ignored);
2448 if (s==APFloat::opInvalidOp) // inexact is OK, in fact usual
2962 APFloat V1 = N1CFP->getValueAPF(), V2 = N2CFP->getValueAPF();
2963 APFloat::opStatus s;
2966 s = V1.add(V2, APFloat::rmNearestTiesToEven);
2967 if (s != APFloat::opInvalidOp)
2971 s = V1.subtract(V2, APFloat::rmNearestTiesToEven);
2972 if (s!=APFloat::opInvalidOp)
2976 s = V1.multiply(V2, APFloat::rmNearestTiesToEven);
2977 if (s!=APFloat::opInvalidOp)
2981 s = V1.divide(V2, APFloat::rmNearestTiesToEven);
2982 if (s!=APFloat::opInvalidOp && s!=APFloat::opDivByZero)
2986 s = V1.mod(V2, APFloat::rmNearestTiesToEven);
2987 if (s!=APFloat::opInvalidOp && s!=APFloat::opDivByZero)
2998 APFloat V = N1CFP->getValueAPF(); // make copy
3003 APFloat::rmNearestTiesToEven, &ignored);
3256 return DAG.getConstantFP(APFloat(Val), VT);