OSDN Git Service

Oops. forgot to kill the >>> from the conflict.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 7661333..d5cc797 100644 (file)
@@ -1,3 +1,593 @@
+Tue Aug 25 12:23:20 PDT 1998  Richard Henderson  <rth@cygnus.com>
+
+        * reload.c (operands_match_p): Handle rtvecs.
+
+        * i386.c (legitimate_pic_address_disp_p): New.
+        (legitimate_address_p): Use it.
+        (legitimize_pic_address): Use unspecs to represent @GOT and @GOTOFF.
+        Handle constant pool symbols just like statics.
+        (emit_pic_move): Use Pmode not SImode for clarity.
+        (output_pic_addr_const) [SYMBOL_REF]: Remove @GOT and @GOTOFF hacks.
+        [UNSPEC]: New, handling what we killed above.
+        [PLUS]: Detect and abort on invalid symbol arithmetic.
+        * i386.h (CONSTANT_ADDRESS_P): Remove HIGH.
+
+Tue Aug 25 12:02:23 1998  Mark Mitchell  <mark@markmitchell.com>
+
+       * alias.c: Include output.h.
+       (DIFFERENT_ALIAS_SETS_P): Don't treat alias sets as
+       different if we're in a varargs function.
+       * Makefile.in (alias.o): Depend on output.h
+       
+Tue Aug 25 19:20:12 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * sh.h (GIV_SORT_CRITERION): Delete.
+
+Tue Aug 25 13:19:46 1998  Dave Brolley  <brolley@cygnus.com>
+
+       * regclass.c (regclass): Use xmalloc/free instead of alloca.
+       * stupid.c (stupid_life_analysis): Ditto.
+       * reload1.c (reload): Ditto.
+
+Tue Aug 25 05:48:18 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
+
+       * config/sparc/sparc.c (arith_4096_operand, arith_add_operand,
+       arith_double_4096_operand, arith_double_add_operand): New
+       predicates.
+       * config/sparc/sparc.h (PREDICATE_CODES): Add them, declare them.
+       * config/sparc/sparc.md (adddi3, addsi3, subdi3, subsi3): Use
+       them to transform add/sub 4096 into add/sub -4096.
+
+Mon Aug 24 23:31:03 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+
+       * loop.c (scan_loop): Allocate some slop to handle pseudos
+       generated by move_movables.
+       (load_mems_and_recount_loop_regs_set): Honor AVOID_CC_MODE_COPIES
+       here too.
+
+Mon Aug 24 19:45:40 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * tree.def (DECL_RESULT): Correct documentation.
+
+Tue Aug 25 01:15:27 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * reload1.c (reload_reg_free_before_p): New argument EQUIV;  Changed
+       all callers.  Abort for RELOAD_FOR_INSN.  RELOAD_FOR_OUTADDR_ADDR:
+       conflicts will all RELOAD_FOR_OUTPUT reloads.
+
+       * reload1.c (reload_cse_regs_1): When deleting a no-op move that
+       loads the function result, substitute with a USE.
+
+Mon Aug 24 15:20:19 1998  David Edelsohn  <edelsohn@mhpcc.edu>
+
+       * rs6000.h (GO_IF_LEGITIMATE_ADDRESS): Use TARGET_POWERPC64
+       when testing LEGITIMATE_INDEXED_ADDRESS_P DFmode and DImode.
+       (LEGITIMIZE_ADDRESS): Use TARGET_POWERPC64 for INDEXED fixup.
+       * rs6000.c (print_operand, case 'L'): Add UNITS_PER_WORD, not 4.
+       (print_operand, cases 'O' and 'T'): Fix typos in lossage strings.
+       * rs6000.md (fix_truncdfsi2_store): Remove %w from non-CONST_INT
+       operand. 
+       (movdf_softfloat32, movdf_hardfloat64, movdf_softfloat64): Change
+       'o' to 'm' for GPR variant constraints.
+
+Mon Aug 24 10:25:46 1998  Jeffrey A Law  (law@cygnus.com)
+
+        * loop.c (scan_loop): Honor AVOID_CC_MODE_COPIES.
+
+       * h8300.h (STRIP_NAME_ENCODING): Fix typo.
+
+       * sparc.md (TFmode splits): Use reg_overlap_mentioned_p to detect
+       when the source and destination overlap.
+
+       * stmt.c (emit_case_nodes): Change rtx_function to rtx_fn to avoid
+       clash with global type.
+
+Mon Aug 24 00:53:53 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * fixinc.irix: Add curses.h handling from fixinc.wrap.
+
+Fri Aug 14 14:12:59 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * c-common.c (combine_strings): Also set TREE_READONLY.
+       Change warn_write_strings to flag_const_strings.
+       * c-decl.c, c-tree.h: Likewise.
+
+Sun Aug 23 18:39:11 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+
+       * config/sparc/sparc.c (sparc_emit_set_const32): If outputting a
+       CONST_INT, not a symbolic reference, don't use a HIGH/LO_SUM
+       sequence, use SET/IOR instead so CSE can see it.
+       * config/sparc/sparc.md (movhi_const64_special,
+       movsi_const64_special): New patterns necessitated by that change.
+       (movhi_high): Remove.
+       (movhi_lo_sum): Change to match an IOR.
+       (movdf_insn_sp32): Test TARGET_V9 not TARGET_ARCH64.
+       (movdf_insn_v9only): New pattern for when V9 but not ARCH64.
+       (movdf_insn_sp64): Test both TARGET_V9 and TARGET_ARCH64.
+       (movdf splits): Allow when not V9 or when not ARCH64 and integer
+       registers are involved.
+       (snesi_zero_extend split): Remove reload_completed test.
+       (unnamed plus and minus zero_extend sidi splits): Add it.
+
+Sun Aug 23 11:56:08 1998  Mark Mitchell  <mark@markmitchell.com>
+
+       * extend.texi: Remove description of extension to explicit
+       instantiation that is now endorsed by standard C++.
+
+Sun Aug 23 09:39:09 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+
+       * config/arc/arc.c (arc_initialize_pic): Remove.
+       * config/arc/arc.h (INITIALIZE_PIC): Similarly, this routine does
+       nothing on any platform and is invoked by no-one, it does not even
+       appear in the documentation.
+       * config/sparc/sparc.h (INITIALIZE_PIC): Likewise.
+       * config/sparc/sparc.c (initialize_pic): Likewise.
+       (find_addr_reg): Remove this as well, no longer referenced after
+       my rewrite.
+
+Sun Aug 23 00:17:14 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * recog.c (validate_replace_rtx_group): New function.
+       * recog.h (validate_replace_rtx_group): Declare it.
+       * regmove.c (optimize_reg_copy_3): If any substitution fails, then undo
+       the entire group of substitutions.
+
+Sat Aug 22 23:31:00 1998  Klaus-Georg Adams  (Klaus-Georg.Adams@chemie.uni-karlsruhe.de)
+
+       * loop.c (load_mems): Fix initializers.
+
+Fri Aug 21 23:07:46 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+
+       * config/sparc/sparc.md (TFmode splits): Handle destination
+       registers being referenced in the address correctly.
+
+       * expmed.c (make_tree) [CONST_INT]: Sign extend even if
+       TREE_UNSIGNED, when bitsize of type's mode is larger than
+       HOST_BITS_PER_WIDE_INT.
+
+Fri Aug 21 19:31:31 1998  Alexandre Petit-Bianco <apbianco@cygnus.com>
+
+       * tree.def (LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR): New tree nodes.
+       * tree.h (LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
+       EXIT_BLOCK_LABELED_BLOCK, EXIT_BLOCK_RETURN, LOOP_EXPR_BODY): New
+       macros.
+       * expr.c (expand_expr): Handle LABELED_BLOCK_EXPR and
+       EXIT_BLOCK_EXPR.
+
+Thu Aug 20 19:43:44 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * h8300.c (h8300_encode_label): Use '&' for tiny data items.
+       * h8300.h (TINY_DATA_NAME_P): Likewise.
+       (STRIP_NAME_ENCODING): Handle '&'.
+
+       * mn10200.h (REG_OK_FOR_INDEX_P): Do not check the mode of the
+       register (it could be accessed via an outer SUBREG).
+       (REG_OK_FOR_BASE_P): Likewwise.
+       (GO_IF_LEGITIMATE_ADDRESS): Consistently use REGNO_OK_FOR_BASE_P.
+
+       * remove.c (optimize_reg_copy_3): Abort instead of silently generating
+       bogus rtl.
+
+       * jump.c (rtx_renumbered_equal_p): Do not consider PLUS commutative.
+
+Thu Aug 20 17:35:20 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+
+       * config/sparc/sparc.md (movtf_insn_sp32): All memory operands
+       must be offsettable so the splits can be made.
+
+Thu Aug 20 13:56:53 1998  Michael Meissner  <meissner@cygnus.com>
+
+       * config/i386/winnt.c: Include system.h, not stdio.h to get
+       sys/param.h pulled in before rtl.h in case the system defines MIN
+       and MAX.
+
+Thu Aug 20 13:44:20 1998  David Edelsohn  <edelsohn@mhpcc.edu>
+
+       * rs6000.md (movqi, movhi): Add CONSTANT_P_RTX.
+
+Thu Aug 20 13:15:11 1998  Dave Brolley  <brolley@cygnus.com>
+
+       * stor-layout.c (layout_type): Compute TYPE_SIZE_UNIT correctly for
+       arrays of bits.
+       * cpplib.c (cpp_define): Handle macros with parameters.
+
+Wed Aug 19 21:33:19 1998  David Edelsohn  <edelsohn@mhpcc.edu>
+
+       * rs6000.c (rs6000_output_load_toc_table): Use ld for 64-bit.
+       (output_toc): Use single TOC slot or llong minimal-toc for DFmode
+       and DImode 64-bit.  Use llong for minimal-toc SFmode and
+       SYMBOL_REF / LABEL_REF 64-bit.
+       (output_function_profiler): Use llong for profiler label and ld to
+       load 64-bit label address.
+
+Wed Aug 19 17:52:27 1998  Nick Clifton  (nickc@cygnus.com)
+
+        * config/arm/thumb.md (extendqisi2_insn): Cope with REG +
+        OFFSET addressing.
+
+Wed Aug 19 14:13:31 PDT 1998 Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Wed Aug 19 13:10:30 PDT 1998 Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Wed Aug 19 13:06:47 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * collect2.c (extract_init_priority): Use atoi instead of strtoul.
+
+Wed Aug 19 13:51:35 1998  Hans-Peter Nilsson  <hp@axis.se>
+
+       * tm.texi (Misc): Fix typo "teh".
+
+       * tm.texi (PIC): Fix typo "PPIC".
+
+       * tm.texi (Caller Saves): Say that DEFAULT_CALLER_SAVES has no
+       effect when -O2 and higher.
+       * invoke.texi (Optimize Options): Likewise for -fcaller-saves.
+
+1998-08-19  Michael Hayes  <michaelh@ongaonga.chch.cri.nz>
+
+       * regclass.c: Changed register set documentation to be consistent
+       with GCC behaviour.
+
+       * final.c (final_start_function) Removed redundant test for
+       call_fixed_regs.
+
+Wed Aug 19 13:28:41 1998  Mark Mitchell  <mark@markmitchell.com>
+
+       * rtl.h (rtx_function): New type.
+       (for_each_rtx): New function.
+       * rtlanal.c (for_each_rtx): Define it.
+       
+       * recog.c (change_t): New type.
+       (change_objects, change_old_codes, change_locs, change_olds):
+       Replace with ...
+       (changes): New variable.
+       (validate_change): Dynamically allocate room for more changes, if
+       necessary.  Uses changes array instead of change_objects, etc.
+       (apply_change_group):  Use changes array instead of
+       change_objects, etc.
+       
+       * loop.c (loop_mem_info): New type.
+       (loop_mems): New variable.
+       (loop_mems_idx): Likewise.
+       (looop_mems_allocated): Likewise.
+       (scan_loop): Remove nregs parameter.
+       (next_insn_in_loop): New function.
+       (load_mems_and_recount_loop_regs_set): Likewise.
+       (load_mems): Likewise.
+       (insert_loop_mem): Likewise.
+       (replace_loop_mem): Likewise.
+       (replace_label): Likewise.
+       (INSN_IN_RANGE_P): New macro.
+       (loop_optimize): Don't pass max_reg_num() to scan_loop.
+       (scan_loop): Remove nregs parameter, compute it after any new
+       registers are created by load_mems.  Use INSN_IN_RANGE_P and
+       next_insn_in_loop rather than expanding them inline.  Call
+       load_mems to load memory into pseudos, if appropriate.
+       (prescan_loop): Figure out whether or not there are jumps from the
+       loop to targets other than the label immediately following the
+       loop.  Call insert_loop_mem to notice all the MEMs used in the
+       loop, if it could be safe to pull MEMs into REGs for the duration
+       of the loop.
+       (strength_reduce): Use next_insn_in_loop.  Tweak comments.
+
+Wed Aug 19 08:29:44 1998  Richard Earnshaw (rearnsha@arm.com)
+
+       * arm.c (arm_override_options): Remove lie about ignoring PIC flag.
+
+Wed Aug 19 07:08:15 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+
+       * config/sparc/sparc.c (finalize_pic): Check for the correct
+       nonlocal_goto_receiver UNSPEC number.
+       * config/sparc/sparc.md (nonlocal_goto_receiver): Add comment
+       making note of this dependency existing in sparc.c
+       (negtf2_notv9 split): Give NEG SFmode.
+       (negsf2): Fix insn output string.
+       
+Tue Aug 18 12:40:27 1998  Richard Henderson  <rth@cygnus.com>
+
+       * c-common.c (decl_attributes): Issue an error if the argument
+       to alias is not a string.
+
+Tue Aug 18 10:33:30 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * haifa-sched.c (sched_analyze): Put all JUMP_INSNs on the last
+       pending memory flush list.
+
+       * combine.c (can_combine_p): Allow combining insns with REG_RETVAL
+       notes.
+       (try_combine): Allow combining insns with REG_LIBCALL notes.
+
+       * expr.c (emit_block_move): Do not call memcpy as a libcall
+       instead build up a CALL_EXPR and call it like any other
+       function.
+       (clear_storage): Similarly for memset.
+
+       * regmove.c (fixup_match_2): Do not call reg_overlap_mentioned_p
+       on notes.
+
+       * Makefile.in (cplus-dem.o): Provide explicit rules for building
+       cplus-dem.o
+
+       * regmove.c (optimize_reg_copy_1): Update REG_N_CALLS_CROSSED
+       and REG_LIVE_LENGTH as successful substitutions are made.
+
+Tue Aug 18 07:15:27 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * config/sparc/sparc.c (ultra_find_type): Add empty semicolon
+       statement after end of loop label.
+
+Tue Aug 18 07:13:27 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+
+       * config/sparc/sparc.c (ultra_types_avail): New variable.
+       (ultra_build_types_avail): New function to record mask of insn
+       types in ready list at this cycle.
+       (ultrasparc_sched_reorder): Call it.
+       (ultra_find_type): Use it to quicken the search.  Also simplif
+       dependency check, don't use rtx_equal_p because we know exactly
+       what we are looking for.
+
+Tue Aug 18 03:20:53 1998  Richard Earnshaw  (rearnsha@arm.com)
+
+       * arm.h (SECONDARY_INPUT_RELOAD_CLASS): Return NO_REGS if compiling
+       for architecture v4.
+
+Mon Aug 17 21:26:38 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+
+       * config/sparc/sparc.md (sltu, sgeu): Don't FAIL, call
+       gen_compare_reg.
+       (movsf_const_intreg, movsf_const_high, movsf_const_lo,
+       movdf_const_intreg and helper splits): New patterns to move float
+       constants into integer registers.
+       (negtf2, negdf2, abstf2, absdf2): Rework using new patterns and
+       splits.
+
+Mon Aug 17 11:46:19 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * From Graham
+       * tree.c (build_index_type): Copy TYPE_SIZE_UNIT from sizetype
+       to itype.
+       * c-decl.c (finish_enum): Copy TYPE_SIZ_UNIT from enumtype to tem.
+
+       * rs6000.c (secondary_reload_class): For TARGET_ELF, indicate that
+       a BASE_REGS register is needed as an intermediate when copying
+       a symbolic value into any register class other than BASE_REGS.
+
+       * expr.c (move_by_pieces): No longer static.  Remove prototype.
+       * rtl.h (move_by_pieces): Add extern prototype.
+       * mips.c (expand_block_move): Handle aligned straight line copy by
+       calling move_by_pieces.
+
+       * expr.c (expand_expr): Allow assignments from TImode PARM_DECLs
+       and VAR_DECLs.
+
+Mon Aug 17 10:28:52 1998  Mark Mitchell  <mark@markmitchell.com>
+
+       * stmt.c (expand_end_loop): Tidy.  Allow unconditional
+       jumps out of the loop to be treated as part of the exit test.
+
+Mon Aug 17 10:06:11 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+                         Jeff Law <law@cygnus.com>
+
+       * Makefile.in (cplus-dep.o): Use cplus-dem.c from libiberty.
+       * cplus-dem.c: Delete.
+
+       * Makefile.in (fold-const.o): depend on $(RTL_H).
+
+       * fold-const.c: Include rtl.h to get the prototype for
+       `set_identifier_local_value'.
+
+       * loop.c (express_from_1): Remove unused variable `tmp'.
+       (combine_givs): cast the first argument of bzero to char *.
+
+       * toplev.c (display_help): Remove unused variable `looking_for_start'.
+
+       * c-decl.c (init_decl_processing): Remove unneeded &.
+
+       * alpha.h (alpha_initialize_trampoline): Provide prototype.
+       
+       * except.c (set_exception_lang_code, set_exception_version_code):
+       Change parameter from `short' to `int' to avoid using a gcc
+       extension.
+
+       * except.h (set_exception_lang_code, set_exception_version_code):
+       Likewise for prototypes.
+
+       * flow.c (count_reg_references): Remove unused variables `regno'
+       and `i'.
+
+       * gcse.c (hash_scan_insn): Declare parameter `in_libcall_block'.
+
+       * prefix.c (translate_name): Cast the result of `alloca'.
+
+       * varray.h (VARRAY_FREE): Reimplement as a `do-while(0)' statement.
+
+Mon Aug 17 09:23:42 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * config/m68k/m68k.c: Include "system.h" instead of <stdio.h>.
+       Include "toplev.h".
+       (valid_dbcc_comparison_p): Mark mode argument as unused.
+       (symbolic_operand): Likewise.
+       (legitimize_pic_address): Likewise.
+       (const_uint32_operand): Likewise.
+       (const_sint32_operand): Likewise.
+       * sched.c [!INSN_SCHEDULING]: Define only dummy function
+       schedule_insns and comment out rest of file.
+
+       * m68k.c (output_move_simode_const): Use subl to move a zero into an
+       address register.
+       (output_move_[hq]imode): Likewise.
+
+Mon Aug 17 09:15:47 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * toplev.c (main): Enable -fstrict-aliasing for -O2 and above.
+       * invoke.texi: Corresponding changes.
+
+Mon Aug 17 02:03:55 1998  Richard Henderson  <rth@cygnus.com>
+
+       * regclass.c (allocate_reg_info): Respect MIN when clearing data.
+
+Sun Aug 16 17:37:06 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+
+       * config/sparc/sparc.c (ultra_code_from_mask,
+       ultra_cmove_results_ready_p, ultra_fpmode_conflict_exists,
+       ultra_find_type, ultra_schedule_insn, ultra_flush_pipeline,
+       ultrasparc_sched_init, ultrasparc_variable_issue,
+       ultra_rescan_pipeline_state, ultrasparc_sched_reorder): New
+       functions to describe UltraSPARC pipeline exactly to Haifa.
+       (ultrasparc_adjust_cost): Indicate IMUL type insns have zero cost,
+       as there is nothing the scheduler can do about it.  Indicate that
+       REG_DEP_OUTPUT's collide.  Fixup formatting.
+       * config/sparc/sparc.h (RTX_COSTS): Fixup integer multiply and
+       divide costs on Ultra for DImode.
+       (MD_SCHED_INIT, MD_SCHED_REORDER, MD_SCHED_VARIABLE_ISSUE):
+       Define.
+       * config/sparc/sparc.md (ieu_unnamed function unit): Rename to
+       ieuN and add call_no_delay_slot to type list.
+       (cti function unit): New unit for branches on UltraSPARC.
+       (subx/addx insns): Set type to misc.
+       (sidi zero/sign extension insns on arch64): Set type to shift.
+       (sign_extendhidi2_insn): Set type to sload.
+
+Sun Aug 16 13:52:00 1998  David Edelsohn  <edelsohn@mhpcc.edu>
+
+       * rs6000.c (rs6000_stack_info): Use if == 0 for sizes.
+       (output_epilog): Use if != 0 for offset.
+       (rs6000_fatal_bad_address): Prepare for Intl.
+       * rs6000.h (rs6000_fatal_bad_address): Declare.
+       * rs6000.md (movsfcc, movdfcc): Use else if.
+       (elf_high): Use {liu|lis}.
+       (elf_low): Use {cal|la}.  Remove %a template from old mnemonics.
+       (movsi): Use rs6000_fatal_bad_address.
+       
+Sun Aug 16 01:53:21 1998  Richard Henderson  <rth@cygnus.com>
+
+       * reload.c (find_equiv_reg): Reject equivalences separated
+       by a volatile instruction.
+
+Sun Aug 16 00:21:44 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> 
+
+        * rs6000/linux.h (CPP_OS_DEFAULT_SPEC): Define.
+
+Sat Aug 15 20:51:35 1998  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.md (movsicc): Fix mode mismatch.
+
+Sat Aug 15 20:22:33 1998  H.J. Lu  (hjl@gnu.org)
+
+       * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Handle aggregated
+       return type.
+       * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): Likewise.
+
+Sat Aug 15 08:39:49 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+
+       * config/sparc/sparc.md (movsi_lo_sum_pic_label_reg): Remove
+       write-only modifier from operand 1 constraint.
+
+Sat Aug 15 06:28:19 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+
+       * config/sparc/sparc.c (sparc_emit_set_const64_quick1): If
+       emitting a XOR of -1 at the end, emit a NOT instead for combine's
+       sake.
+       (sparc_emit_set_const64): Likewise, also when computing trailing
+       bits do not negate low_bits and make fast_int an int.
+
+Fri Aug 14 21:07:03 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * loop.c (add_label_notes): Do not ignore references to labels
+       before dispatch tables.  Mirrors Apr 8 change to mark_jump_label.
+       * gcse.c (add_label_notes): Similarly.
+
+       * pa.h (ASM_OUTPUT_MI_THUNK): Strip name encoding.
+
+       * m68k.md (adddi_dilshr32): One of the operands must be a register.
+       (adddi_dishl32): Similarly.
+
+Fri Aug 14 14:12:59 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * i386.h (MODES_TIEABLE_P): Reorganize to shut up warnings.
+       * alias.c (memrefs_conflict_p): Add braces to shut up warnings.
+       * cse.c (cse_basic_block): Add parens to shut up warnings.
+
+Fri Aug 14 12:58:21 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+
+       * config/sparc/sparc.c (sparc_emit_set_const64_quick2,
+       sparc_emit_set_const64_longway, const64_is_2insns,
+       create_simple_focus_bits, sparc_emit_set_const64): Fix more bugs
+       in 64-bit constant formation.
+       * config/sparc/sparc.md (snesi_zero_extend split): Generate
+       rtl for addx not subx.
+       (define_insn movdi_const64_special): Make available even when
+       HOST_BITS_PER_WIDE_INT is not 64.
+       (movdi_lo_sum_sp64_cint, movdi_high_sp64_cint): Remove.
+       (losum_di_medlow, sethm, setlo): Make op2 symbolic_operand.
+       (cmp_siqi_trunc_set, cmp_diqi_trunc_set): Encapsulate both
+       instances of operand 1 inside a QI subreg.
+       (xordi3_sp64_dbl): Remove '%' constraint for op1.
+       (one_cmpldi2_sp64): Fix output string.
+       (one_cmplsi2_not_liveg0): Rewrite to remove unneeded extra
+       alternative case.
+       (unnamed arch64 ashift DI): Truncate shift count if greater than
+       63, not 31.
+
+Fri Aug 14 21:52:53 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * expr.c (store_expr): Don't optimize away load-store pair
+       when either source or destination have a side effect.
+
+Fri Aug 14 16:50:10 1998  John Carr  <jfc@mit.edu>
+
+       * genrecog.c (add_to_sequence): Fatal error if the modes of the
+       operands of SET are incompatible.
+
+       * alpha.md: Fix max and min patterns so modes of SET operands match.
+
+Fri Aug 14 12:22:55 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+       * configure.in: Avoid [[ by using test and changequote.
+       * configure: Rebuild.
+
+Fri Aug 14 01:22:31 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+
+       * rtl.def (CONSTANT_P_RTX): Fix typo in string name.
+
+       * config/sparc/sparc.md (seqdi_special_trunc, snedi_special_trunc,
+       seqsi_special_extend, snesi_special_extend, snesi_zero_extend and
+       split, snedi_zero_trunc and split, seqsi_zero_extend and split,
+       seqdi_zero_trunc and split, pic_lo_sum_di, pic_sethi_di,
+       movdi_cc_sp64_trunc, movdi_cc_reg_sp64_trunc, addx_extend_sp32 and
+       split, addx_extend_sp64, subx_extend_sp64, subx_extend and split):
+       Fix mismatching modes in SET operands.
+       (conditional move patterns): Fix formatting.
+       (unnamed subx arch64 pattern): Remove duplicate insn.
+       
+Fri Aug 14 00:34:34 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+
+       * config/sparc/sparc.c (const64_operand, const64_high_operand):
+       Get it right when HOST_BITS_PER_WIDE_INT is not 64.
+       (input_operand): Fixup test for what we accept for constant
+       integers.
+       (sparc_emit_set_const32, sparc_emit_set_symbolic_const64): Give
+       set VOIDmode.
+       (safe_constDI): Remove.
+       (sparc_emit_set_safe_HIGH64, gen_safe_SET64, gen_safe_OR64,
+       gen_safe_XOR64): New functions.
+       (sparc_emit_set_const64_quick1, sparc_emit_set_const64_quick2,
+       sparc_emit_set_const64_longway, sparc_emit_set_const64): Use
+       them.
+       * config/sparc/sparc.md (define_insn xordi3_sp64_dbl): Only make
+       available when HOST_BITS_PER_WIDE_INT is not 64.
+       (define_insn movdi_sp64_dbl, movdi_const64_special): Likewise and
+       move before movdi_insn_sp64 pattern.
+       (define_insn movdi_lo_sum_sp64_dbl, movdi_high_sp64_dbl): Remove.
+       (define_insn sethi_di_medlow, seth44, setm44, sethh): Use
+       symbolic_operand as predicate for second operand.
+       (DImode minus split on arch32, negsi2 expander, one_cmplsi2
+       expander): Give set VOIDmode.
+       
 Fri Aug 14 01:45:06 1998  Mumit Khan  <khan@xraylith.wisc.edu>
 
        * i386/cygwin32 (DEFAULT_PCC_STRUCT_RETURN): Define.