Don wrote:
I had a further look at this. The compiler *is* creating doubles and
floats as signalling NaNs. Turns out, that there are slight differences
between processors in the way they treat signalling NaNs, especially
between Intel vs AMD. Intel Core2 triggers SNANs when loading floats &
doubles, but *doesn't* trigger for 80-bit SNANs. The Pentium M that I
did most of my testing on, didn't trigger for any of them. AMD's docs
say that it triggers for all of them.
Won't be too hard to fix.
How do we fix the CPU? ;-)