From: Reid Spencer Date: Wed, 28 Feb 2007 01:30:08 +0000 (+0000) Subject: Fix a bug in RoundDoubleToAPInt where it would force the size to 64 bits X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=ff6057664636d5ce5e996bdebac1a8e6b3058504;p=oota-llvm.git Fix a bug in RoundDoubleToAPInt where it would force the size to 64 bits instead of honoring the client's requested bit width. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34712 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Support/APInt.cpp b/lib/Support/APInt.cpp index f38029ac8f2..f9656254503 100644 --- a/lib/Support/APInt.cpp +++ b/lib/Support/APInt.cpp @@ -808,7 +808,7 @@ APInt llvm::APIntOps::RoundDoubleToAPInt(double Double, uint32_t width) { // If the exponent is negative, the value is < 0 so just return 0. if (exp < 0) - return APInt(64u, 0u); + return APInt(width, 0u); // Extract the mantissa by clearing the top 12 bits (sign + exponent). uint64_t mantissa = (T.I & (~0ULL >> 12)) | 1ULL << 52;