+2005-05-10 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.md: ("anddi3","andsi3","andhi3","andqi3"): Merge.
+ ("iordi3", "iorsi3", "iorhi3", "iorqi3"): Merge.
+ ("xordi3", "xorsi3", "xorhi3", "xorqi3"): Merge.
+
+2005-05-10 Jeff Law <law@redhat.com>
+
+ * tree-ssa-dom.c (dom_opt_finalize_block): Do not call
+ thread_across_edge for any abnormal edges.
+
+2005-05-10 Richard Henderson <rth@redhat.com>
+
+ * config/ia64/ia64.c (ia64_expand_atomic_op): New.
+ * config/ia64/ia64-protos.h: Declare it.
+ * config/ia64/sync.md (I124MODE, FETCHOP, fetchop_name): New.
+ (sync_add<I48MODE>, sync_old_add<I48MODE>): Remove.
+ (sync_<FETCHOP><IMODE>, sync_nand<IMODE>): New.
+ (sync_old_<FETCHOP><IMODE>, sync_old_nand<IMODE>): New.
+ (sync_new_<FETCHOP><IMODE>, sync_new_nand<IMODE>): New.
+ (cmpxchg_rel_<I124MODE>): Split from cmpxchg_acq_<IMODE>. Zero
+ extend result; use release semantics.
+ (cmpxchg_rel_di): Rename from cmpxchg_acq_<IMODE>; use release.
+ (sync_val_compare_and_swap_<IMODE>): Update to match.
+
+2005-05-10 Richard Henderson <rth@redhat.com>
+
+ * optabs.c (expand_compare_and_swap_loop): Don't clobber old value
+ before comparing it for success.
+
+2005-05-10 Richard Henderson <rth@redhat.com>
+
+ * config/ia64/sync.md (sync_add<I48MODE>): Fix arguments for
+ no return value pattern.
+
+2005-05-10 Grigory Zagorodnev <grigory.zagorodnev@intel.com>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ * libgcov.c (create_file_directory): New function. Create
+ directory for the given file name.
+ (gcov_max_filename): New static var. Keeps size of the longest
+ file name.
+ (gcov_exit): Always try to create directory for output
+ file. Relocate each filename basing on environment vars.
+ (__gcov_init): Remember the longest file name.
+ * tsystem.h: include filenames.h to get IS_DIR_SEPARATOR
+ * doc/gcov.texi (Cross-profiling): New node documenting
+ cross-profiling management.
+ * doc/invoke.texi (-fprofile-arcs): Add xref to cross-profiling.
+
+2005-05-10 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * config/sparc/sparc.c (mem_min_alignment): Do not rely
+ on MEM_ALIGN if TARGET_UNALIGNED_DOUBLES.
+
+2005-05-10 Bob Wilson <bob.wilson@acm.org>
+
+ * config/xtensa/lib1funcs.asm (__udivsi3, __divsi3): Rearrange special
+ case code to avoid one move instruction.
+ (__umodsi3, __modsi3): Merge duplicated code sequences.
+
+2005-05-10 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/mips/24k.md, config/sh/divtab.c, config/sh/sh.c,
+ config/sh/sh.md, config/sh/superh.h: Fix comment typos.
+ * doc/invoke.texi: Fix typos.
+
+ * tree-data-ref.c (analyze_array_indexes, analyze_array,
+ init_data_ref, access_functions_are_affine_or_constant_p,
+ free_data_refs): Use VEC instead of VARRAY.
+ * tree-data-ref.h (data_reference): Change the type of
+ access_fns to VEC(tree,gc)*.
+ (DR_ACCESS_FN, DR_NUM_DIMENSIONS): Use VEC instead of VARRAY.
+
+2005-05-10 Gabor Loki <loki@gcc.gnu.org>
+
+ PR c/17913
+ * c-typeck.c (build_conditional_expr): Remove reducing cond_expr.
+ * fold-const.c (fold): Expand the condition of reducing cond_expr.
+ (contains_label_1, contains_label_p): New functions for checking
+ labels in a sub-tree.
+
+2005-05-10 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR c/21342
+ * c-decl.c (pushdecl): When there is a declaration in the current
+ scope and the declarations are external linkage, check for
+ compatibility with the type in the external scope and update the
+ type in the external scope with the composite type information.
+ Do not form a composite type of the new type and the visible type
+ if they are incompatible.
+
+2005-05-10 Nathan Sidwell <nathan@codesourcery.com>
+
+ * crtstuff.c: Revert part of 2005-05-08 Change.
+ (IN_LIBGCC2): Define.
+
+2005-05-10 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * config/sparc/sparc.c (fp_sethi_p): Test !SPARC_SIMM13_P and
+ remove redundant test.
+ (fp_mov_p): Accept 0.
+ (fp_high_losum_p): Remove redundant test.
+ * config/sparc/predicates.md (const_high_operand): Explicitly test
+ (not small_int_operand).
+ (fp_const_high_losum_operand): New.
+ * config/sparc/sparc.md (movsi_insn): Do not emit 'clr'. Reorder.
+ (movdi_insn_sp32_v9): Use canonical predicates.
+ (movdi_insn_sp32): Test !TARGET_V9 instead of !TARGET_ARCH64.
+ (movdi_insn_sp64_novis): Delete.
+ (movdi_insn_sp64_vis): Rename into movdi_insn_sp64.
+ (movsf_insn_novis): Delete.
+ (movsf_insn_vis): Rename into movsf_insn.
+ (movsf_no_f_insn): Rename into movsf_insn_no_fpu.
+ (movsf_lo_sum): Use fp_const_high_losum_operand.
+ (movsf_high): Likewise.
+ (movsf_high_losum splitter): Likewise.
+ (mov<V32:mode> expander): Use register_or_zero_operand.
+ (mov<V64:mode> expander): Likewise.
+ (movdf_insn_sp32): Use register_or_zero_operand.
+ (movdf_no_e_insn_sp32): Use register_or_zero_operand.
+ Rename into movdf_insn_sp32_no_fpu.
+ (movdf_no_e_insn_v9_sp32): Use register_or_zero_operand.
+ Rename into movdf_insn_sp32_v9_no_fpu.
+ (movdf_insn_v9only_novis): Delete.
+ (movdf_insn_v9only_vis): Rename into movdf_insn_sp32_v9.
+ (movdf_insn_sp64_novis): Delete.
+ (movdf_insn_sp64_vis): Rename into movdf_insn_sp64.
+ (movdf_no_e_insn_sp64): Use register_or_zero_operand.
+ Rename into movdf_insn_sp64_no_fpu.
+ (movtf expander): Use register_or_zero_operand.
+ (movtf_insn_sp32): Delete.
+ (movtf_insn_vis_sp32): Use register_or_zero_operand.
+ Rename into movtf_insn_sp32.
+ (movtf_no_e_insn_sp32): Use register_or_zero_operand.
+ Rename into movtf_insn_sp32_no_fpu.
+ (movtf_insn_hq_sp64): Delete.
+ (movtf_insn_hq_vis_sp64): Use register_or_zero_operand.
+ Rename into movtf_insn_sp64_hq.
+ (movtf_insn_sp64): Delete.
+ (movtf_insn_vis_sp64): Use register_or_zero_operand.
+ Rename into movtf_insn_sp64.
+ (movtf_no_e_insn_sp64): Use register_or_zero_operand.
+ Rename into movtf_insn_sp64_no_fpu.
+
+2005-05-10 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/stormy16/stormy16.c (xstormy16_emit_cbranch): Use
+ gcc_assert and gcc_unreachable as appropriate.
+ (xstormy16_split_cbranch, xstormy16_output_cbranch_hi,
+ xstormy16_output_cbranch_si, xstormy16_split_move,
+ xstormy16_initial_elimination_offset,
+ xstormy16_encode_section_info, xstormy16_print_operand_address,
+ xstormy16_expand_call, xstormy16_expand_arith,
+ xstormy16_output_shift, xstormy16_init_builtins): Likewise.
+
+2005-05-10 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-outof-ssa.c (_elim_graph): Change the type of nodes and
+ const_copies to VEC(tree,heap)*.
+ (new_elim_graph, delete_elim_graph, elim_graph_size,
+ elim_graph_add_node, eliminate_build, eliminate_phi): Use VEC
+ instead of VARRAY.
+
+2005-05-10 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR other/21052
+ * doc/extend.texi (Type Attributes): Correct example syntax.
+
+2005-05-09 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR c/21160
+ * doc/invoke.texi (-Wuninitialized): Update documentation.
+
+2005-05-09 Richard Earnshaw <richard.earnshaw@arm.com>
+
+ * arm.c (const_ok_for_arm): Use a faster algorithm.
+
+2005-05-09 David Edelsohn <edelsohn@gnu.org>
+
+ PR target/21477
+ * config/rs6000/rs6000.md (add_op2): New.
+ (add<mode>3): Use it.
+
+2005-05-09 Richard Earnshaw <richard.earnshaw@arm.com>
+
+ * arm.c (arm_gen_constant): Add new heuristic for generating
+ constant integers that can be expressed as the difference of two
+ valid immediates.
+
+2005-05-09 Roger Sayle <roger@eyesopen.com>
+
+ * c-tree.h (parser_build_unary_op): New prototype.
+ * c-typeck.c (parser_build_unary_op): New function to construct
+ a unary operation in the C parser.
+ * c-parser.c (c_parser_unary_expression): Use the new function
+ parser_build_unary_op when appropriate.
+
+2005-05-09 Mark Mitchell <mark@codesourcery.com>
+
+ PR 18655
+ * dwarf2out.c (output_call_frame_info): Use DWARF2_FRAME_REG_OUT
+ before outputting DWARF_FRAME_RETURN_COLUMN.
+
+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.c: (s390_branch_condition_mask,
+ s390_branch_condition_mnemonic, s390_extra_constraint_str,
+ s390_const_ok_for_constraint_p, s390_expand_plus_operand,
+ legitimize_pic_address, s390_emit_tls_call_insn,
+ legitimize_tls_address, legitimize_tls_address,
+ s390_expand_addcc, print_shift_count_operand, print_operand,
+ addr_generation_dependency_p, annotate_constant_pool_refs,
+ s390_split_branches, find_constant_pool_ref,
+ replace_constant_pool_ref, s390_add_constant, s390_find_constant,
+ s390_find_execute, s390_mainpool_start, s390_chunkify_start,
+ s390_output_pool_entry, s390_function_value,
+ s390_call_saved_register_used, s390_emit_call): Replace
+ conditional aborts by gcc_assert and unconditional by gcc_unreachable.
+ (s390_select_ccmode, s390_match_ccmode_set, s390_extract_part,
+ s390_cannot_force_const_mem, s390_output_dwarf_dtprel,
+ get_some_local_dynamic_name, s390_function_arg_size,
+ s390_function_arg_advance, s390_function_arg,
+ s390_expand_builtin, s390_gen_rtx_const_DI): Replace abort in
+ default case by gcc_unreachable.
+ * config/s390/s390.md: ("*cjump_31", "*icjump_31", "*jump31"): Replace
+ conditional abort by gcc_assert.
+ ("doloop_si31"): Replace abort in last else by gcc_unreachable.
+ ("main_pool", "pool"): Replace unconditional abort by gcc_unreachable.
+
+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.c: (s390_decompose_address,
+ tls_symbolic_operand, legitimate_pic_operand_p,
+ legitimate_constant_p, legitimate_reload_constant_p,
+ s390_expand_plus_operand, legitimate_address_p,
+ legitimate_la_operand_p, ): Remove 'register' from signature.
+ (symbolic_reference_mentioned_p,
+ tls_symbolic_reference_mentioned_p): Remove 'register' from local
+ variable declarations.
+ (legitimize_address): Remove 'register' from
+ signature and local variable declarations.
+
+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390-protos.h: (s390_match_ccmode,
+ s390_match_ccmode_set, reg_used_in_mem_p,
+ symbolic_reference_mentioned_p, tls_symbolic_reference_mentioned_p,
+ legitimate_la_operand_p, preferred_la_operand_p,
+ s390_short_displacement, addr_generation_dependency_p,
+ legitimate_reload_constant_p, legitimate_address_p): Change return type
+ into 'bool'.
+ (s390_tm_ccmode): Change type of parameter "mixed" into 'bool'.
+ * config/s390/s390.c: (s390_match_ccmode,
+ symbolic_reference_mentioned_p, tls_symbolic_reference_mentioned_p,
+ legitimate_reload_constant_p): Change return type into 'bool'.
+ (preferred_la_operand_p,legitimate_la_operand_p, legitimate_address_p):
+ Likewise. Additionally adapted comment.
+ (s390_extra_constraint_p): Change Comment to reflect 'int' return type.
+ (s390_tm_ccmode): Change type of parameter "mixed" into 'bool'.
+ (s390_decompose_address): Change the type of the internal flags
+ "pointer", "base_ptr", "indx_ptr", and the return value into 'bool'.
+ (struct s390_address): Change type of "pointer" into bool.
+ * config/s390/s390.md: ("*tmdi_reg", "*tmsi_reg", "tm<mode>_full"):
+ Adapt calls for 's390_tm_ccmode' to the new signature.
+
+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.c: (s390_match_ccmode_set,
+ s390_branch_condition_mnemonic, s390_short_displacement,
+ s390_decompose_address, get_thread_pointer, legitimize_tls_address,
+ print_shift_count_operand, get_some_local_dynamic_name,
+ get_some_local_dynamic_name_1, reg_used_in_mem_p,
+ addr_generation_dependency_p, s390_split_branches,
+ annotate_constant_pool_refs, find_constant_pool_ref,
+ replace_constant_pool_ref, find_ltrel_base, replace_ltrel_base,
+ s390_optimize_prologue, find_unused_clobbered_reg, s390_frame_area,
+ s390_register_info, s390_frame_info, s390_init_frame_layout,
+ s390_update_frame_layout, save_fpr, restore_fpr, save_gprs,
+ restore_gprs, s390_function_arg_size, s390_function_arg_float,
+ s390_init_machine_status, s390_assemble_integer, s390_handle_option,
+ s390_encode_section_info, s390_cannot_force_const_mem,
+ s390_delegitimize_address, s390_return_in_memory, s390_init_builtins,
+ s390_expand_builtin, s390_output_mi_thunk, s390_safe_attr_type,
+ s390_adjust_priority, s390_issue_rate,
+ s390_first_cycle_multipass_dfa_lookahead, s390_cannot_copy_insn_p,
+ s390_rtx_costs, s390_address_cost, s390_reorg, s390_valid_pointer_mode,
+ s390_build_builtin_va_list, s390_gimplify_va_arg,
+ s390_function_ok_for_sibcall, s390_call_saved_register_used,
+ s390_pass_by_reference, s390_fixed_condition_code_regs,
+ s390_cc_modes_compatible s390_mainpool_start,, s390_mainpool_finish,
+ s390_mainpool_cancel, s390_chunkify_start, s390_chunkify_finish,
+ s390_chunkify_cancel, s390_start_pool, s390_end_pool,
+ s390_add_pool_insn, s390_find_pool, s390_add_constant,
+ s390_find_constant, s390_add_execute, s390_find_execute,
+ s390_execute_label, s390_execute_target, s390_dump_pool,
+ s390_dump_execute, s390_alloc_pool, s390_free_pool): Remove prototypes.
+ Move target macro definitions to the end of the file. Move several
+ functions within the file to assure correct compiling.
+
+2005-05-09 Steven Bosscher <stevenb@suse.de>
+
+ * calls.c (purge_reg_equiv_notes): Remove, fold into...
+ (fixup_tail_calls): ...here. Only look at insns between the
+ start of the function and the FUNCTION_BEG insn note.
+
+ * gcse.c (one_cprop_pass): Fix typos in dumps.
+
+ * tree-ssa-operands.h (FOR_EACH_PHI_ARG): Fix typos.
+
+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.h: Move xxx_REGNUM definitions to s390.md.
+ * config/s390/s390.md: ("SIBCALL_REGNUM", "BASE_REGNUM",
+ "RETURN_REGNUM", "CC_REGNUM", "TP_REGNUM"): New constants.
+ Replace every occurrence of '(reg:<MODE> 33)' by '(reg:<MODE>
+ CC_REGNUM)'.
+ ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): Replace
+ '(reg:<MODE> 36)' by '(reg:<MODE> TP_REGNUM)'.
+ ("*sibcall_br", "*sibcall_value_br"): Replace '(reg:DI 1)' by '(reg:DI
+ REG_SC)'.
+
+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.md: ("gf") New mode attribute.
+ ("fixuns_truncdfdi2", "fixuns_truncdfsi2", "fixuns_truncsfdi2",
+ "fixuns_truncsfsi2"): Merge.
+ ("fix_truncdfdi2", "fix_truncsfdi2"): Merge.
+ ("fix_truncdfdi2_ieee", "fix_truncdfsi2_ieee", "fix_truncsfdi2_ieee",
+ "fix_truncsfsi2_ieee"): Merge.
+
+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.md: ("FPR") New mode macro.
+ ("de", "dee"): New mode attributes.
+ ("cmpdf", "cmpsf"): Merge.
+ ("*cmpdf_ccs_0", "*cmpsf_ccs_0"): Merge.
+ ("*cmpdf_ccs_0_ibm", "*cmpdf_ccs_0_ibm"): Merge.
+ ("*cmpdf_ccs", "*cmpsf_ccs"): Merge.
+ ("*cmpdf_ccs_ibm", "*cmpsf_ccs_ibm"): Merge.
+ ("floatdidf2", "floatdisf2"): Merge.
+ ("adddf3", "addsf3"): Merge.
+ ("*adddf3", "*addsf3"): Merge.
+ ("*adddf3_cc", "*addsf3_cc"): Merge.
+ ("*adddf3_cconly", "*addsf3_cconly"): Merge.
+ ("*adddf3_ibm", "*addsf3_ibm"): Merge.
+ ("subdf3", "subsf3"): Merge.
+ ("*subdf3", "*subsf3"): Merge.
+ ("*subdf3_cc", "*subsf3_cc"): Merge.
+ ("*subdf3_cconly", "*subsf3_cconly"): Merge.
+ ("*subdf3_ibm", "*subsf3_ibm"): Merge.
+ ("muldf3", "mulsf3"): Merge.
+ ("*muldf3", "*mulsf3" "): Merge.
+ ("*muldf3_ibm", "*mulsf3_ibm"): Merge.
+ ("*fmadddf", "*fmaddsf"): Merge.
+ ("*fmsubdf", "*fmsubsf"): Merge.
+ ("divdf3", "divsf3"): Merge.
+ ("*divdf3", "*divsf3"): Merge.
+ ("*divdf3_ibm", "*divsf3_ibm"): Merge.
+ ("negdf2", "negsf2"): Merge.
+ ("*negdf2_cc", "*negsf2_cc"): Merge.
+ ("*negdf2_cconly", "*negsf2_cconly"): Merge.
+ ("*negdf2", "*negsf2"): Merge.
+ ("*negdf2_ibm", "*negsf2_ibm"): Merge.
+ ("absdf2", "abssf2"): Merge.
+ ("*absdf2_cc", "*abssf2_cc"): Merge.
+ ("*absdf2_cconly", "*abssf2_cconly"): Merge.
+ ("*absdf2", "*abssf2"): Merge.
+ ("*absdf2_ibm", "*abssf2_ibm"): Merge.
+ ("*negabsdf2_cc", "*negabssf2_cc"): Merge.
+ ("*negabsdf2_cconly", "*negabssf2_cconly"): Merge.
+ ("*negabsdf2", "*negabssf2"): Merge.
+ ("sqrtdf2", "sqrtsf2"): Merge.
+
+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.c: (s390_adjust_priority): Adapt to changed
+ attribute names.
+ * config/s390/2084.md: ("x_fsimpd", "x_fsimps", "x_fdivd", "x_fdivs",
+ "x_floadd", "x_floads", "x_fstored", "x_fstores"): Rename to
+ ("x_fsimpdf", "x_fsimpsf", "x_fdivdf", "x_fdivsf", "x_floaddf",
+ "x_floadsf", "x_fstoredf", "x_fstoresf") and replace 'type'
+ attribute names.
+ * config/s390/s390.md: ("type"): Rename "fsimpd, fsimps, floadd, floads,
+ fstored, fstores, fmuld, fmuls, fdivd, fdivs, fsqrtd, fsqrts" to
+ "fsimpdf, fsimpsf, floaddf, floadsf, fstoredf, fstoresf, fmuldf,
+ fmulsf, fdivdf, fdivsf, fsqrtdf, fsqrtsf".
+ ("*cmpdf_ccs_0", "*cmpdf_css_0_ibm", "*cmpdf_ccs",
+ "*cmpdf_ccs_ibm", "*cmpsf_ccs_0", "*cmpsf_css_0_ibm",
+ "*cmpsf_ccs", "*cmpsf_ccs_ibm", "*movdi_64", "*movdi_31",
+ "*movsi_zarch", "*movsi_esa", "*movdf_64", "*movdf_31", "movsf",
+ "*muldf3", "*muldf3_ibm", "*fmadddf", "*fmsubdf", "*mulsf3",
+ "mulsf3_ibm", "*fmaddsf", "fmsubsf", "*divdf3", "*divdf3_ibm",
+ "*negdf2_cc", "*negdf2_cconly", "*negdf2", "*negdf2_ibm",
+ "*negsf2_cc", "*negsf2_cconly", "*negsf2", "*absdf2_cc",
+ "*absdf2_cconly", "*absdf2", "*absdf2_ibm", "*abssf2_cc",
+ "*abssf2_cconly", "*abssf2", "*abssf2_ibm", "*negabsdf2_cc",
+ "*negabsdf2_cconly", "*negabsdf2", "*negabssf2_cc",
+ "*negabssf2_cconly", "*negabssf2", "sqrtdf2", "sqrtsf2"): Rename
+ 'type' value.
+ ("*divsf3"): Additionally rename second pattern to
+ "*divsf3_ibm".
+ ("truncdfsf2_ibm", "extendsfdf2_ieee", "extendsfdf2_ibm",
+ "*adddf3", "*adddf3_cc", "*adddf3_cconly", "*adddf3_ibm",
+ "*addsf3", "*addsf3_cc", "*addsf3_cconly", "*subdf3",
+ "subdf3_cc", "*subdf3_cconly", "*subdf3_ibm", "*subsf3",
+ "subsf3_cc", "*subsf3_cconly", "*subsf3_ibm"): Merge identical
+ 'type values' and rename 'type' value.
+ ("*addsf3"): Additionally rename second pattern to
+ "*addsf3_ibm".
+
+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.md: ("SHIFT"): New mode macro.
+ ("lr", "shift"): New mode attributes.
+ ("ashldi3", "lshrdi3"): Merge.
+ ("*ashldi3_31", "*lshrdi3"_31): Merge.
+ ("*ashldi3_64", "*lshrdi3"_64): Merge.
+ ("ashlsi3", "lshrsi3"): Merge.
+
+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.md: ("DSI", "SCOND"): New mode
+ macros.
+ ("E", "g"): New mode attributes.
+ ("*adddi3_alc_cc", "*addsi3_alc_cc"): Merge.
+ ("*adddi3_alc", "*addsi3_alc"): Merge.
+ ("*subdi3_slb_cc", "*subsi3_slb_cc"): Merge.
+ ("*subdi3_slb", "*subsi3_slb"): Merge.
+ ("adddicc", "addsicc"): Merge.
+ ("*sconddi", "*scondsi"): Merge.
+ ("*sconddi_neg", "*scondsi_neg"): Merge.
+ ("sltu", "sgtu", "sleu", "sgeu"): Merge.
+ ("negdi2", "negsi2"): Extract expander pattern from
+ "negsi2" and merge with "negdi2".
+ ("*negdi2"): Merge with instruction pattern of "negsi2".
+ ("*negdi2_cc", "*negsi2_cc"): Merge.
+ ("*negdi2_cconly", "*negsi2_cconly"): Merge.
+ ("rotldi3", "rotlsi3"): Merge.
+
+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.md: ("hc"): New mode attribute.
+ ("extendhidi2", "extendqidi2"): Merge.
+ ("*extendhidi2", "*extendqidi2"): Merge.
+ ("extendhisi2", "extendqisi2"): Merge.
+ ("zero_extendhidi2", "zero_extendqidi2"): Merge.
+ ("*zero_extendhidi2", "*zero_extendqidi2"): Merge.
+ Merged 2 define_split.
+ ("*zero_extendhisi2", "*zero_extendqisi2"): Merge.
+ ("*zero_extendhisi2_64", "*zero_extendqisi2_64"): Merge.
+
+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.md: ("COMPARE"): New mode macro.
+ ("beq", "bne", "bgt", "bgtu", "blt", "bltu", "bge", "bgeu",
+ "ble", "bleu", "bunordered", "bordered", "buneq", "bunlt",
+ "bungt", "bunle", "bunge", "bltgt"): Merge.
+
+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.md: ("INT"): New mode macro.
+ ("one_cmpldi2", "one_cmplsi2", "one_cmplhi2", "one_cmplqi2"):
+ Merge.
+
+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.md: ("GPR", "P"): New mode macros.
+ ("cmpdi", "cmpsi"): Merge.
+ ("strlendi", "strlensi"): Merge.
+ ("*strlendi", "*strlensi"): Merge.
+ ("movmemdi", "movmemsi"): Merge.
+ ("clrmemdi", "clrmemsi"): Merge.
+
+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.md: ("HQI"): New mode macro.
+ ("icm_lo", "icm_hi", "max_uint"): New mode attributes.
+ ("*tmhi_full", "*tmqi_full"): Merge.
+ ("*tsthiCCT", "*tstqiCCT"): Merge.
+ ("*tsthi", "*tstqi"): Merge.
+ ("*tsthi_cconly", "tstqi_cconly"): Merge.
+ ("*sethighhisi", "*sethighqisi"): Merge.
+
+2005-05-09 Kazu Hirata <kazu@cs.umass.edu>
+
+ * crtstuff.c, integrate.h, tree-scalar-evolution.h,
+ config/alpha/unicosmk.h, config/arc/arc.md,
+ config/arm/bpabi.h, config/arm/coff.h, config/arm/elf.h,
+ config/arm/ieee754-df.S, config/arm/ieee754-sf.S,
+ config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h,
+ config/arm/semi.h, config/arm/uclinux-elf.h,
+ config/arm/wince-pe.h, config/fr30/fr30.c,
+ config/rs6000/altivec.h: Update copyright.
+
+2005-05-09 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/pdp11/pdp11.c (pdp11_output_function_prologue): Use
+ gcc_assert and gcc_unreachable as appropriate.
+ (pdp11_output_function_epilogue, output_move_double,
+ output_move_quad, print_operand_address, output_jump,
+ output_addr_const_pdp11): Likewise.
+ * config/pdp11/pdp11.h (FUNCTION_PROFILER,
+ ASM_OUTPUT_ALIGN): Likewise.
+ * config/pdp11/pdp11.md: Likewise.
+ (extendhisi2, subhi3, subqi3): Likewise.
+
+2005-05-09 David Edelsohn <edelsohn@gnu.org>
+
+ PR middle-end/21237
+ * dojump.c (do_jump, MINUS_EXPR): Build NE_EXPR and fall through
+ to NE_EXPR case.
+
+2005-05-09 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/ia64/ia64.c: Fix a comment typo.
+
+2005-05-09 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/21397
+ * arm.c (ARM_OPT_SET_CPU, ARM_OPT_SET_ARCH, ARM_OPT_SET_TUNE): Define.
+ (arm_override_options): Use them instead of manifest constants. Don't
+ allow -march to override the -mtune setting.
+
+2005-05-09 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/iq2000/iq2000.c (abort_with_insn): Use fancy_abort.
+ (gen_int_relational): Use gcc_unreachable and gcc_assert as necessary.
+ (function_arg_advance, function_arg, save_restore_insns,
+ iq2000_expand_prologue, iq2000_output_conditional_branch,
+ expand_one_builtin, print_operand):
+ * config/iq2000/iq2000.md (tablejump): Likewise.
+
+2005-05-09 David Ung <davidu@mips.com>
+
+ * config/mips/mips.h (processor_type): Add names for the 24K.
+ * config/mips/mips.c (mips_cpu_info_table): Add names for the 24K
+ processor family.
+ * config/mips/mips.md (cnv_mode): New attribute for recording the
+ conversion types of float convert insns.
+ (cpu): Add 24k and 24kx.
+ (include): Include 24k.md file.
+ (truncdfsf2, extendsfdf2, fix_truncdfsi2_insn, fix_truncdfsi2_macro)
+ (fix_truncdfdi2, fix_truncsfdi2, floatsidf2, floatdidf2, floatsisf2)
+ (floatdisf2): Setup cnv_mode.
+ (fix_truncsfsi2_insn, fix_truncsfsi2_macro): Changed mode to SF and
+ setup cnv_mode.
+ * config/mips/24k.md: New file, contains 24k DFA pipeline
+ description.
+
+2005-05-09 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/sh/sh.c (print_operand_address): Use gcc_assert and
+ gcc_unreachable as appropriate.
+ (print_operand, prepare_move_operands, prepare_scc_operands,
+ output_movedouble, output_branch, shift_insns_rtx, gen_shifty_op,
+ gen_shl_and, shl_sext_kind, gen_datalabel_ref, dump_table,
+ fixup_mova, gen_far_branch, sh_reorg, split_branches,
+ final_prescan_insn, output_stack_adjust, sh_expand_epilogue,
+ sh_set_return_address, sh_setup_incoming_varargs,
+ initial_elimination_offset, sh_pch_valid_p, get_free_reg,
+ sh_expand_builtin, sh_output_mi_thunk, extract_sfunc_addr,
+ check_use_sfunc_addr): Likewise.
+ * config/sh/netbsd-elf.h (FUNCTION_PROFILER): Likewise.
+ * config/sh/sh.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
+ * config/sh/symbian.c (sh_symbian_mark_dllexport,
+ sh_symbian_mark_dllimport): Likewise.
+ * config/sh/sh.md: Likewise.
+ (movdicc, call_pop, call_value_pop, casesi_worker_1,
+ casesi_worker_2, casesi_shift_media, casesi_load_media,
+ return_media): Likewise.
+
2005-05-08 Roger Sayle <roger@eyesopen.com>
PR inline-asm/8788