Temporarily revert functionality change from my previous patch;
it is too aggressive.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57203 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Support/APFloat.cpp b/lib/Support/APFloat.cpp
index df65f11..3e37d79 100644
--- a/lib/Support/APFloat.cpp
+++ b/lib/Support/APFloat.cpp
@@ -1727,12 +1727,11 @@
       APInt::tcShiftLeft(significandParts(), newPartCount, shift);
     else if (shift < 0)
       APInt::tcShiftRight(significandParts(), newPartCount, -shift);
-    // If the new size is shorter, we lost information.
-    fs = (shift < 0) ? opInexact : opOK;
     // gcc forces the Quiet bit on, which means (float)(double)(float_sNan)
     // does not give you back the same bits.  This is dubious, and we
     // don't currently do it.  You're really supposed to get
     // an invalid operation signal at runtime, but nobody does that.
+    fs = opOK;
   } else {
     semantics = &toSemantics;
     fs = opOK;