mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-02 07:32:52 +00:00
Add attempted idiotproofing comment per review.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78825 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a79eefd4f8
commit
4e97a0f0cb
@ -885,7 +885,7 @@ APInt llvm::APIntOps::RoundDoubleToAPInt(double Double, unsigned width) {
|
|||||||
return isNeg ? -Tmp : Tmp;
|
return isNeg ? -Tmp : Tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// RoundToDouble - This function convert this APInt to a double.
|
/// RoundToDouble - This function converts this APInt to a double.
|
||||||
/// The layout for double is as following (IEEE Standard 754):
|
/// The layout for double is as following (IEEE Standard 754):
|
||||||
/// --------------------------------------
|
/// --------------------------------------
|
||||||
/// | Sign Exponent Fraction Bias |
|
/// | Sign Exponent Fraction Bias |
|
||||||
@ -895,6 +895,7 @@ APInt llvm::APIntOps::RoundDoubleToAPInt(double Double, unsigned width) {
|
|||||||
double APInt::roundToDouble(bool isSigned) const {
|
double APInt::roundToDouble(bool isSigned) const {
|
||||||
|
|
||||||
// Handle the simple case where the value is contained in one uint64_t.
|
// Handle the simple case where the value is contained in one uint64_t.
|
||||||
|
// It is wrong to optimize getWord(0) to VAL; there might be more than one word.
|
||||||
if (isSingleWord() || getActiveBits() <= APINT_BITS_PER_WORD) {
|
if (isSingleWord() || getActiveBits() <= APINT_BITS_PER_WORD) {
|
||||||
if (isSigned) {
|
if (isSigned) {
|
||||||
int64_t sext = (int64_t(getWord(0)) << (64-BitWidth)) >> (64-BitWidth);
|
int64_t sext = (int64_t(getWord(0)) << (64-BitWidth)) >> (64-BitWidth);
|
||||||
|
Loading…
Reference in New Issue
Block a user