[llvm-dev] [FPEnv] Rust/Go/Swift/Flang/other llvm IRBuilder needs?

John Reagan via llvm-dev llvm-dev at lists.llvm.org
Thu Jan 17 11:23:53 PST 2019

We are certainly interested.  I've been following along all the
discussions about constrained math, FENV_ACCESS, etc. and it all seems
quite reasonable to me.

We are needing to handle the IEEE settings we have on our Alpha and
Itanium targets.  We have various C and Fortran command line settings like:




     Selects the IEEE floating-point mode to be used.


      FAST              During program execution, only finite values (no
                        infinities, NaNs, or denorms) are created.
                        Exceptional conditions, such as floating point
                        overflow and divide by zero, are fatal.

      UNDERFLOW_TO_ZERO Generate infinities and NaNs.  Flush
                        denormalized results and underflow to zero
                        without exceptions.

      DENORM_RESULTS    Same as UNDERFLOW_TO_ZERO, except that denorms
                        are generated.  This is the default for I64

      INEXACT           Same as DENORM_RESULTS, except that inexact
                        values are trapped.  This is the slowest mode.




     For /FLOAT=IEEE_MODE, the /ROUNDING_MODE qualifier lets you select
     one of the following IEEE rounding modes:

      o  NEAREST (default)

      o  DYNAMIC


      o  CHOPPED

     For /FLOAT=G_FLOAT or /FLOAT=D_FLOAT, rounding defaults to
     /ROUNDING_MODE=NEAREST, with no other choice of rounding mode.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190117/11c1aa0a/attachment.sig>

More information about the llvm-dev mailing list