OSDN Git Service

2002-07-18 Bo Thorsen <bo@berlioz.suse.de>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index b14bb37..cf7b47f 100644 (file)
+2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
+
+       * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
+
+Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
+       (sh_expand_binop_v2sf): Likewise.
+       * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
+       (int_gpr_dest, trunc_hi_operand): New functions.
+       * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
+       trunc_hi_operand.
+       (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
+       * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
+       (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
+       (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
+       (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
+       (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
+       (extendhisi2_media+1, extendqisi2_media+1): Likewise.
+       (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
+       (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
+       (movsf_ie+1): Likewise.
+       (loaddi_trunc): Use int_gpr_dest predicate.
+       (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
+       (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
+       (casesi_worker_0+[12], casesi_worker): Likewise.
+       (shcompact_preserve_incoming_args): Likewise.
+       (mov_nop): Use any_register_operand predicate.
+       (mperm_w0): Use trunc_hi_operand predicate.
+
+2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
+       * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
+       numbering.
+
+2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
+
+2002-07-18  Richard Henderson  <rth@redhat.com>
+
+       PR optimization/7147
+       * ifcvt.c (noce_get_condition): Make certain that the condition
+       is valid at JUMP.
+
+Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * sh.c (barrier_align, push): Shut up compiler warnings.
+       (initial_elimination_offset,sh_media_init_builtins): Likewise.
+       (reg_no_subreg_operand): Delete.
+
+2002-07-17  Bo Thorsen  <bo@suse.de>
+
+       * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
+       (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
+       (STARTFILE_SPEC): Remove hardcoded library paths.
+       (ENDFILE_SPEC): Likewise.
+
+Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
+
+       * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
+
+       * gcse.c (try_replace_reg): Do not return false positives.
+
+2002-07-18  Alan Modra  <amodra@bigpond.net.au>
+
+       * prefix.c: (update_path): Strip ".." components when prior dir
+       doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
+
+       * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
+       (ASM_OUTPUT_REG_POP): Likewise.
+
+2002-07-18  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
+       adjustments to first_reg for profiling case.
+       (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
+       Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
+       Save static chain reg to sp + 12 on ABI_AIX_NODESC.
+       * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
+       (ASM_OUTPUT_REG_POP): Define.
+       * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
+       (ASM_OUTPUT_REG_POP): Undef.
+
+2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
+
+       * cpplib.c (do_sccs): Handle #sccs on all systems.
+       * system.h (SCCS_DIRECTIVE): Poison.
+       * config/darwin.h, config/freebsd.h, config/netbsd.h,
+       config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
+       config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
+       config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
+       config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
+       config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
+       config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
+       config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
+       Remove all references to SCCS_DIRECTIVE.
+       * doc/cpp.texi, doc/tm.texi: Update.
+
+Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * regrename.c (maybe_mode_change): New function.
+       (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
+
+2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
+
+       * config/i386/i386.c (ix86_expand_int_movcc): In the general case
+       suppress addition when either ct or cf are zero.
+
+2002-06-17  Eric Botcazou <ebotcazou@multimania.com>
+           Glen Nakamura <glen@imodulo.com>
+
+       PR optimization/6713
+       * loop.c (loop_givs_rescan): Explicitly delete the insn that
+       sets a non-replaceable giv after issuing the new one.
+
+2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
+
+       * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
+       eval_token): Clarify and correct use of "bool" variables.
+       * cpplib.h (struct cpp_options): Similarly.
+       * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
+       * cpptrad.c (recursive_macro): Similarly.
+
+Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
+       SHmedia code.
+
+       * sh.md (cmpgtudi_media): Remove spurious @.
+
+       * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
+       * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
+
+       * config/sh/lib1funcs.asm (init_trampoline): New entry point.
+       * sh-protos.h (sh_initialize_trampoline): Declare.
+       * sh.c (sh_initialize_trampoline): New function.
+       * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
+       (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
+       (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
+       (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
+       * sh.md (initialize_trampoline, double_shori): New patterns.
+       (initialize_trampoline_compact): Likewise.
+       (shmedia32_initialize_trampoline_big): Remove.
+       (shmedia32_initialize_trampoline_little): Likewise.
+
+       * sh-protos.h (binary_float_operator): Remove declaration.
+       (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
+       * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
+       (unary_float_operator, sh_expand_unop_v2sf): New functions.
+       (sh_expand_binop_v2sf): Likewise.
+       (zero_vec_operand): Delete.
+       (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
+       all non-shared ones.
+       (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
+       Enable nsb and byterev.
+       * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
+       (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
+       in general regs.
+       (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
+       (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
+       immediate operands.
+       (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
+       Add DF_HI_REGS.
+       (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
+       lowpart fp regs - only for big endian for now.
+       (LEGITIMATE_CONSTANT_P): Don't allow non-zero float vectors
+       when FPU is in use.
+       (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
+       (LOAD_EXTEND_OP): NIL for SImode.
+       (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
+       general and fp registers is 4.
+       PREDICATE_CODES: Amend binary_float_operator entry.
+       Remove zero_vec_operand.  Add unary_float_operator.
+       * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
+       subreg SET_DEST.
+       (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
+       (truncdiqi2): Do sign extension.
+       (movsi_media, movdi_media): Allow to use r63 to an fp register.
+       (movdf_media, movsf_media): Likewise.
+       (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
+       Collapse to one define_insn_and_split.  Allow immediate sources.
+       (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
+       (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
+       (movv4sf): Allow immediate sources.
+       (movsf_media_nofpu+1): Don't split moves to FP registers.
+       (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
+       (movv8qi_i+3): Check against CONST0_RTX.
+       (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
+       for input and output operands.  Fix argument 3 to gen_mextr_rl.
+       (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
+       (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
+       (mshf0_w, fipr, ftrv): Likewise.
+       (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
+
+2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
+
+       * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
+       NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
+       * arm.c: Similarly.
+
+2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips-protos.h (mips_sign_extend): Declare.
+       * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
+       (TARGET_SWITCHES): Remove debugh.
+       (ISA_HAS_TRUNC_W): New macro.
+       (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
+       (PREDICATE_CODES): Remove se_nonimmediate_operand.
+       * config/mips/mips.c (movdi_operand): Allow sign-extensions of
+       any SImode move_operand.
+       (se_nonimmediate_operand): Remove.
+       (mips_sign_extend): New.
+       (mips_move_2words): Use it for sign-extended source operands.
+       (override_options): Allow integers to be put into single FPRs.
+       (mips_secondary_reload_class): Handle integers in float registers.
+       * config/mips/mips.md (extendsidi2): Turn into a define_expand.
+       (fix_truncsfsi2, fix_truncdfsi2): Likewise.
+       (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
+       (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
+       (fix_truncdfdi2): Provide only a single alternative, in which the
+       integer is in a float register.  Depend on TARGET_FLOAT64 rather
+       than TARGET_64BIT.
+       (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
+       (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
+       (movdi_internal2): Don't allow the source operand to be sign-extended.
+       Add alternatives for float registers.
+       (*movdi_internal2_extend): New.  Version of movdi_internal2 that
+       allows sign-extension.
+       (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
+       (movsi_internal2): Rename to movsi_internal.  Add alternatives for
+       float registers.  Remove TARGET_DEBUG_H_MODE test.
+       (movhi_internal1): Rename to movhi_internal.  Don't check
+       TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
+       (movqi_internal1): Rename to movqi_internal and remove
+       TARGET_DEBUG_H_MODE dependency.
+       (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
+
+2002-07-16  Jim Wilson  <wilson@redhat.com>
+
+       * toplev.c (lang_dependent_init): Create function context for
+       init_expr_once.
+
+2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
+       --gc-sections if -r.
+       * config/cris/cris.h: Ditto.
+
+2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
+
+       * config/i386/i386.c (ix86_expand_int_movcc): In the case where
+       the comparison directly gives a mask suppress addition when cf is
+       zero by complementing the mask.
+
+2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * Makefile.in: Delete references to enquire.
+       * enquire.c: Move to contrib.
+
+2002-07-16  Stan Shebs  <shebs@apple.com>
+
+       * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
+       config/rs6000/darwin.h.
+       (ASM_OUTPUT_SKIP): Ditto.
+       (TEXT_SECTION_ASM_OP): Ditto.
+       (DATA_SECTION_ASM_OP): Ditto.
+       (ASM_APP_ON): Define.
+       (ASM_APP_OFF): Define.
+       * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
+       TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
+
+       * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
+       (machopic_function_base_name): Declare result to be const.
+       (machopic_non_lazy_ptr_name): Ditto.
+       (machopic_stub_name): Ditto.
+       * config/darwin-protos.h: Ditto for the prototypes.
+
+Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
+
+       * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
+
+Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
+
+       * i386.md (prefetch): Fix for 64bit mode.
+       (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
+
+Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
+
+       * i386.h (MACHINE_DEPENDENT_REORG): New macro.
+       * i386.c (x86_machine_dependent_reorg): New function.
+       * i386-protos.h (x86_machine_dependent_reorg): Declare.
+
+2002-07-16  Zack Weinberg  <zack@codesourcery.com>
+
+       * builtins.c (std_expand_builtin_va_start): Remove unused
+       first argument.
+       (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
+       std_expand_builtin_va_start with just two arguments.
+       * expr.h: Update prototypes.
+
+       * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
+       arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
+       i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
+       m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
+       mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
+       rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
+       s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
+       sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
+       xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
+       argument from all implementations of EXPAND_BUILTIN_VA_START
+       and all uses of std_expand_builtin_va_start.
+
+Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * regrename.c (copy_value): Don't record high part copies.
+
+2002-07-16  Steve Ellcey  <sje@cup.hp.com>
+
+       * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
+       (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
+       * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
+
+2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
+
+       * doc/invoke.texi (NS32K Options): Document -mieee-compare option
+
+       * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
+       into addsi3 using register class "x" and "y".
+
+       * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
+       "earlyclobber" constraint modifier for some alternative.
+
+       * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
+       (*ble, *blt): Flag to indicate bCOND and sCOND should check for
+       unordered.
+       config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
+
+       * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
+       (TARGET_SWITCHES): Add -mieee-compare option.
+       (OVERRIDE_OPTIONS): 32332 is a subset of
+       32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
+       (TARGET_SWITCHES): Fix description of bitfield option.
+       * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
+       -mieee-compare option. Remove 32332 flag.
+
+2002-07-16  Steve Ellcey  <sje@cup.hp.com>
+
+       * explow.c (convert_memory_address): Remove special handling
+       when POINTERS_EXTEND_UNSIGNED < 0.
+       * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
+       (movedi_symbolic): Fix typo.
+       (load_fptr): Remove mode restriction so it works for SI and DI.
+       (load_fptr_internal1): Ditto.
+       (load_gprel): Ditto.
+       (load_symptr_internal1): Ditto.
+       (call_pic): Ditto.
+       * config/ia64.c (call_operand): Modify mode check.
+       (ia64_expand_load_address): Handle DI and SI addresses and symbols.
+       (ia64_expand_move): Ditto.
+       (ia64_assemble_integer): Handle SImode function pointers.
+       (ia64_expand_fetch_and_op): Handle SImode mem addresses.
+       (ia64_expand_op_and_fetch): Ditto.
+       (ia64_expand_compare_and_swap): Ditto.
+       (ia64_expand_lock_test_and_set): Ditto.
+       (ia64_expand_lock_release): Ditto.
+
+2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
+
+       * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
+
+2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
+           Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
+       CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
+
+2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.md (stack_tie): New insn.  Use an idiom that the alias code
+       understands to be a memory clobber.
+       * arm.c (arm_expand_prologue): Use it.
+
+2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
+
+       * ra-rewrite.c: #include reload.h, insn-config.h
+       * ra-build.c: #include reload.h
+       * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
+       depend on reload.h, insn-config.h.
+
+Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * expr.c (emit_move_insn_1): Handle arbitrary moves that are
+       the same size as a word.
+
+       * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
+       BYTES_BIG_ENDIAN into account.
+
+Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
+
+       * i386.md (prefetch): Fix for 64bit mode.
+       (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
+
+       * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
+
+2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+
+       * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
+
+2002-07-15  Zack Weinberg  <zack@codesourcery.com>
+
+       * ginclude/varargs.h: Replace with stub which issues #error.
+       * ginclude/stdarg.h: __builtin_stdarg_start is renamed
+       __builtin_va_start.
+
+       * builtins.def (BUILT_IN_VARARGS_START): Delete.
+       (BUILT_IN_VA_START): New.
+       * builtins.c (expand_builtin_va_start): Eliminate first
+       argument and code to implement pre-ISO varargs.
+       (std_expand_builtin_va_start): Ignore first argument; it is
+       always 1.
+       (expand_builtin): Handle BUILT_IN_VA_START and
+       BUILT_IN_STDARG_START identically.  Delete
+       BUILT_IN_VARARGS_START case.
+
+       * function.c (assign_parms): Delete hide_last_arg and all
+       its uses.
+       (mark_varargs): Delete function.
+       * function.h (struct function): Delete 'varargs' bit.
+       (current_function_varargs): Delete macro.
+       * tree.h: Don't declare mark_varargs.
+
+       * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
+       (c_expand_body): Don't call mark_varargs.
+       * c-objc-common.c: Handle BUILT_IN_VA_START and
+       BUILT_IN_STDARG_START identically.  Delete
+       BUILT_IN_VARARGS_START case.
+       * c-tree.h: Don't declare c_mark_varargs.
+       * c-parse.in: Remove grammar rules for '&...' (which has been
+       commented out since before 2.7.2) and for '...' in K+R
+       argument declarations.
+
+       * builtins.c, function.c, integrate.c, sibcall.c,
+       config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
+       config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
+       config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
+       config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
+       config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
+       config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
+       config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
+       config/stormy16/stormy16.c: Delete all references to
+       current_function_varargs, and code predicated on that flag.
+
+       * config/alpha/alpha.c (alpha_va_start),
+       config/arc/arc.c (arc_va_start),
+       config/i386/i386.c (ix86_va_start),
+       config/mips/mips.c (mips_va_start),
+       config/mn10300/mn10300.c (mn10300_va_start),
+       config/rs6000/rs6000.c (rs6000_va_start),
+       config/s390/s390.c (s390_va_start),
+       config/sh/sh.c (sh_va_start),
+       Ignore first argument; it is always 1.
+
+       * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
+       * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
+       * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
+       Delete m68hc11_va_start.
+       * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
+       No need to define EXPAND_BUILTIN_VA_START.
+
+       * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
+       doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
+
+2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
+
+       PR optimization/7153
+       * regmove.c (optimize_reg_copy_3): Don't optimize if the register
+       dies in more than one insn.
+
+2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
+
+       * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
+
+2002-07-15  Michael Matz  <matz@suse.de>,
+           Daniel Berlin  <dberlin@dberlin.org>,
+           Denis Chertykov  <denisc@overta.ru>
+
+       Add a new register allocator.
+
+       * ra.c: New file.
+       * ra.h: New file.
+       * ra-build.c: New file.
+       * ra-colorize.c: New file.
+       * ra-debug.c: New file.
+       * ra-rewrite.c: New file.
+
+       * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
+       (ra-rewrite.o): New .o files for libbackend.a.
+       (GTFILES): Add basic-block.h.
+
+       * toplev.c (flag_new_regalloc): New.
+       (f_options): New option "new-ra".
+       (rest_of_compilation): Call initialize_uninitialized_subregs()
+       only for the old allocator.  If flag_new_regalloc is set, call
+       new allocator, instead of local_alloc(), global_alloc() and
+       friends.
+
+       * doc/invoke.texi: Document -fnew-ra.
+       * basic-block.h (FOR_ALL_BB): New.
+       * config/rs6000/rs6000.c (print_operand): Write small constants
+       as @l+80.
+
+       * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
+       (df_reg_table_realloc): Make size at least as large as max_reg_num().
+       (df_insn_table_realloc): Size argument now is absolute, not relative.
+       Changed all callers.
+
+       * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
+       * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
+
+       2002-06-20  Michael Matz  <matz@suse.de>
+
+       * df.h (struct ref.id): Make unsigned.
+       * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
+
+       2002-06-13  Michael Matz  <matz@suse.de>
+
+       * df.h (DF_REF_MODE_CHANGE): New flag.
+       * df.c (df_def_record_1, df_uses_record): Set this flag for refs
+       involving subregs with invalid mode changes, when
+       CLASS_CANNOT_CHANGE_MODE is defined.
+
+       2002-05-07  Michael Matz  <matz@suse.de>
+
+       * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
+
+       2002-05-03  Michael Matz  <matz@suse.de>
+
+       * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
+
+       Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
+
+       * regclass.c (regclass): Work with all regs which have sets or
+       refs.
+       (reg_scan_mark_refs): Count regs inside (clobber ...).
+
+       2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
+
+       * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
+       (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
+       add new refs.
+       (df_bb_refs_update): Don't clear insns_modified here, ...
+       (df_analyse): ... but here.
+
+       * sbitmap.c (dump_sbitmap_file): New.
+       (debug_sbitmap): Use it.
+
+       * sbitmap.h (dump_sbitmap_file): Add prototype.
+
+       2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
+
+       * df.c (df_insn_modify): Grow the UID table if necessary, rather
+       than assume all emits go through df_insns_modify.
+
+       2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
+
+       * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
+       increase REG_N_REFS (like flow does), so that regclass doesn't
+       think a reg is useless, and thus, not calculate a class, when it
+       really should have.
+
+       2001-01-28  Daniel Berlin  <dberlin@redhat.com>
+
+       * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
+       dataflow analysis.
+
+2002-07-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/7245
+       * config/i386/i386.c (const_int_1_31_operand): New.
+       * config/i386/i386.h (PREDICATE_CODES): Add it.
+       * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
+       ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
+       lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
+
+2002-07-14  Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/7282
+       * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
+       (floatunssidf2): Likewise.
+       (floatsidf_ppc64): New insn_and_split.
+       (floatunssidf_ppc64): Likewise.
+
+2002-07-14  Andreas Jaeger  <aj@suse.de>
+
+       * config.gcc (sh64): Remove unused
+       target_requires_64bit_host_wide_int.
+
+2002-07-12  Roger Sayle  <roger@eyesopen.com>
+
+       * expr.c [CLEAR_RATIO]: New macro defining the maximum number
+       of move instructions to use when clearing memory, c.f. MOVE_RATIO.
+       [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
+       whether clear_by_pieces should be used to clear storage.
+       (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
+
+       * doc/tm.texi: Document these two new target macros.
+
+2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
+
+       * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
+       the scratch register.
+       ("*movhi2_push"): Accept Z_REG because a split pattern can make use
+       of it, forbid reload to use it.
+
+2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+
+       * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
+       usage on 64-bit hosts, return value was truncated to 32 bits.
+
+Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * simplify-rtx.c (simplify_subreg): Handle floating point
+       CONST_DOUBLEs.  When an integer subreg of a smaller mode than
+       the element mode is requested, compute a subreg with an
+       integer mode of the same size as the element mode first.
+
+Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * combine.c (try_combine): When converting a paradoxical subreg
+       to an extension, take LOAD_EXTEND_OP into account.
+
+2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * config.gcc (mips-sgi-irix6*o32): New configuration.
+
+       * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
+       configurations.
+       * configure: Regenerate.
+
+       * config/mips/iris6-o32-as.h: New file.
+       * config/mips/iris6-o32.h: New file.
+
+       * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
+       (NM_FLAGS): Define.
+       (HAVE_AS_SHF_MERGE): Undefine.
+
+       * config/mips/t-iris5-as: New file.
+       * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
+
+       * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
+       SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
+       SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
+       dp-bit.c, fp-bit.c): Move ...
+       * config/mips/t-iris5-6: ... here.
+       New file, shared by IRIX 5 and IRIX 6.
+       * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
+       mips-sgi-irix5*): Use it.
+
+       * config/mips/iris6.h: Remove duplicate comment.
+
+       * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
+       !TARGET_IRIX6]: Define.
+       (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
+
+       * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
+
+2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
+       and delete code to force constant to register.
+       * pa-protos.h (adddi3_operand): Add prototype.
+       * pa.c (adddi3_operand): New function.
+
+2002-07-11  Roger Sayle  <roger@eyesopen.com>
+
+       * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
+       non-ANSI builtin functions.
+
+Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * rtl.h (gen_rtx_CONST_VECTOR): Declare.
+       * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
+       * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
+       (gen_const_vector_0): Use it.
+
+2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * pa.md (adddi3): For 32-bit targets, force constants to a register
+       if they don't fit in an 11-bit immediate.  Change insn predicate to
+       arith11_operand.  Remove comment.
+       * pa.c (cint_ok_for_move): Fix comment.
+       (emit_move_sequence):  Don't directly split DImode constants on 32-bit
+       targets.
+
+2002-07-11  Tim Josling  <tej@melbpc.org.au>
+
+       Remove front end hard coding from gengtype.c.
+
+       * Makefile.in
+       (STAGESTUFF): add gtyp-gen.h
+       (GTFILES): Remove front end specific files.
+       (GTFILES_FILES_LANGS): New, from configure..
+       (GTFILES_FILES_FILES): Likewise.
+       (GTFILES_LANG_DIR_NAMES): Likewise.
+       (GTFILES_SRCDIR): Likewise.
+       (gtyp-gen.h): Build from configure information.
+       (s-gtype): Remove command line parameters from gengtype.
+       (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
+       (mostlyclean): Delete files generated by and for gengtype.
+
+       * c-config-lang.in: New file.
+
+       * configure.in (all_gtfiles_files_langs): New. Accumulate files
+       for each language.
+       (all_gtfiles_files_files): New. Accumulate language for each file
+       accumulated.
+       (gtfiles): Pick up value for C.
+       (srcdir): AC-SUBST this variable.
+       (all_gtfiles_files_langs): AC-SUBST this variable.
+       (all_gtfiles_files_files): AC-SUBST this variable.
+
+       * configure: Regenerate.
+
+       * gengtype-lex.l (parse_file): Make parameter const.
+
+       * gengtype.c (toplevel): include gtyp-gen.h.
+       (BASE_FILE_<language> unnamed enum): Delete.
+       (lang_names): Delete (replaced by gtyp-gen.h)
+       (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
+       all references.
+       (NUM_GT_FILES): New.
+       (NUM_LANG_FILES): New.
+       (srcdir_len): New.
+       (NUM_BASE_FILES): Change calculation.
+       (open_base_files): Change prototype to avoid warning.
+       (startswith): Delete.
+       (get_file_basename): Iterate through generated language list not
+       hard coded list.
+       (get_base_file_bitmap): Use generated list of files and languages.
+       (close_output_files): Add prototype to rmove warning.
+       (main): Iterate through list of generated files from gtyp-gen.h
+       rather than command line paramaters.  Ignore duplicated file
+       names.
+
+       * gengtype.h (parse_file): Amend prototype for const parameter.
+
+       * doc/sourcebuild.texi: Document gtfiles variable.
+
+       * doc/gty.texi: Document changes to gtfiles variable for front
+       ends.
+
+       * objc/config-lang.in (gtfiles): Add files needed for objc front
+       end.
+
+2002-07-10  Roger Sayle  <roger@eyesopen.com>
+
+       PR c/2454
+       * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
+       to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
+
+2002-07-10  Roger Sayle  <roger@eyesopen.com>
+           Zack Weinberg <zack@codesourcery.com>
+
+       * builtins.def: Make the argument types of abort and exit
+       independent of the front-end.
+
+2002-07-11  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/linux64.h (ASM_SPEC): Define.
+
+2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/rs6000/rs6000.c (emit_frame_save): New.
+       (rs6000_frame_related): Replace reg2 before reg.
+       (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
+       and eh_return registers.
+
+2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       Revert all patches for optimization of Complex .op. Real.
+       * complex_part_zero_p: Remove
+       * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
+       with x.
+       * expand_cmplxdiv_wide: Ditto.
+       * expand_binop: Ditto.
+
+2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+
+       * config/avr/avr.md: Fix two 0x80000000 constants to make them
+       negative also on 64-bit hosts.
+
+       Default to -fno-reorder-blocks when optimizing for size.
+       * config/avr/avr-protos.h (avr_optimization_options): Declare.
+       * config/avr/avr.c (avr_optimization_options): New function.
+       * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
+
+       Optimize returning from simple functions.
+       * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
+       * config/avr/avr.c (avr_simple_epilogue): New function.
+       * config/avr/avr.md (return): New insn.
+
+2002-07-10  Douglas B Rupp  <rupp@gnat.com>
+
+       * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
+       HAS_INIT_SECTION to protection.
+
+2002-07-10  Mark Mitchell  <mark@codesourcery.com>
+
+       * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
+       deprecated.
+
+Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * combine.c (gen_lowpart_for_combine): Handle vector modes.
+       Supply non-VOID mode to simplify_gen_subreg.
+
+Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
+
+       * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
+
+2002-07-10  Jeffrey A Law  <law@redhat.com>
+
+       * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
+       as appropriate.
+
+       * mn10200.c (expand_epilogue): Fix test to determine which scratch
+       register to use.
+
+Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
+       Get mode from dest.
+       If simplify_gen_subreg fails, try next equivalent.
+
+2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
+
+       * diagnostic.h: #include location.h
+       (location_t): Move definition to..
+       * location.h: ... here.  New file.
+       * tree.h: #include location.h
+       (DECL_SOURCE_LOCATION): New macro.
+       (DECL_SOURCE_FILE): Use.
+       (DECL_SOURCE_LINE): Likewise.
+       (struct tree_decl): REplace filename and linenum with locus.
+       * Makefile.in (TREE_H): add location.h
+       (diagnostic.o): Depends on gt-location.h
+       (gt-location.h): Depends on s-gtype
+
+2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
+
+       * config/rs6000/aix.h: Convert CPP_PREDEFINES to
+       TARGET_OS_CPP_BUILTINS.
+       * config/rs6000/aix31.h: Likewise.
+       * config/rs6000/aix41.h: Likewise.
+       * config/rs6000/aix43.h: Likewise.
+       * config/rs6000/aix51.h: Likewise.
+       * config/rs6000/beos.h: Likewise.
+       * config/rs6000/darwin.h: Likewise.
+       * config/rs6000/eabi.h: Likewise.
+       * config/rs6000/eabisim.h: Likewise.
+       * config/rs6000/linux.h: Likewise.
+       * config/rs6000/linux64.h: Likewise.
+       * config/rs6000/lynx.h: Likewise.
+       * config/rs6000/mach.h: Likewise.
+       * config/rs6000/rtems.h: Likewise.
+       * config/rs6000/sysv4.h: Likewise.
+       * config/rs6000/vxppc.h: Likewise.
+
+2002-07-09 Devang Patel <dpatel@apple.com>
+       * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
+       Do not allow ObjC objects as a parameter type for Objective-C methods.
+       My previous patch restricted  'struct' also.
+
+2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
+
+       * cpperror.c (cpp_error): Default to directive_line within
+       directives here.
+       * cppexp.c (cpp_interpret_integer): Only use traditional
+       number semantics in directives.
+       * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
+       (do_include_common): Similarly.
+       * cpptrad.c (scan_out_logical_line): Implement accurate
+       quoting of <> in #include.
+       * doc/cpp.texi: Update.
+
+Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
+                         J"orn Rennecke <joern.rennecke@superh.com>
+
+       * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
+       * sh.md (attribute issues): Replace with:
+       (attribute pipe_model).  All users changed.
+       (attribute type): Change pt / ptabs to pt_media / ptabs_media.
+       All users changed.
+       (function units sh5issue, sh5fds): New.
+       (attribute is_mac_media): New.
+       (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
+       (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
+       (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
+       (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
+       (call_media, call_value_media, sibcall_media): Likewise.
+       (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
+       (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
+       (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
+       (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
+       (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
+       (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
+       (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
+       (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
+       (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
+       (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
+       (truncdfsf2_media): Likewise.
+       (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
+       (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
+
+Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
+       * sh.c (general_extend_operand, inqhi_operand): New functions.
+       * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
+       alternatives using 'N' modifier.  Add type.
+       (adddi3z_media): Likewise.  Enable generator function generation.
+       (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
+       exact predicates / constraints.  Add type.
+       (subsi3): Allow 0 for SHMEDIA.
+       (udivsi3_i4_media): Use match_operand for input values
+       rather than hard registers.
+       (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
+       unnecessarily through hard registers.  Keep copies of pseudo
+       registers outside of the libcall sequence.
+       (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
+       (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
+       (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
+       (extendhidi2, extendqidi2): Likewise.
+       (andsi3_compact): Name.
+       (andcdi3): Enable generator function generation.
+       (zero_extendhisi2, zero_extendqisi2): Rename to
+       (zero_extendhisi2_compact, zero_extendqisi2_compact).
+       (extendhisi2, extendqisi2): Rename to
+       (extendhisi2_compact, extendqisi2_compact).
+       (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
+       (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
+       (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
+       (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
+       (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
+       (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
+       (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
+       (shmedia32_initialize_trampoline_big): Likewise.
+       (shmedia32_initialize_trampoline_little): Likewise.
+       (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
+       (negdi2): Remove spurious T clobber.
+       (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
+       (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
+       (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
+       (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
+       (ic_invalidate_line_media): Write back data cache before invalidating
+       instruction cache.  Add type.
+       (movsf_media): Sign-extend when the destination is a general
+       purpose register.  Add type.
+       (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
+       (casesi_worker_0+1): Only increment ref count for proper label.
+       (casesi_worker_0+2): Likewise.
+
+2002-07-09  Mark Mitchell  <mark@codesourcery.com>
+
+       * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
+
+2002-07-09  Steve Ellcey  <sje@cup.hp.com>
+
+       * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
+       from Pmode to ptr_mode.
+       (get_exception_pointer): Ditto.
+       (connect_post_landing_pads): Ditto.
+       (dw2_build_landing_pads): Ditto.
+
+2002-07-08  Steve Ellcey  <sje@cup.hp.com>
+       * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
+       * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
+       (handle_pragma_redefine_extname): Change to use new function.
+
+2002-07-08  Roger Sayle  <roger@eyesopen.com>
+
+       * combine.c (combine_simplify_rtx): Add an explicit cast
+       to avoid signed/unsigned comparison warning.
+       (simplify_if_then_else): Likewise.
+       (extended_count): Likewise.
+       (simplify_shift_const): Likewise.
+       (simplify_comparison): Likewise.
+
+2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.md: Add imadd type.  Update scheduler description
+       to use imadd as well as imul.
+       (*mul_acc_si, *madsi): Change imul alternatives to imadd.
+       (*mul_acc_di, *mul_acc_64bit_di): Likewise.
+       (*mul_sub_si): Likewise for first alternative.  Change second
+       alternative from imul to multi.
+
+2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
+
+       * c-common.c (c_common_post_options): Update prototype;
+       don't init backends if preprocessing only.
+       * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
+       * langhooks.h (struct lang_hooks): Update post_options to
+       return a boolean.
+       * toplev.c (parse_options_and_default_flags, do_compile,
+       lang_independent_init): Update prototypes.  Allow the
+       front end to specify that there is no need to initialize
+       the back end.
+       (general_init): Move call to hex_init here...
+       (toplev_main): ...from here.  Pass flag for back end init
+       suppression.
+
 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
 
        * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
@@ -431,8 +1445,8 @@ Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
 
 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
 
-        * tree.c (build_function_type_list): Update function comment.
-        Rename first argument to return_type.
+       * tree.c (build_function_type_list): Update function comment.
+       Rename first argument to return_type.
 
 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
 
@@ -454,7 +1468,7 @@ Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
 
 Fri Jun 28 17:22:37 2002  Denis Chertykov  <denisc@overta.ru>
                          Frank Ch. Eigler  <fche@redhat.com>
-                         Matthew Green  <mrg@redhat.com>
+                         Matthew Green  <mrg@redhat.com>
                          Richard Henderson <rtl@redhat.com>
                          Dave Hudson  <dave.hudson@ubicom.com>
                          Jeff Johnston  <jjohnstn@redhat.com>
@@ -497,7 +1511,7 @@ Fri Jun 28 17:22:37 2002  Denis Chertykov  <denisc@overta.ru>
 
 2002-06-30  Aldy Hernandez  <aldyh@redhat.com>
 
-        * config/i386/i386.c (ix86_init_mmx_sse_builtins): Fix typos.
+       * config/i386/i386.c (ix86_init_mmx_sse_builtins): Fix typos.
 
 2002-06-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
@@ -515,20 +1529,20 @@ Fri Jun 28 17:22:37 2002  Denis Chertykov  <denisc@overta.ru>
 
 2002-06-29  Aldy Hernandez  <aldyh@redhat.com>
 
-        * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use
-        build_function_type_list instead of build_function_type.
+       * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use
+       build_function_type_list instead of build_function_type.
 
-        * config/ia64/ia64.c (ia64_init_builtins): Same.
+       * config/ia64/ia64.c (ia64_init_builtins): Same.
 
-        * config/alpha/alpha.c (alpha_init_builtins): Same.
+       * config/alpha/alpha.c (alpha_init_builtins): Same.
 
-        * config/rs6000/rs6000.c (altivec_init_builtins): Same.
+       * config/rs6000/rs6000.c (altivec_init_builtins): Same.
 
-        * config/arm/arm.c (arm_init_builtins): Same.
+       * config/arm/arm.c (arm_init_builtins): Same.
 
-        * tree.h: Add build_function_type_list prototype.
+       * tree.h: Add build_function_type_list prototype.
 
-        * tree.c (build_function_type_list): New.
+       * tree.c (build_function_type_list): New.
 
 2002-06-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
@@ -536,7 +1550,7 @@ Fri Jun 28 17:22:37 2002  Denis Chertykov  <denisc@overta.ru>
 
 2002-06-28  Aaron Lehmann  <aaronl@vitelus.com>
 
-        * fold-cont.c: Remove unused CHARMASK.
+       * fold-cont.c: Remove unused CHARMASK.
 
 2002-06-29  Neil Booth  <neil@daikokuya.co.uk>
 
@@ -558,7 +1572,7 @@ Fri Jun 28 17:22:37 2002  Denis Chertykov  <denisc@overta.ru>
 
 2002-06-29  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
 
-        * c4x.h: (TARGET_CPU_CPP_BUILTINS): Check flag_inline_functions and
+       * c4x.h: (TARGET_CPU_CPP_BUILTINS): Check flag_inline_functions and
        flag_inline_trees to enable inlining.
 
 2002-06-28  Phil Edwards  <pme@gcc.gnu.org>
@@ -615,22 +1629,22 @@ Fri Jun 28 17:22:37 2002  Denis Chertykov  <denisc@overta.ru>
 
 2002-06-28  Aldy Hernandez  <aldyh@redhat.com>
 
-        * config/rs6000/rs6000.c: Remove unusued variables from last
-        patch.
+       * config/rs6000/rs6000.c: Remove unusued variables from last
+       patch.
 
 2002-06-27  Aldy Hernandez  <aldyh@redhat.com>
 
        Revert:
-        * config/rs6000/rs6000.c (rs6000_override_options): Move
-        *SUBTARGET_OVERRIDE_OPTIONS before the -m options.
+       * config/rs6000/rs6000.c (rs6000_override_options): Move
+       *SUBTARGET_OVERRIDE_OPTIONS before the -m options.
 
 2002-06-27  Aldy Hernandez  <aldyh@redhat.com>
 
-        * config/rs6000/rs6000.c (altivec_expand_builtin): Move
-        lvx/stv/dst builtins...
-        (altivec_expand_ld_builtin): ...to here.
-        (altivec_expand_st_builtin): ...here.
-        (altivec_expand_dst_builtin): ...and here (respectively).
+       * config/rs6000/rs6000.c (altivec_expand_builtin): Move
+       lvx/stv/dst builtins...
+       (altivec_expand_ld_builtin): ...to here.
+       (altivec_expand_st_builtin): ...here.
+       (altivec_expand_dst_builtin): ...and here (respectively).
 
 2002-06-28  Bob Wilson  <bob.wilson@acm.org>
 
@@ -652,8 +1666,8 @@ Fri Jun 28 17:22:37 2002  Denis Chertykov  <denisc@overta.ru>
 
 2002-06-27  Aldy Hernandez  <aldyh@redhat.com>
 
-        * config/rs6000/rs6000.c (rs6000_override_options): Move
-        *SUBTARGET_OVERRIDE_OPTIONS before the -m options.
+       * config/rs6000/rs6000.c (rs6000_override_options): Move
+       *SUBTARGET_OVERRIDE_OPTIONS before the -m options.
 
 2002-06-27  Bob Wilson  <bob.wilson@acm.org>
 
@@ -728,8 +1742,8 @@ Wed Jun 26 16:32:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
 
 2002-06-26  Aldy Hernandez  <aldyh@redhat.com>
 
-        * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Revert change to
-        check for TARGET_ALTIVEC.
+       * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Revert change to
+       check for TARGET_ALTIVEC.
 
 2002-06-26  Nathanael Nerode  <neroden@gcc.gnu.org>
 
@@ -750,8 +1764,8 @@ Wed Jun 26 16:32:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
 
 2002-06-25  Aldy Hernandez  <aldyh@redhat.com>
 
-        * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
-        discrepancies from motorola's documentation.
+       * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
+       discrepancies from motorola's documentation.
 
 Tue Jun 25 21:51:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
 
@@ -1228,7 +2242,7 @@ Thu Jun 20 12:14:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
 
 2002-06-19  Chris Demetriou  <cgd@broadcom.com>
 
-        * config/mips/mips.c (mips_emit_prefetch): Use hints which
+       * config/mips/mips.c (mips_emit_prefetch): Use hints which
        match desired locality.
 
 2002-06-19  Dhananjay R. Deshpande  <dhananjayd@kpit.com>