mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-13 22:24:07 +00:00
Remove getIEEEFloatParts and getIEEEDoubleParts. They are not needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85358 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -2632,56 +2632,6 @@ APFloat::getHashValue() const
|
||||
}
|
||||
}
|
||||
|
||||
void APFloat::getIEEEFloatParts(bool &Sign, uint32_t &Exp,
|
||||
uint32_t &Significand) const {
|
||||
assert(semantics == (const llvm::fltSemantics*)&IEEEsingle &&
|
||||
"Float semantics are not IEEEsingle");
|
||||
assert(partCount()==1);
|
||||
|
||||
if (category == fcNormal) {
|
||||
Exp = exponent+127; // bias
|
||||
Significand = (uint32_t)*significandParts();
|
||||
if (Exp == 1 && !(Significand & 0x800000))
|
||||
Exp = 0; // denormal
|
||||
} else if (category==fcZero) {
|
||||
Exp = 0;
|
||||
Significand = 0;
|
||||
} else if (category==fcInfinity) {
|
||||
Exp = 0xff;
|
||||
Significand = 0;
|
||||
} else {
|
||||
assert(category == fcNaN && "Unknown category!");
|
||||
Exp = 0xff;
|
||||
Significand = (uint32_t)*significandParts();
|
||||
}
|
||||
Sign = sign;
|
||||
}
|
||||
|
||||
void APFloat::getIEEEDoubleParts(bool &Sign, uint64_t &Exp,
|
||||
uint64_t &Significand) const {
|
||||
assert(semantics == (const llvm::fltSemantics*)&IEEEdouble &&
|
||||
"Float semantics are not IEEEdouble");
|
||||
assert(partCount()==1);
|
||||
|
||||
if (category == fcNormal) {
|
||||
Exp = exponent+1023; // bias
|
||||
Significand = *significandParts();
|
||||
if (Exp == 1 && !(Significand & 0x10000000000000LL))
|
||||
Exp = 0; // denormal
|
||||
} else if (category==fcZero) {
|
||||
Exp = 0;
|
||||
Significand = 0;
|
||||
} else if (category==fcInfinity) {
|
||||
Exp = 0x7ff;
|
||||
Significand = 0;
|
||||
} else {
|
||||
assert(category == fcNaN && "Unknown category!");
|
||||
Exp = 0x7ff;
|
||||
Significand = *significandParts();
|
||||
}
|
||||
Sign = sign;
|
||||
}
|
||||
|
||||
// Conversion from APFloat to/from host float/double. It may eventually be
|
||||
// possible to eliminate these and have everybody deal with APFloats, but that
|
||||
// will take a while. This approach will not easily extend to long double.
|
||||
|
Reference in New Issue
Block a user