Wed Aug 26 17:13:37 1998 Tom Tromey * gthr.h: Document __GTHREAD_MUTEX_INIT_FUNCTION. * frame.c (init_object_mutex): New function. (init_object_mutex_once): Likewise. (find_fde): Call it. (__register_frame_info): Likewise. (__register_frame_info_table): Likewise. (__deregister_frame_info): Likewise. Thu Aug 27 15:14:18 1998 Jeffrey A Law (law@cygnus.com) * haifa-sched.c (sched_analyze_insn): Fix thinko in last change. Thu Aug 27 16:34:51 1998 J"orn Rennecke * loop.c (check_dbra_loop): Enable code for reversal of some loops without a known constant loop end. Wed Aug 26 18:38:15 1998 Richard Henderson * haifa-sched.c (last_clock_var): New. (schedule_block): Initialize it. (schedule_insn): Use it to fill insn modes with issue information. * alpha.c (alpha_handle_trap_shadows): Remove do-nothing exit. Tag trapb and next insn with TImode. (alphaev5_insn_pipe, alphaev5_next_group, alphaev5_align_insns): New. (alpha_reorg): Add conditional for alpha_handle_trap_shadows. Invoke alphaev5_align_insns as appropriate. * alpha.h (LABEL_ALIGN_AFTER_BARRIER): Was ALIGN_LABEL_AFTER_BARRIER. (MD_SCHED_VARIABLE_ISSUE): New. * alpha.md (attr type): Add multi. (define_asm_attributes): New. (prologue_stack_probe_loop, builtin_setjmp_receiver): Set type multi. (arg_home): Likewise. (fnop, unop, realign): New. Wed Aug 26 15:55:41 1998 Jim Wilson * iris5.h (PREFERRED_DEBUGGING_TYPE): Undef. * iris5gas.h (PREFERRED_DEBUGGING_TYPE): Define. * configure.in (powerpc-ibm-aix4.[12]*): Change from 4.[12].*. (rs6000-ibm-aix4.[12]*): Likewise. * configure: Regnerate. Wed Aug 26 09:30:59 1998 Nick Clifton * config/arm/thumb.c (thumb_exit): Do not move a4 into lr if it already contains the return address. Wed Aug 26 12:57:09 1998 Jeffrey A Law (law@cygnus.com) * calls.c (expand_call): Use bitfield instructions to extract/deposit word sized hunks when loading unaligned args into registers. * haifa-sched.c (sched_analyze_insn): Only create scheduling barriers for LOOP, EH and SETJMP notes on the loop_notes list. * mn10300.h (RTX_COSTS): Handle UDIV and UMOD too. Wed Aug 26 16:35:37 1998 J"orn Rennecke * loop.c (check_dbra_loop): Add some code that would allow reversal of some loops without a known constant loop end if it were enabled. Wed Aug 26 11:08:44 1998 Gavin Romig-Koch * mips.md (lshrsi3_internal2+2): Fix type-o. Wed Aug 26 10:53:03 1998 Kaveh R. Ghazi * system.h: Include stdarg.h/varargs.h, make sure they are ordered correctly with regards to stdio.h. * calls.c: Remove stdarg.h/varargs.h. * cccp.c: Likewise. * cexp.y: Likewise. * combine.c: Likewise. * cpperror.c: Likewise. * cpplib.c: Likewise. * cpplib.h: Likewise. * doprint.c: Likewise. * emit-rtl.c: Likewise. * final.c: Likewise. * fix-header.c: Likewise. * gcc.c: Likewise. * genattr.c: Likewise. * genattrtab.c: Likewise. * gencodes.c: Likewise. * genconfig.c: Likewise. * genemit.c: Likewise. * genextract.c: Likewise. * genflags.c: Likewise. * genopinit.c: Likewise. * genoutput.c: Likewise. * genpeep.c: Likewise. * genrecog.c: Likewise. * mips-tfile.c: Likewise. * prefix.c: Likewise. * protoize.c: Likewise. * regmove.c: Likewise. * toplev.c: Likewise. * tree.c: Likewise. Wed Aug 26 05:09:27 1998 Jakub Jelinek * config/sparc/sparc.c (sparc_override_options): If not TARGET_FPU, turn off TARGET_VIS. * config/sparc/sparc.h (TARGET_SWITCHES): Add no-vis. (LEGITIMATE_CONSTANT_P): Allow SF/DF mode zero when TARGET_VIS. * config/sparc/sparc.md (movsi_insn): Use fzeros not fzero. (movdi_insn_sp64): Add VIS fzero alternative. (clear_sf, clear_df): New VIS patterns. (movsf, movdf expanders): Allow fp_zero_operand flat out when TARGET_VIS. (one_cmpldi2_sp64): Provide new fnot1 VIS alternative. Tue Aug 25 10:57:41 1998 Mark Mitchell * loop.c (n_times_set, n_times_used, may_not_optimize, reg_single_usage): Convert to varrays. All uses changed. (insert_loop_mem): Return a value. (scan_loop): Tweak AVOID_CC_MODE_COPIES code. (load_mems_and_recount_loop_regs_set): Likewise. Grow the arrays, if necessary. Tue Aug 25 23:57:12 1998 Jeffrey A Law (law@cygnus.com) * From Alexandre: * configure.in: Do not set thread_file to "irix" since no such support exists yet. * sparc.md (float abs/neg splits): Check reload_completed before calling alter_subreg. Tue Aug 25 19:17:59 1998 David S. Miller * config/sparc/sparc.c (sparc_absnegfloat_split_legitimate): New function. * config/sparc/sparc.h: Declare it. * config/sparc/sparc.md (float abs/neg splits): Use it. (all other splits): Handle SUBREGs properly where necessary. (unnamed (1< * config/v850/v850.c (movsi_source_operand): Treat CONSTANT_P_RTX as an ordinary operand. Tue Aug 25 12:54:57 1998 Jason Merrill * tree.c (valid_machine_attribute): Don't apply attributes to both decl and type. Tue Aug 25 12:23:20 PDT 1998 Richard Henderson * 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 * 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 * sh.h (GIV_SORT_CRITERION): Delete. Tue Aug 25 13:19:46 1998 Dave Brolley * 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 * 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 * 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 * tree.def (DECL_RESULT): Correct documentation. Tue Aug 25 01:15:27 1998 J"orn Rennecke * 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 * 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 * fixinc.irix: Add curses.h handling from fixinc.wrap. * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * rs6000.md (movqi, movhi): Add CONSTANT_P_RTX. Thu Aug 20 13:15:11 1998 Dave Brolley * 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 * 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 * collect2.c (extract_init_priority): Use atoi instead of strtoul. Wed Aug 19 13:51:35 1998 Hans-Peter Nilsson * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 Jeff Law * 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 * config/m68k/m68k.c: Include "system.h" instead of . 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 * regclass.c (allocate_reg_info): Respect MIN when clearing data. Sun Aug 16 17:37:06 1998 David S. Miller * 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 * 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 * reload.c (find_equiv_reg): Reject equivalences separated by a volatile instruction. Sun Aug 16 00:21:44 1998 Franz Sirl * rs6000/linux.h (CPP_OS_DEFAULT_SPEC): Define. Sat Aug 15 20:51:35 1998 Richard Henderson * 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 * 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 * 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 * 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 * 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 * 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 * 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 * configure.in: Avoid [[ by using test and changequote. * configure: Rebuild. Fri Aug 14 01:22:31 1998 David S. Miller * 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 * 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 * i386/cygwin32 (DEFAULT_PCC_STRUCT_RETURN): Define. Fri Aug 14 01:40:21 1998 Geoffrey Keating * rs6000/linux.h (LINK_SPEC): Pass -G args to the linker. Fri Aug 14 01:23:23 1998 Richard Earnshaw (rearnsha@arm.com) * arm/netbsd.h (TARGET_DEFAULT): Default includes software floating point. (CPP_FLOAT_DEFAULT_SPEC): Re-define accordingly. Fri Aug 14 01:19:08 1998 Robert Lipe * install.texi: Various SCO OpenServer tweaks. Thu Aug 13 20:14:40 1998 Jim Wilson * reload1.c (eliminate_regs_in_insn): Handle another case when eliminating the frame pointer to the hard frame pointer. Add missing ep->to_rtx check to one existing case. * mips/mips.md (movhi_internal2+2): Fix typo mem:SI -> mem:HI. Thu Aug 13 17:08:11 1998 Jason Merrill * tree.h: De-conditionalize init_priority code. * mips.h (NM_FLAGS): Change from -Bp to -Bn. * collect2.c (NM_FLAGS): Change from -p to -n. * configure.in: Turn on collect2 for mipstx39-elf. Handle use_collect2=no properly. * c-common.c: De-conditionalize init_priority code. * collect2.c (extract_init_priority, sort_ids): New fns. (main): Call sort_ids. Move sequence_number to file scope. * configure.in: Handle --enable-init-priority. * c-common.c (attrs): Add A_INIT_PRIORITY. (init_attributes, decl_attributes): Likewise. * tree.h (DEFAULT_INIT_PRIORITY, MAX_INIT_PRIORITY): New macros. * tree.c (get_file_function_name_long): Split out... (get_file_function_name): ...from here. Thu Aug 13 16:09:53 1998 Martin von Loewis * expr.c (safe_from_p): Change code to ERROR_MARK only when not accessing nodes. Thu Aug 13 15:24:48 1998 Jason Merrill * toplev.c (display_help): Add braces to shut up warnings. * tree.c (simple_cst_equal): Likewise. * fold-const.c (non_lvalue): Don't deal with null pointer constants here. (fold, case COMPOUND_EXPR): Wrap a constant 0 in a NOP_EXPR. * c-typeck.c (initializer_constant_valid_p): Allow conversion of 0 of any size to a pointer. Thu Aug 13 12:53:13 1998 Jim Wilson * i386/winnt.c (i386_pe_asm_file_end): Check TREE_SYMBOL_REFERENCED. Wed Aug 12 17:25:18 1998 Jeffrey A Law (law@cygnus.com) * mn10300.c (REG_SAVE_BYTES): Only reserve space for registers which will be saved. * mn10300.md (prologue insn): Only save registers which need saving. (epilogue insn): Similarly. * mn10300.c, mn10300.h, mn10300.md: Remove "global zero register" optimizations. Wed Aug 12 12:39:16 1998 Gavin Romig-Koch * mips/mips.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG for VAR_DECL's in gp addressable sections. Tue Aug 11 23:02:31 1998 John Carr * sparc.c: Change return to ; return; in functions returning void. * sparc.md: Add empty semicolon statement after final label in move expanders. Tue Aug 11 22:42:01 1998 David S. Miller * config/sparc/sparc.md (define_insn addx_extend): Rename to addx_extend_sp64, only allow when TARGET_ARCH64. (define_insn addx_extend_sp32 and split): Version that works when not TARGET_ARCH64. (define_insn subx_extend): Likewise. (define_split adddi3 and subdi3 with zero extension): Fixup and correct bugs when not TARGET_ARCH64. Tue Aug 11 16:04:34 1998 John Carr * except.c (set_exception_lang_code, set_exception_version_code): Use prototype-style definition if __STDC__, to match declaration in except.h. * genemit.c: Change FAIL and DONE macros not to use loops. Tue Aug 11 12:27:03 1998 Jim Wilson * dwarf2out.c (ASM_OUTPUT_DWARF_ADDR_CONST): Use ASM_OUTPUT_DWARF2_ADDR_CONST if defined. * mips/mips.md (reload_outsi): Use M16_REG_P when TARGET_MIPS16. Tue Aug 11 18:12:53 1998 Dave Love * README.g77: Update from Craig. Tue Aug 11 04:46:01 1998 David S. Miller * config/sparc/sparc.c (sparc_emit_set_const32): INTVAL is of type HOST_WIDE_INT. (safe_constDI sparc_emit_set_const64_quick1, sparc_emit_set_const64_quick2, sparc_emit_set_const64_longway, analyze_64bit_constant, const64_is_2insns, create_simple_focus_bits): Fix some bugs when compiled on real 64-bit hosts. (function_arg_record_value_3, function_arg_record_value_2, function_arg_record_value): Add fully prototyped forward decls. * config/sparc/sparc.md (define_insn cmpsi_insn_sp32): Rename back to cmpsi_insn and use on both 64 and 32 bit targets. (define_insn cmpsi_insn_sp64): Remove. (define_expand zero_extendsidi2): Allow for 32-bit target too. (define_insn zero_extendsidi2_insn): Rename to zero_extendsidi2_insn_sp64. (define_insn zero_extendsidi2_insn_sp32): New pattern and assosciated forced split for it. * config/sparc/sparc.c (const64_operand, const64_high_operand): New predicates. * config/sparc/sparc.h: Declare them. (PREDICATE_CODES): Add them. * config/sparc/sparc.md (movdi_lo_sum_sp64_dbl, movdi_high_sp64_dbl, xordi3_sp64_dbl): Use them. Mon Aug 10 22:57:24 1998 John Carr * config/sparc/sparc.md (define_insn jump): Output ba,pt not b,pt in v9 case as the latter makes the Solaris assembler crash. Mon Aug 10 22:39:09 1998 David S. Miller * config/sparc/sparc.c (input_operand): Do not accept a LO_SUM MEM for TFmode when !v9. We require offsettable memory addresses. * config/sparc/sparc.h (ALTER_HARD_SUBREG): Handle TFmode to DFmode register number conversions. * config/sparc/sparc.md (define_split DFmode moves): If register is a SUBREG do alter_subreg on it before using. (define_expand movtf): Fixup comment about alignment on v9. (define_split TFmode moves): Don't use gen_{high,low}part, create explicit SUBREGs instead. Mon Aug 10 19:02:55 1998 John Carr * Makefile.in (mbchar.o): Depend on mbchar.c. Mon Aug 10 04:28:13 1998 David S. Miller Richard Henderson Rewrite Sparc backend for better code generation and improved sparc64 support. * config/sparc/sp64-elf.h: Set JUMP_TABLES_IN_TEXT_SECTION to zero. * config/sparc/sysv4.h: Likewise. * config/sparc/sparc.c (v8plus_regcmp_p, sparc_operand, move_operand, v8plus_regcmp_op, emit_move_sequence, singlemove_string, doublemove_string, mem_aligned_8, output_move_double, output_move_quad, output_fp_move_double, move_quad_direction, output_fp_move_quad, output_scc_insn): Remove. (small_int_or_double): New predicate. (gen_compare_reg): Remove TARGET_V8PLUS cmpdi_v8plus emission. (legitimize_pic_address): Emit movsi_{high,lo_sum}_pic instead of old pic_{sethi,lo_sum}_si patterns. (mem_min_alignment): New generic function to replace mem_aligned_8, which uses REGNO_POINTER_ALIGN information when available and can test for arbitrary alignments. All callers changed. (save_regs, restore_regs, build_big_number, output_function_prologue, output_cbranch, output_return, sparc_flat_save_restore, sparc_flat_output_function_prologue, sparc_flat_output_function_epilogue): Prettify insn output. (output_function_epilogue): Likewise and add code to output deferred case vectors. (output_v9branch): Likewise, add new arg INSN and use it to tack on branch prediction settings. All callers changed. (print_operand): Likewise and output %l44 for LO_SUMs when TARGET_CM_MEDMID. (sparc_splitdi_legitimate): New function to make sure DImode splits can be run properly when !arch64. (sparc_initialize_trampoline, sparc64_initialize_trampoline): Reformat example code in comments. (set_extends): Remove UNSPEC/v8plus_clear_high case. (sparc_addr_diff_list, sparc_addr_list): New statics to keep track of deferred case vectors we need to output. (sparc_defer_case_vector): Record a case vector. (sparc_output_addr_vec, sparc_output_addr_diff_vec, sparc_output_deferred_case_vectors): New functions to output them. (sparc_emit_set_const32): New function to form 32-bit constants in registers when that requires more than one instruction. (safe_constDI, sparc_emit_set_const64_quick1, sparc_emit_set_const64_quick2, sparc_emit_set_const64_longway, analyze_64bit_constant, const64_is_2insns, create_simple_focus_bits, sparc_emit_set_const64): New functions which do the same for 64-bit constants when arch64. (sparc_emit_set_symbolic_const64): New function to emit address loading for all code models on v9. * config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Do not make %g1 fixed when arch64, unfix %g0 when TARGET_LIVE_G0. (ALTER_HARD_SUBREG): Fix thinko, return REGNO + 1 not 1. (SECONDARY_INPUT_RELOAD_CLASS, SECONDARY_OUTPUT_RELOAD_CLASS): Fix inaccuracies in comments, add symbolic and text_segment operands when TARGET_CM_MEDANY and TARGET_CM_EMBMEDANY respectively. Use GENERAL_REGS in these cases as a temp REG is needed to load these addresses into a register properly. (EXTRA_CONSTRAINT): Document more accurately, remove Q case as it is no longer used. (GO_IF_LEGITIMATE_ADDRESS): Allow TFmode for LO_SUM on v9 since fp quads are guarenteed to have 16-byte alignment. (LEGITIMIZE_ADDRESS): For SYMBOL_REF, CONST, and LABEL_REF use copy_to_suggested_reg instead of explicit LO_SUM and HIGH. (ASM_OUTPUT_ADDR_VEC, ASM_OUTPUT_ADDR_DIFF_VEC): New macros for deferred case vector implementation. (ASM_OUTPUT_ADDR_VEC_ELT): Use fputc to output newline. (ASM_OUTPUT_ADDR_DIFF_ELT): Parenthesize LABEL in macro calls. Generate "internal label - label" instead of "label - 1b". (PRINT_OPERAND_ADDRESS): For LO_SUM use %l44 on TARGET_CM_MEDMID. (PREDICATE_CODES): Remove sparc_operand, move_operand, v8plus_regcmp_op. Add small_int_or_double, input_operand, and zero_operand. (doublemove_string, output_block_move, output_fp_move_double, output_fp_move_quad, output_move_double, output_move_quad, output_scc_insn, singlemove_string, mem_aligned_8, move_operand, sparc_operand, v8plus_regcmp_op, v8plus_regcmp_p): Remove externs. (sparc_emit_set_const32, sparc_emit_set_const64, sparc_emit_set_symbolic_const64, input_operand, zero_operand, mem_min_alignment, small_int_or_double): Add externs. * config/sparc/sparc.md: Document the many uses of UNSPEC and UNSPEC_VOLATILE in this backend. (define_function_unit ieu): Rename to ieu_unnamed. Add move and unary to types which execute in it. (define_function_unit ieu_shift): Rename to ieu0. (define_function_unit ieu1): New, executes compare, call, and uncond_branch type insns. (define_function_units for type fdivs, fdivd, fsqrt): These execute in the fpu multiply unit not the adder on UltraSparc. (define_expand cmpdi): Disallow TARGET_V8PLUS. (define_insn cmpsi_insn): Rename to cmpsi_insn_sp32. (define_insn cmpsi_insn_sp64): New, same as sp32 variant except it allows the arith_double_operand predicate and rHI constraint when TARGET_ARCH64. (define_insn cmpdi_sp64, cmpsf_fpe, cmpdf_fpe, cmptf_fpe, cmpsf_fp, cmpdf_fp, cmptf_fp, sltu_insn, neg_sltu_insn, neg_sltu_minux_x, neg_sltu_plus_x, sgeu_insn, neg_sgeu_insn, sltu_plus_x, sltu_plus_x, sltu_plus_x_plus_y, x_minus_sltu, sgeu_plus_x, x_minus_sgeu, movqi_cc_sp64, movhi_cc_sp64, movsi_cc_sp64, movdi_cc_sp64, movsf_cc_sp64, movdf_cc_sp64, movtf_cc_sp64, movqi_cc_reg_sp64, movhi_cc_reg_sp64, movsi_cc_reg_sp64, movdi_cc_reg_sp64, movsf_cc_reg_sp64, movdf_cc_reg_sp64, movtf_cc_reg_sp64, zero_extendhisi2_insn, cmp_siqi_trunc, cmp_siqi_trunc_set, sign_extendhisi2_insn, sign_extendqihi2_insn, sign_extendqisi2_insn, sign_extendqidi2_insn, sign_extendhidi2_insn, extendsfdf2, extendsftf2, extenddftf2, truncdfsf2, trunctfsf2, trunctfdf2, floatsisf2, floatsidf2, floatsitf2, floatdisf2, floatdidf2, floatditf2, fix_truncsfsi2, fix_truncdfsi2, fix_trunctfsi2, fix_truncsfdi2, fix_truncdfdi2, fix_trunctfdi2, adddi3_sp64, addsi3, cmp_ccx_plus, cmp_cc_plus_set, subdi_sp64, subsi3, cmp_minus_ccx, cmp_minus_ccx_set, mulsi3, muldi3, muldi3_v8plus, cmp_mul_set, mulsidi3, mulsidi3_v8plus, const_mulsidi3_v8plus, mulsidi3_sp32, const_mulsidi3, smulsi3_highpart_v8plus, unnamed subreg mult, const_smulsi3_highpart_v8plus, smulsi3_highpart_sp32, const_smulsi3_highpart, umulsidi3_v8plus, umulsidi3_sp32, const_umulsidi3, const_umulsidi3_v8plus, umulsi3_highpart_v8plus, const_umulsi3_highpart_v8plus, umulsi3_highpart_sp32, const_umulsi3_highpart, divsi3, divdi3, cmp_sdiv_cc_set, udivsi3, udivdi3, cmp_udiv_cc_set, smacsi, smacdi, umacdi, anddi3_sp64, andsi3, and_not_di_sp64, and_not_si, iordi3_sp64, iorsi3, or_not_di_sp64, or_not_si, xordi3_sp64, xorsi3, xor_not_di_sp64, xor_not_si, cmp_cc_arith_op, cmp_ccx_arith_op, cmp_cc_arith_op_set, cmp_ccx_arith_op_set, cmp_ccx_xor_not, cmp_cc_xor_not_set, cmp_ccx_xor_not_set, cmp_cc_arith_op_not, cmp_ccx_arith_op_not, cmp_cc_arith_op_not_set, cmp_ccx_arith_op_not_set, negdi2_sp64, cmp_cc_neg, cmp_ccx_neg, cmp_cc_set_neg, cmp_ccx_set_neg, one_cmpldi2_sp64, cmp_cc_not, cmp_ccx_not, cmp_cc_set_not, cmp_ccx_set_not, addtf3, adddf3, addsf3, subtf3, subdf3, subsf3, multf3, muldf3, mulsf3, muldf3_extend, multf3_extend, divtf3, divdf3, divsf3, negtf2, negdf2, negsf2, abstf2, absdf2, abssf2, sqrttf2, sqrtdf2, sqrtsf2, ashlsi3, ashldi3, unnamed DI ashift, cmp_cc_ashift_1, cmp_cc_set_ashift_1, ashrsi3, ashrdi3, unnamed DI ashiftrt, ashrdi3_v8plus, lshrsi3, lshrdi3, unnamed DI lshiftrt, lshrdi3_v8plus, tablejump_sp32, tablejump_sp64, call_address_sp32, call_symbolic_sp32, call_address_sp64, call_symbolic_sp64, call_address_struct_value_sp32, call_symbolic_struct_value_sp32, call_address_untyped_struct_value_sp32, call_symbolic_untyped_struct_value_sp32, call_value_address_sp32, call_value_symbolic_sp32, call_value_address_sp64, call_value_symbolic_sp64, branch_sp32, branch_sp64, flush_register_windows, goto_handler_and_restore, goto_handler_and_restore_v9, goto_handler_and_restore_v9_sp64, flush, all ldd/std peepholes, return_qi, return_hi, return_si, return_addsi, return_di, return_adddi, return_sf, all call+jump peepholes, trap, unnamed trap insns): Prettify output strings. (define_insn anddi3_sp32, and_not_di_sp32, iordi3_sp32, or_not_di_sp32, xordi3_sp32, xor_not_di_sp32, one_cmpldi2): Likewise and force + implement splits for integer cases. (define_insn return_sf_no_fpu): Likewise and allow to match when no-fpu because of our subreg SFmode splits. (define_insn zero_extendqihi2, zero_extendqisi2_insn, zero_extendqidi2_insn, zero_extendhidi2_insn, zero_extendsidi2_insn, sign_extendsidi2_insn): Likewise and use input_operand for second operand. (cmp_minus_cc, cmp_minus_cc_set): Likewise and use reg_or_0_operand for operand 2 so new splits can use it. (cmp_zero_extendqisi2, cmp_zero_extendqisi2_set, cmp_cc_plus, cmp_cc_xor_not): Likewise and don't forget to check TARGET_LIVE_G0 too. (cmp_zero_extract, cmp_zero_extract_sp64): Likewise and allow CONST_DOUBLEs for operand 2. (define_insn move_label_di): Likewise and label distance optimization because it no longer works with new deferred case vector scheme. To be revisited. (define_insn x_minus_y_minus_sltu, x_minus_sltu_plus_y): Likewise and allow reg_or_0_operand and J constraint for second operand. (define_insn jump): Set branch predict taken on V9. (define_insn tablejump): Emit LABEL_REF + PLUS memory address for new deferred case vector scheme. (define_insn pic_tablejump_32, pic_tablejump_64): Remove. (define_insn negdi2_sp32): Force + implement splits. (define_insn negsi2, one_cmplsi2): Rename to negsi2_not_liveg0 and one_cmplsi2_not_liveg0 respectively, and create expander of original names which emit special rtl for TARGET_LIVE_G0. (define_insn cmpdi_v8plus, scc_si, scc_di): Remove. (define_insn seq, sne, slt, sge, sle, sltu, sgeu): Don't do gen_compare_reg, FAIL instead. (define_insn sgtu, sleu): Likewise and check gen_s*() return values when trying to reverse condition codes, if they FAIL then do likewise. (define_insn snesi_zero, neg_snesi_zero, snesi_zero_extend, snedi_zero, neg_snedi_zero, snedi_zero_trunc, seqsi_zero, neg_seqsi_zero, seqsi_zero_extend, seqdi_zero, neg_seqdi_zero, seqdi_zero_trunc, x_plus_i_ne_0, x_minus_i_ne_0, x_plus_i_eq_0, x_minus_i_eq_0): Add new splits to perform these multi-insn cases, set output string to # to indicate they are mandatory splits. (define_insn pic_lo_sum_si, pic_sethi_si, pic_lo_sum_di, pic_sethi_di, move_pic_label_si): Remove. (define_insn movsi_low_sum, movsi_high, movsi_lo_sum_pic, movsi_high_pic, movsi_pic_label_reg): New patterns to take their place. (define_expand movsi_pic_label_ref, define_insn movsi_high_pic_label_ref, movsi_lo_sum_pic_label_ref): New expander and insns to handle PIC label references and deferred case vectors. (define_insn get_pc_via_rdpc): Comment out as it is no longer used. (define_expand movqi, movhi, movsi, movdi, movsf, movdf, movtf): Rewrite to not use emit_move_sequence, make use of new constant formation code, and new splits for all multi-insn cases. (define_insn movqi_insn): Remove sethi case, it can never happen. Use reg_or_zero_operand instead of const0_rtx explicit test, use input_operand instead of move_operand for source, and use general_operand now for dest. (define_insn movhi_insn): Similar but leave sethi case. (define_insn lo_sum_qi, store_qi, store_hi): Remove. (define_insn sethi_hi lo_sum_hi): Rename to movhi_high and movhi_lo_sum respectively, prettify output string. (define_insn movsi_zero_liveg0): New pattern to put zero into a register when needed on TARGET_LIVE_G0. (define_insn movsi_insn): Use general_operand and input_operand for dest and src respectively. Simplify applicability test. Prettify output strings, and add clr alternative for J constraint. (define_insn movdi_sp32_v9, movdi_sp32, define_splits for deprecated std and reg-reg DI moves): Remove and... (define_insn movdi_insn_sp32, movdi_insn_sp64): Replace with new implementation which uses forced splits for all non-single insn cases. (define_split DI move cases on !arch64): New splits to handle all situations of 64-bit double register DImode on 32bit, and unaligned registers and memory addresses for all subtargets. (define_insn movsf_const_insn, movdf_const_insn, store_sf): Remove. (define_insn movsf_insn, movsf_no_f_insn): Use general_operand and input_operand for dest and src respectively, prettify output strings. (define_insn movdf_insn, movdf_no_e_insn, store_df, movtf_const_insn, movtf_insn, movtf_no_e_insn, store_tf): Remove and... (define_insn movdf_insn_sp32, movdf_no_e_insn_sp32, movdf_insn_sp64, movdf_no_e_insn_sp64, movtf_insn, movtf_no_e_insn_sp32, movtf_insn_hq_sp64, movtf_insn_sp64, movtf_no_e_insn_sp64) Replace with new implementation which uses forced splits for all non-single insn cases. (define_split DF move cases): New splits in similar vein to DI move counterparts. (define_insn sethi_di_medlow, sethi_di_medium_pic, sethi_di_embmedany_data, sethi_di_embmedany_text, sethi_di_sp64, movdi_sp64_insn): Remove old v9 code model and constant loading support insns and.. (define_insn pic_lo_sum_di, pic_sethi_di, sethi_di_medlow_embmedany_pic, sethi_di_medlow, losum_di_medlow, seth44, setm44, setl44, sethh, setlm, sethm, setlo, embmedany_sethi, embmedany_losum, embmedany_brsum, embmedany_textuhi, embmedany_texthi, embmedany_textulo, embmedany_textlo, movdi_lo_sum_sp64_cint, movdi_lo_sum_sp64_dbl, movdi_high_sp64_cint, movdi_high_sp64_dbl): Replace with new scheme, using unspecs, secondary reloads, and one to one sparc insn to rtl insn mapping for better scheduling and code gen. (define_expand reload_indi, reload_outdi): Reload helpers for MEDANY and EMBMEDANY symbol address loading cases which require a temporary register. (define_expand movsicc): Remove v8plus_regcmp cases. (define_insn movdi_cc_sp64_trunc, movdi_cc_reg_sp64_trunc, cmp_zero_extendqidi2, cmp_zero_extendqidi2_set, cmp_qidi_trunc, cmp_diqi_trunc_set): New patterns used by some of the new scc splits on arch64. (define_insn xordi3_sp64_dbl): New pattern used for constant formation when crossing from 32-bit targets. (define_insn movsi_cc_reg_v8plus, v8plus_clear_high, and helper split): Remove. (define_insn addx, subx): Make visible and prettify. (define_insn adddi3_insn_sp32): Likewise and force split. (define_insn addx_extend, subx_extend, unnamed): New patterns for 64bit scc split usage. (define_insn unnamed plusDI zero_extend, unnamed minusDI zero_extend, subdi3): Force and implement splits. * final.c (final_scan_insn): Don't output labels if target specifies ASM_OUTPUT_ADDR_{DIFF}_VEC. Do these macro operations instead. * reorg.c (dbr_schedule): When taking on BR_PRED notes at the end, don't forget to walk inside SEQUENCESs too as these are what the delay slot scheduler will create. Mon Aug 10 01:21:01 1998 Richard Henderson * alpha.md (extxl+1,+2): New patterns to work around combine lossage. Sat Aug 8 19:20:22 1998 Gary Thomas (gdt@linuxppc.org) * rs6000.c (rs6000_allocate_stack_space) Fix typo which caused bad assembly code to be generated. Sat Aug 8 18:53:28 1998 Jeffrey A Law (law@cygnus.com) * netbsd.h: Fix typo. Mon Aug 3 00:06:42 1998 Robert Lipe * config.sub: Fix typo. Sun Aug 2 22:39:08 1998 Hans-Peter Nilsson * invoke.texi (Environment Variables): Typo: Change "ascpects" into "aspects". (Running Protoize): Typo: Change "ther" into "other". Sun Aug 2 00:42:50 1998 Jeffrey A Law (law@cygnus.com) * i386/netbsd.h: Undo previous change to DWARF2_UNWIND_INFO. * m68k/netbsd.h: Likewise. * ns32k/netbsd.h: Likewise. * sparc/netbsd.h: Likewise. Sat Aug 1 17:59:30 1998 Richard Henderson * ginclude/va-alpha.h (va_list): Use a typedef, not a define. * ginclude/va-clipper.h (va_list): Likewise. Fri Jul 31 20:22:02 1998 Michael Meissner * rs6000.c (rs6000_override_options): If big endian and -Os, use load/store multiple instructions unless user overrides. Fri Jul 31 17:08:59 1998 Jeffrey A Law (law@cygnus.com) * ns32k/netbsd.h: Fix typo. Fri Jul 31 10:23:55 1998 Doug Evans * m32r/m32r.h (ASM_OUTPUT_SOURCE_LINE): Always output line number labels with .debugsym if no parallel insns. Thu Jul 30 19:15:53 1998 Richard Henderson * alpha.md (fp cmp): Replicate patterns for ALPHA_TP_INSN. (fcmov): Remove ALPHA_TP_INSN patterns -- fcmov doesn't trap. Thu Jul 30 19:50:15 1998 David Edelsohn * rs6000/x-aix43 (AR_FOR_TARGET_FLAGS): Delete. (AR_FOR_TARGET): Define. Thu Jul 30 12:29:12 1998 Mark Mitchell * dyn-string.h: New file. * dyn-string.c: Likewise. * Makefile.in (OBJS): Add dyn-string.o. (dwarf2out.o): Add dyn-string.h dependency. (dyn-string.o): List dependencies. * dwarf2out.c: Include dyn-string.h. (ASM_NAME_TO_STRING): Use dyn_string_append, rather than strcpy. (addr_const_to_string): Take a dyn_string_t, not a char* as a prototype. Use dyn_string_append rather than strcat, throughout. (addr_to_string): Use dyn_string_t. Thu Jul 30 13:08:07 1998 Ken Raeburn Function entry/exit profiling instrumentation: * expr.h (profile_function_entry_libfunc, profile_function_exit_libfunc): Declare new variables. * optabs.c: Define them here. (init_optabs): Initialize them. * tree.h (struct tree_decl): New flag no_instrument_function_entry_exit. (DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT): New accessor macro. * c-decl.c (duplicate_decls): Merge it. * c-common.c (enum attrs): New value A_NO_INSTRUMENT_FUNCTION. (init_attributes): Use it for "no_instrument_function". (decl_attributes): Handle it, for functions that have not yet been compiled. Set decl flag. * flags.h (flag_instrument_function_entry_exit): Declare new variable. * toplev.c (flag_instrument_function_entry_exit): Define it here. (f_options): New option "instrument-functions". * function.h (struct function): New field instrument_entry_exit. * function.c (current_function_instrument_entry_exit): New variable. (push_function_context_to, pop_function_context_from): Save and restore. (expand_function_start): Set current_ variable, maybe emit return label and entry profile call. (expand_function_end): Maybe emit exit profile call. Thu Jul 30 00:58:34 1998 Jeffrey A Law (law@cygnus.com) * i386.md (movqi): When optimizing a load of (const_int 1) into a NON_QI_REG_P, pretend the register is SImode. Wed Jul 29 23:49:23 1998 Todd Vierling * configure.in: Use xm-netbsd.h as the NetBSD xm file (not xm-siglist). Accept arm32 as arm, m68k4k as m68k, mipsle as mips-dec, and any manufacturer id for ns32k. * configure: Regenerated. * config/netbsd.h: When using ASM_WEAKEN_LABEL, make it global too. * config/t-netbsd: Don't compile libgcc1-test as the fns are in libc. * config/i386/netbsd.h: Undefine DWARF2_UNWIND_INFO, not define as 0. * config/m68k/netbsd.h: Same. * config/ns32k/netbsd.h: Same. * config/sparc/netbsd.h: Same. Wed Jul 29 22:39:21 1998 Jeffrey A Law (law@cygnus.com) * unroll.c (unroll_loop): Do not abort for an UNROLL_MODULO or UNROLL_COMPLETELY loop that starts with a jump to its exit code. Wed Jul 29 22:18:14 1998 David Edelsohn * rs6000/rs6000.md (absdi2 define_split): Swap operands of MINUS. * rs6000/rs6000.c (mask64_operand): Use HOST_BITS_PER_WIDE_INT. (print_operand, case 'B'): Don't fall through. (print_operand, case 'S'): Correct mask begin/end computation. Use HOST_BITS_PER_WIDE_INT. * rs6000/rs6000.h (CPP_PREDEFINES): Define _LONG_LONG. (CONDITIONAL_REGISTER_USAGE): GPR13 fixed if TARGET_64BIT. * rs6000/aix41.h (CPP_PREDEFINES): Same. * rs6000/aix43.h (CPP_PREDEFINES): Same. Wed Jul 29 11:47:10 1998 Nick Clifton * config/arm/thumb.md (extendqisi2_insn): Remove earlyclobber constraint from second alternative. Tue Jul 28 23:29:04 1998 Jason Merrill * configure.in: Fix --without/--disable cases for local-prefix, gxx-include-dir and checking. Tue Jul 28 22:01:23 1998 David S. Miller * configure.in (enable_haifa): Set by default for sparc64 too. configure: Rebuilt. Tue Jul 28 23:29:04 1998 Jason Merrill * i386/cygwin32.h (VALID_MACHINE_TYPE_ATTRIBUTE): New macro. * i386/winnt.c (associated_type): New fn. (i386_pe_valid_type_attribute_p): New fn. (i386_pe_check_vtable_importexport): Remove. (i386_pe_dllexport_p): Use associated_type. (i386_pe_dllimport_p): Likewise. From Antonio M. O. Neto : * i386.c (i386_valid_type_attribute_p): Also accept attributes for METHOD_TYPEs. Tue Jul 28 23:17:39 1998 Peter Gerwinski * tree.c (build_range_type): Copy TYPE_SIZE_UNIT. Tue Jul 28 22:31:12 1998 Craig Burley * gcc.c: Fix commentary describing %g, %u, %U, and %O. * gcc.c (do_spec_1): Fix handling of %g%O and %U%O to prevent them from generating a new base name for each occurence of a specific suffix. 1998-07-28 Vladimir N. Makarov * cse.c (cse_insn): Enable subsitution inside libcall only for REG, SUBREG, MEM. * rtlanal.c (replace_rtx): Prohibit replaces in CONST_DOUBLE. * cplus-dem.c (type_kind_t): New type. (demangle_template_value_parm): Add type_kind_t parameter. Rely on this paramter, rather than demangling the type again. (demangle_integral_value): Pass tk_integral. (demangle_template_: Pass the value returned from do_type. (do_type): Return a type_kind_t. Pass tk_integral to demangle_template_value_parm for array bounds. (demangle_fund_type): Likewise. Mon Jul 27 00:54:41 1998 Jason Merrill * tree.c (simple_cst_equal, case CONSTRUCTOR): OK if the elts are identical. Mon Jul 27 22:18:36 1998 Jeffrey A Law (law@cygnus.com) * pa.c (move_operand): Accept CONSTANT_P_RTX. Mon Jul 27 17:18:52 1998 Dave Brolley * stor-layout.c (layout_type): Handle arrays of bits, for Chill. * expr.c (get_inner_reference): Handle zero-based, unsigned, array index conversion. Mon Jul 27 14:51:33 1998 Jeffrey A Law (law@cygnus.com) * mn10300.h (DEBUGGER_AUTO_OFFSET): Define. (DEBUGGER_ARG_OFFSET): Likewise. * mn10300.md (movsf): Remove last change. Not needed. Mon Jul 27 14:22:36 1998 Dave Brolley * c-lex.c (yylex): Fix boundary conditions in character literal and string literal loops. Mon Jul 27 11:43:54 1998 Stan Cox * longlong.h (count_leading_zeros): Sparclite scan instruction was being invoked incorrectly. * i386.c (ix86_prologue): Added SUBTARGET_PROLOGUE invocation. * i386/cygwin32.h (STARTFILE_SPEC, LIB_SPEC, SUBTARGET_PROLOGUE): Add -pg support. * i386/win32.h: New file. Hybrid mingw32.h/cygwin32.h configuration. * configure.in: Added i[34567]86-*-win32 * config.sub: Ditto. * configure: Rebuilt. Sun Jul 26 01:11:12 1998 H.J. Lu (hjl@gnu.org) * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Return 0 when eliminating the frame pointer and compiling PIC code and reload has not completed. * i386.c (output_to_reg): Add code to emulate non-popping DImode case. Sun Jul 26 01:01:32 1998 Jeffrey A Law (law@cygnus.com) * regmove.c (regmove_optimize): Fix typo initializing regmove_bb_head. Sat Jul 25 23:29:23 1998 Gerald Pfeifer * Makefile.in (install-info): Only try to update the info directory file if it exists in the first place. Fri Jul 24 18:58:37 1998 Klaus Espenlaub * rs6000.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Delete. Fri Jul 24 14:20:26 1998 Jeffrey A Law (law@cygnus.com) * mn10300.md (movqi, movhi, movsi, movsf): Correctly handle CONST_DOUBLE source. Fri Jul 24 11:17:04 1998 Nick Clifton * config/arm/thumb.c (thumb_print_operand): Decode %_ in asm strings as the insertion of USER_LABEL_PREFIX. * config/arm/thumb.h (PRINT_OPERAND_PUNCT_VALID_P): Accept _ as a valid code. * config/arm/thumb.md: Use %_ as a prefix to gcc library function calls. Thu Jul 23 18:53:20 1998 Jim Wilson * dbxout.c (dbxout_range_type): Only call dbxout_type_index for already defined type. Thu Jul 23 13:49:41 1998 Jeffrey A Law (law@cygnus.com) * expr.c (check_max_integer_computation_mode): Allow conversions of constant integers to MAX_INTEGER_COMPUTATION_MODE. (expand_expr): Likewise. Thu Jul 23 11:12:06 1998 Alexandre Petit-Bianco * expr.c (expand_expr): Expand RETURN_EXPR. Thu Jul 23 11:00:29 1998 Jim Wilson * dwarf2out.c (dwarf2out_finish): Call stripattributes on TEXT_SECTION. Wed Jul 22 19:10:00 1998 Catherine Moore * dwarf2out.c (output_aranges): Call stripattributes for TEXT_SECTION references. (output_line_info): Likewise. Wed Jul 22 14:08:54 1998 David S. Miller * profile.c (branch_prob): Call allocate_reg_info after outputting profile rtl in instrument_arcs. Wed Jul 22 12:47:49 1998 Jim Wilson * fixinc.irix (math.h): Install wrapper instead of copying. Wed Jul 22 12:37:14 1998 Alexandre Petit-Bianco * tree.def (EXPR_WITH_FILE_LOCATION): Defined as an 'e' expression so WFL are expanded correctly when contained in a COMPOUND_EXPR. * tree.h (EXPR_WFL_EMIT_LINE_NOTE): Change macro not to use lang_flag_0. Added documentation in the flag table. Tue Jul 21 23:28:35 1998 Klaus Kaempf * cccp.c (do_include): Fix vax c style include handling. Tue Jul 21 13:28:19 1998 Jason Merrill * cplus-dem.c (do_type): Use demangle_template_value_parm for arrays. Sun Jul 12 01:27:05 1998 Jason Merrill * fold-const.c (non_lvalue): Don't deal with null pointer constants here. (fold, case COMPOUND_EXPR): Wrap a constant 0 in a NOP_EXPR. Tue Jul 21 15:49:31 1998 David Edelsohn * rs6000.h (PREDICATE_CODES): Add CONSTANT_P_RTX. * rs6000.md (movsi, movdi): Add CONSTANT_P_RTX. * rs6000.c (short_cint_operand): Add CONSTANT_P_RTX. (u_short_cint_operand): Same. (reg_or_cint_operand): Same. (logical_operand): Same. (input_operand): Same. (reg_or_short_operand): Use u_short_cint_operand. Tue Jul 21 08:56:42 1998 Richard Henderson * alpha.md (fix_truncdfsi2, fix_truncsfsi2): Remove the define_expands, but keep the insns and splits. Adjust so when the ultimate destination is memory, use cvtql. Tue Jul 21 08:55:09 1998 Richard Henderson * flow.c (regno_uninitialized): Fixed regs are never uninitialized. Tue Jul 21 00:31:01 1998 Jeffrey A Law (law@cygnus.com) * gcc.c (do_spec): Call "error" not "warning". * configure.in: Fix minor problems with gas feature detection code. * configure: Rebuilt. * gcc.c (do_spec): Issue a warning for '%[]' usage. * Undo this change. * gcc.c: Delete %[spec] support. (do_spec_1, case '('): Likewise. (do_spec_1, case '['): Call error. Mon Jul 20 22:34:17 1998 Richard Henderson * alpha.h (CPP_SPEC): Tidy. Hook to cpp_cpu and cpp_subtarget. (CPP_SUBTARGET_SPEC): Default to empty string. (CPP_AM_*, CPP_IM_*, CPP_CPU_*, CPP_CPU_SPEC): New. (EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): New. * alpha/elf.h (LD_SPEC): Use %(elf_dynamic_linker). * alpha/linux-elf.h (SUBTARGET_EXTRA_SPECS): New. (LIB_SPEC): Tidy. * alpha/linux.h (CPP_PREDEFINES): Tidy. * alpha/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): New. * alpha/netbsd.h (CPP_PREDEFINES): Tidy. * alpha/osf.h (CPP_PREDEFINES): Remove bits subsumed by CPP_CPU_SPEC. * alpha/win-nt.h (CPP_PREDEFINES): Likewise. * alpha/vsf.h (CPP_PREDEFINES): Likewise. (CPP_SUBTARGET_SPEC): New. Do this instead of overriding CPP_SPEC. * alpha/vxworks.h: Likewise. Mon Jul 20 22:51:57 1998 Ken Raeburn * mips.md (reload_outsi): Added missing REGNO call. (smulsi3_highpart, umulsi3_highpart): Provide prototype for function pointer. (mul_acc_di, mul_acc_64bit_di): Don't use match_op_dup, use another match_operator and compare the codes. * mips.h (MASK_DEBUG_E, MASK_DEBUG_I): Set to zero. * MIPS multiply pattern fixes: * mips.h (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add union classes for HI, LO, or HILO plus general registers. (GENERATE_MADD): Deleted. * mips.md (mulsi3_mult3): Don't disparage output-LO alternative. Add TARGET_MAD to condition. (mulsi3): Test HAVE_mulsi3_mult3, not specific flags. (mul_acc_si): Expand GENERATE_MADD here; it's the only use. Use "*d" for accumulator, to give preference to LO initially but not during reload. Mon Jul 20 16:16:38 1998 Dave Brolley * configure.in (enable_c_mbchar): New configure option. (extra_cpp_objs): Always available now. * cexp.y (mbchar.h): #include it. (yylex): Handle Multibyte characters in character literals. * cccp.c (mbchar.h): #include it. (main): Set character set based on LANG environment variable. (rescan): Handle multibyte characters in comments. (skip_if_group): See above. (validate_else): See above. (skip_to_end_of_comment): See above. (macarg1): See above. (discard_comments): See above. (rescan): Handle multibyte characters in string and character literals. (collect_expansion): See above. (skip_quoted_string): See above. (macroexpand): See above. (macarg1): See above. (discard_comments): See above. (change_newlines): See above. * c-lex.c (mbchar.h): #include it. (GET_ENVIRONMENT): New macro. (init_lex): Set character set based on LANG environment variable. (yylex): Handle multibyte characters in character literals. (yylex): Handle multibyte characters in string literals. * Makefile.in (mbchar.o): New target. (cccp$(exeext)): @extra_cpp_objs@ is always available. (cppmain$(exeext)): @extra_cpp_objs@ is always available. * mbchar.[ch]: New files for multibyte character handling. Mon Jul 20 01:11:11 1998 David S. Miller * jump.c (jump_optimize): When simplifying noop moves and PUSH_ROUNDING, fix thinko so we use same criterion for identifying the PUSHes to rewrite in second loop as we did in the first. Sun Jul 19 08:23:53 1998 Kaveh R. Ghazi * cplus-dem.c (demangle_nested_args): Make function definition static to match the prototype. Fri Jul 17 14:58:44 1998 Richard Henderson * alloca.c: Respect USE_C_ALLOCA. * gencheck.c (xmalloc): Ignore __GNUC__ for definition. * gengenrtl.c (xmalloc): Likewise. Fri Jul 17 14:18:14 1998 Richard Henderson * loop.h (struct induction): Add no_const_addval. * loop.c (the_movables, reg_address_cost): New variables. (init_loop): Init reg_address_cost. (loop_optimize): Call end_alias_analysis. (scan_loop): Init the_movables. (record_giv): Init induction->no_const_addval. (basic_induction_var) [PLUS]: Use rtx_equal_p instead of ==. [REG]: Rearrange loop search test to catch more cases. (general_induction_var): Return success not benefit; take an extra argument for that. Change all callers. (simplify_giv_expr) [PLUS]: Always combine invariants. Use sge_plus. [MULT]: Use rtx_equal_p instead of ==. Combine simple invariants. [default]: Search the_movables for additional combinations. (sge_plus_constant, sge_plus): New functions. (express_from_1): New function. (express_from): Always define. Rewrite using express_from_1. (combine_givs_p): Handle more cases. Ignore address cost. (cmp_combine_givs_stats): New function. (combine_givs_used_once, combine_givs_benefit_from): New functions. (combine_givs): Rewrite to do best-fit combination. * fold-const.c (operand_equal_p): Handle RTL_EXPR. (fold): Do a complete (A*C)+(B*C) association check. Fri Jul 17 11:21:55 1998 Jim Wilson * function.c (fixup_var_refs_insns): Handle CLOBBER of a CONCAT. Fri Jul 17 11:48:55 1998 Jeffrey A Law (law@cygnus.com) * mn10300.c (MODES_TIEABLE_P): Fix typo. Fri Jul 17 03:26:12 1998 Rihcard Earnshaw (rearnsha@arm.com) * tree.c (valid_machine_attribute): Only create a new type variant if there is a decl to use it. Thu Jul 16 14:48:04 1998 Nick Clifton * gcc.c (do_spec_1): Cope with %g/%u/%U options which do not have a suffix. Fri Jul 17 03:24:40 1998 Hans-Peter Nilsson * extend.texi (Explicit Reg Vars): Typo: change "may deleted" into "may be deleted" Thu Jul 16 14:48:47 1998 Jeffrey A Law (law@cygnus.com) * mn10300.c (count_tst_insns): New arg oreg_countp. Callers changed. Simplify tests for clearing an address register. (expand_prologue): Corresponding changes. * mn10300.md (movXX patterns): Make sure the destination is an ADDRESS_REG when substituting "zero_areg" for (const_int 0). (logical patterns): Split into expanders + patterns (zero and sign extension patterns): Similarly. (shift patterns): Similarly. Thu Jul 16 01:17:44 1998 Richard Henderson * loop.c (emit_iv_add_mult): Scan the entire insn list generated for the sequence, recording base values. Wed Jul 15 10:49:55 1998 Richard Henderson * i386.h (CPP_CPU_SPEC): Remove -Asystem(unix). Tue Jul 14 14:15:30 1998 Nick Clifton * gcc.c: Remove ANSI-C ism from --help code. * toplev.c: Support --help with USE_CPPLIB. Tue Jul 14 14:46:08 1998 Jeffrey A Law (law@cygnus.com) * configure.in: Rework gas feature code to work with symlink based source trees. * extend.texi: Clarify some issues related to local variables assigned to explicit registers. * mn10300.md (mulsi): Turn into expander + pattern. * mn10300.md (movsi, movsf, movdi, movdf): Remove "x" from I -> a alternative. Tue Jul 14 07:41:59 1998 Richard Earnshaw (rearnsha@arm.com) * arm/tcoff.h (USER_LABEL_PREFIX): Make it empty to match coff.h. Tue Jul 14 03:02:44 1998 Jeffrey A Law (law@cygnus.com) * version.c: Bump again to distinguish mainline tree from the egcs-1.1 branch. See ChangeLog.0 for earlier changes. Local Variables: add-log-time-format: current-time-string End: