[Discuss] IEEE doubles

Daniel M German dmgerman at uvic.ca
Tue Jun 26 17:25:59 PDT 2007


 Alan W Irwin twisted the bytes to say:



 Alan> Thanks, Daniel, for the disassembled code.  It's been years since I tried to
 Alan> figure out assembler language (IBM system/370, PDP-8, VAX), but comparing
 Alan> the above two sections, it looks like they are identical except for the
 Alan> extra

 Alan> fstpl  temp
 Alan> fldl   temp

Hi Alan,

 Alan> in the second version.  I presume the first command stores the register
 Alan> into memory (which necessarily would normalize the result to 64-bit)
 Alan> and the second command reloads the register with that normalized (in this
 Alan> case zeroed by 64-bit underflow) result.

you are right. It is the "rounding" of the move to memory.

I guess we can summarize it as follows: some operations are performed
in the FPU registers which are 80 bit (I just checked). So,
effectively, what we were observing is a variation in the precision of
the operations based upon whether they are uniquely done in the FPU or
done in memory (and hence rounding).

dmg

--
Daniel M. German                  
http://turingmachine.org/
http://silvernegative.com/
dmg (at) uvic (dot) ca
replace (at) with @ and (dot) with .


More information about the Discuss mailing list