[project @ 2001-12-20 15:20:37 by sewardj]
authorsewardj <unknown>
Thu, 20 Dec 2001 15:20:38 +0000 (15:20 +0000)
committersewardj <unknown>
Thu, 20 Dec 2001 15:20:38 +0000 (15:20 +0000)
commit0cc54eac4ab05b44ddab78d1531ccb9edc5d7e6c
tree978e2f2794544ade93c021607524c8eb3d1d0395
parent5aaf7975d944b50433a15c08e5b9626a78a95227
[project @ 2001-12-20 15:20:37 by sewardj]
Generate floating-point comparisons on x86 which deal with NaNs in what
I assume is an IEEE854 compliant fashion.  For
   == >= > <= <
if either arg is a NaN, produce False, and for
   /=
if either arg is a NaN, produce True.

This is the behaviour that gcc has, by default.

Requires some ultramagical x86 code frags to be emitted.  A big comment
in PprMach explains how it works.
ghc/compiler/nativeGen/MachCode.lhs
ghc/compiler/nativeGen/MachMisc.lhs
ghc/compiler/nativeGen/PprMach.lhs