
Quoting John Maddock:
BTW I believe recent Intel Win32 compiler releases do the same thing for x86 as well (which is to say they don't use the x87 instructions just the SSE ones). But maybe someone more knowledgable will step in and comfirm this: or maybe it makes no difference?
It makes a big difference for the interval library. For performance reason, the library tries to setup only the coprocessor that will perform the floating-point computations. So if its assumptions are wrong, computations will be performed on a coprocessor that was not properly configured. In contrast, the fesetround C99 function usually reads and writes the control register of every coprocessor. Needless to say, that will bring the machine to a halt, that's why the library tries to avoid it as much as possible (not withstanding the fact that it is not available everywhere). Best regards, Guillaume