/* * The standard 0x87 control word from finit is 0x37F, giving: * round to nearest * 64-bit precision * all exceptions masked. * * NetBSD used to select: * round to nearest * 53-bit precision * all exceptions masked. * Stating: 64-bit precision often gives bad results with high level * languages because it makes the results of calculations depend on whether * intermediate values are stored in memory or in FPU registers. * Also some 'pathological divisions' give an error in the LSB because * the value is first rounded up when the 64bit mantissa is generated, * and then again when it is truncated to 53 bits. * * However the C language explicitly allows the extra precision. * * The iBCS control word has underflow, overflow, zero divide, and invalid * operation exceptions unmasked. But that causes an unexpected exception * in the test program 'paranoia' and makes denormals useless (DBL_MIN / 2 * underflows). It doesn't make a lot of sense to trap underflow without * trapping denormals. */ /* Default x87 control word. */