-
- Downloads
Makefile.in: rtlanal.o now depends upon real.h.
* Makefile.in: rtlanal.o now depends upon real.h. * flags.h [flag_signaling_nans]: New flag. [HONOR_SNANS]: New macro. * toplev.c [flag_signaling_nans]: Initialize to false. (f_options): Add processing for "-fsignaling-nans". (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math. (process_options): flag_signaling_nans implies flag_trapping_math. * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__ when -fsignaling-nans. First step to implementing WG14's N965. * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming 1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS. [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS. * simplify-rtx.c (simplify_relational_operation): Conditionalize transforming abs(x) < 0.0 into false on !HONOR_SNANS. * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions required by HONOR_SNANS. (may_trap_p): Floating point DIV, MOD, UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with -fsignaling_nans. EQ and NE only trap for flag_signaling_nans not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS). * doc/invoke.texi: Document new -fsignaling-nans compiler option. From-SVN: r55804
Showing
- gcc/ChangeLog 30 additions, 0 deletionsgcc/ChangeLog
- gcc/Makefile.in 1 addition, 1 deletiongcc/Makefile.in
- gcc/c-common.c 2 additions, 0 deletionsgcc/c-common.c
- gcc/doc/invoke.texi 22 additions, 5 deletionsgcc/doc/invoke.texi
- gcc/flags.h 6 additions, 0 deletionsgcc/flags.h
- gcc/fold-const.c 8 additions, 11 deletionsgcc/fold-const.c
- gcc/rtlanal.c 16 additions, 3 deletionsgcc/rtlanal.c
- gcc/simplify-rtx.c 1 addition, 1 deletiongcc/simplify-rtx.c
- gcc/toplev.c 17 additions, 1 deletiongcc/toplev.c
Loading
Please register or sign in to comment