1. 02 Dec, 2005 2 commits
    • Missed in last check-in. · cf84391c
      From-SVN: r107865
      Ben Elliston committed
    • dfp.h, dfp.c: New files. · 909e2256
      2005-12-02  Jon Grimm  <jgrimm2@us.ibm.com>
      	    Janis Johnson  <janis187@us.ibm.com>
      	    David Edelsohn  <dje@watson.ibm.com>
      	    Ben Elliston  <bje@au.ibm.com>
      
      	* dfp.h, dfp.c: New files.
      	* Makefile.in (DECNUM, DECNUMINC, LIBDECNUMBER): New variables.
      	(DECNUM_H): Likewise.
      	(LIBDEPS, LIBS, BACKEND): Append $(LIBDECNUMBER).
      	(INCLUDES): Append $(DECNUMINC).
      	(OBJS-common): Add dfp.o.
      	(dfp.o): New rule.
      	* real.h (EXP_BITS): Pinch one bit to ..
      	(struct real_value): Add decimal field.
      	(real_format): Change table size, update documentation.
      	(REAL_MODE_FORMAT): Update for to handle float, decimal float.
      	(real_from_string3): Declare.
      	(decimal_single_format): Declare.
      	(decimal_double_format): Declare.
      	(decimal_quad_format): Declare.
      	(REAL_VALUE_TO_TARGET_DECIMAL32): New.
      	(REAL_VALUE_TO_TARGET_DECIMAL64): New.
      	(REAL_VALUE_TO_TARGET_DECIMAL128): New.
      	* real.c: Include dfp.h.
      	(normalize): Early return for decimal floats.
      	(do_add): Zero decimal field.
      	(do_compare): Call do_decimal_compare for decimal floats.
      	(do_fix_trunc): Likewise, call decimal_do_fix_trunc.
      	(real_arithmetic): Call decimal_real_arithmetic for decimal
      	floating point operands.
      	(real_identical): If a and b are of differing radix, return false.
      	(real_to_integer): Call decimal_real_to_integer if the value is a
      	decimal float.
      	(real_to_integer2): Likewise, call decimal_real_to_integer2.
      	(real_to_decimal): Likewise, call decimal_real_to_decimal.
      	(real_to_hexadecimal): Place "N/A" in the return string for
      	decimal float.
      	(real_from_string3): New variant, given a mode.
      	(real_maxval): Use decimal_real_maxval for decimal floats.
      	(round_for_format): Use decimal_round_for_format for decimals.
      	(real_convert): Use decimal_real_convert where appropriate.
      	(significand_size): Handle base 10.
      	(encode_decimal_single, decode_decimal_single,
      	encode_decimal_double, decode_decimal_double, encode_decimal_quad,
      	decode_decimal_quad): New functions.
      	(decimal_single_format): New.
      	(decimal_double_format): New.
      	(decimal_quad_format): New.
      	* machmode.def: Add SD, DD and TD decimal floating point modes.
      	* machmode.h (FLOAT_MODE_P, SCALAR_FLOAT_MODE_P, MODES_WIDEN_P):
      	Include MODE_DECIMAL_FLOAT.
      	(DECIMAL_FLOAT_MODE_P): New.
      	* mode-classes.def (MODE_DECIMAL_FLOAT): New mode class.
      	* genmodes.c (struct mode_data): Add counter field.
      	(struct mode_data): Update comment for format.
      	(blank_mode): Initialise counter field.
      	(new_mode): Increment counter field for each mode defined.
      	(complete_mode): Handle MODE_DECIMAL_FLOAT, update check for mode
      	using a format.
      	(make_complex_modes): Handle modes containing `D'.
      	(DECIMAL_FLOAT_MODE, FRACTIONAL_DECIMAL_FLOAT_MODE): New.
      	(make_decimal_float_mode): New.
      	(reset_float_format): Handle MODE_DECIMAL_FLOAT.
      	(cmp_modes): Compare counter field if other characteristics
      	similar.
      	(emit_real_format_for_mode): Support formats for decimal floats.
      	* doc/rtl.texi (Machine Modes): Document SD, DD and TDmodes.
      	Document MODE_DECIMAL_FLOAT.
      
      Co-Authored-By: Ben Elliston <bje@au.ibm.com>
      Co-Authored-By: David Edelsohn <dje@watson.ibm.com>
      Co-Authored-By: Janis Johnson <janis187@us.ibm.com>
      
      From-SVN: r107861
      Jon Grimm committed
  2. 19 Sep, 2005 1 commit
  3. 29 Jul, 2005 2 commits
  4. 25 Jun, 2005 1 commit
  5. 15 Mar, 2005 2 commits
    • real.c (c4x_single_format, [...]): Provide values for signbit_ro for c4x's… · c064fde5
      real.c (c4x_single_format, [...]): Provide values for signbit_ro for c4x's single and extended floating point formats.
      
      
      	* real.c (c4x_single_format, c4x_extended_format): Provide values
      	for signbit_ro for c4x's single and extended floating point formats.
      	* optabs.c (expand_copysign): Use the floating point format's
      	signbit_ro for expanding via expand_copysign_absneg, and it's
      	signbit_rw field for expanding via expand_copysign_bit.
      
      Co-Authored-By: Richard Henderson <rth@redhat.com>
      
      From-SVN: r96530
      Roger Sayle committed
    • real.h (struct real_format): Split the signbit field into two two fields,… · b87a0206
      real.h (struct real_format): Split the signbit field into two two fields, signbit_ro and signbit_rw.
      
      
      	* real.h (struct real_format): Split the signbit field into two
      	two fields, signbit_ro and signbit_rw.
      	* real.c (ieee_single_format, mips_single_format, ieee_double_format,
      	mips_double_format, ieee_extended_motorola_format,
      	ieee_extended_intel_96_format, ieee_extended_intel_96_round_53_format,
      	ieee_extended_intel_128_format, ibm_extended_format,
      	mips_extended_format, ieee_quad_format, mips_quad_format,
      	vax_f_format, vax_d_format, vax_g_format, i370_single_format,
      	i370_double_format, c4x_single_format, c4x_extended_format,
      	real_internal_format): Update initializers for new field.
      	* builtins.c (expand_builtin_signbit): Use signbit_ro field of the
      	real_format structure.
      	* optabs.c (expand_absneg_bit, expand_copysign): Use signbit_rw
      	field of the real_format structure.
      
      From-SVN: r96471
      Roger Sayle committed
  6. 09 Mar, 2005 1 commit
  7. 25 Jan, 2005 1 commit
  8. 21 Jan, 2005 1 commit
    • re PR rtl-optimization/576 (gcc performs invalid optimization with float… · d284eb28
      re PR rtl-optimization/576 (gcc performs invalid optimization with float operations when different rounding mode.)
      
      
      	PR rtl-optimization/576
      	* real.c (real_arithmetic): Change return type from void to bool
      	to return an indication that the result may be inexact.
      	* real.h (real_arithmeric): Update prototype.
      	* fold-const.c (const_binop):  Don't constant fold floating
      	point expressions when the user specifies -frounding-math and
      	the result may depend upon the run-time rounding mode.
      	(fold_convert_const_real_from_real): Clean-up.
      	(fold_initializer): Ignore flag_rounding_math for initializers.
      	* simplify-rtx.c (simplify_binary_operation): Likewise, don't
      	constant fold FP operations with flag_rounding_math if the
      	result may depend upon the run-time rounding mode.
      
      From-SVN: r94020
      Roger Sayle committed
  9. 20 Jan, 2005 1 commit
  10. 09 Dec, 2004 1 commit
  11. 09 Sep, 2004 1 commit
    • ra-build.c (copy_insn_p, [...]): Use gcc_assert and gcc_unreachable instead of abort. · 41374e13
      	* ra-build.c (copy_insn_p, remember_move, defuse_overlap_p_1,
      	live_out_1, prune_hardregs_for_mode, init_one_web_common,
      	reinit_one_web, add_subweb, add_subweb_2, init_web_parts,
      	record_conflict, compare_and_free_webs, init_webs_defs_uses,
      	parts_to_webs_1, parts_to_webs, reset_conflicts,
      	check_conflict_numbers, remember_web_was_spilled, handle_asm_insn,
      	ra_build_free): Use gcc_assert and gcc_unreachable instead of abort.
      	* ra-colorize.c (push_list, put_web, reset_lists, put_web_at_end,
      	put_move, remove_move, combine, select_spill, colorize_one_web,
      	try_recolor_web, insert_coalesced_conflicts, check_colors,
      	break_precolored_alias, restore_conflicts_from_coalesce,
      	sort_and_combine_web_pairs, check_uncoalesced_moves): Likewise.
      	* ra-rewrite.c (spill_coalescing, slots_overlap_p, emit_loads,
      	reloads_to_loads, rewrite_program2, emit_colors): Likewise.
      	* ra.c (first_hard_reg, create_insn_info, find_subweb, init_ra,
      	check_df): Likewise.
      	* real.c (do_add, do_multiply, do_divide, do_compare, do_fix_trunc,
      	real_arithmetic, real_compare, real_exponent, real_ldexp,
      	real_identical, real_to_integer, real_to_integer2, real_to_decimal,
      	real_to_hexadecimal, real_from_integer, ten_to_ptwo, ten_to_mptwo,
      	real_digit, real_nan, real_maxval, round_for_format, real_convert,
      	real_to_target, real_from_target, real_hash, encode_ieee_single,
      	encode_ieee_double, encode_ieee_extended, encode_ieee_quad,
      	encode_vax_f, encode_vax_d, encode_vax_g, encode_i370_single,
      	encode_i370_double, encode_c4x_single, encode_c4x_extended): Likewise.
      	* recog.c (validate_change, validate_replace_rtx_1, asm_operand_ok,
      	extract_insn, peep2_next_insn, peep2_reg_dead_p,
      	peep2_find_free_register, peephole2_optimize, store_data_bypass_p,
      	if_test_bypass_p): Likewise.
      	* reg-stack.c (record_label_references, get_asm_operand_n_inputs,
      	stack_result, remove_regno_note, get_hard_regnum, emit_pop_insn,
      	emit_swap_insn, swap_to_top, move_for_stack_reg,
      	subst_stack_regs_pat, subst_asm_stack_regs, change_stack,
      	compensate_edge, convert_regs_1): Likewise.
      	* regclass.c (init_reg_sets, init_reg_sets_1,
      	memory_move_secondary_cost): Likewise.
      	* regrename.c (note_sets, clear_dead_regs, scan_rtx_reg, scan_rtx):
      	Likewise.
      	* reload.c (push_secondary_reload, find_valid_class, push_reload,
      	operands_match_p, decompose, immune_p, find_reloads,
      	find_reloads_toplev, find_reloads_address_1, subst_reloads,
      	copy_replacements, refers_to_regno_for_reload_p,
      	reg_overlap_mentioned_for_reload_p): Likewise.
      	* reload1.c (compute_use_by_pseudos, replace_pseudos_in, reload,
      	count_pseudo, find_reg, eliminate_regs, eliminate_regs_in_insn,
      	verify_initial_elim_offsets, finish_spills, clear_reload_reg_in_use,
      	reload_reg_free_p, reload_reg_reaches_end_p, reloads_conflict,
      	choose_reload_regs, merge_assigned_reloads, emit_input_reload_insns,
      	do_output_reload, fixup_abnormal_edges): Likewise.
      	* reorg.c (stop_search_p, emit_delay_sequence, get_jump_flags,
      	fill_slots_from_thread, relax_delay_slots): Likewise.
      	* resource.c (mark_referenced_resources, mark_set_resources):
      	Likewise.
      	* rtl.c (copy_rtx, rtx_equal_p): Likewise.
      	* rtlanal.c (insn_dependent_p, reg_overlap_mentioned_p,
      	dead_or_set_p, find_reg_fusage, remove_note, replace_rtx,
      	subreg_lsb_1, subreg_regno_offset, subreg_offset_representable_p,
      	find_first_parameter_load, can_hoist_insn_p, hoist_update_store,
      	hoist_insn_after, hoist_insn_to_edge, nonzero_bits1): Likewise.
      	* rtlhooks.c (gen_lowpart_general): Likewise.
      	* sbitmap.c (sbitmap_difference): Likewise.
      	* sched-deps.c (add_dependence, sched_analyze_1, sched_analyze_2,
      	sched_analyze, add_forward_dependence): Likewise.
      	* sched-ebb.c (fix_basic_block_boundaries, schedule_ebb): Likewise.
      	* sched-rgn.c (debug_regions, compute_trg_info, schedule_region,
      	schedule_insns): Likewise.
      	* sched-vis.c (print_pattern): Likewise.
      	* sdbout.c (sdbout_symbol, sdbout_toplevel_data): Likewise.
      	* simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
      	simplify_const_relational_operation, simplify_ternary_operation,
      	simplify_immed_subreg, simplify_subreg, simplify_gen_subreg):
      	Likewise.
      	* sreal.c (copy, sreal_sub, sreal_div): Likewise.
      	* stmt.c (force_label_rtx, expand_goto, expand_asm_operands,
      	resolve_operand_name_1, expand_return, expand_decl,
      	expand_anon_union_decl, emit_case_bit_tests, expand_case): Likewise.
      	* stor-layout.c (put_pending_size, smallest_mode_for_size,
      	int_mode_for_mode, layout_decl, finish_builtin_struct, layout_type,
      	set_sizetype, get_mode_bounds): Likewise.
      
      From-SVN: r87244
      Nathan Sidwell committed
  12. 25 Jul, 2004 1 commit
  13. 17 Jun, 2004 1 commit
    • Bug 14610 · c50a0116
      	Bug 14610
      	* Makefile.in (min-insn-modes.o): Correct dependencies.
      	* real.c (encode_ieee_extended, decode_ieee_extended): Always
      	produce/consume 12-byte little-endian Intel format.
      	(encode_ieee_extended_128, decode_ieee_extended_128): Delete.
      	(encode_ieee_extended_motorola, decode_ieee_extended_motorola)
      	(encode_ieee_extended_intel_96, decode_ieee_extended_intel_96)
      	(encode_ieee_extended_intel_128, decode_ieee_extended_intel_128):
      	New functions which convert between 12-byte little-endian Intel
      	format and the desired format.
      	(ieee_extended_motorola_format, ieee_extended_intel_96_round_53_format)
      	(ieee_extended_intel_96_format, ieee_extended_intel_128_format):
      	Update.
      testsuite:
      	* gcc.dg/ia64-float80-1.c, gcc.dg/ia64-float80-2.c: New testcases.
      
      From-SVN: r83295
      Zack Weinberg committed
  14. 14 Jun, 2004 1 commit
  15. 07 Jun, 2004 1 commit
    • real.c (real_copysign): New function to implement libm's copysign. · 67057c53
      	* real.c (real_copysign): New function to implement libm's copysign.
      	* real.h (real_copysign): Prototype here.
      	* fold-const.c (tree_expr_nonnegative_p): The result of sqrt, sqrtf
      	and sqrtl can be negative, as sqrt(-0.0) = -0.0.  Correct whitespace.
      	* builtins.c (fold_builtin_isascii, fold_builtin_toascii,
      	fold_builtin_isdigit): Add function prototypes.
      	(fold_builtin_copysign): New function to fold copysign, copysignf
      	and copysignl.  Optimize copysign(x,x) as x.  Evaluate copysign of
      	constant arguments at compile-time using real_copysign.  Fold
      	copysign(X,Y) as fabs(X) if Y is always non-negative.
      	(fold_builtin_1): Correct minor whitespace/style issues.  Call
      	fold_builtin_copysign for BUILT_IN_COPYSIGN{,F,L}.
      
      	* gcc.dg/builtins-41.c: New test case.
      	* gcc.dg/builtins-42.c: New test case.
      
      From-SVN: r82721
      Roger Sayle committed
  16. 28 May, 2004 1 commit
    • re PR rtl-optimization/15649 (ICE with __builtin_isgreater and -ffast-math) · d1a7edaf
      gcc/ChangeLog:
      2004-05-27  Paolo Bonzini  <bonzini@gnu.org>
      	    Roger Sayle  <roger@eyesopen.com>
      
      	PR rtl-optimization/15649
      	Add LTGT_EXPR and improve pretty-printing of unordered
      	comparisons.
      	* c-common.c (c_common_truthvalue_conversion):
      	Handle LTGT_EXPR.
      	* c-typeck.c (build_binary_op): Likewise.
      	* dojump.c (do_jump): Likewise.
      	* expr.c (expand_expr_real_1, do_store_flag): Likewise.
      	* predict.c (tree_predict_by_opcode): Likewise.
      	* real.c (real_compare): Likewise.
      	* tree-cfg.c (verify_expr): Likewise.
      	* tree-inline.c (estimate_num_insns_1): Likewise.
      	* tree-pretty-print.c (dump_generic_node): Likewise.
      	Handle ORDERED_EXPR, UNORDERED_EXPR.
      	(op_symbol): Print unordered comparisons differently
      	than ordered ones.
      	* tree.def (LTGT_EXPR): New '<' tree code.
      	* doc/c-tree.texi (Expressions): Document floating-point
      	comparison nodes.
      
      	Fold comparisons between floating point values.
      	* fold-const.c (enum comparison_code): New, from
      	#define'd constants.  Define compcodes for unordered
      	comparisons and for invalid transformations.
      	(invert_tree_comparison): Add "honor_nans" parameter.
      	(fold_truthop): Revamp to work on floating-point types too.
      	(comparison_to_compcode): Support unordered comparisons.
      	Use new enum comparison_code.
      	(compcode_to_comparison): Likewise.
      	(combine_compcodes): New function.
      	(invert_truthvalue): Let invert_tree_comparison decide
      	whether it is valid to fold the comparison.  Fold ORDERED
      	and UNORDERED even if flag_unsafe_math_optimizations is off,
      	and the remaining even if flag_unsafe_math_optimizations
      	is off but we are under -fno-trapping-math.
      	(fold_relational_const): Integer modes do not honor NaNs.
      
      gcc/testsuite/ChangeLog:
      2004-05-27  Paolo Bonzini  <bonzini@gnu.org>
      
      	* gcc.c-torture/compare-fp-1.c, gcc.c-torture/compare-fp-2.c,
      	gcc.c-torture/compare-fp-3.c, gcc.c-torture/compare-fp-4.c,
      	gcc.c-torture/compare-fp-3.x, gcc.c-torture/compare-fp-4.x,
      	gcc.c-torture/pr15649-1.c: New.
      
      Co-Authored-By: Roger Sayle <roger@eyesopen.com>
      
      From-SVN: r82365
      Paolo Bonzini committed
  17. 22 Mar, 2004 1 commit
  18. 11 Mar, 2004 1 commit
  19. 04 Mar, 2004 1 commit
  20. 10 Feb, 2004 1 commit
  21. 08 Feb, 2004 1 commit
  22. 23 Jan, 2004 1 commit
  23. 12 Jan, 2004 1 commit
  24. 10 Jan, 2004 1 commit
  25. 03 Nov, 2003 1 commit
  26. 30 Oct, 2003 2 commits
    • * real.c (encode_ieee_extended): Back out previous patch. · 1199470c
      From-SVN: r73105
      Jan Hubicka committed
    • real.c (encode_ieee_extended): Initialize whole array. · f8a1ebc6
      	* real.c (encode_ieee_extended): Initialize whole array.
      	* reg-stack.c (move_for_stack_reg0: Use always XFmode.
      	* i386-modes.def: Change definitions of TFmode and XFmode.
      	* i386.c (classify_argument): Rename TFmodes to XFmodes; add new TFmode code.
      	(construct_container): Allow constructing of TFmode integer containers.
      	(ix86_return_in_memory):  XFmode is not returned in memory.
      	(init_ext_80387_constants): Always use XFmode.
      	(print_operand): Likewise.
      	(ix86_prepare_fp_compare_regs): Likewise.
      	(split_to_parts): Deal with TFmode.
      	(split_long_move): Simplify.
      	(ix86_init_mmx_sse_builtins): Add __float80, __float128.
      	(ix86_memory_move_cost): Do not confuse TFmode.
      	* i386.h (LONG_DOUBLE_TYPE_SIZE): Set to 96.
      	(IS_STACK_MODE): TFmode is not stack mode.
      	(HARD_REGNO_NREGS, CLASS_MAX_NREGS): Deal nicely with XFmode.
      	(VALID_SSE_REG_MODE): Allow TFmode.
      	(VALID_FP_MODE_P): Disallow TFmode.
      	(VALID_INT_MODE_P): Allow TFmode in 64bit mode.
      	* i386.md (TFmode patterns): Kill.
      	(movtf, motf_rex64): New patterns.
      
      From-SVN: r73099
      Jan Hubicka committed
  27. 29 Oct, 2003 1 commit
  28. 13 Oct, 2003 1 commit
    • Makefile.in (BUILD_RTL): Replace $(BUILD_PREFIX)insn-modes.o with min-insn-modes.o. · 94134f42
      	* Makefile.in (BUILD_RTL): Replace $(BUILD_PREFIX)insn-modes.o
      	with min-insn-modes.o.
      	(STAGESTUFF): Add min-insn-modes.c.
      	(genobjs): Add genmodes.o.
      	(print-rtl.o, print-rtl1.o): Depend on $(TM_P_H).
      	(insn-modes.o): Depend on $(TM_H) not $(GTM_H); also real.h.
      	(min-insn-modes.c, min-insn-modes.o): New rules.
      	(s-modes): Also generate min-insn-modes.c.
      	($(BUILD_PREFIX_1)insn-modes.o): Kill.
      	* genmodes.c (struct mode_data): Add format field.
      	(blank_mode, validate_mode, complete_mode): Update to match.
      	(make_scalar_mode): Separate into make_int_mode and make_float_mode.
      	(_SCALAR_MODE): Kill.
      	(FLOAT_MODE, FRACTIONAL_FLOAT_MODE): Add format argument.
      	(emit_insn_modes_c_header): Adjust.
      	(emit_min_insn_modes_c_header, emit_real_format_for_mode)
      	(emit_min_insn_modes_c): New functions.
      	(emit_insn_modes_c): Call emit_real_format_for_mode.
      	(main): Add -m option to generate min-insn-modes.c.
      	* machmode.h: Update documentation.  Add format argument to
      	all uses of FLOAT_MODE.
      	* real.c: Don't define real_format_for_mode here.
      
      	* dwarfout.c: Move default definition of PRINT_REG...
      	* defaults.h: ...here.
      	* print-rtl.c: Include tm_p.h.
      	(DEBUG_PRINT_REG, DEBUG_REGISTER_NAMES, debug_reg_names, reg_names):
      	Kill.
      	(print_rtx): Use PRINT_REG, not DEBUG_PRINT_REG.  But surround
      	this entire block with #ifndef GENERATOR_FILE.
      	* regclass.c: Unconditionally define reg_names.
      	* config/mips/mips.h, config/rs6000/rs6000.h, config/sh/sh.h
      	Don't define DEBUG_REGISTER_NAMES.
      	* config/rs6000/darwin.h: Don't use DEBUG_REGISTER_NAMES in
      	redefinition of REGISTER_NAMES.
      	* config/i386/i386.h: Don't define DEBUG_PRINT_REG.
      
      	* combine.c: Change all preprocessor conditionals on
      	EXTRA_CC_MODES to use SELECT_CC_MODE instead; rearrange a bit
      	for clarity.
      	* genopinit.c: Remove mention of EXTRA_CC_MODES in comment.
      	* configure.in: Don't define EXTRA_CC_MODES.
      	* configure, config.in: Regenerate.
      	* doc/tm.texi: Remove documentation of EXTRA_CC_MODES.
      
      	* config/arc/arc.c, config/m32r/m32r.c, config/sparc/sparc.c:
      	May assume that GET_MODE_CLASS is accurate for extra CC modes
      	at all times.
      
      	* config/i860/i860.h (INIT_CUMULATIVE_ARGS): Pass correct
      	number of arguments to aggregate_value_p.
      
      	* genmodes.c (RESET_FLOAT_FORMAT, reset_float_format): New.
      	* machmode.def: Explain ARCH-modes.def.  Document
      	RESET_FLOAT_FORMAT.  Improve commentary on various mode
      	clusters.  Do not define OI, PQI, PHI, PSI, PDI, QF, HF, TQF,
      	XF, or TF modes here.  Remove backward-compatibility
      	definition of CC.
      
      	* config/alpha/alpha-modes.def: New file; define TF mode.
      	* config/arc/arm-modes.def: Define XF mode.
      	* config/c4x/c4x-modes.def: Define QF and HF modes.  Unset
      	float format for SF and DF modes.
      	* config/dsp16xx/dsp16xx-modes.def: New file; define HF mode.
      	* config/i386/i386-modes.def: Define XF and TF modes.
      	* config/i960/i960-modes.def: Define TF mode.
      	* config/ia64/ia64-modes.def: Define TF and OI modes.
      	* config/m68k/m68k-modes.def: New file; define XF mode.
      	* config/mips/mips-modes.def: New file; define TF mode, reset
      	formats for SF and DF modes.
      	* config/pa/pa-modes.def: Define TF mode.
      	* config/rs6000/rs6000.c: Define TF and PSI modes.
      	* config/s390/s390-modes.def: Define OI mode.
      	* config/sh/sh-modes.def: New file; define PSI mode.
      	* config/sparc/sparc-modes.def: Define TF mode.
      	* config/vax/vax-modes.def: New file; reset formats for SF and
      	DF modes.
      
      	* config/c4x/c4x.c (c4x_override_options): No need to mess
      	with real_format_for_mode or set REAL_MODE_FORMATs.
      	(c4x_immed_int_constant): Don't apply GET_MODE_CLASS to rtx
      	variable.
      	* config/i386/i386.c (override_options): No need to set
      	REAL_MODE_FORMATs here.
      	* config/i960/i960.c (i960_initialize): Likewise.
      	* config/m68k/m68k.c (m68k_override_options): Likewise.
      	* config/ia64/ia64.c (ia64_override_options): Set REAL_MODE_FORMAT
      	for TFmode only if not the default.
      	* config/mips/mips.c (override_options): Likewise.
      	* config/vax/vax.c (override_optionms): Set REAL_MODE_FORMAT for
      	DFmode only if not the default.
      
      	* config/i370/i370.h (RET_REG): Don't consider TFmode.
      	* config/m68hc11/m68hc11.c (print_operand): Don't consider XFmode.
      	* config/dsp16xx/dsp16xx.c (hard_regno_mode_ok): #if 0 out use
      	of modes that don't appear anywhere in the machine description.
      
      	* config/arc/arc-modes.def, config/arm/arm-modes.def
      	* config/c4x/c4x-modes.def, config/frv/frv-modes.def
      	* config/i386/i386-modes.def, config/i960/i960-modes.def
      	* config/ia64/ia64-modes.def, config/mmix/mmix-modes.def
      	* config/pa/pa-modes.def, config/pdp11/pdp11-modes.def
      	* config/rs6000/rs6000-modes.def, config/s390/s390-modes.def
      	* config/sparc/sparc-modes.def: Convert to new style for
      	declaring extra CC modes.
      
      From-SVN: r72440
      Zack Weinberg committed
  29. 06 Oct, 2003 1 commit
    • real.h (REAL_MODE_FORMAT): New macro. · 70a01792
      	* real.h (REAL_MODE_FORMAT): New macro.
      	* c-cppbuiltin.c, optabs.c, real.c, config/alpha/alpha.c
      	* config/c4x/c4x.c, config/i370/i370.c, config/i386/freebsd.h
      	* config/i386/i386.c, config/i960/i960.c, config/ia64/ia64.c
      	* config/m68k/m68k.c, config/mips/mips.c, config/rs6000/rs6000.c
      	* config/vax/vax.c: Use REAL_MODE_FORMAT instead of referring
      	directly to real_format_for_mode array, wherever possible.
      
      From-SVN: r72168
      Zack Weinberg committed
  30. 29 Sep, 2003 1 commit
  31. 22 Sep, 2003 1 commit
  32. 11 Sep, 2003 1 commit
  33. 27 Aug, 2003 1 commit
  34. 06 Jul, 2003 1 commit
    • jump.c: Convert prototypes to ISO C90. · 0c20a65f
      	* jump.c: Convert prototypes to ISO C90.
      	* langhooks-def.h: Likewise.  Add extern to prototypes.
      	* langhooks.c: Likewise.
      	* langhooks.h: Likewise.
      	* lcm.c: Likewise.
      	* local-alloc.c: Likewise.
      	* loop-init.c: Likewise.
      	* loop-unroll.c: Likewise.
      	* loop-unswitch.c: Likewise.
      	* loop.c: Likewise.
      	* loop.h: Likewise. Add extern to prototypes.
      	* machmode.h: Likewise.
      	* main.c: Likewise.
      	* mbchar.c: Likewise.
      	* mbchar.h: Likewise.
      	* mkdeps.c: Likewise.
      	* mkdeps.h: Likewise.
      	* optabs.c: Likewise.
      	* optabs.h: Likewise.
      	* output.h: Likewise.
      	* gccspec.c: Likwise.
      	* postreload.c: Likewise.
      	* prefix.c: Likewise.
      	* prefix.h: Likewise.
      	* print-rtl.c: Likewise.
      	* print-tree.c: Likewise.
      	* profile.c: Likewise.
      	* read-rtl.c: Likewise.
      	* real.c: Likewise.
      	* real.h: Likewise.
      	* recog.c: Likewise.
      	* recog.h: Likewise.
      	* reg-stack.c: Likewise.
      	* regclass.c: Likewise.
      	* regmove.c: Likewise.
      	* regrename.c: Likewise.
      	* regs.h: Likewise.
      	* reload.c: Likewise.
      	* reload.h: Likewise.
      	* reload1.c: Likewise.
      	* reorg.c: Likewise.
      	* resource.c: Likewise.
      	* resource.h: Likewise.
      	* rtl-error.c: Likewise.
      	* rtl.c: Likewise.
      	* rtl.h: Likewise.
      	* rtlanal.c: Likewise.
      
      From-SVN: r68998
      Andreas Jaeger committed
  35. 03 Jul, 2003 1 commit
    • real.c (real_trunc, [...]): New functions to implement trunc, floor and ceil respectively. · 0a9530a9
      	* real.c (real_trunc, real_floor, real_ceil): New functions
      	to implement trunc, floor and ceil respectively.
      	* real.h (real_trunc, real_floor, real_ceil): Prototype here.
      	* builtins.c (integer_valued_real_p): New function to test if
      	a floating point expression has an integer valued result.
      	(fold_trunc_transparent_mathfn): Optimize foo(foo(x)) as
      	foo(x) where foo is an integer rounding function.  Similarly,
      	optimize foo(bar(x)) as bar(x), and foo((double)(int)x) as
      	(double)(int)x when both foo and bar are integer rounding
      	functions and we don't need to honor errno.
      	(fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil):
      	New functions to fold trunc, floor and ceil.
      	(fold_builtin): Use fold_builtin_trunc to fold BUILT_IN_TRUNC*,
      	fold_builtin_floor to fold BUILT_IN_FLOOR* and fold_builtin_ceil
      	to fold BUILT_IN_CEIL*.
      	* fold-const.c (tree_expr_nonnegative_p): Handle FLOAT_EXPR and
      	the remaining integer rounding functions.
      
      	* gcc.dg/builtins-25.c: New testcase.
      	* gcc.dg/builtins-26.c: New testcase.
      
      From-SVN: r68903
      Roger Sayle committed
  36. 25 Jun, 2003 1 commit