<div class="gmail_quote">On Sat, Oct 16, 2010 at 5:09 AM, Henry Cejtin <span dir="ltr">&lt;<a href="mailto:henry.cejtin@sbcglobal.net">henry.cejtin@sbcglobal.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">It is that it is more correct because when you spill from  a<br>register to memory and then load it back into a register, it is the same<br>
as it was before the spill.</div></div></blockquote><div><br>Yes, it lets you perform all operations with exactly 32/64 bits of precision.<br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div> Thus the SSE2 instructions correctly do<br>what IEEE mandates while the x86 mode does not.  (At least  that  is  my<br>understanding.)</div></div></blockquote><div><br>The x87 conforms to the IEEE specification for extended precision. As for performing intermediate operations at a higher precision, depending on who you talk to [1], this is a good thing or a bad thing. Both ways are certainly allowed.<br>
</div></div><br>[1] How Java’s floating-point hurts everyone everywhere. Retrieved September 5, 2003 from <a href="http://www.cs.berkeley.edu/%7Ewkahan/JAVAhurt.pdf" class="external free" rel="nofollow">http://www.cs.berkeley.edu/~wkahan/JAVAhurt.pdf</a>.