+2007-04-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/31582
+ * config/i386/i386.c (ix86_expand_vec_set_builtin): Make a
+ copy of source, pass it to ix86_expand_vector_set and return
+ it as target.
+
+2007-04-16 David Ung <davidu@mips.com>
+ Joseph Myers <joseph@codesourcery.com>
+
+ * config/mips/mips.h (PROCESSOR_74KC, PROCESSOR_74KF,
+ PROCESSOR_74KX, TUNE_74K, GENERATE_MADD_MSUB): Define.
+ * config/mips/mips.c (mips_cpu_info_table, mips_rtx_cost_data):
+ Add 74K processor information.
+ * config/mips/mips.md: Include 74k.md.
+ (cpu): Add 74kc,74kf,74kx.
+ (ISA_HAS_MADD_MSUB): Change to GENERATE_MADD_MSUB throughout.
+ * config/mips/74k.md: New.
+ * doc/invoke.texi (MIPS Options): Document 74K support.
+
+2007-04-16 Dorit Nuzman <dorit@il.ibm.com>
+
+ * tree-vect-analyze.c (vect_analyze_operations): Reorganize calls to
+ vectorizable_* functions.
+ * tree-vect-transform.c (vectorizable_call): Add check for
+ STMT_VINFO_RELEVANT_P, STMT_VINFO_DEF_TYPE and STMT_VINFO_LIVE_P.
+ (vectorizable_store): likewise.
+ (vectorizable_conversion): Add check for STMT_VINFO_DEF_TYPE.
+ Add comments.
+ (vectorizable_operation, vectorizable_type_demotion): Likewise.
+ (vectorizable_type_promotion, vectorizable_load): Likewise.
+ (vectorizable_live_operation, vectorizable_condition): Likewise.
+ (vectorizable_assignment): Add check for STMT_VINFO_DEF_TYPE and
+ STMT_VINFO_LIVE_P.
+ (vect_transform_stmt): Reorganize calls to vectorizable_* functions.
+
+2007-04-15 Kazu Hirata <kazu@codesourcery.com>
+
+ * config/m68k/linux.h (FUNCTION_VALUE_REGNO_P): Use macros for
+ register numbers more.
+ * config/m68k/m68k.h (STACK_POINTER_REGNUM,
+ FRAME_POINTER_REGNUM, STATIC_CHAIN_REGNUM,
+ M68K_STRUCT_VALUE_REGNUM, FUNCTION_VALUE, LIBCALL_VALUE,
+ FUNCTION_VALUE_REGNO_P): Likewise.
+ * config/m68k/m68kelf.h (M68K_STRUCT_VALUE_REGNUM,
+ STATIC_CHAIN_REGNUM): Likewise.
+ * config/m68k/m68kemb.h (FUNCTION_VALUE_REGNO_P): Likewise.
+ * config/m68k/netbsd-elf.h (M68K_STRUCT_VALUE_REGNUM,
+ STATIC_CHAIN_REGNUM, FUNCTION_VALUE_REGNO_P): Likewise.
+ * config/m68k/m68k.md (FP_REG): New.
+
+2007-04-15 Kazu Hirata <kazu@codesourcery.com>
+
+ * config/m68k/m68k.h (PREFERRED_STACK_BOUNDARY): Prefer 32-bit
+ alignment on fido.
+
+2007-04-15 Kazu Hirata <kazu@codesourcery.com>
+
+ * config/i386/i386.c, config/s390/s390.c, config/s390/s390.md,
+ tree-ssa-loop-niter.c, tree-ssa-structalias.c, tree-vrp.c: Fix
+ comment typos.
+
+2007-04-11 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * tree-ssa-loop-prefetch.c (loop_prefetch_arrays): Ignore
+ cold loops.
+
+2007-04-14 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ PR c/31520
+ * c-decl.c (finish_decl): Grab the type of the decl after the call
+ to store_init_value.
+
+2007-04-14 Steven Bosscher <steven@gcc.gnu.org>
+
+ * common.opt (fforward-propagate): Fix "Optimization" annotation.
+
+2007-04-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/25874
+ * omp-low.c (expand_omp_parallel): If child_cfun->cfg, free dominators,
+ post dominators and cleanup cfg before returning.
+
+2007-04-14 Bernd Schmidt <bernd.schmidt@analog.com>
+
+ * config/bfin/bfin.h (MODES_TIEABLE_P): Allow more modes to be tied.
+ * config/bfin/bfin.md (movsi_insn): Delete two unused alternatives.
+
+2007-04-14 Kazu Hirata <kazu@codesourcery.com>
+
+ * config.gcc: Recognize fido.
+ * config/m68k/m68k-devices.def (fidoa): New.
+ * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Define
+ __mfido__.
+ (FL_FIDOA, TARGET_FIDOA): New.
+ * config/m68k/m68k.opt (mfidoa): New.
+
+2007-04-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR middle-end/31322
+ * dwarf2out.c (output_call_frame_info): Call assemble_external_libcall
+ when a personality function is used.
+
+2007-04-13 Bob Wilson <bob.wilson@acm.org>
+
+ * config/xtensa/xtensa.c (xtensa_expand_builtin): Use CALL_EXPR_FN.
+
+2007-04-13 Mike Stump <mrs@apple.com>
+
+ * config/darwin-c.c (handle_c_option): Handle -fapple-kext here so
+ we can...
+ * config/darwin.opt (fapple-kext): Make C++ only.
+ * config/darwin.c (darwin_override_options): Remove code to ensure
+ -fapple-kext is given for C++ only.
+
+2007-04-13 Richard Sandiford <richard@codesourcery.com>
+
+ * config/mips/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define.
+ * config/mips/mips.c (override_options): Call
+ SUBTARGET_OVERRIDE_OPTIONS, if defined.
+
+2007-04-13 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.opt (msvr3-shlib): Removed.
+
+ * doc/invoke.texi: Remove -msvr3-shlib.
+
+2007-04-13 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.opt (mpopcnt): Replace "popcount" instruction
+ with "popcnt" instruction.
+
+2007-04-13 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/21258
+ * tree-vrp.c (compare_case_labels): New helper.
+ (find_switch_asserts): New function.
+ (find_assert_locations): Call it for SWITCH_EXPRs.
+
+2007-04-13 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.h (X87_FLOAT_MODE_P): Check for TARGET_80387.
+ * config/i386/i386.md (*cmpfp0): Remove check for TARGET_80387, this
+ check is now implied in X87_FLOAT_MODE_P.
+ (*cmpfp_u, *cmpfp_<mode>, *cmpfp_i_i387): Ditto.
+ (*cmpfp_iu_387, fix_trunc<mode>_fisttp_i386_1): Ditto.
+ (fix_trunc<mode>_i386_fisttp): Ditto.
+ (fix_trunc<mode>_i387_fisttp_with_temp): Ditto.
+ (*fix_trunc<mode>_i387_1, fix_truncdi_i387): Ditto.
+ (fix_truncdi_i387_with_temp, fix_trunc<mode>_i387): Ditto.
+ (fix_trunc<mode>_i387_with_temp, *fp_jcc_1_387): Ditto.
+ (*fp_jcc_2_387, *fp_jcc_5_387, *fp_jcc_6_387): Ditto.
+ (*fp_jcc_7_387, *fp_jcc_8<mode>_387): Ditto.
+ (unnamed_splitters): Ditto.
+ * config/i386/i386.c (function_value_32): Generate FIRST_FLOAT_REG
+ for X87_FLOAT_MODE_P mode. Override FIRST_FLOAT_REG with
+ FIRST_SSE_REG for local functions when SSE math is enabled or
+ for functions with sseregparm attribute.
+ (standard_80387_constant_p): Return -1 if mode is not
+ X87_FLOAT_MODE_P.
+ (ix86_cc_mode): Assert that scalar mode is not DECIMAL_FLOAT_MODE_P.
+ (ix86_expand_compare): Ditto.
+ (ix86_expand_carry_flag_compare): Ditto.
+ (ix86_expand_int_movcc): Check for SCALAR_FLOAT_MODE_P instead
+ of FLOAT_MODE_P for cmp_mode and assert that cmp_mode is not
+ DECIMAL_FLOAT_MODE_P.
+ (ix86_preferred_output_reload_class): Use X87_FLOAT_MODE_P instead
+ of SCALAR_FLOAT_MODE_P.
+ (ix86_rtx_costs) [PLUS] Remove FLOAT_MODE_P and fall through to ...
+ [MINUS]: ... here. Add SSE_FLOAT_MODE_P and X87_FLOAT_MODE_P
+ checks before FLOAT_MODE_P.
+ [MULT]: Add SSE_FLOAT_MODE_P and X87_FLOAT_MODE_P checks
+ before FLOAT_MODE_P.
+ [DIV]: Ditto.
+ [NEG]: Ditto.
+ [ABS]: Ditto.
+ [SQRT]: Ditto.
+ [FLOAT_EXTEND]: Use SSE_FLOAT_MODE_P.
+
+2007-04-12 Paolo Bonzini <bonzini@gnu.org>
+ Charles Wilson <libtool@cwilson.fastmail.fm>
+
+ * Makefile.in (stamp-as, stamp-collect-ld, stamp-nm): Remove.
+ (libgcc.mvars): Don't depend on them.
+ * configure.ac (as, collect-ld, nm): Create from exec-tool.in.
+ * exec-tool.in: New.
+
+2007-04-12 Brooks Moses <brooks.moses@codesourcery.com>
+
+ * doc/invoke.text (--help): Document --help=common.
+
+2007-04-12 Thomas Neumann <tneumann@users.sourceforge.net>
+
+ * stub-objc.c (objc_build_keyword_decl): Avoid C++ keywords.
+
+2007-04-12 Richard Sandiford <richard@codesourcery.com>
+
+ * Makefile.in (insn-emit.o): Depend on $(INTEGRATE_H).
+ * genemit.c (main): Emit #include "integrate.h".
+ * config/mips/mips-protos.h (SYMBOL_HALF): New mips_symbol_type.
+ (LOADGP_RTP): New mips_loadgp_style.
+ * config/mips/mips.h: Include config/vxworks-dummy.h.
+ (TARGET_RTP_PIC): New macro.
+ (TARGET_USE_GOT): Return true for TARGET_RTP_PIC.
+ (TARGET_USE_PIC_FN_ADDR_REG): Return true for TARGET_VXWORKS_RTP.
+ (ASM_OUTPUT_ADDR_DIFF_ELT): Emit function-relative case tables
+ for TARGET_RTP_PIC.
+ * config/mips/vxworks.h (SUBTARGET_ASM_SPEC): Define. Pass down
+ -mvxworks-pic when using -mrtp and a PIC option.
+ * config/mips/mips.c (mips_classify_symbol): Return SYMBOL_GOT_DISP
+ for RTP PIC.
+ (mips_symbolic_constant_p, mips_symbolic_address_p)
+ (mips_symbol_insns): Handle SYMBOL_HALF.
+ (override_options): Warn about -G and -mrtp being used together.
+ Initialize mips_lo_relocs[SYMBOL_HALF].
+ (mips_current_loadgp_style): Return LOADGP_RTP for RTP PIC.
+ (mips_emit_loadgp): Handle LOADGP_RTP.
+ (mips_in_small_data_p): Return false for TARGET_VXWORKS_RTP.
+ * config/mips/mips.md (loadgp_rtp): New insn and splitter.
+ (tablejump): Handle function-relative case table entries if
+ TARGET_RTP_PIC.
+ * config/mips/predicates.md (symbol_ref_operand): New predicate.
+
+2007-04-12 Richard Sandiford <richard@codesourcery.com>
+
+ * config/mips/mips.md (load_call<mode>): Allow any general register.
+ destination.
+ (sibcall_value_internal, sibcall_value_multiple_internal)
+ (call_value_internal, call_value_split, call_value_multiple_internal)
+ (call_value_multiple_split): Remove constraints from operand 0.
+
+2007-04-12 Richard Sandiford <richard@codesourcery.com>
+
+ * config/mips/mips-protos.h: In comments, refer to loadgp_absolute
+ rather than loadgp_noshared.
+ * config/mips/mips.c (mips_emit_loadgp): Use gen_loadgp_absolute
+ instead of gen_loadgp_noshared. Use gen_loadgp_newabi instead of
+ gen_loadgp.
+ * config/mips/mips.md (loadgp): Rename to...
+ (loadgp_newabi): ...this.
+ (loadgp_noshared): Rename to...
+ (loadgp_absolute): ...this.
+
+2007-04-12 Richard Sandiford <richard@codesourcery.com>
+
+ * config/mips/mips.c (mips_ok_for_lazy_binding_p): Always return
+ false for locally-binding symbols.
+ (mips_dangerous_for_la25_p): Check mips_global_symbol_p.
+
+2007-04-12 Richard Sandiford <richard@codesourcery.com>
+
+ * config/mips/mips-protos.h (SYMBOL_GOT_LOCAL): Rename to...
+ (SYMBOL_GOT_PAGE_OFST): ...this.
+ (SYMBOL_GOT_GLOBAL): Rename to...
+ (SYMBOL_GOT_DISP): ...this.
+ (SYMBOL_GOTOFF_GLOBAL): Rename to...
+ (SYMBOL_GOTOFF_DISP): ...this. Update comments accordingly.
+ * config/mips/mips.c (mips_global_symbol_p): New function.
+ (mips_symbol_binds_local_p): Likewise.
+ (mips_classify_symbol): Rename SYMBOL_GOT_GLOBAL to SYMBOL_GOT_DISP
+ and SYMBOL_GOT_LOCAL to SYMBOL_GOT_PAGE_OFST. Use mips_global_symbol_p
+ and mips_symbol_binds_local_p.
+ (mips_symbolic_constant_p, mips_symbolic_address_p, mips_symbol_insns)
+ (override_options): Rename SYMBOL_GOT_GLOBAL to SYMBOL_GOT_DISP,
+ SYMBOL_GOT_LOCAL to SYMBOL_GOT_PAGE_OFST and SYMBOL_GOTOFF_GLOBAL to
+ SYMBOL_GOTOFF_DISP.
+ (mips_ok_for_lazy_binding_p): New function.
+ (mips_load_call_address, mips_expand_call): Use it.
+ (mips_dangerous_for_la25_p): Likewise.
+ * config/mips/mips.md (*xgot_hi<mode>, *xgot_lo<mode>)
+ (*got_disp<mode>): Use got_disp_operand instead of
+ global_got_operand. Use SYMBOL_GOTOFF_DISP instead of
+ SYMBOL_GOTOFF_GLOBAL.
+ (*got_page<mode>): Use got_page_ofst_operand instead of
+ local_got_operand.
+ * config/mips/predicates.md (const_call_insn_operand): Use
+ SYMBOL_GOT_DISP instead of SYMBOL_GOT_GLOBAL.
+ (global_got_operand): Rename to...
+ (got_disp_operand): ...this and use SYMBOL_GOT_DISP instead of
+ SYMBOL_GOT_GLOBAL.
+ (local_got_operand): Rename to...
+ (got_page_ofst_operand): ...this and use SYMBOL_GOT_PAGE_OFST instead
+ of SYMBOL_GOT_LOCAL.
+
+2007-04-12 Richard Sandiford <richard@codesourcery.com>
+
+ * config/mips/mips.h (TARGET_SPLIT_CALLS): Check
+ TARGET_CALL_CLOBBERED_GP.
+ (TARGET_SIBCALLS): Check TARGET_USE_GOT instead of TARGET_ABICALLS.
+ (TARGET_USE_GOT, TARGET_CALL_CLOBBERED_GP): New macros.
+ (TARGET_CALL_SAVED_GP, TARGET_USE_PIC_FN_ADDR_REG): Likewise.
+ (STARTING_FRAME_OFFSET): Check TARGET_CALL_CLOBBERED_GP instead
+ of TARGET_ABICALLS && !TARGET_NEWABI.
+ (MIPS_CALL): Check TARGET_USE_GOT instead of TARGET_ABICALLS.
+ * config/mips/mips.c (mips_load_call_address): Check
+ TARGET_CALL_SAVED_GP instead of TARGET_NEWABI.
+ (mips_global_pointer): Check TARGET_USE_GOT instead of TARGET_ABICALLS.
+ Check TARGET_CALL_SAVED_GP instead of TARGET_NEWABI.
+ (mips_save_reg_p): Check TARGET_CALL_SAVED_GP instead of
+ TARGET_ABICALLS && TARGET_NEWABI.
+ (mips_current_loadgp_style): Check TARGET_USE_GOT instead of
+ TARGET_ABICALLS.
+ (mips_expand_prologue): Check TARGET_OLDABI instead of !TARGET_NEWABI.
+ (mips_expand_epilogue): Check TARGET_CALL_SAVED_GP instead of
+ TARGET_ABICALLS && TARGET_NEWABI.
+ (mips_output_mi_thunk): Check TARGET_USE_GOT instead of
+ TARGET_ABICALLS. Check TARGET_CALL_SAVED_GP instead of
+ TARGET_NEWABI. Use TARGET_USE_PIC_FN_ADDR_REG to decide
+ whether indirect calls must use $25.
+ (mips_extra_live_on_entry): Check TARGET_GOT instead of
+ TARGET_ABICALLS.
+ * config/mips/mips.md (jal_macro): Check flag_pic and
+ TARGET_CALL_CLOBBERED_GP instead of TARGET_ABICALLS and TARGET_NEWABI.
+ (builtin_setjmp_setup, builtin_longjmp): Check TARGET_USE_GOT
+ instead of TARGET_ABICALLS.
+ (exception_receiver): Check TARGET_CALL_CLOBBERED_GP instead of
+ TARGET_ABICALLS && TARGET_OLDABI.
+ (load_call<mode>): Check TARGET_USE_GOT instead of TARGET_ABICALLS.
+ (sibcall): In the comment above the define_insn, mention
+ TARGET_USE_PIC_FN_ADDR_REG instead of TARGET_ABICALLS.
+ * config/mips/constraints.md (c): Check TARGET_USE_PIC_FN_ADDR_REG
+ instead of TARGET_ABICALLS.
+
2007-04-12 Bernd Schmidt <bernd.schmidt@analog.com>
* doc/md.texi (Blackfin family constraints): Document PA and PB.
(flag_macinit1hi): Tighten constraints.
(flag_mul_macv2hi_parts_acconly): New pattern.
+ * config/bfin/lib1funcs.asm (___umulsi3_highpart, __smulsi3_highpart):
+ Use a more efficient implementation.
+ * config/bfin/bfin.md (umulsi3_highpart, smulsi3_highpart): Emit
+ inline sequences when not optimizing for size.
+
+ * config/bfin/bfin.md (movhi_low2high, movhi_high2high, movhi_low2low,
+ movhi_high2low): Delete, merge functionality into...
+ (packv2hi): ... this pattern.
+
+ 2007-02-11 Jie Zhang <jie.zhang@analog.com>
+ * config/bfin/bfin.opt (msim): New option.
+ (mcpu=): New option.
+ * config/bfin/bfin-protos.h (enum bfin_cpu): New.
+ (bfin_cpu_t): Typedef of enum bfin_cpu.
+ (bfin_cpu_type): New declaration.
+ * config/bfin/elf.h (STARTFILE_SPEC): Add support for
+ -msim and -mcpu= options.
+ (LIB_SPEC): Likewise.
+ * config/bfin/bfin.c (bfin_cpu_type): Define.
+ (bfin_handle_option): Handle -mcpu= option.
+ * config/bfin/bfin.h (DEFAULT_CPU_TYPE): Define as BFIN_CPU_BF532.
+ (TARGET_CPU_CPP_BUILTINS): Define __ADSPBF531__, __ADSPBF532__,
+ __ADSPBF533__ or __ADSPBF537__ according to the cpu type.
+
2007-04-12 Richard Sandiford <richard@codesourcery.com>
* config.gcc (*-*-vxworks*): Don't add to tm_files in this stanza.