Lines Matching refs:APFloat
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()
1285 APFloat::opStatus (APFloat::*f)(const APFloat &RHS, in F_Op()
1286 APFloat::roundingMode RM)) { in F_Op()
1298 bool operator()(FADD_S inst) { return F_Op(inst, false, &APFloat::add); } in operator ()()
1299 bool operator()(FSUB_S inst) { return F_Op(inst, false, &APFloat::subtract); } in operator ()()
1300 bool operator()(FMUL_S inst) { return F_Op(inst, false, &APFloat::multiply); } in operator ()()
1301 bool operator()(FDIV_S inst) { return F_Op(inst, false, &APFloat::divide); } in operator ()()
1342 APFloat (*f)(const APFloat &A, const APFloat &B)) { in F_MAX_MIN()
1353 m_emu.SetAccruedExceptions(APFloat::opInvalidOp); in F_MAX_MIN()
1355 auto canonicalNaN = APFloat::getQNaN(rs1.getSemantics()); in F_MAX_MIN()
1366 &APFloat::convertToFloat); in operator ()()
1370 &APFloat::convertToFloat); in operator ()()
1406 m_emu.SetAccruedExceptions(APFloat::opInvalidOp); in F_Compare()
1410 auto res = m_emu.SetAccruedExceptions(APFloat::opInvalidOp); in F_Compare()
1416 rs1.compare(rs2) == APFloat::cmpEqual); in F_Compare()
1419 APFloat::cmpLessThan); in F_Compare()
1422 APFloat::cmpGreaterThan); in F_Compare()
1472 APFloat apf(semantics, rs1); in FCVT_f2i()
1478 return FCVT_f2i(inst, &Rs::ReadI32, APFloat::IEEEsingle()); in operator ()()
1481 return FCVT_f2i(inst, &Rs::ReadU32, APFloat::IEEEsingle()); in operator ()()
1490 APFloat apf((&apInt->*f)()); in FMV_i2f()
1499 bool FCVT_i2f(I inst, bool isDouble, T (APFloat::*f)() const) { in FCVT_i2f()
1509 &APFloat::convertToFloat); in operator ()()
1513 &APFloat::convertToFloat); in operator ()()
1516 return FCVT_f2i(inst, &Rs::ReadI64, APFloat::IEEEsingle()); in operator ()()
1519 return FCVT_f2i(inst, &Rs::Read, APFloat::IEEEsingle()); in operator ()()
1521 bool operator()(FLD inst) { return F_Load(inst, &APFloat::IEEEdouble, 64); } in operator ()()
1527 bool operator()(FADD_D inst) { return F_Op(inst, true, &APFloat::add); } in operator ()()
1528 bool operator()(FSUB_D inst) { return F_Op(inst, true, &APFloat::subtract); } in operator ()()
1529 bool operator()(FMUL_D inst) { return F_Op(inst, true, &APFloat::multiply); } in operator ()()
1530 bool operator()(FDIV_D inst) { return F_Op(inst, true, &APFloat::divide); } in operator ()()
1544 APFloat apf((float(d))); in operator ()()
1553 APFloat apf((double(f))); in operator ()()
1564 &APFloat::convertToDouble); in operator ()()
1568 &APFloat::convertToDouble); in operator ()()
1571 return FCVT_f2i(inst, &Rs::ReadI32, APFloat::IEEEdouble()); in operator ()()
1574 return FCVT_f2i(inst, &Rs::ReadU32, APFloat::IEEEdouble()); in operator ()()
1578 &APFloat::convertToDouble); in operator ()()
1582 &APFloat::convertToDouble); in operator ()()
1586 return FCVT_f2i(inst, &Rs::ReadI64, APFloat::IEEEdouble()); in operator ()()
1589 return FCVT_f2i(inst, &Rs::Read, APFloat::IEEEdouble()); in operator ()()