diff options
author | Brad Lucier <lucier@math.purdue.edu> | 2001-03-07 11:29:41 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2001-03-07 11:29:41 -0800 |
commit | de6c59795844f185e1079034b9fa777fbc12ef5a (patch) | |
tree | 996aa9dfa54be0d228dde6e7394f9adf66f7c76c /gcc/flags.h | |
parent | 6822468a694e59639c0f97975a2f48951501fd37 (diff) | |
download | gcc-de6c59795844f185e1079034b9fa777fbc12ef5a.zip gcc-de6c59795844f185e1079034b9fa777fbc12ef5a.tar.gz gcc-de6c59795844f185e1079034b9fa777fbc12ef5a.tar.bz2 |
Brad's -ffast-math breakup.
From-SVN: r40300
Diffstat (limited to 'gcc/flags.h')
-rw-r--r-- | gcc/flags.h | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/gcc/flags.h b/gcc/flags.h index 3ef556e..d0e2b27 100644 --- a/gcc/flags.h +++ b/gcc/flags.h @@ -327,22 +327,28 @@ extern int flag_volatile_global; extern int flag_volatile_static; -/* Nonzero allows GCC to violate some IEEE or ANSI rules regarding math - operations in the interest of optimization. For example it allows - GCC to assume arguments to sqrt are nonnegative numbers, allowing - faster code for sqrt to be generated. */ - -extern int flag_fast_math; - /* Nonzero allows GCC to optimize sibling and tail recursive calls. */ extern int flag_optimize_sibling_calls; /* Nonzero means the front end generally wants `errno' maintained by math - operations, like built-in SQRT, unless overridden by flag_fast_math. */ + operations, like built-in SQRT. */ extern int flag_errno_math; +/* Nonzero means that unsafe floating-point math optimizations are allowed + for the sake of speed. IEEE compliance is not guaranteed, and operations + are allowed to assume that their arguments and results are "normal" + (e.g., nonnegative for SQRT). */ + +extern int flag_unsafe_math_optimizations; + +/* Zero means that floating-point math operations cannot generate a + (user-visible) trap. This is the case, for example, in nonstop + IEEE 754 arithmetic. */ + +extern int flag_trapping_math; + /* 0 means straightforward implementation of complex divide acceptable. 1 means wide ranges of inputs must work for complex divide. 2 means C99-like requirements for complex divide (not yet implemented). */ |