+2002-05-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/6512, PR target/5628
+ * config/sparc/sparc.md (movdf_insn_v9only_novis): Don't allow >= %f32
+ when memory is not aligned.
+ (movdf_insn_v9only_vis): Likewise.
+ * config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS): Request a FP_REGS
+ temporary for EXTRA_FP_REGS DFmode load from unaligned memory.
+ (SECONDARY_OUTPUT_RELOAD_CLASS): Similarly.
+
+2002-05-01 Aldy Hernandez <aldyh@redhat.com>
+
+ * gcc.dg/altivec-7.c: New.
+
+ * config/rs6000/altivec.h: Cleanup.
+
+2002-04-30 Aldy Hernandez <aldyh@redhat.com>
+
+ * doc/invoke.texi (Option Summary): Add -mvrsave=.
+ (RS/6000 and PowerPC Options): Document -mvrsave=.
+
+ * config/rs6000/rs6000.c (rs6000_altivec_vrsave): New global.
+ (rs6000_altivec_vrsave_string): Same.
+ (rs6000_override_options): Call rs6000_parse_vrsave_option.
+ (rs6000_parse_vrsave_option): New.
+ (rs6000_stack_info): Only generate vrsave instructions when
+ TARGET_ALTIVEC_VRSAVE.
+
+ * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -mvrsave= option.
+ (rs6000_altivec_vrsave_string): Define extern.
+ (rs6000_altivec_vrsave): Same.
+ (TARGET_ALTIVEC_VRSAVE): New.
+
+2002-04-30 Richard Henderson <rth@redhat.com>
+
+ PR opt/6516
+ * toplev.c (rest_of_compilation): Don't run cross-jump before
+ bb-reorder.
+
+2002-04-30 Tom Rix <trix@redhat.com>
+
+ * regrename.c (build_def_use, copyprop_hardreg_forward_1): Sanity
+ check which_alternative.
+
+2002-04-30 Kazu Hirata <kazu@hxi.com>
+
+ * cpplex.c: Fix comment formatting.
+ * function.c: Likewise.
+ * integrate.c: Likewise.
+ * regrename.c: Likewise.
+ * sibcall.c: Likewise.
+ * simplify-rtx.c: Likewise.
+ * tree-inline.c: Likewise.
+
+2002-04-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * config.gcc (hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-rtems*,
+ hppa1.0-*-osf*, hppa1.1-*-bsd*, hppa1.1-*-hpux10*, hppa2*-*-hpux10*,
+ hppa1.0-*-hpux10*, hppa*64*-*-hpux11*, hppa1.1-*-hpux11*,
+ hppa2*-*-hpux11*, hppa1.0-*-hpux11*, hppa*-*-lites*): Define xmake_file.
+ * pa/t-linux, pa/t-pa, pa/t-pa64, t-pro (T_ADAFLAGS): Delete.
+ * pa/x-ada: New file. Define ADA_CFLAGS.
+
+2002-04-30 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * config/mmix/mmix.h (MMIX_LAST_STACK_REGISTER_REGNUM): Renamed
+ from MMIX_LAST_REGISTER_FILE_REGNUM.
+ (NO_IMPLICIT_EXTERN_C): Remove cryptic obsolete comment.
+ (struct machine_function): New member highest_saved_stack_register
+ previously static variable in mmix.c.
+ (MACHINE_DEPENDENT_REORG): Define.
+ * config/mmix/mmix.c (highest_saved_stack_register): Deleted.
+ (MMIX_OUTPUT_REGNO): New.
+ (mmix_target_asm_function_prologue): Move calculation of last used
+ saved-stack-register into...
+ (mmix_machine_dependent_reorg): New function. Update to also handle
+ !TARGET_ABI_GNU.
+ (mmix_print_operand): Apply MMIX_OUTPUT_REGNO when emitting
+ register names, simplify somewhat by new variable regno.
+ <case 'p'>: Remove fixed FIXME. Always emit highest used saved
+ register.
+ (mmix_print_operand_address): Apply MMIX_OUTPUT_REGNO when
+ emitting register names.
+ (mmix_asm_output_reg_push, mmix_asm_output_reg_pop): Ditto.
+ (mmix_dbx_register_number): Apply MMIX_OUTPUT_REGNO here too.
+ Remove fixed FIXME.
+ * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg):
+ Declare.
+
+ * config/mmix/mmix.md ("divmoddi4"): Update head comment.
+
+2002-04-30 Richard Henderson <rth@redhat.com>
+
+ * config/sparc/sparc.c (emit_soft_tfmode_libcall,
+ emit_soft_tfmode_binop, emit_soft_tfmode_unop, emit_soft_tfmode_cvt,
+ emit_hard_tfmode_operation, emit_tfmode_binop, emit_tfmode_unop,
+ emit_tfmode_cvt): New.
+ * config/sparc/sparc.md (extendsftf2, extenddftf2, trunctfsf2,
+ trunctfdf2, floatsitf2, floatunssitf2, floatditf2, floatunsditf2,
+ fix_trunctfsi2, fixuns_trunctfsi2, fix_trunctfdi2, fixuns_trunctfdi2,
+ addtf3, subtf3, multf3, divtf3, sqrttf2): Use them.
+ * config/sparc/sparc-protos.h: Update.
+
+2002-04-30 Janis Johnson <janis187@us.ibm.com>
+
+ * install.texi (Final install): Add to the list of info to include
+ in a report of a successful bootstrap, and add link to 3.1 list.
+
+Tue Apr 30 19:15:36 CEST 2002 Jan Hubicka <jh@suse.cz>
+
+ * i386.md (type): Add new SSE/MMX subtypes, remove usused fop1.
+ (mode): Add vector modes
+ (i387): Kill attribute.
+ (unit): New attribute.
+ (length_immediate): Grok new types.
+ (prefix_data16, prefix_rep, prefix_0f): Fix for SSE/MMX.
+ (modrm): Use "unit".
+ (memory): Handle MMX/SSE properly.
+ (scheduling descriptions): Kill uses of fop1.
+ (sse, mmx, fp patterns): Set type and mode properly.
+
+Tue Apr 30 09:31:59 2002 Jeffrey A Law (law@cygnus.com)
+
+ * pa.c (override_options): Default to PA8000 scheduling.
+ * doc/invoke.texi (HP-PA options): Mention newly added 7300
+ scheduling parameter.
+
+ * pa.md (7100lc, 7200, 7300 scheduling): Slightly refine
+ handling of double precision multiplies.
+
+ * pa.md (7100lc, 7200, 7300 scheduling): Refine handling of
+ fpdiv and fpsqrt instructions.
+ (7200 & 7300 scheduling): Fix typo in handling of
+ store-load and store-store penalties.
+
+2002-04-30 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/contrib.texi (Contributors): Use MIPS instead of Mips and
+ mips. Add two missing commas.
+
+2002-04-30 Paolo Carlini <pcarlini@unitus.it>
+
+ * doc/contrib.texi (Contributors): Update Paolo Carlini's
+ and Benjamin Kosnik's entries.
+
+2002-04-29 David S. Miller <davem@redhat.com>
+
+ * config/sparc/sparc.h (BRANCH_COST, PREFETCH_BLOCK,
+ SIMULTANEOUS_PREFETCHES): Tune for UltraSPARC-III.
+ * config/sparc/sparc.md (call + jmp 32-bit peepholes): Likewise.
+ * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
+
+2002-04-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+
+ * combine.c (find_split_point): Use gen_int_mode.
+
+2002-04-29 Vladimir Makarov <vmakarov@redhat.com>
+
+ Merging code from dfa-branch:
+
+ 2002-04-24 Vladimir Makarov <vmakarov@redhat.com>
+
+ * genautomata.c (output_reserv_sets): Fix typo.
+
+ 2002-04-23 Vladimir Makarov <vmakarov@redhat.com>
+
+ * genautomata.c (output_reserv_sets): Remove
+ next_cycle_output_flag.
+
+ Thu Apr 18 08:57:06 2002 Jeffrey A Law (law@redhat.com)
+
+ * sched-rgn.c (init_ready_list): Make the DFA code handle
+ USE/CLOBBER insns in the same way as the traditional
+ scheduler.
+ (new_ready): Similarly..
+
+ 2002-04-17 Vladimir Makarov <vmakarov@redhat.com>
+
+ * haifa-sched.c (schedule_block): Change the DFA state only after
+ issuing insn.
+
+ Wed Apr 17 15:38:36 2002 Jeffrey A Law (law@redhat.com)
+
+ * pa.c (hppa_use_dfa_pipeline_interface): New function.
+ (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
+ (override_options): Add PA7300 scheduling support.
+ (pa_adjust_cost): Update various comments. Properly
+ handle anti and output dependencies when using the
+ DFA scheduler.
+ (pa_issue_rate): Add PA7300 scheduling support.
+ (pa_can_combine_p): Call extract_insn before calling
+ constrain_operands (taken from mainline tree).
+ * pa.h (enum processor_type): Add PROCESSOR_PA7300.
+ * pa.md (cpu attr): Add 7300. Rewrite pipeline
+ descriptions using DFA descriptions. Add PA7300
+ scheduling support.
+
+ 2002-03-30 David S. Miller <davem@redhat.com>
+
+ Add UltraSPARC-III DFA scheduling support.
+ * config/sparc/sparc.md (define_attr type): Add fpcrmove.
+ Update FP conditional move on register insn patterns to use it, as
+ appropriate.
+ (define_attr cpu): Add ultrasparc3.
+ (define_attr us3load_type): New, update integer load patterns to
+ set it, as appropriate.
+ (define_automaton): Add ultrasparc3_0 and ultrasparc3_1.
+ (rest): Add UltraSPARC3 scheduling description.
+ * config/sparc/sparc.h (TARGET_CPU_ultrasparc3): New.
+ (PROCESSOR_ULTRASPARC3): New.
+ ({ASM,CPP}_CPU64_DEFAULT_SPEC): Handle ultrasparc3.
+ ({ASM,CPP}_CPU_SPEC): Likewise.
+ (REGISTER_MOVE_COST): Likewise.
+ (RTX_COSTS): Likewise.
+ * config/sparc/sparc.c (sparc_override_options,
+ sparc_initialize_trampoline, sparc64_initialize_trampoline,
+ sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
+ sparc_issue_rate): Likewise.
+ * config/sparc/sol2.h: Likewise.
+ * config/sparc/sol2-sld-64.h: Likewise.
+ * config/sparc/linux64.h: Likewise.
+
+ 2002-03-22 Vladimir Makarov <vmakarov@redhat.com>
+
+ * doc/md.texi: Add comments about usage the latency time for the
+ different dependencies and about case when two or more conditions
+ in different define_insn_reservations returns TRUE for an insn.
+
+ * doc/md.texi: Add reference for automaton based pipeline
+ description.
+
+ 2002-03-04 Vladimir Makarov <vmakarov@redhat.com>
+
+ * doc/passes.texi: Add missed information about genattrtab.
+
+ 2002-03-01 Vladimir Makarov <vmakarov@redhat.com>
+
+ * genautomata.c (output_automata_list_transition_code): Check
+ automata_list on NULL.
+
+ 2002-02-28 Vladimir Makarov <vmakarov@redhat.com>
+
+ * genautomata.c (output_insn_code_cases,
+ output_automata_list_min_issue_delay_code,
+ output_automata_list_transition_code,
+ output_automata_list_state_alts_code): Comment the functions.
+
+ 2002-02-22 Vladimir Makarov <vmakarov@redhat.com>
+
+ * genautomata.c (automata_list_el_t): New typedef.
+ (get_free_automata_list_el,free_automata_list_el,
+ free_automata_list, automata_list_hash, automata_list_eq_p,
+ initiate_automata_lists, automata_list_start, automata_list_add,
+ automata_list_finish, finish_automata_lists,
+ output_insn_code_cases, output_automata_list_min_issue_delay_code,
+ output_automata_list_transition_code,
+ output_automata_list_state_alts_code, add_automaton_state,
+ form_important_insn_automata_lists): New functions and prototypes.
+ (insn_reserv_decl): Add members important_automata_list and
+ processed_p.
+ (ainsn): Add members important_p.
+ (automata_list_el): New structure.
+ (first_free_automata_list_el, current_automata_list,
+ automata_list_table): New global variables.
+ (create_ainsns): Initiate member important_p.
+ (output_internal_min_issue_delay_func): Generate the switch and
+ call output_insn_code_cases.
+ (output_internal_trans_func, output_internal_state_alts_func):
+ Ditto.
+ (generate): Call initiate_automata_lists.
+ (automaton_states): New global variable.
+ (expand_automata): Call form_important_insn_automata_lists.
+ (write_automata): Call finish_automata_lists.
+
+ 2002-02-21 Vladimir Makarov <vmakarov@redhat.com>
+
+ * genautomata.c (add_excls, add_presence_absence): Check that
+ cpu units in the sets belong the same automaton.
+
+ * rtl.def (EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET): Add comment
+ about that cpu units in the sets belong the same automaton.
+
+ * doc/md.texi: Ditto.
+
+ 2001-12-20 Naveen Sharma <naveens@noida.hcltech.com>
+ Nitin Gupta <niting@noida.hcltech.com>
+
+ * config/sh/sh.c (sh_use_dfa_interface): New function.
+
+ (sh_issue_rate): New Function.
+ TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE: define.
+ TARGET_SCHED_ISSUE_RATE: define.
+
+ * config/sh/sh.md: Add DFA based pipeline description for SH4.
+
+ (define_attr insn_class): New attribute used for DFA
+ scheduling.
+ (define_insn cmpgtsi_t): Set attribute insn_class mt_group.
+ (cmpgesi_t,cmpgtusi_t,cmpgeusi_t,cmpeqsi_t,
+ cmpeqdi_t): Likewise.
+
+ (add,addc1,addsi3,subc,subc1,*subsi3_internal,
+ negc,negsi2,ashldi3_k,lshrdi3_k,ashrdi3_k): Set insn_class
+ ex_group.
+ (iorsi3,rotlsi3_1,rotlsi3_31,rotlsi3_16): Likewise.
+
+ 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
+
+ * haifa-sched.c (queue_to_ready): Remove unnecessary condition for
+ break.
+
+ 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
+
+ * genautomata.c (DFA_INSN_CODES_LENGTH_VARIABLE_NAME): New macro.
+ (output_dfa_insn_code_func): Expand dfa_insn_codes if it is
+ necessary.
+ (output_dfa_start_func): Initiate new variable insn_codes_length,
+ (write_automata): Output definition of the new variable.
+
+ 2001-10-02 David S. Miller <davem@redhat.com>
+
+ * haifa-sched.c (advance_one_cycle): New function.
+ (schedule_block): Use it.
+ (queue_to_ready): Use it, and also make sure to advance the DFA
+ state on all stall cycles, not just those where insn_queue links
+ are found.
+
+ 2001-10-02 Richard Sandiford <rsandifo@redhat.com>
+
+ * haifa-sched.c (max_issue): Remove last_p argument. Only return
+ non-zero if the highest-priority instruction could be scheduled.
+ (choose_ready): Remove last argument from max_issue call.
+
+ 2001-09-28 David S. Miller <davem@redhat.com>
+
+ * config/sparc/sparc.c (sparc_use_sched_lookahead): Use 4 for
+ ultrasparc and 3 for other multi-issue sparcs.
+
+ 2001-09-27 David S. Miller <davem@redhat.com>
+
+ * config/sparc/sparc.md (cycle_display): New pattern.
+ * config/sparc/sparc.c (sparc_cycle_display): New.
+ (TARGET_SCHED_CYCLE_DISPLAY): Set it.
+
+ 2001-09-25 David S. Miller <davem@redhat.com>
+
+ Convert all of Sparc scheduling to DFA
+ * config/sparc/sparc.md: Kill all define_function_unit
+ directives and replace with DFA equivalent.
+ * config/sparc/sparc.c (ultrasparc_adjust_cost,
+ mark_ultrasparc_pipeline_state, ultra_cmove_results_ready_p,
+ ultra_fpmode_conflict_exists, ultra_find_type,
+ ultra_build_types_avail, ultra_flush_pipeline,
+ ultra_rescan_pipeline_state, ultrasparc_sched_reorder,
+ ultrasparc_variable_issue, ultrasparc_sched_init,
+ sparc_variable_issue, sparc_sched_reorder, ultra_code_from_mask,
+ ultra_schedule_insn, ultra_code_names, ultra_pipe_hist,
+ ultra_cur_hist, ultra_cycles_elapsed): Kill.
+ (sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
+ ultrasparc_store_bypass_p): New.
+ * config/sparc/sparc-protos.h (ultrasparc_store_bypass_p):
+ Declare.
+
+ 2001-09-24 David S. Miller <davem@redhat.com>
+
+ * haifa-sched.c (ready_remove): Fix thinko, we want to copy around
+ ready->vec[foo] not ready[foo].
+
+ 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
+
+ * doc/md.texi: Correct examples for define_insn_reservations
+ `mult' and `div'.
+
+ 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
+
+ * genautomata.c (create_automata): Print message about creation of
+ each automaton.
+ (generate): Remove printing meease about creation of
+ automata.
+
+ 2001-09-05 David S. Miller <davem@redhat.com>
+
+ * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
+ * config/sparc/linux64.h: Likewise.
+
+ 2001-08-31 Vladimir Makarov <vmakarov@redhat.com>
+
+ * haifa-sched.c (insn_cost, schedule_insn, queue_to_ready,
+ schedule_block, sched_init, sched_finish): Add missed calls of
+ use_dfa_pipeline_interface.
+
+ * sched-rgn.c (init_ready_list, new_ready, debug_dependencies):
+ Ditto.
+
+ * sched-vis.c (get_visual_tbl_length): Ditto.
+
+ 2001-08-27 Richard Henderson <rth@redhat.com>
+
+ * genattr.c (main): Emit state_t even when not doing scheduling.
+
+ 2001-08-27 Richard Henderson <rth@redhat.com>
+
+ * genautomata.c (expand_automata): Always create a description.
+
+ 2001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
+
+ * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
+ PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
+ AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
+ RTL constructions.
+
+ * genattr.c (main): New variable num_insn_reservations. Increase
+ it if there is DEFINE_INSN_RESERVATION. Output automaton based
+ pipeline hazard recognizer interface.
+
+ * genattrtab.h: New file.
+
+ * genattrtab.c: Include genattrtab.h.
+ (attr_printf, check_attr_test, make_internal_attr,
+ make_numeric_value): Move protypes into genattrtab.h. Define them
+ as external.
+ (num_dfa_decls): New global variable.
+ (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
+ DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
+ DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
+ DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
+
+ * genautomata.c: New file.
+
+ * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
+
+ * sched-int.h: (curr_state): Add the external definition for
+ automaton pipeline interface.
+ (haifa_insn_data): Add comments for members blockage and units.
+
+ * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
+ TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
+ TARGET_SCHED_DFA_PRE_CYCLE_INSN,
+ TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
+ TARGET_SCHED_DFA_POST_CYCLE_INSN,
+ TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
+ TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
+ macros.
+ (TARGET_SCHED): Use the new macros.
+
+ * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
+ dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
+ first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
+ dfa_bubble): New members in gcc_target.sched.
+
+ * haifa-sched.c (insert_schedule_bubbles_p): New variable.
+ (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
+ (insn_queue): Redefine it as pointer to array.
+ (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
+ INSN_QUEUE_SIZE.
+ (max_insn_queue_index_macro_value): New variable.
+ (curr_state, dfa_state_size, ready_try): New varaibles for
+ automaton interface.
+ (ready_element, ready_remove, max_issue): New function prototypes
+ for automaton interface.
+ (choose_ready): New function prototype.
+ (insn_unit, blockage_range): Add comments.
+ (unit_last_insn, unit_tick, unit_n_insns): Define them for case
+ FUNCTION_UNITS_SIZE == 0.
+ (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
+ actual_hazard, potential_hazard): Add comments.
+ (insn_cost): Use cost -1 as undefined value. Remove
+ LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
+ pipeline interface.
+ (ready_element, ready_remove): New functions for automaton
+ interface.
+ (schedule_insn): Add new code for automaton pipeline interface.
+ (queue_to_ready): Add new code for automaton pipeline interface.
+ Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
+ (debug_ready_list): Print newline when the queue is empty.
+ (max_issue): New function for automaton pipeline interface.
+ (choose_ready): New function.
+ (schedule_block): Add new code for automaton pipeline interface.
+ Print ready list before scheduling each insn.
+ (sched_init): Add new code for automaton pipeline interface.
+ Initiate insn cost by -1.
+ (sched_finish): Free the current automaton state and finalize
+ automaton pipeline interface.
+
+ * sched-rgn.c: Include target.h.
+ (init_ready_list, new_ready, debug_dependencies): Add new code for
+ automaton pipeline interface.
+
+ * sched-vis.c: Include target.h.
+ (get_visual_tbl_length): Add code for automaton interface.
+ (target_units, print_block_visualization): Add comments.
+
+ * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
+ USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
+ (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
+ (getruntime.o, genautomata.o): New entries.
+ (genattrtab.o): Add new dependency file genattrtab.h.
+ (genattrtab): Add new dependencies. Link it with `libm.a'.
+ (getruntime.o, hashtab.o): New entries for canadian cross.
+
+ * doc/md.texi: Description of automaton based model.
+
+ * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
+ Add comments.
+ (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
+ TARGET_SCHED_DFA_PRE_CYCLE_INSN,
+ TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
+ TARGET_SCHED_DFA_POST_CYCLE_INSN,
+ TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
+ TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
+ TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
+ hook descriptions.
+ (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
+ MAX_DFA_ISSUE_RATE): New macro descriptions.
+
+ * doc/contrib.texi: Add dfa based scheduler contribution.
+
+ * doc/gcc.texi: Add more information about genattrtab.
+
+Mon Apr 29 17:19:10 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * reload1.c (eliminate_regs, case SUBREG): Fix typo in
+ adjust_address_nv call.
+
+2002-04-29 Janis Johnson <janis187@us.ibm.com>
+
+ * doc/install.texi (Testing): Provide additional information, and
+ a stronger encouragement, for running the testsuites.
+
+2002-04-29 DJ Delorie <dj@redhat.com>
+
+ * config/mips/mips.c (mips_parse_cpu): Warn if the CPU name is
+ given in upper case.
+
+2002-04-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * fixinc/inclhack.def (solaris_widec): Include <wchar.h> in
+ Solaris 2 <widec.h> if missing.
+ * fixinc/fixincl.x: Regenerate.
+ * fixinc/tests/base/widec.h: New file.
+
+2002-04-29 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * toplev.c (f_options): Add "profile" switch so that
+ -fno-profile can be used to disable -p.
+
+2002-04-29 Bernd Schmidt <bernds@redhat.com>
+
+ * c-common.c (type_for_mode): Add support for V2DFmode, V2DImode,
+ UV2DImode.
+ * tree.c (build_common_tree_nodes_2): Likewise.
+ * tree.h (enum tree_index): Likewise.
+ (V2DF_type_node, V2DI_type_node, unsigned_V2DI_type_node): Define.
+
+ * config/i386/i386.c (bdesc_comi, bdesc_2arg, bdesc_1arg): Add SSE2
+ entries.
+ (init_mmx_sse_builtins): Initialize SSE2 builtins.
+ (ix86_expand_builtin): Add support for SSE2 builtins.
+ * config/i386/i386.h (VALID_SSE2_REG_MODE): New macro.
+ (VALID_SSE_REG_MODE): Use it.
+ (VECTOR_MODE_SUPPORTED_P): Allow SSE2 modes here as well.
+ (enum ix86_builtins): Add SSE2 builtins.
+ * config/i386/i386.md (movv2df_internal, movv2df, movv8hi_internal,
+ movv8hi, movv16qi_internal, movv16qi, pushv2df, pushv8hi, pushv16qi,
+ addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3, vmmulv2df3,
+ divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3, vmsminv2df3,
+ sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3, sqrtv2df2,
+ vmsqrtv2df2, maskcmpv2df3, maskncmpv2df3, vmmaskcmpv2df3,
+ vmmaskncmpv2df3, sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb,
+ sse2_maskmovdqu, sse2_movntv2df, sse2_movntti, sse2_movntsi, cvtdq2ps,
+ cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq, cvtpd2pi,
+ cvttpd2pi, cvtpi2pd, cvtsd2si, cvttsd2si, cvtsi2sd, cvtsd2ss,
+ cvtss2sd, cvtpd2ps, cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3,
+ ssaddv16qi3, ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3,
+ subv4si3, subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3,
+ mulv8hi3, smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
+ sse2_umulv2siv2di3, sse2_pmaddwd, sse2_clrti, sse2_uavgv16qi3,
+ sse2_uavgv8hi3, sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd,
+ sse2_pshuflw, sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3,
+ gtv8hi3, gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3,
+ ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, sse2_lshrv2di3,
+ ashlv8hi3, ashlv4si3, sse2_ashlv2di3, sse2_ashlti3, sse2_lshrti3,
+ sse2_unpckhpd, sse2_unpcklpd, sse2_packsswb, sse2_packssdw,
+ sse2_packuswb, sse2_punpckhbw, sse2_punpckhwd, sse2_punpckhdq,
+ sse2_punpcklbw, sse2_punpcklwd, sse2_punpckldq, sse2_movapd,
+ sse2_movupd, sse2_movdqa, sse2_movdqu, sse2_movdq2q, sse2_movq2dq,
+ sse2_movhpd, sse2_movlpd, sse2_loadsd, sse2_movsd, sse2_storesd,
+ sse2_shufpd, sse2_clflush, sse2_mfence, mfence_insn, sse2_lfence,
+ lfence_insn): New patterns.
+ (sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Renamed from
+ sse_andti3_sse2, sse_nandti3_sse2, sse_iorti3_sse2, sse_xorti3_sse2.
+
+Mon Apr 29 17:03:24 CEST 2002 Jan Hubicka <jh@suse.cz>
+
+ * i386.md (sse_mov?fcc*): Revert patch of Mar 14th.
+
+2002-04-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * doc/contrib.texi (Contributors): Add Paolo Carlini and
+ Janis Johnson.
+ Update Richard Henderson, Jakub Jelinek, and Mark Mitchell.
+ Refer to Objective-C instead of ObjC, SPARC instead of sparc,
+ and CPU instead of cpu.
+
+Mon Apr 29 13:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
+
+ * toplev.c (flag_if_conversion, flag_if_conversion2): New static
+ variables.
+ (lang_independent_options): Add -fif-conversion, -fif-conversion2
+ (rest_of_compilation): Do if conversion only when asked for.
+ (parse_options_and_default_flags): Set new variables to 1 for -O1
+ * invoke.texi (-fif-conversion, -fif-conversion2): Document.
+
+Mon Apr 29 13:02:50 CEST 2002 Jan Hubicka <jh@suse.cz>
+
+ * i386.c (dbx64_register_map): Fix typo.
+
+Mon Apr 29 12:18:35 CEST 2002 Jan Hubicka <jh@suse.cz>
+
+ * predict.c (real_zero, real_one, real_almost_one, real_br_prob_base,
+ real_one_half, real_bb_freq_max): New static variables.
+ (debug_profile_bbauxs): Kill.
+ (process_note_predictions): Kill unused variable.
+ (block_info_def, edge_info_def): Use REAL_VALUE_TYPE instead of
+ volatile double.
+ (propagate_freq): Use REAL_ARITHMETICS.
+ (estimate_bb_frequencies): Likevise; init new static variables.
+ * Makefile.in (predict.o): Add dependency on real.h
+
+2002-04-28 David S. Miller <davem@redhat.com>
+
+ PR target/6500
+ * config/sparc/sparc.md (prefetch): Emit properly for 32-bit vs.
+ 64-bit TARGET_V9. Do not use prefetch page, use prefetch for
+ several {reads,writes} instead.
+ * config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
+ Define.
+
+2002-04-27 David S. Miller <davem@redhat.com>
+
+ PR target/6494
+ * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Be mindful
+ of the stack bias.
+
+ * config/sparc/linux.h, config/sparc/linux64.h: Don't bother
+ including signal.h and sys/ucontext.h, not needed.
+
+2002-04-29 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * varasm.c (output_constant_def): Correct test for not calling
+ ENCODE_SECTION_INFO for INTEGER_CST.
+
+2002-04-29 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cppexp.c (lex): Move some code to _cpp_parse_expr, but
+ keep most cases as function eval_token.
+ (eval_token): New function.
+ (_cpp_parse_expr): Read token here for improved diagnostics.
+ Don't use op_as_text. Detect bad ':' here.
+ (reduce): Don't detect bad ':' here.
+ (op_as_text): Remove.
+ * cpphash.h (_cpp_test_assertion): Change prototype.
+ * cpplib.c (_cpp_test_assertion): Change prototype.
+
+2002-04-28 Richard Henderson <rth@redhat.com>
+
+ PR c/5154
+ * ggc-common.c (ggc_mark_rtx_children_1): Rename from...
+ (ggc_mark_rtx_children): New.
+
+2002-04-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/6496
+ * config/sparc/sparc.md (call + jump 32-bit peepholes): Disable jump
+ after call peepholes for UltraSPARC.
+ (call + jump 64-bit peepholes): Remove.
+
+2002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+
+ PR c/6497
+ * config/rs6000/rs6000.md (sCC patterns): Remove clobber and use
+ result as temporary value.
+
+2002-04-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/6396
+ * toplev.c (rest_of_compilation): Only run regrename and copy
+ propagation if optimizing.
+
+2002-04-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR optimization/6475
+ * reload1.c (alter_reg): Only call set_mem_expr if I is home pseudo
+ register of REGNO_DECL (i).
+ * Makefile.in (reload1.o): Add $(TREE_H).
+
+2002-04-28 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cppexp.c (lex): Update to use state.skip_eval.
+ (struct op): Remove prio and flags members.
+ (FLAG_BITS, FLAG_MASK, PRIO_SHIFT, EXTRACT_PRIO, EXTRACT_FLAGS,
+ SHORT_CIRCUIT, RIGHT_ASSOC, ..._PRIO, op_to_prio): Remove.
+ (LEFT_ASSOC): New macro.
+ (optab): New table of operator priorities and flags.
+ (SHIFT): Update.
+ (_cpp_parse_expr): Clean up logic. Return bool. Use a
+ malloc-ed parser stack.
+ (reduce): New; reduce the operator stack.
+ (_cpp_expand_op_stack): Expand the operator stack as necessary.
+ * cpphash.h (struct op): Predeclare.
+ (struct cpp_reader): New members op_stack, op_limit.
+ (struct lexer_state): New member skip_eval.
+ (_cpp_parse_expr): Update.
+ (_cpp_expand_op_stack): New.
+ * cpplib.c (do_if): Update.
+ * cppinit.c (cpp_create_reader): Create op stack.
+ (cpp_destroy): And destroy it.
+ * cpplib.h (CPP_LAST_CPP_OP): Correct.
+ (TTYPE_TABLE): Correct.
+
+2002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+
+ PR c/6343
+ * c-decl.c (duplicate_decls): Call merge_weak.
+ * c-pragma.c (apply_pragma_weak): Warn about misuse.
+ * output.h (merge_weak): Prototype merge_weak.
+ * varasm.c (merge_weak): New function.
+ (declare_weak): Make sure we don't give an error on VAR_DECLs.
+ Mark RTL with SYMBOL_REF_WEAK.
+
+2002-04-27 Kurt Garloff <garloff@suse.de>
+
+ * tree-inline.c (inlinable_function_p): Improve heuristics
+ by using a smoother function to cut down allowable inlinable size.
+ * param.def: Add parameters max-inline-insns-single,
+ max-inline-slope, min-inline-insns that determine the exact
+ shape of the above function.
+ * param.h: Likewise.
+
+2002-04-26 Richard Henderson <rth@redhat.com>
+
+ * c-parse.in (malloced_yyss, malloced_yyvs): New.
+ (yyoverflow): Re-add. Set them.
+ (free_parser_stacks): New.
+ * c-common.h: Declare it.
+ * c-lex.c (c_common_parse_file): Call it.
+
+2002-04-26 Richard Henderson <rth@redhat.com>
+
+ * cfgrtl.c (tidy_fallthru_edge): Don't use next_real_insn
+ for fallthru search.
+
+2002-04-26 Eric Christopher <echristo@redhat.com>
+
+ PR optimization/3700
+ * config/mips/mips.c (mips_issue_rate): Define. New function.
+ (TARGET_SCHED_ISSUE_RATE): Use.
+
+2002-04-25 David S. Miller <davem@redhat.com>
+
+ PR target/6422
+ * reorg.c (optimize_skip): Do not allow exception causing
+ instructions to be considered for delay slots.
+ (fill_simply_delay_slots, fill_slots_from_thread): Likewise.
+ (relax_delay_slots): Do not try to consider exception causing
+ instructions as redundant.
+
+2002-04-26 Richard Henderson <rth@redhat.com>
+
+ PR c/5225
+ * c-typeck.c (build_unary_op) [CONVERT_EXPR]: Invoke non_lvalue.
+
+2002-04-26 Mark Mitchell <mark@codesourcery.com>
+
+ PR bootstrap/6445
+ * config/i386/i386.md (untyped_call): Return the value in a float
+ register if TARGET_FLOAT_RETURNS_IN_80387, not just if
+ TARGET_80387.
+
+2002-04-26 Alexandre Oliva <aoliva@redhat.com>
+
+ * tree.c (tree_int_cst_lt): Compare constants whose types differ
+ in unsigned-ness correctly.
+
+2002-04-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * pa.h (FUNCTION_OK_FOR_SIBCALL): Don't do sibcalls when using the
+ portable runtime model.
+
+2002-04-26 Richard Henderson <rth@redhat.com>
+
+ * c-parse.in (yyoverflow): Revert.
+
+2002-04-26 David Edelsohn <edelsohn@gnu.org>
+ Richard Henderson <rth@redhat.com>
+
+ * config/rs6000/rs6000.md (sCC pattern): Remove clobber and use
+ result as temporary value.
+
+2002-04-26 Richard Henderson <rth@redhat.com>
+
+ PR c/3581
+ * c-common.c (fix_string_type): Split out of ...
+ (combine_strings): ... here. Take a varray, not a tree list.
+ (c_expand_builtin_printf): Use fix_string_type.
+ * c-common.h: Update decls.
+ * c-parse.in (string): Remove. Update all uses to use STRING
+ instead, and not call combine_strings.
+ (yylexstring): New.
+ (_yylex): Use it.
+ * c-typeck.c (simple_asm_stmt): Don't call combine_strings.
+ (build_asm_stmt): Likewise.
+ * objc/objc-act.c (my_build_string): Use fix_string_type.
+ (build_objc_string_object): Build varray for combine_strings.
+
+2002-04-26 Bo Thorsen <bo@suse.co.uk>
+
+ * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Define for
+ x86-64.
+
+2002-04-26 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cppexp.c (CPP_UMINUS, CPP_UPLUS): New.
+ (HAVE_NO_R_OPERAND): Remove.
+ (HAVE_VALUE): Remove.
+ (op_to_prio): Update.
+ (UNARY): Don't alter flags.
+ (_cpp_parse_expr): want_value used to indicate whether
+ a number or unary operator is expected next. Distinguish
+ unary and binary +/-.
+ (op_as_text): Update for unary operators.
+
+2002-04-25 Richard Henderson <rth@redhat.com>
+
+ PR c/2161
+ * c-parse.in (yyoverflow): New.
+
+2002-04-25 Richard Henderson <rth@redhat.com>
+
+ PR c/2098
+ * c-common.c (shorten_compare): Simplfy conditions leading to
+ the generation of a warning.
+
+2002-04-25 Richard Henderson <rth@redhat.com>
+
+ PR c/2035
+ * expmed.c (extract_bit_field): Fall through to generic code rather
+ than aborting on subreg special case.
+
+2002-04-25 David S. Miller <davem@redhat.com>
+
+ * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Add back check
+ for DECL being NULL.
+
+2002-04-25 Steve Christiansen <smc@us.ibm.com>
+
+ * doc/md.texi (Machine Constraints): Add IA-64 constraints.
+
+2002-04-25 Eric Botcazou <ebotcazou@multimania.com>
+
+ * c-decl.c (grokdeclarator): Remove outdated ??? note
+ on invalid declaration of flexible array members.
+
+2002-04-25 Richard Henderson <rth@redhat.com>
+
+ * doc/invoke.texi: Document -gdwarf{,-2} vs debug level.
+
+2002-04-25 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.c (s390_emit_epilogue): Always restore registers
+ needed by the compiler, even if they are used as global regs.
+
+2002-04-25 Matt Hiller <hiller@redhat.com>
+
+ * mips.c (mips_class_max_nregs, mips_register_move_cost): New
+ functions.
+ * mips.h (CLASS_MAX_NREGS, REGISTER_MOVE_COST): Redefine as calls
+ of the corresponding functions.
+ * mips-protos.h (mips_class_max_nregs, mips_register_move_cost):
+ New prototypes.
+
+2002-04-25 Matt Hiller <hiller@redhat.com>
+
+ * config/mips/mips.h (mips_sw_reg_names): Declare as extern.
+
+ (ALL_COP_ADDITIONAL_REGISTER_NAMES): New macro.
+ (FIRST_PSEUDO_REGISTER): Redefine considering coprocessor
+ registers, adjust comment accordingly.
+ (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
+ reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGISTER_NAMES,
+ DEBUG_REGISTER_NAMES, REG_ALLOC_ORDER): Adjust to include entries
+ for coprocessor registers.
+ (ADDITIONAL_REGISTER_NAMES): Include
+ ALL_COP_ADDITIONAL_REGISTER_NAMES.
+
+ (COP0_REG_FIRST, COP0_REG_LAST, COP0_REG_NUM,
+ COP2_REG_FIRST, COP2_REG_LAST, COP2_REG_NUM,
+ COP3_REG_FIRST, COP3_REG_LAST, COP3_REG_NUM,
+ COP0_REG_P, COP2_REG_P, COP3_REG_P, ALL_COP_REG_P,
+ COPNUM_AS_CHAR_FROM_REGNUM, COP_REG_CLASS_P): New macros.
+
+ (mips_char_to_class): Adjust comment to include coprocessor
+ constraint letters.
+
+ * config/mips/mips.c (coprocessor_operand, coprocessor2_operand):
+ New functions.
+ (mips_reg_names, mips_regno_to_class): Include coprocessor
+ information.
+ (mips_sw_reg_names): Ditto, make non-static.
+ (mips_move_1word): Handle moves to and from coprocessor registers.
+ (mips_move_2words): Handle moves to and from coprocessor
+ registers.
+ (mips_class_max_nregs, mips_register_move_cost): Handle
+ coprocessor register classes.
+ (override_options): Initialize mips_char_to_class and
+ mips_hard_regno_mode_ok properly for coprocessor registers.
+
+ * config/mips/mips.md (movdi_internal, movdi_internal2,
+ movsi_internal1, movsi_internal2): Add constraint-sets for
+ coprocessor registers.
+ * testsuite/gcc.c-torture/mipscop-1.c: New testcase.
+ * testsuite/gcc.c-torture/mipscop-1.x: Disable above if target
+ isn't mips.
+ * testsuite/gcc.c-torture/mipscop-2.c: New testcase.
+ * testsuite/gcc.c-torture/mipscop-2.x: Disable above if target
+ isn't mips.
+ * testsuite/gcc.c-torture/mipscop-3.c: New testcase.
+ * testsuite/gcc.c-torture/mipscop-3.x: Disable above if target
+ isn't mips.
+ * testsuite/gcc.c-torture/mipscop-4.c: New testcase.
+ * testsuite/gcc.c-torture/mipscop-4.x: Disable above if target
+ isn't mips.
+
+ * doc/tm.texi: Document feature.
+
+2002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * integrate.c (function_attribute_inlinable_p): Simplify.
+ Check the table pointer is not NULL.
+
+2002-04-25 Steven Bosscher <S.Bosscher@student.tudelft.nl>
+
+ * doc/c-tree.texi: Fix typo in introduction.
+
+2002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * c-common.h (c_common_parse_file): Update.
+ * c-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
+ * c-lex.c (YYDEBUG): Get from c-lex.h.
+ (c_common_parse_file): Update.
+ * c-lex.h (YYDEBUG, yydebug): New.
+ * c-parse.in (YYDEBUG): Get from c-lex.h.
+ (c_set_yydebug): Remove.
+ * c-tree.h (c_set_yydebug): Remove.
+ * langhooks-def.h (lhd_do_nothing_i): New.
+ (lhd_set_yydebug, LANG_HOOKS_SET_YYDEBUG): Remove.
+ (LANG_HOOKS_PARSE_FILE, LANG_HOOKS_INITIALIZER): Update.
+ * langhooks.c (lhd_do_nothing_i): New.
+ (lhd_set_yydebug): Remove.
+ * langhooks.h (struct lang_hooks): Update.
+ * toplev.c (set_yydebug): New.
+ (compile_file): Update call to parse_file hook.
+ (decode_d_option): Update.
+objc:
+ * objc-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
+
+Wed Apr 24 23:45:37 2002 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * loop.c (load_mems): Don't change the interface of called functions.
+
+ * calls.c (expand_call): Take current_function_pretend_args_size
+ into account when setting argblock for sibcalls.
+
+2002-04-24 Matt Hiller <hiller@redhat.com>
+
+ * cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
+ * c-lex.c: Ditto.
+
+ * cpplex.c (skip_line_comment): Process comment one multibyte
+ character at a time rather than one char at a time, if
+ appropriate.
+ (parse_string): Process string one multibyte character at a time
+ rather than one char at a time, if appropriate.
+ * c-lex.c (lex_string): Lex and copy multibyte strings
+ appropriately.
+ * cpplib.h (cppchar_t): Change to unsigned.
+
+2002-04-24 Richard Henderson <rth@redhat.com>
+
+ PR c/3467
+ * c-decl.c (grokdeclarator): Don't pedwarn variable sized arrays
+ for c99.
+
+Wed Apr 24 21:51:54 2002 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * sh.c (sh_va_arg): If argument was passed by reference,
+ dereference the pointer.
+
+ * sh.h (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
+
+ * sh.md (divsi3_i4_media): Use match_operand for input values
+ rather than hard registers.
+ (divsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
+ unnecessarily through hard registers. Keep copies of pseudo
+ registers outside of the libcall sequence.
+
+ * sh.md (casesi_shift_media): Add modes.
+
+ * sh.h (RETURN_IN_MEMORY): Return variable size BLKmode
+ values in memory.
+
+2002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * attribs.c (c_common_attribute_table): Move table and handlers
+ to c-common.c.
+ (format_attribute_table, lang_attribute_table,
+ lang_attribute_common): Remove.
+ (init_attributes): Replace NULL pointers with pointers to the
+ empty table.
+ (handle_packed_attribute, handle_nocommon_attribute,
+ handle_common_attribute, handle_noreturn_attribute,
+ handle_noinline_attribute, handle_always_inline_attribute,
+ handle_used_attribute, handle_unused_attribute,
+ handle_const_attribute, handle_transparent_union_attribute,
+ handle_constructor_attribute, handle_destructor_attribute,
+ handle_mode_attribute, handle_section_attribute,
+ handle_aligned_attribute, handle_weak_attribute,
+ handle_alias_attribute, handle_visibility_attribute,
+ handle_no_instrument_function_attribute, handle_malloc_attribute,
+ handle_no_limit_stack_attribute, handle_pure_attribute,
+ handle_deprecated_attribute, handle_vector_size_attribute,
+ vector_size_helper): Move to c-common.c.
+ * c-common.c (c_common_attribute_table,
+ handle_packed_attribute, handle_nocommon_attribute,
+ handle_common_attribute, handle_noreturn_attribute,
+ handle_noinline_attribute, handle_always_inline_attribute,
+ handle_used_attribute, handle_unused_attribute,
+ handle_const_attribute, handle_transparent_union_attribute,
+ handle_constructor_attribute, handle_destructor_attribute,
+ handle_mode_attribute, handle_section_attribute,
+ handle_aligned_attribute, handle_weak_attribute,
+ handle_alias_attribute, handle_visibility_attribute,
+ handle_no_instrument_function_attribute, handle_malloc_attribute,
+ handle_no_limit_stack_attribute, handle_pure_attribute,
+ handle_deprecated_attribute, handle_vector_size_attribute,
+ vector_size_helper): Move from attribs.c.
+ * c-common.h (c_common_attribute_table,
+ c_common_format_attribute_table): New.
+ * c-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
+ LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
+ * langhooks-def.h (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
+ LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_ATTRIBUTE_TABLE): New.
+ (LANG_HOOKS_INITIALIZER): Update.
+ * langhooks.h (struct lang_hooks): 3 new attribute hooks.
+ * target-def.h (TARGET_ATTRIBUTE_TABLE): Default to NULL.
+ * target.h: Update comment.
+ * tree.c (default_target_attribute_table): Remove.
+ * tree.h (default_target_attribute_table, format_attribute_table,
+ lang_attribute_table, lang_attribute_common): Remove.
+objc:
+ * objc-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
+ LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
+
+2002-04-24 Jason Merrill <jason@redhat.com>
+
+ * dwarf2.h (enum dwarf_attribute): Add DW_AT_GNU_vector.
+ * dwarf2out.c (dwarf_attr_name): Support it.
+ (gen_array_type_die): Emit it.
+ (lookup_type_die): No special handling for VECTOR_TYPE.
+ (gen_type_die): Hand VECTOR_TYPE off to gen_array_type_die.
+
+2002-04-24 Richard Henderson <rth@redhat.com>
+
+ * config/mips/mips.md (movdi_usd): Renumber.
+
+2002-04-24 David S. Miller <davem@redhat.com>
+
+ PR target/6420
+ * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Return false if
+ 32-bit Sparc and current_function_returns_struct is true.
+
+Wed Apr 24 13:48:25 CEST 2002 Jan Hubicka <jh@suse.cz>
+
+ * loop.c (canonicalize_condition): Use gen_int_mode.
+
+2002-04-24 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/altivec.h: Cleanup file. Add non individual
+ variants.
+ (vec_vaddubm): New.
+ (vec_vadduhm): New.
+ (vec_vadduwm): New.
+ (vec_vaddfp): New.
+ (vec_vaddcuw): New.
+ (vec_vaddubs): New.
+ (vec_vaddsbs): New.
+ (vec_vadduhs): New.
+ (vec_vadduws): New.
+ (vec_vaddsws): New.
+ (vec_vand): New.
+ (vec_vandc): New.
+ (vec_vavgub): New.
+ (vec_vavgsb): New.
+ (vec_vavguh): New.
+ (vec_vavgsh): New.
+ (vec_vavguw): New.
+ (vec_vavgsw): New.
+ (vec_vrfip): New.
+ (vec_vcmpbfp): New.
+ (vec_vcmpequb): New.
+ (vec_vcmpequh): New.
+ (vec_vcmpequw): New.
+ (vec_vcmpeqfp): New.
+ (vec_vcmpgefp): New.
+ (vec_vcmpgtub): New.
+ (vec_vcmpgtsb): New.
+ (vec_vcmpgtuh): New.
+ (vec_vcmpgtsh): New.
+ (vec_vcmpgtuw): New.
+ (vec_vcmpgtsw): New.
+ (vec_vcmpgtfp): New.
+ (vec_vcmpgefp): New.
+ (vec_vcfux): New.
+ (vec_vcfsx): New.
+ (vec_vctsxs): New.
+ (vec_vctuxs): New.
+ (vec_vexptefp): New.
+ (vec_vrfim): New.
+ (vec_lvx): New.
+ (vec_lvebx): New.
+ (vec_lvehx): New.
+ (vec_lde): Add vector float variant.
+ (vec_lvewx): New.
+ (vec_lvxl): New.
+ (vec_vlogefp): New.
+ (vec_vmaddfp): New.
+ (vec_vmhaddshs): New.
+ (vec_vmaxub): New.
+ (vec_vmaxsb): New.
+ (vec_vmaxuh): New.
+ (vec_vmaxsh): New.
+ (vec_vmaxuw): New.
+ (vec_vmaxsw): New.
+ (vec_vmaxsw): New.
+ (vec_vmaxfp): New.
+ (vec_vmrghb): New.
+ (vec_vmrghh): New.
+ (vec_vmrghw): New.
+ (vec_vmrglb): New.
+ (vec_vmrglh): New.
+ (vec_vmrglw): New.
+ (vec_vminub): New.
+ (vec_vminsb): New.
+ (vec_vminuh): New.
+ (vec_vminsh): New.
+ (vec_vminuw): New.
+ (vec_vminsw): New.
+ (vec_vminfp): New.
+ (vec_vmladduhm): New.
+ (vec_vmhraddshs): New.
+ (vec_msumubm): New.
+ (vec_vmsummbm): New.
+ (vec_vmsumuhm): New.
+ (vec_vmsumshm): New.
+ (vec_vmsumuhs): New.
+ (vec_vmsumshs): New.
+ (vec_vmuleub): New.
+ (vec_vmulesb): New.
+ (vec_vmuleuh): New.
+ (vec_vmulesh): New.
+ (vec_vmuloub): New.
+ (vec_mulosb): New.
+ (vec_vmulouh): New.
+ (vec_vmulosh): New.
+ (vec_vnmsubfp): New.
+ (vec_vnor): New.
+ (vec_vor): New.
+ (vec_vpkuhum): New.
+ (vec_vpkuwum): New.
+ (vec_vpkpx): New.
+ (vec_vpkuhus): New.
+ (vec_vpkshss): New.
+ (vec_vpkuwus): New.
+ (vec_vpkswss): New.
+ (vec_vpkshus): New.
+ (vec_vpkswus): New.
+ (vec_vperm): New.
+ (vec_vrefp): New.
+ (vec_vrlb): New.
+ (vec_vrlh): New.
+ (vec_vrlw): New.
+ (vec_vrfin): New.
+ (vec_vrsqrtefp): New.
+ (vec_vsel): New.
+ (vec_vslb): New.
+ (vec_vslh): New.
+ (vec_vslw): New.
+ (vec_vsldoi): New.
+ (vec_vsl): New.
+ (vec_vslo): New.
+ (vec_vspltb): New.
+ (vec_vsplth): New.
+ (vec_vspltw): New.
+ (vec_vspltisb): New.
+ (vec_vspltish): New.
+ (vec_vspltisw): New.
+ (vec_vsrb): New.
+ (vec_vsrh): New.
+ (vec_vsrw): New.
+ (vec_vsrab): New.
+ (vec_vsrah): New.
+ (vec_vsraw): New.
+ (vec_vsr): New.
+ (vec_vsro): New.
+ (vec_stvx): New.
+ (vec_stvebx): New.
+ (vec_stvehx): New.
+ (vec_stvewx): New.
+ (vec_stvxl): New.
+ (vec_vsububm): New.
+ (vec_vsubuhm): New.
+ (vec_vsubuwm): New.
+ (vec_vsubfp): New.
+ (vec_vsubcuw): New.
+ (vec_vsububs): New.
+ (vec_vsubsbs): New.
+ (vec_vsubuhs): New.
+ (vec_vsubshs): New.
+ (vec_vsubuws): New.
+ (vec_vsubsws): New.
+ (vec_vsum4ubs): New.
+ (vec_vsum4sbs): New.
+ (vec_vsum4shs): New.
+ (vec_vsum2sws): New.
+ (vec_vsumsws): New.
+ (vec_vrfiz): New.
+ (vec_vupkhsb): New.
+ (vec_vupkhpx): New.
+ (vec_vupkhsh): New.
+ (vec_vupklsb): New.
+ (vec_vupklpx): New.
+ (vec_vupklsh): New.
+ (vec_vxor): New.
+
+2002-04-23 Eric Botcazou <ebotcazou@multimania.com>
+
+ PR c/5430
+ * fold-const.c (split_tree): Add MINUS_LITP parameter; separate
+ added literals from substracted literals.
+ (associate_trees): Don't convert MINUS_EXPR into PLUS_EXPR.
+ (fold) [associate]: Preserve MINUS_EXPR if needed.
+
+2002-04-23 Zack Weinberg <zack@codesourcery.com>
+
+ * doc/install.texi: Clarify which versions of alpha*-dec-osf*
+ are obsoleted.
+
+2002-04-23 Tom Tromey <tromey@redhat.com>
+
+ * gcc.c: Added --resource. For PR java/6314.
+
+2002-04-23 David O'Brien <obrien@FreeBSD.org>
+
+ * cp/g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
+ * config/freebsd.h (MATH_LIBRARY_PROFILE): Use the _p verions of
+ these libraries.
+
+2002-04-23 David O'Brien <obrien@FreeBSD.org>
+
+ * config/freebsd.h(OBJECT_FORMAT_ELF): Define.
+
+Tue Apr 23 14:24:25 CEST 2002 Jan Hubicka <jh@suse.cz>
+
+ * i386.c (ix86_output_addr_diff_elt): Avoid x86_64 binutils bug
+ workaround.
+ (ix86_expand_int_movcc): Avoid x86_64 compilation chrash.
+ (ix86_expand_clrstr): Fix typo.
+ * loop.c (gen_load_of_final_value): New.
+ (loop_givs_rescan, strength_reduce, check_dbra_loop):
+ Use it.
+
+2002-04-23 Roger Sayle <roger@eyesopen.com>
+
+ * builtins.c (builtin_memset_gen_str): New function.
+ (expand_builtin_memset): Optimize the case of constant length, but
+ unknown value.
+
+2002-04-23 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/altivec.h (vec_step): Remove extraneous
+ parentheses.
+ (vec_ctu): Cast return.
+
+2002-04-23 Alan Modra <amodra@bigpond.net.au>
+
+ PR target/6413
+ * function.h: (struct function): Add profile_label_no field.
+ (current_function_profile_label_no): Define.
+ * function.c: (profile_label_no): New static var.
+ (expand_function_start): Increment it, and copy to
+ current_function_profile_label_no.
+ * output.h (profile_label_no): Delete.
+ * final.c (profile_label_no): Delete.
+ (profile_function): Use current_function_profile_label_no.
+ (final_end_function): Don't increment profile_label_no here.
+ * config/i386/i386.c (ix86_osf_output_function_prologue): Replace
+ profile_label_no with current_function_profile_label_no.
+ * config/pa/pa.c (current_function_number): Delete.
+ (pa_output_function_prologue): Don't output profile label here.
+ (hppa_profile_hook): Use label_no param rather than
+ current_function_number.
+ (FUNC_BEGIN_PROLOG_LABEL): Move to ..
+ * config/pa/pa.h: .. here.
+ (FUNCTION_PROFILER): Output profile label here.
+
+2002-04-22 Eric Christopher <echristo@redhat.com>
+
+ * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Revert
+ patch of 2002-04-09 due to binutils issues.
+ (FUNCTION_ARG_REGNO_P): Ensure even numbered float register.
+
2002-04-22 Aldy Hernandez <aldyh@redhat.com>
- * config/rs6000/rs6000.md ("*movv4si_internal"): Change 'm'
- constraint to 'o' for m=r and r=m alternatives.
- ("*movv8hi_internal1"): Same.
- ("*movv16qi_internal1"): Same.
- ("*movv4sf_internal1"): Same.
+ * config/rs6000/rs6000.md ("*movv4si_internal"): Change 'm'
+ constraint to 'o' for m=r and r=m alternatives.
+ ("*movv8hi_internal1"): Same.
+ ("*movv16qi_internal1"): Same.
+ ("*movv4sf_internal1"): Same.
2002-04-22 Janis Johnson <janis187@us.ibm.com>