mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-24 23:28:41 +00:00
convertFromInteger, as originally written, expected sign-extended
input. APInt unfortunately zero-extends signed integers, so Dale modified the function to expect zero-extended input. Make this assumption explicit in the function name. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42732 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -1247,8 +1247,8 @@ APFloat::mod(const APFloat &rhs, roundingMode rounding_mode)
|
||||
if (fs==opInvalidOp)
|
||||
return fs;
|
||||
|
||||
fs = V.convertFromInteger(x, parts * integerPartWidth, true,
|
||||
rmNearestTiesToEven);
|
||||
fs = V.convertFromZeroExtendedInteger(x, parts * integerPartWidth, true,
|
||||
rmNearestTiesToEven);
|
||||
assert(fs==opOK); // should always work
|
||||
|
||||
fs = V.multiply(rhs, rounding_mode);
|
||||
@@ -1576,9 +1576,11 @@ APFloat::convertFromUnsignedInteger(integerPart *parts,
|
||||
return normalize(rounding_mode, lost_fraction);
|
||||
}
|
||||
|
||||
/* FIXME: should this just take a const APInt reference? */
|
||||
APFloat::opStatus
|
||||
APFloat::convertFromInteger(const integerPart *parts, unsigned int width,
|
||||
bool isSigned, roundingMode rounding_mode)
|
||||
APFloat::convertFromZeroExtendedInteger(const integerPart *parts,
|
||||
unsigned int width, bool isSigned,
|
||||
roundingMode rounding_mode)
|
||||
{
|
||||
unsigned int partCount = partCountForBits(width);
|
||||
opStatus status;
|
||||
|
Reference in New Issue
Block a user