r137782 - in /branches/cell-4_3-branch/gcc: bui...
pinskia@gcc.gnu.org
pinskia@gcc.gnu.org
Mon Jul 14 10:09:00 GMT 2008
Author: pinskia
Date: Mon Jul 14 10:09:13 2008
New Revision: 137782
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=137782
Log:
2007-09-06 Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
* doc/tm.texi (DENORM_OPERANDS_ARE_ZERO, DENORM_RESULTS_ARE_ZERO,
ZERO_RESULTS_ARE_POSITVE, REAL_CONVERT_AS_IEEE): Document new macros.
(ROUND_TOWARDS_ZERO): Document new mode argument.
* flags.h (HONOR_NONIEEE_DENORMS): Define.
* defaults.h (ROUND_TOWARDS_ZERO): Add size argument.
(MODE_HAS_SIGN_DEPENDENT_ROUNDING): Pass size to ROUND_TOWARDS_ZERO.
(DENORM_OPERANDS_ARE_ZERO, DENORM_RESULTS_ARE_ZERO,
ZERO_RESULTS_ARE_POSITVE, REAL_CONVERT_AS_IEEE): Define.
* fold-const.c (const_binop): Call real_arithmetic_fold.
(fold_relational_const): Call real_compare_fold.
(fold_convert_const_real_from_real): Call real_convert_fold.
(fold_real_zero_addition_p): Return false when HONOR_NONIEEE_DENORMS
is true.
(fold_binary): Don't allow certain optimizations when
HONOR_NONIEEE_DENORMS is true.
* real.c (real_is_denorm, real_convert_ieee, real_arithmetic_fold,
real_compare_fold, real_convert_fold): Define.
(round_for_format): Handle round_towards_zero field.
(ieee_single_format, mips_single_format, motorola_single_format,
ieee_double_format, mips_double_format, motorola_double_format,
ieee_extended_motorola_format, ieee_extended_intel_96_format,
ieee_extended_intel_128_format,
ieee_extended_intel_96_round_53_format, ibm_extended_format,
mips_extended_format, ieee_quad_format, mips_quad_format,
vax_f_format, vax_d_format, vax_g_format, decimal_single_format,
decimal_double_format, decimal_quad_format, c4x_single_format,
c4x_extended_format, real_internal_format): Initialize
round_towards_zero field.
(spu_extended_format): Define new real format.
* real.h (real_format): Add round_towards_zero field.
(real_arithmetic_fold, real_compare_fold, real_convert_fold,
spu_extended_format): Declare.
* simplify-rtx.c (simplify_const_unary_operation): Call
real_convert_fold for FLOAT_EXTEND when REAL_CONVERT_AS_IEEE is
true.
(simplify_binary_operation_1): Don't allow certain optimizations when
HONOR_NONIEEE_DENORMS is true.
(simplify_const_binary_operation): Call real_arithmetic_fold.
(simplify_const_relational_operation): Call real_compare_fold.
* c-common.c (c_common_truthvalue_conversion): Call real_compare_fold.
* config/spu/spu.c (spu_override_options): Initialize
REAL_MODE_FORMAT for SFmode.
* config/spu/spu.h (ROUND_TOWARDS_ZERO, DENORM_OPERANDS_ARE_ZERO,
DENORM_RESULTS_ARE_ZERO, ZERO_RESULTS_ARE_POSITVE,
REAL_CONVERT_AS_IEEE, LARGEST_EXPONENT_IS_NORMAL): Define.
(MODE_HAS_NANS, MODE_HAS_INFINITIES,
MODE_HAS_SIGN_DEPENDENT_ROUNDING): Delete.
* config/fp-bit.h (FLO_mode): Define.
* config/fp-bit.c: Include insn-modes.h.
(pack_d, _fpmul_parts, _fpdiv_parts): Pass FLO_mode as argument to
ROUND_TOWARDS_ZERO.
in gcc/testsuite/
2007-09-06 Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
* gcc.c-torture/execute/ieee/fold.c: Add.
Added:
branches/cell-4_3-branch/gcc/testsuite/gcc.c-torture/execute/ieee/fold.c
Modified:
branches/cell-4_3-branch/gcc/builtins.c
branches/cell-4_3-branch/gcc/c-common.c
branches/cell-4_3-branch/gcc/config/fp-bit.c
branches/cell-4_3-branch/gcc/config/fp-bit.h
branches/cell-4_3-branch/gcc/config/spu/spu.c
branches/cell-4_3-branch/gcc/config/spu/spu.h
branches/cell-4_3-branch/gcc/defaults.h
branches/cell-4_3-branch/gcc/doc/tm.texi
branches/cell-4_3-branch/gcc/flags.h
branches/cell-4_3-branch/gcc/fold-const.c
branches/cell-4_3-branch/gcc/real.c
branches/cell-4_3-branch/gcc/real.h
branches/cell-4_3-branch/gcc/simplify-rtx.c
More information about the Gcc-cvs
mailing list