Commit fixes for half precision I noted in review, so
authorDale Johannesen <dalej@apple.com>
Fri, 23 Oct 2009 04:02:51 +0000 (04:02 +0000)
committerDale Johannesen <dalej@apple.com>
Fri, 23 Oct 2009 04:02:51 +0000 (04:02 +0000)
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

index 361614a82832e7eeac428811e793ed501ece3a20..7e42e2dac10a7def219bd7cbcd96bb36274da570 100644 (file)
@@ -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);