John Reagan via llvm-dev
2019-Jan-17 19:23 UTC
[llvm-dev] [FPEnv] Rust/Go/Swift/Flang/other llvm IRBuilder needs?
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: CC /IEEE_MODE /IEEE_MODE=option /IEEE_MODE=DENORM_RESULTS (D) Selects the IEEE floating-point mode to be used. Options: 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 systems. INEXACT Same as DENORM_RESULTS, except that inexact values are trapped. This is the slowest mode. CC /ROUNDING_MODE /ROUNDING_MODE=option /ROUNDING_MODE=NEAREST (D) For /FLOAT=IEEE_MODE, the /ROUNDING_MODE qualifier lets you select one of the following IEEE rounding modes: o NEAREST (default) o DYNAMIC o MINUS_INFINITY 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>