sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS if not TARGET_SHMEDIA.
[platform/upstream/gcc.git] / gcc / ChangeLog
index 76609c3..f2f70b0 100644 (file)
@@ -1,3 +1,255 @@
+Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
+       if not TARGET_SHMEDIA.
+
+Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * sh.h (REG_CLASS_HAS_FP_REG): New.
+       (REGISTER_MOVE_COST) Use it.  Put body into a function and
+       move it into:
+       * sh.c (sh_register_move_cost).
+       * sh-protos.h (sh_register_move_cost): Declare.
+
+       * sh.c (sh_expand_builtin): Abort for unexpected nop values.
+       (sh_adjust_cost): Always return a value.
+
+Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
+       (REGISTER_MOVE_COST): Use it.
+
+2002-12-11  Richard Henderson  <rth@redhat.com>
+
+       * tree.h (MODULE_LOCAL_P): Kill.
+       * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
+
+2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (two define_peephole2): New.
+
+2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
+       (CONST_OK_FOR_K): Likewise.
+       (CONST_OK_FOR_M): Likewise.
+       (CONST_OK_FOR_LETTER_P): Do not use the above macros.
+
+2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
+
+       * c-common.c (builtin_define_type_max): Handle unsigned
+       types too.
+
+2002-12-10  Janis Johnson  <janis187@us.ibm.com>
+
+       PR other/8882
+       * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
+
+2002-12-10  Devang Patel  <dpatel@appple.com>
+
+       * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
+       * doc/invoke.texi: Add new "Darwin Options" section.
+       
+2002-12-10  Jim Wilson  <wilson@redhat.com>
+
+       * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
+       memory.
+
+2002-12-10  Andrew Haley  <aph@redhat.com>
+
+       * cse.c (cse_insn): Don't cse past a basic block boundary.
+
+2002-12-10  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
+       -shared.
+       * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
+       * config/alpha/linux.h (LIB_SPEC): Likewise.
+       * config/arm/linux-elf.h (LIB_SPEC): Likewise.
+       * config/pa/pa-linux.h (LIB_SPEC): Likewise.
+       * config/sparc/linux.h (LIB_SPEC): Likewise.
+       * config/sparc/linux64.h (LIB_SPEC): Likewise.
+
+2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
+
+       * doc/invoke.texi: Document UltraSparc III option.
+
+2002-12-09  Richard Henderson  <rth@redhat.com>
+
+       * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
+       __tune_pentium2__ and __tune_pentium3__ as necessary.
+
+2002-12-09  Richard Henderson  <rth@redhat.com>
+
+       * target.h (gcc_target): Add cannot_force_const_mem.
+       * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
+       (TARGET_INITIALIZER): Add it.
+       * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
+       * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
+       * reload1.c (reload): Likewise.
+       * hooks.c (hook_bool_rtx_false): New.
+       * hooks.h: Declare it.
+
+       * config/i386/i386.c (ix86_cannot_force_const_mem): New.
+       (TARGET_CANNOT_FORCE_CONST_MEM): New.
+       (ix86_expand_move): Remove de-const-pooling hack.
+
+Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
+
+       * toplev.c (dump_file): Fix order to match reality.
+
+2002-12-08  Geoffrey Keating  <geoffk@apple.com>
+
+       * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
+       (store_multiple): Likewise.
+
+2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
+       function pointers in page 0.
+
+2002-12-09  Steve Ellcey  <sje@cup.hp.com>
+
+       * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
+       definition
+       (MEMBER_TYPE_FORCES_BLK): Move.
+       * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
+       aggregate arguments.
+       (ia64_function_value): Use PARALLEL to return aggregate values.
+
+2002-12-09  Steve Ellcey  <sje@cup.hp.com>
+
+       * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
+       * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
+       * calls.c (store_unaligned_arguments_into_pseudos) Remove
+       FUNCTION_ARG_REG_LITTLE_ENDIAN.
+       * stmt.c (expand_return): Ditto.
+       * expr.c (move_block_from_reg): Ditto.
+       (copy_blkmode_from_reg): Ditto.
+       * expmed.c (store_bit_field): Ditto. 
+
+2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
+
+       * config.gcc: Added tic4x-* target as an alias to c4x-*
+
+Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
+
+       * i386.c (ix86_expand_int_movcc): Use force_operand instead of
+       constructing insn directly.
+
+2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (*iorhi_shift_8): New.
+
+2002-12-06  Bernd Schmidt  <bernds@redhat.com>
+
+       * doc/invoke.texi: Document FRV port options.
+       * doc/md.texi: Document FRV register classes.
+
+2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+
+       * doc/install.texi (Configuration): Improve description of cases
+       where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
+
+2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
+
+       * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
+       FPU.
+       (push): Generate push_fpscr.
+       (pop): Generate pop_fpscr.
+       * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
+       (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
+
+Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
+       DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
+
+Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * sh.md (movdi_i): Name.  Remove inappropriate comment.
+
+Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
+       Merged from basic improvements branch (excerpt):
+
+       2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
+       * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
+
+2002-12-06  Jakub Jelinek  <jakub@redhat.com>
+
+       * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
+
+2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
+       * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
+
+2002-12-05  Dale Johannesen  <dalej@apple.com>
+
+       * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
+
+2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
+       PROFILE_HOOK.
+       * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
+
+2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/rs6000/spe.h (__ev_mwlufi): Remove.
+       (__ev_mwlufia): Remove.
+       (__ev_mwlumfaaw): Remove.
+       (__ev_mwlusfaaw): Remove.
+       (__ev_mwlumfanw): Remove.
+       (__ev_mwlusfanw): Remove.
+
+2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (*andorsi3_shift_8): New.
+
+2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
+       lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
+       (get_shift_alg): Return optimal assembly instructions for the
+       shifts mentioned above.
+
+2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.c (h8300_init_once): Do not use loop to
+       implement ashiftrt:HI by 13 bits on H8S.
+
+2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
+       * pa.md (canonicalize_funcptr_for_compare): Output library call to
+       canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
+       * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
+       CTOR_LIST_BEGIN): New defines.
+       * pa/t-linux (LIB2FUNCS_EXTRA): New define.
+       (fptr.c): Add make rules.
+
+2002-12-04  Geoffrey Keating  <geoffk@apple.com>
+
+       * combine.c (combine_simplify_rtx): Add new canonicalizations.
+       * doc/md.texi (Insn Canonicalizations): Document new
+       canonicalizations for multiply/add combinations.
+       * config/rs6000/rs6000.md: Add and modify floating add/multiply
+       patterns to ensure they're used whenever they can be.
+
+2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.c: Update the comments related to shifts.
+
+2002-12-04  Chris Demetriou  <cgd@broadcom.com>
+
+       * config/mips/mips.md (get_fnaddr): Correct length attribute.
+
+2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (*extzv_8_8): New.
+       (*extzv_8_16): Likewise.
+
 2002-12-04  Jason Merrill  <jason@redhat.com>
 
        PR c++/8461, c++/8625