* softfpu.pp: reverted r28318 and replaced it with a improved solution:

  * Moved handling of 64-bit values > high(int64) to qword_to_float64, so that normalizeRoundAndPackFloat64 procedure stays unmodified compared to C source.
  * Using "jamming" right shift instead of regular one, so the least significant bit is not dropped but participates in rounding.
  * Take a shortcut for values with <= 53 significant bits, which are convertible into float64 exactly and do not need rounding.


git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@28346 3ad0048d-3df7-0310-abae-a5850022a9f2