1. 08 Feb, 2004 1 commit
  2. 23 Jan, 2004 1 commit
  3. 12 Jan, 2004 1 commit
  4. 10 Jan, 2004 1 commit
  5. 03 Nov, 2003 1 commit
  6. 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
  7. 29 Oct, 2003 1 commit
  8. 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
  9. 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
  10. 29 Sep, 2003 1 commit
  11. 22 Sep, 2003 1 commit
  12. 11 Sep, 2003 1 commit
  13. 27 Aug, 2003 1 commit
  14. 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
  15. 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
  16. 25 Jun, 2003 1 commit
  17. 12 Jun, 2003 1 commit
    • ChangeLog: Follow spelling conventions. · 6356f892
      	* ChangeLog: Follow spelling conventions.
      	* ChangeLog.2: Likewise.
      	* c-decl.c: Likewise.
      	* cfgloop.h: Likewise.
      	* cgraph.c: Likewise.
      	* coverage.c: Likewise.
      	* cppcharset.c: Likewise.
      	* cpphash.h: Likewise.
      	* cpplex.c: Likewise.
      	* cpplib.c: Likewise.
      	* dbxout.c: Likewise.
      	* df.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* dwarfout.c: Likewise.
      	* emit-rtl.c: Likewise.
      	* explow.c: Likewise.
      	* gcov-io.c: Likewise.
      	* gcov-io.h: Likewise.
      	* gcov.c: Likewise.
      	* gengtype.c: Likewise.
      	* ggc.h: Likewise.
      	* opts.c: Likewise.
      	* real.c: Likewise.
      	* reload.c: Likewise.
      	* stmt.c: Likewise.
      
      From-SVN: r67849
      Kazu Hirata committed
  18. 23 May, 2003 1 commit
    • real.c (real_maxval): New function to return the largest finite value… · 18c2511c
      real.c (real_maxval): New function to return the largest finite value representable in a given mode (i.e.
      
      
      	* real.c (real_maxval): New function to return the largest finite
      	value representable in a given mode (i.e. FLT_MAX and DBL_MAX).
      	* real.h (real_maxval): Prototype here.
      	* fold-const.c (fold_inf_compare): Transform comparisons against
      	+-Infinity into comparisons against DBL_MAX (or equivalent).
      
      	* gcc.c-torture/execute/ieee/inf-2.c: New test case.
      
      From-SVN: r67112
      Roger Sayle committed
  19. 06 May, 2003 1 commit
    • real.c (real_powi): New function to calculate the value of a real raised to an integer power, i.e. · e82a312b
      	* real.c (real_powi): New function to calculate the value of
      	a real raised to an integer power, i.e. pow(x,n) for int n.
      	(real_sqrt): Convert to using the faster do_add, do_multiply
      	and do_divide API for consistency with the rest of real.c.
      	* real.h (real_powi): Prototype here.
      	* builtins.c (fold_builtin):  Avoid local variable mode when
      	evaluating sqrt at compile time.  Attempt to evaluate pow at
      	compile-time, by checking for an integral exponent.
      
      	* gcc.dg/builtins-14.c: New test case.
      
      From-SVN: r66515
      Roger Sayle committed
  20. 23 Apr, 2003 1 commit
  21. 02 Apr, 2003 1 commit
  22. 01 Apr, 2003 1 commit
    • real.h (EXP_BITS): Make room for... · fe0002ee
      * real.h (EXP_BITS): Make room for...
      (struct real_value): ... added canonical bit.
      (struct real_format): Added pnan.
      (mips_single_format, mips_double_format, mips_extended_format,
      mips_quad_format): New.
      * real.c: Copy p to pnan in all formats.
      (get_canonical_qnan, get_canonical_snan): Set canonical bit.
      (real_nan): Use pnan to compute significand's shift.
      (real_identical): Disregard significand in canonical
      NaNs.
      (real_hash): Likewise.  Take signalling into account.
      (encode_ieee_single, encode_ieee_double, encode_ieee_quad):
      Disregard significand bits in canonical NaNs.  Set all bits of
      canonical NaN if !qnan_msb_set.
      (encode_ibm_extended, decode_ibm_extended): Likewise.  Use
      qnan_msb_set to tell the base double format.
      (ibm_extended_format): Use 53 as pnan.
      (mips_single_format, mips_double_format, mips_extended_format,
      mips_quad_format): Copied from the corresponding ieee/ibm
      formats, with qnan_msb_set false.
      * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Use mips_extended_format.
      * config/mips/linux64.h (MIPS_TFMODE_FORMAT): Use mips_quad_format.
      * config/mips/mips.c (override_options): Use mips_single_format
      and mips_double_format.  Default TFmode to mips_quad_format.
      * config/mips/t-linux64 (tp-bit.c): Define QUIET_NAN_NEGATED.
      * config/mips/t-irix6: Likewise.
      * config/mips/t-mips (fp-bit.c, dp-bit.c): Likewise.
      * config/fp-bit.c (pack_d, unpack_d): Obey it.
      
      From-SVN: r65146
      Alexandre Oliva committed
  23. 31 Mar, 2003 2 commits
    • real.c (real_identical): Reorg so as to not compare signalling for normals. · 6c06208f
              * real.c (real_identical): Reorg so as to not compare
              signalling for normals.
      
      From-SVN: r65111
      Richard Henderson committed
    • emit-rtl.c (dconstm2, dconsthalf): New real constants. · 03f2ea93
      	* emit-rtl.c (dconstm2, dconsthalf): New real constants.
      	(init_emit_once): Initialize dconstm2 and dconsthalf here.
      	* real.h (dconstm2, dconsthalf): Add prototypes here.
      	* real.c (real_sqrt): Use dconsthalf rather than local copy.
      	* builtins.c (fold_builtin): When optimizing sqrt(exp(x)) as
      	exp(x/2.0) remember to fold the division if possible.
      	Fold sin(0.0) as 0.0, cos(0.0) as 1.0, pow(x,1.0) as x,
      	pow(x,-1.0) as 1.0/x, pow(x,2.0) as x*x, pow(x,-2.0) as
      	1.0/(x*x) and pow(x,0.5) as sqrt(x).
      
      	* gcc.dg/builtins-3.c: Add new tests for sin and cos.
      	* gcc.dg/builtins-7.c: New test case.
      	* gcc.dg/builtins-8.c: New test case.
      
      From-SVN: r65088
      Roger Sayle committed
  24. 27 Mar, 2003 1 commit
    • real.h (struct real_value): Add signalling. · ad59ba20
              * real.h (struct real_value): Add signalling.
              (EXP_BITS): Decrement.
              * real.c (get_canonical_qnan): Don't set MSB-1.
              (get_canonical_snan): Likewise.  Set signalling.
              (real_identical): Compare signalling.
              (round_for_format): Remove force-one-bit on code.
              (real_nan): Likewise.  Set signalling.
              (encode_ieee_single): Add force-one-bit code; honor signalling.
              (encode_ieee_double, encode_ieee_extended, encode_ieee_quad): Likewise.
              (decode_ieee_single): Set signalling.
              (decode_ieee_double, decode_ieee_extended, decode_ieee_quad): Likewise.
      
      From-SVN: r64935
      Richard Henderson committed
  25. 26 Feb, 2003 1 commit
  26. 25 Feb, 2003 1 commit
  27. 27 Jan, 2003 1 commit
  28. 15 Jan, 2003 1 commit
  29. 25 Dec, 2002 1 commit
    • output.h: Fix comment typos. · d55d8fc7
      	* output.h: Fix comment typos.
      	* predict.c: Likewise.
      	* print-tree.c: Likewise.
      	* profile.c: Likewise.
      	* ra-build.c: Likewise.
      	* ra-colorize.c: Likewise.
      	* ra-debug.c: Likewise.
      	* ra-rewrite.c: Likewise.
      	* ra.c: Likewise.
      	* ra.h: Likewise.
      	* real.c: Likewise.
      	* recog.c: Likewise.
      	* reg-stack.c: Likewise.
      	* regclass.c: Likewise.
      
      From-SVN: r60502
      Kazu Hirata committed
  30. 16 Dec, 2002 1 commit
  31. 17 Nov, 2002 1 commit
  32. 16 Nov, 2002 1 commit
  33. 27 Oct, 2002 1 commit
    • combine.c: Fix comment formatting. · 3eae4643
      	* combine.c: Fix comment formatting.
      	* loop.c: Likewise.
      	* real.c: Likewise.
      	* regclass.c: Likewise.
      	* regmove.c: Likewise.
      	* regrename.c: Likewise.
      	* reg-stack.c: Likewise.
      	* reload1.c: Likewise.
      	* reload.c: Likewise.
      	* reload.h: Likewise.
      	* unroll.c: Likewise.
      
      From-SVN: r58583
      Kazu Hirata committed
  34. 25 Oct, 2002 1 commit
  35. 22 Oct, 2002 1 commit
    • real.c (sticky_rshift_significand): Return inexact, don't or it in immediately. · 5e26e5a2
              * real.c (sticky_rshift_significand): Return inexact, don't
              or it in immediately.
              (sub_significands): Accept incomming carry.
              (div_significands, rtd_divmod): Update for sub_significands change.
              (round_for_format): Update for sticky_rshift_significand change.
              (do_add): Don't involve the inexact bit in addition, do give the
              inexact bit as the subtraction carry-in.
              (encode_internal, decode_internal, real_internal_format): New.
              * real.h (real_internal_format): Declare.
      
      From-SVN: r58396
      Richard Henderson committed
  36. 19 Oct, 2002 1 commit
  37. 18 Oct, 2002 1 commit
  38. 16 Oct, 2002 1 commit
    • real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS as arguments. · da6eec72
      gcc/
              * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
              as arguments.  Bound DIGITS by the available buffer size.
              (real_to_hexadecimal): Likewise.
              * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
              (REAL_VALUE_TO_DECIMAL): Remove.
              * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
              sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
              config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
              config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
              config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
              config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
              config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
              use real_to_decimal directly, and with the proper arguments.
              * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
      
      gcc/cp/
              * error.c (dump_expr): Use real_to_decimal directly, and with
              the new arguments.
      
      gcc/f/
              * target.h (ffetarget_print_real1, ffetarget_print_real2): Use
              real_to_decimal directly, and with the new arguments.
      
      From-SVN: r58187
      Richard Henderson committed