diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-03-07 19:29:41 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-03-07 19:29:41 +0000 |
commit | 7f3be425ec91d3479f6669c125476f578c497524 (patch) | |
tree | 996aa9dfa54be0d228dde6e7394f9adf66f7c76c /gcc/flags.h | |
parent | 8c74272dfcb3208d767bbfecf204aea883617225 (diff) | |
download | gcc-7f3be425ec91d3479f6669c125476f578c497524.tar.gz |
Brad's -ffast-math breakup.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40300 138bc75d-0d04-0410-961f-82ee72b054a4
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 3ef556eb42b..d0e2b27bf0e 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). */ |