OSDN Git Service

* c-typeck.c (pedantic_lvalue_warning): Deprecate use of
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 8a8dfd0..1cd17d9 100644 (file)
@@ -1,3 +1,513 @@
+2003-11-05  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * c-typeck.c (pedantic_lvalue_warning): Deprecate use of
+       conditional expressions as lvalues.
+
+2003-11-05  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tsystem.h: Add the prototype of strlen.
+       * unwind-pe.h (read_encoded_value_with_base): Add an
+       appropriate cast to handle a case where the pointer size is
+       smaller than sizeof (int).
+
+2003-11-04  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips-protos.h (mips_global_pic_constant_p): Delete.
+       (mips_delegitimize_address): Delete.
+       (mips_gotoff_global, mips_load_got_page): Declare.
+       (mips_load_got_global, mips_rewrite_small_data): Declare.
+
+       * config/mips/mips.h (FIND_BASE_TERM): Remove definition.
+       (DANGEROUS_FOR_LA25_P): Use global_got_operand.
+       (PREDICATE_CODES): Add global_got_operand, local_got_operand and
+       small_data_pattern.  Remove CONST from const_arith_operand's entry.
+
+       * config/mips/mips.c (UNSPEC_ADDRESS_P, CONST_GP_P): New macros.
+       (UNSPEC_ADDRESS, UNSPEC_ADDRESS_TYPE): Likewise.
+       (mips_constant_type): Delete.
+       (mips_symbol_type): Add SYMBOL_GOTOFF_PAGE, SYMBOL_GOTOFF_GLOBAL,
+       SYMBOL_GOTOFF_CALL and SYMBOL_GOTOFF_LOADGP.
+       (NUM_SYMBOL_TYPES): New macro.
+       (mips_address_type): Remove ADDRESS_INVALID.
+       (machine_function): Add has_gp_insn_p.
+       (mips_constant_info): Delete.
+       (mips_address_info): Add the address type as an extra field.  Replace
+       the c field with symbol_type.
+       (mips_split_p, mips_lo_relocs, mips_hi_relocs): New arrays.
+       (TARGET_DELEGITIMIZE_ADDRESS): Remove definition.
+       (mips_reloc_offset_ok_p, mips_classify_constant): Delete.
+       (mips_split_const, mips_symbolic_constant_p): New functions.
+       (mips_symbolic_address_p): Take the symbol type and mode as arguments.
+       (mips_classify_address): Return true if the address is valid, storing
+       its type in INFO.  Use mips_symbolic_constant_p.  Use mips_lo_relocs[]
+       to test whether a LO_SUM address is allowed.
+       (mips_symbol_insns): Return 0 for general mips16 symbols.
+       Reorder SYMBOL_GOT_GLOBAL case to match mips_symbol_type definition.
+       Handle the new SYMBOL_GOTOFF_*s.
+       (mips_address_insns): Update call to mips_classify_address.
+       (mips_const_insns): Be more fussy about HIGH constants.  Remove use
+       of mips_classify_constant.  Be more accurate about CONSTs.
+       (mips_global_pic_constant_p): Delete.
+       (const_arith_operand): Only accept CONST_INTs.
+       (call_insn_operand): Remove call to mips_classify_constant.
+       Let mips_symbolic_constant_p check for invalid offsets.
+       (move_operand): Check for general_operands first.  Only accept symbolic
+       constants if they satisfy mips_symbolic_constant_p and cannot be split.
+       (symbolic_constant): Use mips_symbolic_constant_p.
+       (global_got_operand, local_got_operand): New predicates.
+       (stack_operand): Update call to mips_classify_address.
+       (mips_legitimate_address_p): Likewise.
+       (mips_reloc, mips_lui_reloc): Delete.
+       (mips_force_temporary): Only use the given temporary if no_new_pseudos.
+       Use emit_move_insn.
+       (mips_split_symbol, mips_unspec_address): New functions.
+       (mips_unspec_offset_high): New function.
+       (mips_load_got): Replace reloc argument with a symbol_type.
+       Use mips_unspec_address to create the address and put it in a
+       LO_SUM with the base register.
+       (mips_load_got16, mips_load_got32): Delete.
+       (mips_emit_high, mips_legitimize_symbol): Delete.
+       (mips_gotoff_global): New function.
+       (mips_load_got_page, mips_load_got_global): New functions.
+       (mips_legitimize_symbol): Inline handling of LO_SUM splits.
+       (mips_legitimize_const_move): Likewise.  Remove HIGH handling.
+       Inline code to handle constants plus invalid offsets.  Use
+       mips_split_symbol to legitimize constant pool addresses.
+       (mips_delegitimize_address): Delete.
+       (mips_rtx_costs): Give legitimate symbolic constants and CONST_DOUBLEs
+       a cost of 1 insn.  Give the rest a cost of CONSTANT_POOL_ADDRESS.
+       (mips_subword): Pass memrefs through mips_rewrite_small_data.
+       (mips_output_move): Remove use of mips_classify_constant.
+       (mips_expand_call): Use mips_unspec_offset_high to calculate the
+       high part of the GOT address for calls to global functions.
+       (override_options): Initialize mips_split_p[], mips_lo_relocs[]
+       and mips_hi_relocs[].
+       (print_operand): Use print_operand_reloc to handle '%h' and '%R'.
+       Remove use of mips_classify_constant.
+       (mips_reloc_string): Delete.
+       (print_operand_reloc): New function.
+       (print_operand_address): Update call to mips_classify_address.
+       (mips_rewrite_small_data_p, small_data_pattern_1): New functions.
+       (small_data_pattern): New predicate.
+       (mips_rewrite_small_data_1, mips_rewrite_small_data): New functions.
+       (mips_function_has_gp_insn): New function.
+       (mips_global_pointer): Use it.
+       (mips_gp_insn): Delete.
+       (mips_expand_prologue): When compiling for n32/n64 abicalls, use a
+       single loadgp pattern to initialize $gp.  Pass it the offset of _gp
+       from the start of the current function.
+       (mips16_gp_pseudo_reg): Revert last patch.
+
+       * config/mips/mips.md (RELOC_*): Delete.
+       (UNSPEC_LOADGP, UNSPEC_FIRST_ADDRESS): New constants.
+       (got): New insn attribute.
+       (type): Set to "load" if got == load.
+       (length): Set to 4 if got == load, 8 if got == xgot_high.
+       (lui[sd]i): Delete.
+       (*xgot_hi[sd]i, *xgot_lo[sd]i): New patterns.
+       (*got_disp[sd]i, *got_page[sd]i): Likewise.
+       (*low[sd]i): Change constraints to "d".  Add a new define_split to
+       rewrite small data constants into LO_SUMs.
+       (loadgp): New insns.
+
+2003-11-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * config/mips/_tilib.c: Use _ABI* in _MIPS_SIM tests.
+
+2003-11-04  DJ Delorie  <dj@redhat.com>
+
+       * config/v850/v850.md (mulhisi3): Expand the const_int case
+       separately to avoid trying to sign extend the const.
+
+2003-11-04  Richard Sandiford  <rsandifo@redhat.com>
+
+       * emit-rtl.c (copy_rtx_if_shared): Don't allow MEMs with constant
+       addresses to be shared.
+       (force_const_mem): Return a copy of the pool entry.
+
+2003-11-03  Andreas Jaeger  <aj@suse.de>
+
+       * Makefile.in (GCC_CFLAGS): Remove @WERROR@ again.
+
+2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * Makefile.in (cpp.dvi): New target split from cpp.info.
+       (gcc.dvi):  New target split from gcc.info.
+       (gccint.dvi): New target split from gccint.info.
+       (cppinternals.dvi): New target split from cppinternals.info
+       (gccinstall.info): New specific rule.
+       (gccinstall.dvi): Likewise.
+       (dvi): Move targets to $(docobjdir).
+       ($(docobjdir)/%.dvi): New implicit rule.
+
+2003-11-03  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * doc/gty.texi (tag, desc): Say more about role of desc values in
+       selecting between tags.
+
+2003-11-03  Alexander Kabaev  <ak03@gte.com>
+
+       * real.c (encode_ieee_single): Ensure proper promotion.
+
+2003-11-03  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       * doc/contrib.texi: Add Giovanni Bajo, Dara Hazeghi, Falk Hueffner,
+       and Andrew Pinski.
+
+2003-11-03  Syd Polk  <spolk@apple.com>
+
+       * config/rs6000/rs6000.c (rs6000_override_options): Add G3, G4, and G5
+       marketing names to the list of supported processors.
+       * config/rs6000/rs6000.h: Ditto.
+       * doc/invoke.texi: Ditto.
+       * config.gcc: Ditto.
+
+2003-11-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * fixinc/inclhack.def (stdio_va_list): Allow tab before va_list.
+       Merge two substitutions.
+       * fixinc/fixincl.x: Regenerate.
+       Fixes PR bootstrap/12666.
+
+2003-11-03  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * doc/install-old.texi: Remove VMS documentation.
+
+2003-11-03  Jan Hubicka  <jh@suse.cz>
+
+       * i386.c (override_options):  Remove hack enabling 128bit long double
+       commited by accident.
+
+2003-11-02  Per Bothner  <per@bothner.com>
+
+       * c-opts.c (needValue):  Do cpp_find_main_file before processing
+       any imacros flags, so pfile->main_file is set for the latter.
+
+2003-11-03  Andreas Jaeger  <aj@suse.de>
+           Zack Weinberg  <zack@codesourcery.com>
+
+       * Makefile.in (GCC_CFLAGS): Allow blacklisting of warnings.
+       (SYSCALLS.c.X-warn): Suppress warnings.
+
+2003-11-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR optimization/12845
+       * pa.c (output_cbranch): Use cmpb for DImode comparisons with 0.
+
+2003-11-02  Zack Weinberg  <zack@codesourcery.com>
+
+       * print-rtl.c (print_rtx): Call PRINT_REG with second argument -1.
+       * config/i386/i386.c (print_reg): Abort on a virtual register
+       if code != -1; not if file == asm_out_file.
+       * config/i386/i386.h (PRINT_REG): Document meaning of CODE == -1.
+       (DEBUG_PRINT_REG): Delete, unused.
+
+2003-11-02  Andreas Schwab  <schwab@suse.de>
+
+       * config/ia64/fde-glibc.c (_GNU_SOURCE): Define to 1 instead of
+       empty to avoid conflict with the definition from configure.
+
+2003-11-02  Roger Sayle  <roger@eyesopen.com>
+
+       PR optimization/10817
+       * ifcvt.c (noce_emit_move_insn): Improve documentation comment.
+       (noce_try_move): New function to optimize an if-the-else into an
+       unconditional move, i.e. "if (a!=b) x=a; else x=b" into "x=a".
+       (noce_process_if_block): Attempt simplification with noce_try_move.
+
+       * simplify-rtx.c (simplify_ternary_operation): Some minor fixes
+       and improvements to the optimizations of IF_THEN_ELSE expressions.
+       (simplify_subreg): Silence signed/unsigned comparison warning.
+
+2003-11-02  Richard Sandiford  <rsandifo@redhat.com>
+
+       * Makefile.in (targhooks.o, reload.o): Update dependencies.
+       (GTFILES): Add targhooks.c.
+       (gt-targhooks.h): New rule; depend on s-gtype.
+       * target.h (direct_pool_load_p): New hook.
+       * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
+       (TARGET_INITIALIZER): Include it.
+       * targhooks.h (default_direct_pool_load_p): Declare.
+       (hook_bool_machine_mode_true): Declare.
+       * targhooks.c: Include insn-config.h, recog.h, ggc.h and
+       gt-targhooks.h.
+       (pool_symbol): New variable.
+       (default_direct_pool_load_p): New function.
+       (hook_bool_machine_mode_true): New function.
+       * reload.c: Include target.h.
+       (find_reloads): If an alternative will force a constant into memory,
+       count an extra reload if constant pool symbols are not valid
+       addresses.  If an alternative uses memory to move values between
+       registers, count the move as two reloads rather than one.
+       * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
+       * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
+
+2003-11-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR optimization/12799
+       * postreload.c (reload_cse_move2add): Generate the add2
+       patterns manually.
+
+2003-11-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
+       Return 0 for all complex modes whose size is lesser or equal to
+       a word.  Add a ??? comment for the condition used with 16-byte
+       aligned modes.
+
+2003-11-01  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * .cvsignore: Remove c-parse* and tradcif.c.
+       * objc/.cvsignore: Delete.
+
+2003-11-01  Roger Sayle  <roger@eyesopen.com>
+
+       * unwind-sjlj.c (_Unwind_GetCFA): Return (_Unwind_Word)0 instead
+       of NULL.
+
+2003-11-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * som.h (DO_GLOBAL_DTORS_BODY): Change to C90 declaration.
+
+       * libgcc2.c (SYMBOL__MAIN): Provide C90 declaration.
+
+       * collect2.c (scan_libraries): Fix typos.
+
+       PR preprocessor/12847
+       * cppfiles.c, cppexp.c, cpperror.c, cpplib.h, cpplib.c, cpplex.c,
+       cppinit.c, cpptrad.c, cppmacro.c, fix-header.c, cpppch.c, c-pch.c,
+       c-incpath.c, cppcharset.c (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN,
+       DL_ERROR, DL_ICE, DL_EXTRACT, DL_WARNING_P): Prefix macro names with
+       "CPP_".
+
+2003-11-01  Fariborz Jahanian  <fjahanian@apple.com>
+
+       * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Correct
+       no_units calculation.
+
+2003-11-01  Andreas Jaeger  <aj@suse.de>
+
+       * unwind-dw2.c (_Unwind_FrameState): Remove commas at end of
+       enumeration list.
+
+2003-11-01  Andreas Schwab  <schwab@suse.de>
+
+       * config/ia64/sysv4.h (SDATA_SECTION_FUNCTION): Update to C90
+       prototypes.
+       (SBSS_SECTION_FUNCTION): Likewise.
+
+2003-11-01  Andreas Jaeger  <aj@suse.de>
+
+       * Makefile.in (GCC_CFLAGS): Add @WERROR@ for target files.
+
+2003-11-01  Andreas Tobler  <a.tobler@schweiz.ch>
+
+       * config/rs6000/sysv4.h (EXTRA_SECTION_FUNCTIONS): Update to C90
+       prototypes.
+
+2003-11-01  Andreas Jaeger  <aj@suse.de>
+
+       * unwind-dw2.c (_Unwind_FindEnclosingFunction): Constify variable.
+       (uw_frame_state_for): Constify variables.
+       (extract_cie_info): Constify first argument.
+
+       * unwind-dw2-fde-darwin.c: Adjust prototype of
+       _Unwind_Find_registered_FDE for recent changes.
+       (examine_objects): Constify return value and local variable result.
+       (_Unwind_Find_FDE): Constify return value and local variable ret.
+
+2003-10-31  Per Bothner  <pbothner@apple.com>
+
+       * c-opts.c (finish_options):  Change to returns boolean - false iff
+       the call to cpp_find_main_file fails.
+       (c_common_init):  Skip preprocess_file if finish_options failed.
+       (c_common_parse_file):  Break if finish_options failed.
+       Fixes PR preprocessor/12545.
+
+2003-10-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * aclocal.m4: Blacklist ultrix* for mmap file.
+       * configure: Rebuilt.
+
+       * function.c (assign_parms): Add ATTRIBUTE_UNUSED to variable
+       reg_parm_stack_space.
+       * toplev.c (default_get_pch_validity): Fix warning.
+
+       * vax.c: Include toplev.h.
+       (vax_init_libfuncs): Fix typo (umod).
+       * vax.h (ASM_COMMENT_START): Define.
+       (PRINT_OPERAND): Fix warning when HOST_WIDE_INT is a long long.
+
+2003-10-31  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/11968
+       * expr.c (expand_expr <MULT_EXPR>): Remove inappropriate and
+       confusing comment; distributivity isn't handled in expand_expr.
+       * fold-const.c (extract_muldiv_1 <PLUS_EXPR>):  Allow overflow
+       in distributivity, if wrap-around semantics are specified with
+       -fwrapv.
+
+2003-11-01  Alan Modra  <amodra@bigpond.net.au>
+
+       PR 12315
+       * final.c (profile_function): Allow for NULL svrtx.
+
+2003-10-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * pa.c (pa_select_section): Use new style declaration.
+       * som.h (readonly_data): Likewise.
+
+2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * config/rs6000/rs6000.c: Update to C90 prototypes.
+
+2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/7513
+       * arm.h (CONDITIONAL_REGISTER_USAGE): Disable use of LR in Thumb
+       code.
+
+2003-10-31  Andreas Jaeger  <aj@suse.de>,
+           Zack Weinberg  <zack@codesourcery.com>
+
+
+       * crtstuff.c (__register_frame_info, __register_frame_info_bases)
+       (__deregister_frame_info, __deregister_frame_info_bases):
+       Constify void * argument.
+       * unwind-dw2-fde.h (struct fde_vector):
+       Constify 'orig_data' and 'array' fields.
+       (__register_frame_info, __register_frame_info_bases)
+       (__deregister_frame_info, __deregister_frame_info_bases):
+       Constify void * argument.
+       (get_cie, next_fde, _Unwind_Find_FDE): Constify arguments,
+       return values, and casts of type fde *, struct dwarf_fde *,
+       and struct dwarf_cie *.
+       * unwind-dw2-fde.c (__register_frame_info, __register_frame_info_bases)
+       (__deregister_frame_info, __deregister_frame_info_bases):
+       Constify void * argument.
+       (get_cie_encoding, ): Constify struct dwarf_cie * argument.
+       (get_fde_encoding, fde_unencoded_compare, fde_single_encoding_compare)
+       (fde_mixed_encoding_compare, fde_compare_t, start_fde_sort, fde_insert)
+       fde_split, SWAP, frame_downheap, frame_heapsort)
+       (classify_object_over_fdes, add_fdes, linear_search_fdes,
+       binary_search_unencoded_fdes, binary_search_single_encoding_fdes,
+       binary_search_mixed_encoding_fdes, search_object, _Unwind_Find_FDE):
+       Constify arguments, local variables, return values, and casts
+       of type fde *, fde **, struct dwarf_fde *, and struct dwarf_cie *.
+       Use const pointer types in sizeof expressions, for clarity.
+       * unwind-dw2-fde-glibc.c
+       (_Unwind_find_registered_FDE, _Unwind_find_FDE): Constify return value.
+       (struct unw_eh_callback_data): Constify 'ret' field.
+
+2003-10-31  Fariborz Jahanian  <fjahanian@apple.com>
+           David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.c (rs6000_mixed_function_arg): New.
+       (function_arg): Call it.
+       (rs6000_function_value): Widen integral return value to mode based
+       on TARGET_32BIT, not word_mode.
+       * config/rs6000/rs6000.h (PROMOTE_MODE): Likewise.
+       (UNITS_PER_ARG): New.
+       (RS6000_ARG_SIZE): Use it.
+
+2003-10-31  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * .cvsignore: No longer ignore gengtype-lex.c, gengtype-yacc.c,
+       and gengtype-yacc.h.
+
+2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR optimization/8896
+       * postreload.c (reload_combine): Check that REGY doesn't die in an
+       insn of the form (set (regx) (plus (regx) (regy))), ie REGX != REGY.
+
+2003-10-31  Josef Zlomek  <zlomekj@suse.cz>
+
+       PR/10239
+       * cfgrtl.c (delete_insn): Decrease LABEL_NUSES for all REG_LABEL notes.
+
+2003-10-31  Josef Zlomek  <zlomekj@suse.cz>
+
+       PR/11640
+       * cfgrtl.c (try_redirect_by_replacing_jump): Move jump
+       immediatelly before BARRIER.
+
+2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * Makefile.in (STRICT2_WARN): Add -Wold-style-definition.
+
+2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/11271
+       * reload.c (find_reloads_address): Handle any register in
+       (PLUS (PLUS (REG) (REG)) (CONST_INT).
+
+2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
+
+       * ggc-page.c (ggc_pch_read): Wrap call to poison_pages in
+       ENABLE_GC_CHECKING not in GGC_POISON.
+
+2003-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       PR bootstrap/9863
+       * configure.in: Bail out if awk is missing.
+       * configure: Regenerate.
+
+       PR ada/12761
+       * Makefile.in: Move default definitions of X_ADA_CFLAGS,
+       T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from ada/Make-lang.in to here.
+
+2003-10-30  Richard Henderson  <rth@redhat.com>
+
+       * c-objc-common.c (c_tree_printer): Handle types correctly.
+       Factor code a bit.
+
+2003-10-30 Kelley Cook <kcook@gcc.gnu.org>
+
+       * value-prof.c, web.c: Update to C90.
+
+2003-10-30  Eric Christopher  <echristo@redhat.com>
+
+       * function.c (purge_addressof_1): Add case for REG_RETVAL
+       notes when modes are unequal.
+
+2003-10-31  Jan Hubicka  <jh@suse.cz>
+
+       * i386-modes.def: Add XFmode format adjustment.
+
+2003-10-30  Jan Hubicka  <jh@suse.cz>
+
+       * real.c (encode_ieee_extended): Back out previous patch.
+
+2003-10-30  Jan Hubicka  <jh@suse.cz>
+
+       * 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.
+
+2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.md (adddi3): Fix typo in mips16 stack pointer code.
+
 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
 
        * config/mips/mips.md (mov_lwl): Use memory_operand where appropriate.
        not necessarily because of __builtin_return_addr (0).
        (s390_split_branches): Remove TEMP_REG and TEMP_USED arguments,
        remove special handling of zSeries machines.
-       (s390_optimize_prolog): Remove TEMP_USED argument, treat the return 
+       (s390_optimize_prolog): Remove TEMP_USED argument, treat the return
        register as a regular register on zSeries machines.
-       (s390_reorg): Adjust calls to s390_split_branches and 
+       (s390_reorg): Adjust calls to s390_split_branches and
        s390_optimize_prolog.
        (s390_frame_info): On zSeries machines, do not assume the return
        register is always used.  Update regs_ever_live with current data
        * target.h (struct gcc_target): Add build_builtin_va_list.
        * tree.c (build_common_tree_nodes_2): Use it.
 
-       * config/alpha/alpha-protos.h, config/alpha/alpha.c, 
+       * config/alpha/alpha-protos.h, config/alpha/alpha.c,
        config/alpha/alpha.h, config/alpha/unicosmk.h,
        config/d30v/d30v-protos.h, config/d30v/d30v.c, config/d30v/d30v.h,
        config/i386/i386-protos.h, config/i386/i386.c, config/i386/i386.h,
        config/i860/i860-protos.h, config/i860/i860.c, config/i860/i860.h,
        config/i960/i960-protos.h, config/i960/i960.c, config/i960/i960.h,
        config/mips/iris6.h, config/mips/mips-protos.h, config/mips/mips.c,
-       config/mips/mips.h, config/rs6000/rs6000-protos.h, 
+       config/mips/mips.h, config/rs6000/rs6000-protos.h,
        config/rs6000/rs6000.c, config/rs6000/rs6000.h,
        config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
        config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,