From a223aed12625747ca9dbd4b1bb4c21494c61cf3e Mon Sep 17 00:00:00 2001 From: Dale Johannesen Date: Fri, 23 Oct 2009 04:02:51 +0000 Subject: [PATCH] Commit fixes for half precision I noted in review, so they don't get lost; I don't think the originator has write access. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84928 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Support/APFloat.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/Support/APFloat.cpp b/lib/Support/APFloat.cpp index 361614a8283..7e42e2dac10 100644 --- a/lib/Support/APFloat.cpp +++ b/lib/Support/APFloat.cpp @@ -2830,11 +2830,11 @@ APFloat::convertHalfAPFloatToAPInt() const myexponent = 0; mysignificand = 0; } else if (category==fcInfinity) { - myexponent = 0xff; + myexponent = 0x1f; mysignificand = 0; } else { assert(category == fcNaN && "Unknown category!"); - myexponent = 0xff; + myexponent = 0x1f; mysignificand = (uint32_t)*significandParts(); } @@ -3089,7 +3089,7 @@ APFloat::initFromHalfAPInt(const APInt & api) { assert(api.getBitWidth()==16); uint32_t i = (uint32_t)*api.getRawData(); - uint32_t myexponent = (i >> 15) & 0x1f; + uint32_t myexponent = (i >> 10) & 0x1f; uint32_t mysignificand = i & 0x3ff; initialize(&APFloat::IEEEhalf);