/freebsd/contrib/llvm-project/llvm/include/llvm/ADT/ |
H A D | APFloat.h | 39 class APFloat; variable 513 bool getExactInverse(APFloat *inv) const; 714 std::unique_ptr<APFloat[]> Floats; 716 opStatus addImpl(const APFloat &a, const APFloat &aa, const APFloat &c, 717 const APFloat &cc, roundingMode RM); 727 DoubleAPFloat(const fltSemantics &S, APFloat &&First, APFloat &&Second); 736 inline APFloat &getFirst(); 737 inline const APFloat &getFirst() const; 738 inline APFloat &getSecond(); 739 inline const APFloat &getSecond() const; [all …]
|
/freebsd/contrib/llvm-project/clang/lib/AST/ |
H A D | ExprConstShared.h | 18 class APFloat; variable 62 void HandleComplexComplexMul(llvm::APFloat A, llvm::APFloat B, llvm::APFloat C, 63 llvm::APFloat D, llvm::APFloat &ResR, 64 llvm::APFloat &ResI); 65 void HandleComplexComplexDiv(llvm::APFloat A, llvm::APFloat B, llvm::APFloat C, 66 llvm::APFloat D, llvm::APFloat &ResR, 67 llvm::APFloat &ResI);
|
/freebsd/contrib/llvm-project/clang/lib/AST/Interp/ |
H A D | Floating.h | 23 using APFloat = llvm::APFloat; variable 29 APFloat F; 34 Floating(const APFloat &F) : F(F) {} in Floating() 38 return Floating(APFloat::getInf(Sem)); in getInf() 40 const APFloat &getAPFloat() const { return F; } in getAPFloat() 50 APFloat::opStatus convertToInteger(APSInt &Result) const { in convertToInteger() 52 return F.convertToInteger(Result, llvm::APFloat::rmTowardZero, &IsExact); in convertToInteger() 57 APFloat Copy = F; in toSemantics() 102 APFloat::fltCategory getCategory() const { return F.getCategory(); } in getCategory() 119 static APFloat::opStatus fromIntegral(APSInt Val, in fromIntegral() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/NVPTX/ |
H A D | NVPTXMCExpr.cpp | 19 NVPTXFloatMCExpr::create(VariantKind Kind, const APFloat &Flt, MCContext &Ctx) { in create() 26 APFloat APF = getAPFloat(); in printImpl() 35 APF.convert(APFloat::IEEEhalf(), APFloat::rmNearestTiesToEven, &Ignored); in printImpl() 40 APF.convert(APFloat::BFloat(), APFloat::rmNearestTiesToEven, &Ignored); in printImpl() 45 APF.convert(APFloat::IEEEsingle(), APFloat::rmNearestTiesToEven, &Ignored); in printImpl() 50 APF.convert(APFloat::IEEEdouble(), APFloat::rmNearestTiesToEven, &Ignored); in printImpl()
|
H A D | NVPTXMCExpr.h | 32 const APFloat Flt; 34 explicit NVPTXFloatMCExpr(VariantKind Kind, APFloat Flt) in NVPTXFloatMCExpr() 41 static const NVPTXFloatMCExpr *create(VariantKind Kind, const APFloat &Flt, 44 static const NVPTXFloatMCExpr *createConstantBFPHalf(const APFloat &Flt, in createConstantBFPHalf() 49 static const NVPTXFloatMCExpr *createConstantFPHalf(const APFloat &Flt, in createConstantFPHalf() 54 static const NVPTXFloatMCExpr *createConstantFPSingle(const APFloat &Flt, in createConstantFPSingle() 59 static const NVPTXFloatMCExpr *createConstantFPDouble(const APFloat &Flt, in createConstantFPDouble() 72 APFloat getAPFloat() const { return Flt; } in getAPFloat()
|
/freebsd/contrib/llvm-project/llvm/lib/Support/ |
H A D | APFixedPoint.cpp | 149 APFloat F(FloatSema); in fitsInFloatSemantics() 150 APFloat::opStatus Status = F.convertFromAPInt(MaxInt, MaxInt.isSigned(), in fitsInFloatSemantics() 151 APFloat::rmNearestTiesToAway); in fitsInFloatSemantics() 152 if ((Status & APFloat::opOverflow) || !isSigned()) in fitsInFloatSemantics() 153 return !(Status & APFloat::opOverflow); in fitsInFloatSemantics() 157 APFloat::rmNearestTiesToAway); in fitsInFloatSemantics() 158 return !(Status & APFloat::opOverflow); in fitsInFloatSemantics() 482 if (S == &APFloat::BFloat()) in promoteFloatSemantics() 483 return &APFloat::IEEEdouble(); in promoteFloatSemantics() 484 else if (S == &APFloat::IEEEhalf()) in promoteFloatSemantics() [all …]
|
H A D | APFloat.cpp | 236 if (&Sem == &llvm::APFloat::IEEEhalf()) in SemanticsToEnum() 238 else if (&Sem == &llvm::APFloat::BFloat()) in SemanticsToEnum() 240 else if (&Sem == &llvm::APFloat::IEEEsingle()) in SemanticsToEnum() 242 else if (&Sem == &llvm::APFloat::IEEEdouble()) in SemanticsToEnum() 244 else if (&Sem == &llvm::APFloat::IEEEquad()) in SemanticsToEnum() 246 else if (&Sem == &llvm::APFloat::PPCDoubleDouble()) in SemanticsToEnum() 248 else if (&Sem == &llvm::APFloat::Float8E5M2()) in SemanticsToEnum() 250 else if (&Sem == &llvm::APFloat::Float8E5M2FNUZ()) in SemanticsToEnum() 252 else if (&Sem == &llvm::APFloat::Float8E4M3()) in SemanticsToEnum() 254 else if (&Sem == &llvm::APFloat::Float8E4M3FN()) in SemanticsToEnum() [all …]
|
H A D | Z3Solver.cpp | 242 return llvm::APFloat::IEEEhalf(); in getFloatSemantics() 244 return llvm::APFloat::IEEEsingle(); in getFloatSemantics() 246 return llvm::APFloat::IEEEdouble(); in getFloatSemantics() 248 return llvm::APFloat::IEEEquad(); in getFloatSemantics() 255 return (llvm::APFloat::semanticsPrecision(LHS) == in areEquivalent() 256 llvm::APFloat::semanticsPrecision(RHS)) && in areEquivalent() 257 (llvm::APFloat::semanticsMinExponent(LHS) == in areEquivalent() 258 llvm::APFloat::semanticsMinExponent(RHS)) && in areEquivalent() 259 (llvm::APFloat::semanticsMaxExponent(LHS) == in areEquivalent() 260 llvm::APFloat::semanticsMaxExponent(RHS)) && in areEquivalent() [all …]
|
/freebsd/contrib/llvm-project/lldb/source/Utility/ |
H A D | Scalar.cpp | 27 using llvm::APFloat; 45 &APFloat::IEEEsingle(), &APFloat::IEEEdouble(), in GetFloatPromoKey() 46 &APFloat::x87DoubleExtended()}; in GetFloatPromoKey() 200 m_float = llvm::APFloat(semantics); in FloatPromote() 202 llvm::APFloat::rmNearestTiesToEven); in FloatPromote() 210 m_float.convert(semantics, llvm::APFloat::rmNearestTiesToEven, &ignore); in FloatPromote() 278 static llvm::APInt ToAPInt(const llvm::APFloat &f, unsigned bits, in ToAPInt() 282 f.convertToInteger(result, llvm::APFloat::rmTowardZero, &isExact); in ToAPInt() 373 APFloat result = m_float; in Float() 375 result.convert(APFloat::IEEEsingle(), APFloat::rmNearestTiesToEven, in Float() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
H A D | ConstantFolding.cpp | 136 APFloat FP(DestTy->getFltSemantics(), Result); in FoldBitCast() 1309 const APFloat &APF = CFP->getValueAPF(); in FlushFPConstant() 1330 APFloat::getZero(Ty->getFltSemantics(), APF.isNegative())); in FlushFPConstant() 1336 APFloat::getZero(Ty->getFltSemantics(), false)); in FlushFPConstant() 1736 APFloat APF(V); in GetConstantFoldFPValue() 1738 APF.convert(Ty->getFltSemantics(), APFloat::rmNearestTiesToEven, &unused); in GetConstantFoldFPValue() 1742 return ConstantFP::get(Ty->getContext(), APFloat(V)); in GetConstantFoldFPValue() 1774 Constant *ConstantFoldFP(double (*NativeFP)(double), const APFloat &V, in ConstantFoldFP() 1787 Constant *ConstantFoldFP128(float128 (*NativeFP)(float128), const APFloat &V, in ConstantFoldFP128() 1801 const APFloat &V, const APFloat &W, Type *Ty) { in ConstantFoldBinaryFP() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/FuzzMutate/ |
H A D | OpDescriptor.cpp | 34 Cs.push_back(ConstantFP::get(Ctx, APFloat::getZero(Sem))); in makeConstantsWithType() 35 Cs.push_back(ConstantFP::get(Ctx, APFloat(Sem, 1))); in makeConstantsWithType() 36 Cs.push_back(ConstantFP::get(Ctx, APFloat(Sem, 42))); in makeConstantsWithType() 37 Cs.push_back(ConstantFP::get(Ctx, APFloat::getLargest(Sem))); in makeConstantsWithType() 38 Cs.push_back(ConstantFP::get(Ctx, APFloat::getSmallest(Sem))); in makeConstantsWithType() 39 Cs.push_back(ConstantFP::get(Ctx, APFloat::getInf(Sem))); in makeConstantsWithType() 40 Cs.push_back(ConstantFP::get(Ctx, APFloat::getNaN(Sem))); in makeConstantsWithType()
|
/freebsd/contrib/llvm-project/clang/lib/Basic/ |
H A D | TargetInfo.cpp | 144 HalfFormat = &llvm::APFloat::IEEEhalf(); in TargetInfo() 145 FloatFormat = &llvm::APFloat::IEEEsingle(); in TargetInfo() 146 DoubleFormat = &llvm::APFloat::IEEEdouble(); in TargetInfo() 147 LongDoubleFormat = &llvm::APFloat::IEEEdouble(); in TargetInfo() 148 Float128Format = &llvm::APFloat::IEEEquad(); in TargetInfo() 149 Ibm128Format = &llvm::APFloat::PPCDoubleDouble(); in TargetInfo() 327 if (&getLongDoubleFormat() == &llvm::APFloat::x87DoubleExtended()) in getRealTypeByWidth() 339 if (&getLongDoubleFormat() == &llvm::APFloat::PPCDoubleDouble() || in getRealTypeByWidth() 340 &getLongDoubleFormat() == &llvm::APFloat::IEEEquad()) in getRealTypeByWidth() 414 HalfFormat = &llvm::APFloat::IEEEsingle(); in adjust() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/MCTargetDesc/ |
H A D | RISCVBaseInfo.cpp | 165 int RISCVLoadFPImm::getLoadFPImm(APFloat FPImm) { in getLoadFPImm() 166 assert((&FPImm.getSemantics() == &APFloat::IEEEsingle() || in getLoadFPImm() 167 &FPImm.getSemantics() == &APFloat::IEEEdouble() || in getLoadFPImm() 168 &FPImm.getSemantics() == &APFloat::IEEEhalf()) && in getLoadFPImm() 177 APFloat::opStatus Status = FPImm.convert( in getLoadFPImm() 178 APFloat::IEEEsingle(), APFloat::rmNearestTiesToEven, &LosesInfo); in getLoadFPImm() 179 if (Status != APFloat::opOK || LosesInfo) in getLoadFPImm()
|
/freebsd/contrib/llvm-project/lldb/source/Plugins/Instruction/RISCV/ |
H A D | EmulateInstructionRISCV.cpp | 122 bool Rd::WriteAPFloat(EmulateInstructionRISCV &emulator, APFloat value) { in WriteAPFloat() 156 std::optional<APFloat> Rs::ReadAPFloat(EmulateInstructionRISCV &emulator, in ReadAPFloat() 164 return APFloat(isDouble ? APFloat(api.bitsToDouble()) in ReadAPFloat() 165 : APFloat(api.bitsToFloat())); in ReadAPFloat() 1240 APFloat f(semantics(), APInt(numBits, bits)); in F_Load() 1245 bool operator()(FLW inst) { return F_Load(inst, &APFloat::IEEEsingle, 32); } in operator ()() 1259 std::tuple<bool, APFloat> FusedMultiplyAdd(APFloat rs1, APFloat rs2, in FusedMultiplyAdd() 1260 APFloat rs3) { in FusedMultiplyAdd() 1272 rs2.copySign(APFloat(rs2_sign)); in FMA() 1273 rs3.copySign(APFloat(rs3_sign)); in FMA() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
H A D | AMDGPUInstCombineIntrinsic.cpp | 45 static APFloat fmed3AMDGCN(const APFloat &Src0, const APFloat &Src1, in fmed3AMDGCN() 46 const APFloat &Src2) { in fmed3AMDGCN() 47 APFloat Max3 = maxnum(maxnum(Src0, Src1), Src2); in fmed3AMDGCN() 49 APFloat::cmpResult Cmp0 = Max3.compare(Src0); in fmed3AMDGCN() 50 assert(Cmp0 != APFloat::cmpUnordered && "nans handled separately"); in fmed3AMDGCN() 51 if (Cmp0 == APFloat::cmpEqual) in fmed3AMDGCN() 54 APFloat::cmpResult Cmp1 = Max3.compare(Src1); in fmed3AMDGCN() 55 assert(Cmp1 != APFloat::cmpUnordered && "nans handled separately"); in fmed3AMDGCN() 56 if (Cmp1 == APFloat::cmpEqual) in fmed3AMDGCN() 76 APFloat FloatValue(ConstFloat->getValueAPF()); in canSafelyConvertTo16Bit() [all …]
|
H A D | AMDGPUCombinerHelper.cpp | 143 static bool isInv2Pi(const APFloat &APF) { in isInv2Pi() 144 static const APFloat KF16(APFloat::IEEEhalf(), APInt(16, 0x3118)); in isInv2Pi() 145 static const APFloat KF32(APFloat::IEEEsingle(), APInt(32, 0x3e22f983)); in isInv2Pi() 146 static const APFloat KF64(APFloat::IEEEdouble(), in isInv2Pi() 409 APFloat Val = Def->getOperand(1).getFPImm()->getValueAPF(); in isFPExtFromF16OrConst() 411 Val.convert(APFloat::IEEEhalf(), APFloat::rmNearestTiesToEven, &LosesInfo); in isFPExtFromF16OrConst()
|
/freebsd/contrib/llvm-project/llvm/lib/AsmParser/ |
H A D | LLLexer.cpp | 1042 APFloatVal = APFloat(APFloat::IEEEdouble(), in Lex0x() 1044 return lltok::APFloat; in Lex0x() 1053 APFloatVal = APFloat(APFloat::x87DoubleExtended(), APInt(80, Pair)); in Lex0x() 1054 return lltok::APFloat; in Lex0x() 1058 APFloatVal = APFloat(APFloat::IEEEquad(), APInt(128, Pair)); in Lex0x() 1059 return lltok::APFloat; in Lex0x() 1063 APFloatVal = APFloat(APFloat::PPCDoubleDouble(), APInt(128, Pair)); in Lex0x() 1064 return lltok::APFloat; in Lex0x() 1066 APFloatVal = APFloat(APFloat::IEEEhalf(), in Lex0x() 1068 return lltok::APFloat; in Lex0x() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | LowLevelTypeUtils.cpp | 79 return APFloat::IEEEhalf(); in getFltSemanticForLLT() 81 return APFloat::IEEEsingle(); in getFltSemanticForLLT() 83 return APFloat::IEEEdouble(); in getFltSemanticForLLT() 85 return APFloat::IEEEquad(); in getFltSemanticForLLT()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/WebAssembly/MCTargetDesc/ |
H A D | WebAssemblyInstPrinter.cpp | 18 #include "llvm/ADT/APFloat.h" 268 static std::string toString(const APFloat &FP) { in toString() 270 if (FP.isNaN() && !FP.bitwiseIsEqual(APFloat::getQNaN(FP.getSemantics())) && in toString() 272 APFloat::getQNaN(FP.getSemantics(), /*Negative=*/true))) { in toString() 285 Buf, /*HexDigits=*/0, /*UpperCase=*/false, APFloat::rmNearestTiesToEven); in toString() 312 O << ::toString(APFloat(APFloat::IEEEsingle(), APInt(32, Op.getSFPImm()))); in printOperand() 314 O << ::toString(APFloat(APFloat::IEEEdouble(), APInt(64, Op.getDFPImm()))); in printOperand()
|
/freebsd/contrib/llvm-project/llvm/lib/IR/ |
H A D | Constants.cpp | 382 APFloat::getZero(Ty->getFltSemantics())); in getNullValue() 423 APFloat FL = APFloat::getAllOnesValue(Ty->getFltSemantics()); in getAllOnesValue() 967 APFloat FV(V); in get() 970 APFloat::rmNearestTiesToEven, &ignored); in get() 980 Constant *ConstantFP::get(Type *Ty, const APFloat &V) { in get() 995 APFloat FV(Ty->getScalarType()->getFltSemantics(), Str); in get() 1007 APFloat NaN = APFloat::getNaN(Semantics, Negative, Payload); in getNaN() 1018 APFloat NaN = APFloat::getQNaN(Semantics, Negative, Payload); in getQNaN() 1029 APFloat NaN = APFloat::getSNaN(Semantics, Negative, Payload); in getSNaN() 1040 APFloat NegZero = APFloat::getZero(Semantics, Negative); in getZero() [all …]
|
H A D | Type.cpp | 72 case HalfTyID: return APFloat::IEEEhalf(); in getFltSemantics() 73 case BFloatTyID: return APFloat::BFloat(); in getFltSemantics() 74 case FloatTyID: return APFloat::IEEEsingle(); in getFltSemantics() 75 case DoubleTyID: return APFloat::IEEEdouble(); in getFltSemantics() 76 case X86_FP80TyID: return APFloat::x87DoubleExtended(); in getFltSemantics() 77 case FP128TyID: return APFloat::IEEEquad(); in getFltSemantics() 78 case PPC_FP128TyID: return APFloat::PPCDoubleDouble(); in getFltSemantics() 84 return APFloat::getZero(getFltSemantics()).isIEEE(); in isIEEE() 95 if (&S == &APFloat::IEEEhalf()) in getFloatingPointTy() 97 else if (&S == &APFloat::BFloat()) in getFloatingPointTy() [all …]
|
/freebsd/contrib/llvm-project/lldb/include/lldb/Utility/ |
H A D | Scalar.h | 67 m_float.convert(llvm::APFloat::x87DoubleExtended(), in Scalar() 68 llvm::APFloat::rmNearestTiesToEven, &ignore); in Scalar() 74 Scalar(llvm::APFloat v) : m_type(e_float), m_integer(0), m_float(v) {} in Scalar() 186 llvm::APFloat GetAPFloat() const { return m_float; } in GetAPFloat() 194 llvm::APFloat CreateAPFloatFromAPSInt(lldb::BasicType basic_type); 196 llvm::APFloat CreateAPFloatFromAPFloat(lldb::BasicType basic_type); 201 llvm::APFloat m_float;
|
/freebsd/contrib/llvm-project/clang/lib/Basic/Targets/ |
H A D | TCE.h | 81 FloatFormat = &llvm::APFloat::IEEEsingle(); in TCETargetInfo() 82 DoubleFormat = &llvm::APFloat::IEEEsingle(); in TCETargetInfo() 83 LongDoubleFormat = &llvm::APFloat::IEEEsingle(); in TCETargetInfo()
|
/freebsd/contrib/llvm-project/llvm/lib/ExecutionEngine/ |
H A D | ExecutionEngine.cpp | 699 APFloat apf = APFloat::getZero(APFloat::x87DoubleExtended()); in getConstantValue() 702 APFloat::rmNearestTiesToEven); in getConstantValue() 714 APFloat apf = APFloat::getZero(APFloat::x87DoubleExtended()); in getConstantValue() 717 APFloat::rmNearestTiesToEven); in getConstantValue() 731 APFloat apf = APFloat(APFloat::x87DoubleExtended(), GV.IntVal); in getConstantValue() 736 APFloat::rmTowardZero, &ignored); in getConstantValue() 851 APFloat apfLHS = APFloat(Sem, LHS.IntVal); in getConstantValue() 855 apfLHS.add(APFloat(Sem, RHS.IntVal), APFloat::rmNearestTiesToEven); in getConstantValue() 859 apfLHS.subtract(APFloat(Sem, RHS.IntVal), in getConstantValue() 860 APFloat::rmNearestTiesToEven); in getConstantValue() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | Float2Int.cpp | 226 const APFloat &F = CF->getValueAPF(); in calcRange() 236 APFloat NewF = F; in calcRange() 237 auto Res = NewF.roundToIntegral(APFloat::rmNearestTiesToEven); in calcRange() 238 if (Res != APFloat::opOK || NewF != F) in calcRange() 245 APFloat::rmNearestTiesToEven, in calcRange() 372 = APFloat::semanticsPrecision(ConvertedToTy->getFltSemantics()) - 1; in validateAndTransform() 421 APFloat::rmNearestTiesToEven, in convert()
|