OSDN Git Service

* config/cris/cris.md ("*movdi_insn", "*mov_sidesisf_biap")
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 00f8a89..d967aca 100644 (file)
@@ -1,3 +1,264 @@
+2005-05-07  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/cris.md ("*movdi_insn", "*mov_sidesisf_biap")
+       ("*mov_sidesisf", "*mov_sidesisf_biap_mem", "*mov_sidesisf_mem"):
+       Handle moved operand being in special register.
+       ("smulsi3_highpart", "umulsi3_highpart"): Change .error into
+       presumed working insn.
+       (mover2side): Add FIXME.
+
+2005-05-07  Richard Sandiford  <rsandifo@redhat.com>
+
+       * integrate.c (get_func_hard_reg_initial_val): Delete.
+       (has_func_hard_reg_initial_val): Delete.
+       (get_hard_reg_initial_val): Inline the old implementation of
+       get_func_hard_reg_initial_val.  Use has_hard_reg_initial_val
+       instead of has_func_hard_reg_initial_val to test for an existing
+       pseudo.  Only create an rtx if a new initial value entry is needed.
+       (has_hard_reg_initial_val): Scan the initial value list directly.
+       Don't create an rtx.
+
+2005-05-07  David Edelsohn  <edelsohn@gnu.org>
+
+       * config.gcc ({powerpc,rs6000}-ibm-aix*): Remove rs6000/aix.opt
+       from extra_options.
+       * config.in (HAVE_AS_POPCNTB): New.
+       * configure.ac (HAVE_AS_MFCRF): Add .machine "pwr5" to AIX test.
+       (HAVE_AS_POPCNTB): New.
+       * configure: Regenerated.
+       * config/rs6000/aix.h (TARGET_XL_COMPAT): Delete.
+       * config/rs6000/rs6000.c (rs6000_override_options, power5): Add
+       MASK_POPCNTB.  Uncomment rs6000_sched_restricted_insns_priority
+       and rs6000_sched_costly_dep.
+       * config/rs6000/rs6000.h (TARGET_POPCNTB): New.
+       (TARGET_XL_COMPAT): Delete.
+       * config/rs6000/rs6000.md (UNSPEC_POPCNTB): New.
+       (popcount<mode>2): New.
+       (popcntb<mode>2): New.
+       * config/rs6000/rs6000.opt (mpopcntb): New.
+
+       * opt-functions.awk (var_set): Emit OPTION_MASK_ for InverseMask
+       if variable name exists.
+
+2005-05-07  Matt Kraai  <kraai@ftbfs.org>
+
+       * Makefile.in (c-gimplify.o): Depend on $(RTL_H) instead of rtl.h.
+
+2005-05-07  Richard Henderson  <rth@redhat.com>
+
+       PR target/21412
+       * config/rs6000/rs6000.c (rs6000_emit_move): Look for tls addresses
+       with constant offsets.
+
+2005-05-07  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * config/v850/v850.c (print_operand): Use gcc_assert and
+       gcc_unreachable, as appropriate.
+       (print_operand_address, v850_handle_data_area_attribute,
+       v850_encode_data_area, construct_restore_jr, construct_save_jarl,
+       v850_insert_attributes, construct_prepare_instruction): Likewise.
+       * config/v850/v850.h (INITIAL_ELIMINATION_OFFSET): Likewise.
+       * config/v850/v850.md (movsicc, *sasf_1): Likewise.
+
+2005-05-07  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-ssa-loop-ivcanon.c, config/i386/i386.c,
+       config/rs6000/rs6000.h: Fix comment typos.
+
+2005-05-07  Richard Sandiford  <rsandifo@redhat.com>
+
+       * doc/invoke.texi: Remove documentation for MIPS' -mint64 option.
+       * config/mips/mips.c (TARGET_SCALAR_MODE_SUPPORTED_P): Delete.
+       (mips_scalar_mode_supported_p): Delete.
+
+2005-05-06  Eric Christopher  <echristo@redhat.com>
+
+       * config/mips/mips.opt: Remove -mint64 option.
+       * config/mips/mips.c (override_options): Remove -mint64
+       handling.
+       * config/mips/mips.h (INT_TYPE_SIZE): Define to 32.
+       * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Remove
+       64-bit integer handling.
+       * doc/invoke.texi (Option Summary): Remove -mint64 for
+       mips.
+
+2005-05-06  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR tree-optimization/19401
+       * tree-flow.h (tree_unroll_loops_completely): Declaration changed.
+       * tree-ssa-loop-ivcanon.c (enum unroll_level): New.
+       (estimated_unrolled_size): New function.
+       (try_unroll_loop_completely, canonicalize_loop_induction_variables,
+       tree_unroll_loops_completely): Always unroll loops if the code size
+       does not increase.
+       * tree-ssa-loop.c (tree_complete_unroll): Indicate whether all
+       loops should be unrolled completely.
+       (gate_tree_complete_unroll): Run complete unrolling unconditionally.
+
+2005-05-06  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR rtl-optimization/21254
+       * loop-iv.c (iv_number_of_iterations): Simplify infiniteness
+       assumptions for loops that otherwise do not roll.
+       (find_simple_exit): Prefer # of iterations that is guaranteed
+       not to be infinite.
+       * loop-unroll.c (decide_peel_once_rolling,
+       decide_peel_completely): Check whether the loop is infinite.
+
+2005-05-06  Pat Haugen  <pthaugen@us.ibm.com>
+
+       * config/rs6000/sysv4.opt: Fix typo.
+
+2005-05-06  Denis Vlasenko  <vda@port.imtp.ilyichevsk.odessa.ua>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/21329
+       * config/i386/i386.c (ix86_expand_movmem): Don't use rep; movsb
+       for -Os if (movsl;)*(movsw;)?(movsb;)? sequence is shorter.
+       Don't use rep; movs{l,q} if the repetition count is really small,
+       instead use a sequence of movs{l,q} instructions.
+
+2005-05-06  Jeff Law  <law@redhat.com>
+
+       PR tree-optimization/21380
+       * tree-ssa-threadupdate.c (thread_through_all_blocks): Do not
+       thread through a block with no preds.
+
+2005-05-06  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-ssa-operands.c (clobbered_v_may_defs, clobbered_vuses,
+       ro_call_vuse, fini_ssa_operands, add_call_clobber_ops,
+       add_call_read_ops): Use VEC instead of VARRAY.
+
+2005-05-06  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * config/mcore/mcore.c (mcore_print_operand_address): Use
+       gcc_assert and gcc_unreachable as appropriate.
+       (mcore_print_operand, mcore_gen_compare_reg, mcore_output_call,
+       mcore_output_andn, output_inline_const, mcore_output_move,
+       mcore_output_movedouble, mcore_expand_block_move,
+       layout_mcore_frame, mcore_initial_elimination_offset,
+       mcore_expand_prolog, mcore_mark_dllexport,
+       mcore_mark_dllimport): Likewise.
+       * config/mcore/mcore.h (switch_to_section): Likewise.
+       * config/mcore/mcore.md: Likewise.
+
+2005-05-06  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/rs6000/linux64.h: Remove MASK_PROFILE_KERNEL, and
+       TARGET_PROFILE_KERNEL.
+
+       * config/rs6000/rs6000.c (output_profile_hook): Add comment to
+       TARGET_PROFILE_KERNEL use.
+
+2005-05-06  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * config/m32r/m32r.c (m32r_encode_section_info): Use gcc_assert
+       and gcc_unreachable, as appropriate.
+       (gen_compare, gen_split_move_double, m32r_setup_incoming_varargs,
+       m32r_expand_prologue, m32r_output_function_epilogue,
+       m32r_legitimize_pic_address, m32r_print_operand_address,
+       emit_cond_move, m32r_function_symbol,
+       m32r_output_block_move): Likewise.
+       * config/m32r/m32r.h (INITIAL_ELIMINATION_OFFSET): Likewise.
+       * config/m32r/m32r.md ( *movsi_insn, *zero_branch_insn,
+       *rev_zero_branch_insn): Likewise.
+       
+2005-05-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/20961
+       * varasm.c (merge_weak): Remove NEWDECL from WEAK_DECLS chain
+       if both NEWDECL and OLDDECL are already weak.
+
+2005-05-06  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/rs6000/sysv4.h (EXTRA_SUBTARGET_SWITCHES): Delete.
+
+2005-05-05  J"orn Rennecke  <joern.rennecke@st.com>
+           Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.c (sh_builtin_saveregs): Use copy_to_mode_reg
+       and plus_constant.
+
+2005-05-05  Aldy Hernandez  <aldyh@redhat.com>
+           David Edelsohn  <edelsohn@gnu.org>
+
+       * config.gcc: Add .opt magic for the rs6000 ports.
+
+       * doc/invoke.texi: Document -mabi= option properly.  Document
+       -misel and -mno-sel.  Document -mspe and -mno-spe.  Document
+       -mvrsave and -mno-vrsave.  Document deprecation of -mspe= and
+       -misel=.
+
+       * config/rs6000/aix.h: Remove XL_COMPAT stuff.  Remove
+       SUBTARGET_SWITCHES and SUBSUBTARGET_SWITCHES.  Define
+       TARGET_XL_COMPAT.
+
+       * config/rs6000/aix.opt: New.
+       * config/rs6000/aix41.opt: New.
+       * config/rs6000/aix64.opt: New.
+       * config/rs6000/darwin.opt: New.
+       * config/rs6000/linux64.opt: New.
+       * config/rs6000/rs6000.opt: New.
+       * config/rs6000/sysv4.opt: New.
+
+       * config/rs6000/sysv4.h: Delete definitions of MASK_* and
+       associated TARGET_*.  Remove SUBTARGET_OPTIONS,
+       SUBTARGET_SWITCHES.
+       Define TARGET_USES_SYSV4_OPT.
+       * config/rs6000/aix41.h: Remove SUBSUBTARGET_SWITCHES.
+       * config/rs6000/aix43.h: Remove SUBSUBTARGET_SWITCHES.  Define
+       TARGET_USES_AIX64_OPT.
+       * config/rs6000/aix51.h: Same.
+       * config/rs6000/aix52.h: Same.
+       * config/rs6000/darwin.h: Remove SUBTARGET_SWITCHES,
+       MASK_MACHO_DYNAMIC_NO_PIC, TARGET_MACHO_DYNAMIC_NO_PIC.
+       Use TARGET_ALTIVEC_VRSAVE instead of rs6000_altivec_vrsave.
+       Define TARGET_DYNAMIC_NO_PIC as TARGET_MACHO_DYNAMIC_NO_PIC.
+       * config/rs6000/linux64.h: Use
+       rs6000_explicit_options.  Remove EXTRA_SUBTARGET_SWITCHES.
+
+       * config/rs6000/rs6000.c: Remove definitions of
+       rs6000_sched_restricted_insns_priority,
+       rs6000_long_double_size_string, rs6000_altivec_vrsave,
+       rs6000_altivec_vrsave_string, rs6000_isel, rs6000_spe,
+       rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
+       rs6000_abi_string, rs6000_warn_altivec_long, rs6000_longcall,
+       rs6000_alignment_string.  Define rs6000_explicit_options.
+       (rs6000_parse_abi_options): Remove.
+       (rs6000_parse_alignment_option): Remove.
+       (rs6000_parse_float_gprs_option): Remove.
+       (rs6000_handle_option): New.  Define TARGET_HANDLE_OPTION.  Define
+       TARGET_DEFAULT_TARGET_FLAGS.
+       (rs6000_override_options): Revamp to use new .opt machinery.
+
+       * config/rs6000/rs6000.h: Remove old MASK_* and TARGET_* in favor
+       of new .opt machinery.  Remove target_flags.  Redefine
+       TARGET_MFCRF and TARGET_POWERPC64.  Remove TARGET_SWITCHES,
+       SUBTARGET_SWITCHES, TARGET_OPTIONS, SUBTARGET_OPTIONS,
+       rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
+       rs6000_altivec_vrsave_string, rs6000_altivec_vrsave,
+       rs6000_longcall_switch, rs6000_default_long_calls,
+       rs6000_sched_costly_dep_str, rs6000_sched_costly_dep,
+       rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch, and
+       TARGET_ALTIVEC_VRSAVE.
+
+2005-05-05  Ralf Corsepius  <ralf.corsepius@rtems.org>
+
+       * config.gcc (hppa1.1-*-rtems*): Remove.
+       * config/pa/rtems.h: Remove.
+
+2005-05-05  Ralf Corsepius  <ralf.corsepius@rtems.org>
+
+       * config/rs6000/t-rtems (MULTILIB_NEW_EXCEPTIONS_ONLY):
+       Exclude roe/603e multilib variants.
+
+2005-05-04  Denis Chertykov  <denisc@overta.ru>
+
+       PR target/21284
+       * config/avr/avr.c (avr_output_addr_vec_elt): Use special section
+       for output.
+
 2005-05-05  Richard Sandiford  <rsandifo@redhat.com>
 
        * config.gcc (arm*-wince-pe*, arm-*-pe*, strongarm-*-pe): Add
 
 2005-05-05  Kelley Cook  <kcook@gcc.gnu.org>
 
-       * config/m32r/xm-m32r.h, config/m32r/linux.h: Delete files.
+       * config/m32r/xm-m32r.h, config/m32r/xm-linux.h: Delete files.
 
 2005-05-05  Kelley Cook  <kcook@gcc.gnu.org>