2010-07-16  Andrew Jenner  <andrew@codesourcery.com>

	gcc/
	* config/mips/t-montavista-elf (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
	Add Octeon II multilibs.

2010-07-16  Andrew Jenner  <andrew@codesourcery.com>

	gcc/
	* config/mips/t-montavista-linux (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
	MULTILIB_EXCEPTIONS, MULTILIB_OSDIRNAMES): Add Octeon II multilibs.

2010-07-16  Andrew Jenner  <andrew@codesourcery.com>

	Port Octeon II patches:

	gcc/
	* config/mips/mips-dsp.md (mips_lbux): Use gen_mips_lbux_si_extsi
	instead of gen_mips_lbux_si_extdi.

	NOT ASSIGN5~ED TO FSF
	COPYRIGHT CAVIUM

	gcc/
	* config/mips/mips-dsp.md, config/mips/mips.c, config/mips/mips.h,
	config/mips/mips.md: Apply Octeon II changes from Cavium.
	* config/mips/octeon.md: Update to current version from Cavium.

2010-06-22  Andrew Jenner  <andrew@codesourcery.com>

	gcc/
	* config/arm/t-montavista-linux (MULTILIB_OPTIONS): Add thard-float.
	(MULTILIB_DIRNAMES): Likewise.
	* config/arm/montavista-linux.h (CC1_SPEC): Likewise.
	(SYSROOT_SUFFIX_SPEC): Likewise.

2010-04-30  Andrew Jenner  <andrew@codesourcery.com>

	gcc/
	* testsuite/gcc.target/arm/pr42496.c: Remove duplicate copy of
	contents.

2010-04-26  Andrew Jenner  <andrew@codesourcery.com>

	Merge from 2009q3:

	2009-07-26  Andrew Jenner  <andrew@codesourcery.com>

	gcc/
	* config/rs6000/rs6000.h (TARGET_NO_LWSYNC): Set when
	TARGET_SOFT_FLOAT set.

	2009-11-23  Andrew Jenner  <andrew@codesourcery.com>

	gcc/
	* config.gcc: Add rs6000/e500.h to powerpc-montavista*-linux-gnu
	tm_file.
	* config/mips/montavista-linux.h: Use DRIVER_SELF_SPECS instead of
	SUBTARGET_SELF_SPECS.

2010-08-20  Catherine Moore  <clm@codesourcery.com>

	* release-notes-csl.xml: Change -mcpu to -march in the
	last release note.

2010-08-20  Catherine Moore  <clm@codesourcery.com>

	Issue #9258

	gcc/
	* config/mips/sdemtk.h (MIPS_ARCH_FLOAT_SPEC): Add 34kn.
	* config/mips/mips.c (mips_cpu_info): Likewise.
	* config/mips/mips.h (MIPS_ARCH_FLOAT_SPEC): Likewise.
	(BASE_DRIVER_SELF_SPECS): Do not imply -mdsp for the 34kn.

	* release-notes-csl.xml: New note.

2010-08-13  Nathan Froyd  <froydnj@codesourcery.com>

	Issue #9064

	* release-notes-csl.xml: New note.

	gcc/
	* tree-ssa-remove-local-statics.c (maybe_discover_new_declaration):
	Check for the static being defined in the same function as the one
	we're optimizing.

	gcc/testsuite/
	* gcc.dg/remove-local-statics-18.c: New test.

2010-08-12  Nathan Froyd  <froydnj@codesourcery.com>

	* release-notes-csl.xml (64-bit-support): Use guilabel instead of
	guimenuoption.

2010-08-11  Nathan Froyd  <froydnj@codesourcery.com>

	* release-notes-csl.xml (64-bit support): Update.

2010-08-09  Julian Brown  <julian@codesourcery.com>

	gcc/
	* config/arm/neon-testgen.ml (regexps): Allow any characters
	in comments after assembly instructions.

	gcc/testsuite/
	* gcc.target/arm/neon/vfp-shift-a2t2.c: Allow any characters in
	comments after assembly instructions.
	* gcc.target/arm/neon/v*.c: Regenerate.

2010-07-27  Catherine Moore  <clm@codesourcery.com>

	gcc/
	* config/mips/linux.h (SUBTARGET_OVERRIDE_OPTIONS):
	Change setting of TARGET_INTERLINK_MIPS16.
	* config/mips/mips.opt (TARGET_INTERLINK_MIPS16):
	Initialize to -1.
	* config/mips/mips.c (mips_function_ok_for_sibcall):
	TARGET_INTERLINK_MIPS16 now checks for one.

	* release-notes-csl.xml: Document.

2010-07-26  Catherine Moore  <clm@codesourcery.com>

	Issue #9082

	gcc/
	* config/mips/mips.c (mips_override_options):  Clear the
	micromips and mips16 bits from target_flags after checking
	them.

	* release-notes-csl.xml: Document.

2010-07-20  Maxim Kuvyrkov  <maxim@codesourcery.com>

	gcc/
	* config.gcc (mips64*-*-linux*): Make O32 the default ABI for NetLogic
	target.
	* config/mips/netlogic.h: New file, make O32 the default ABI for
	NetLogic target.
	* config/mips/t-netlogic: Update.

2010-07-12  Jie Zhang  <jie@codesourcery.com>

	Issue #8497, #8893

	* release-notes-csl.xml: Document.

	Backport from mainline:

	gcc/
	2010-07-12  Jie Zhang  <jie@codesourcery.com>
	* config/arm/arm.c (arm_get_frame_offsets): Don't use r3 to
	align the stack when it's going to be saved.

	gcc/testsuite/
	2010-07-12  Jie Zhang  <jie@codesourcery.com>
	* gcc.target/arm/interrupt-1.c: New test.
	* gcc.target/arm/interrupt-2.c: New test.

2010-07-02  Jie Zhang  <jie@codesourcery.com>

	Issue #8980

	* release-notes-csl.xml: Document.

	gcc/
	* config/arm/vfp.md (*push_multi_vfp): Use vfp_register_operand
	as predicate for operand 1 and remove its constraint.
	* config/arm/predicates.md (vfp_register_operand): New.
	* config/arm/arm.md (*push_multi): Remove the constraint of
	operand 1.
	(*push_fp_multi): Likewise.

2010-06-29  Jie Zhang  <jie@codesourcery.com>

	Issue #8970

	* release-notes-csl.xml: Document.

	gcc/
	* config/arm/arm.c (arm_attr_length_move_neon): New.
	* config/arm/arm-protos.h (arm_attr_length_move_neon): Declare.
	* config/arm/neon.md (define_mode_attr V_slen): Remove.
	(neon_mov<mode> for VSTRUCT): Use arm_attr_length_move_neon
	to compute length attribute.

2010-06-29  Nathan Sidwell  <nathan@codesourcery.com>

	gcc/
	* config/arm/t-cs-nucleuseabi: Add a cortex-a8 hard-float
	multilib.

	* release-notes-csl.xml: Adjust previous release note concerning
	multilibs.

2010-06-16  Nathan Froyd  <froydnj@codesourcery.com>

	* release-notes-csl.xml (64-bit support): New note.

2010-06-15  Joseph Myers  <joseph@codesourcery.com>

	libgcc/
	* config/rs6000/t-spe-fprules (spe-files): Add spe_unorddf2.S.

2010-06-15  Nathan Froyd  <froydnj@codesourcery.com>

	Issue #8892

	* release-notes-csl.xml: New note.

	libgcc/
	* config/rs6000/spe_nedf2.S: Delete.
	(__nedf2): Move to...
	* config/rs6000/spe_eqdf2.S (__nedf2): ...here.
	* config/rs6000/spe_ltdf2.S: Delete.
	(__ltdf2): Move to...
	* config/rs6000/spe_ledf2.S (__ltdf2): ...here.
	* config/rs6000/spe_gtdf2.S: Delete.
	(__gtdf2): Move to...
	* config/rs6000/spe_gedf2.S (__gtdf2): ...here.
	* config/rs6000/t-spe-fprules (spe-files): List out files for
	comparison functions explicitly.

2010-06-15  Maxim Kuvyrkov  <maxim@codesourcery.com>

	gcc/
	* config/mips/t-netlogic: Define NetLogic multilibs.
	* config.gcc (mips64-nelogic-linux-gnu): New target.

2010-06-14  Nathan Froyd  <froydnj@codesourcery.com>

	gcc/
	* config.gcc (powerpc-*-elf*) Add biarch64.h logic.
	* config/rs6000/t-ppc-e500mc (MULTILIB_OPTIONS): Add -m32/-m64.
	(MULTILIB_DIRNAMES): Set.
	(softfp_wrap_start): Define.
	(softfp_wrap_end): Define.
	* config/rs6000/e500mc.h: Add macros for 64-bit support.

2010-06-14  Nathan Froyd  <froydnj@codesourcery.com>

	gcc/
	* config/rs6000/t-cs-linux (MULTILIB_OPTIONS): Add m64.
	(MULTILIB_DIRNAMES): Add 64.
	(MULTILIB_EXCEPTIONS): Add exception for m64/msoft-float.
	(MULTILIB_OSDIRNAMES): New.

2010-06-14  Nathan Froyd  <froydnj@codesourcery.com>

	gcc/
	* config/rs6000/linux.h (CC1_EXTRA_SPEC, ASM_DEFAULT_SPEC):
	(SYSROOT_SUFFIX_SPEC): Move to...
	* config/rs6000/cs-linux.h: ...here.  New file.
	* config.gcc: Update to use rs6000/cs-linux.h.

2010-06-14  Nathan Froyd  <froydnj@codesourcery.com>

	gcc/
	* config/rs6000/rs6000.c
	(rs6000_override_options) [processor_target_table]: Add e5500 entry.

2010-06-14  Nathan Froyd  <froydnj@codesourcery.com>

	NOT ASSIGNED TO THE FSF
	COPYRIGHT FREESCALE

	gcc/
	* config/rs6000/rs6000.c (expand_block_clear): Permit non-word-aligned
	stores for PROCESSOR_PPCE500MC64.
	(expand_block_move): Likewise.

2010-06-14  Nathan Froyd  <froydnj@codesourcery.com>

	gcc/
	* config/rs6000/rs6000.c (rs6000_override_options): Default
	rs6000_block_move_inline_limit to 128 for PROCESSOR_PPCE500MC64.

2010-06-14  Nathan Froyd  <froydnj@codesourcery.com>

	NOT ASSIGNED TO THE FSF
	COPYRIGHT FREESCALE

	gcc/
	* config/rs6000/rs6000.mc (floatdidf2): Use for PROCESSOR_PPCE500MC64.
	(fix_truncdfdi2): Likewise.

2010-06-14  Nathan Froyd  <froydnj@codesourcery.com>

	Merge:

	2009-10-12  Nathan Sidwell  <nathan@codesourcery.com>

	Issue #6751

	gcc/
	* config/rs6000/rs6000.c (rs6000_emit_sISEL): Refactor, add asserts.
	* config/rs6000/rs6000.md (seq): Check for floating point.

	gcc/testsuite/
	* gcc.target/powerpc/e500mc-1.c: New.

	2009-09-22  Nathan Froyd  <froydnj@codesourcery.com>

	NOT ASSIGNED TO THE FSF
	COPYRIGHT FREESCALE

	gcc/
	* config.gcc: Add e500mc64 cpu.
	* config/rs6000/rs6000-protos.h (rs6000_emit_sISEL): Declare.
	* config/rs6000/rs6000.h (ASM_CPU_SPEC): Add e500mc64 clause.
	(enum processor_type): Add PROCESSOR_PPCE500MC64.
	(TARGET_E500MC64): Define.
	* config/rs6000/rs6000.c (ppce500mc64_cost): New variable.
	(rs6000_override_options): Add e500mc64 entry.  Add handling for it
	where necessary.
	(rs6000_emit_sISEL): New function.
	(rs6000_emit_int_cmove): New cases for a 64-bit chip with isel.
	(rs6000_issue_rate): Add CPU_PPCE500MC64 case.
	(rs6000_rtx_costs): Consider TARGET_ISEL for comparison costs.
	* config/rs6000/rs6000.md (define_attr "cpu"): Add ppce500mc64.
	Include e5000mc64.md.
	(sgmsk): New mode_attr.
	(sminsi3): Macroize to...
	(smin<mode>3): ...this.
	(smaxsi3): Macroize to...
	(smax<mode>3): ...this.
	(uminsi3): Macroize to...
	(umin<mode>3): ...this.
	(umaxsi3): Macroize to...
	(umax<mode>3): ...this.
	(abssi2_isel): Macroize to...
	(abs<mode>2_isel): ...this.
	(nabs<mode>2_isel): New.
	(movsicc): Macroize to...
	(mov<mode>cc): ...this.
	(isel_signed): Macroize to...
	(isel<mode>_signed): ...this.
	(isel_unsigned): Macroize to...
	(isel<mode>_unsigned): ...this.
	(absdi2): Convert to a define_expand and consider TARGET_ISEL.  Move
	the original code...
	(absdi2_internal): ...here.
	(seq, sne, sgt, sle, slt, sgeu, sgtu, sleu, sltu): Consider TARGET_ISEL.
	* config/rs6000/e500mc64.md: New file.

2010-06-14  Paul Brook  <paul@codesourcery.com>

	Issue #8879
	gcc/
	* config/arm/arm.c (use_vfp_abi): Add sorry() for Thumb-1
	hard-float ABI.

2010-06-14  Nathan Sidwell  <nathan@codesourcery.com>

	gcc/
	* config.gcc (arm*-*-nucleuseabi*): Break out to own stanza, add
	nucleus multilibs.
	* config/arm/t-cs-nucleuseabi: New.

	* release-notes-csl.xml: Document.

2010-06-10  Jie Zhang  <jie@codesourcery.com>

	Revert
	2010-05-17  Jie Zhang  <jie@codesourcery.com>
	Issue #8513
	gcc/
	* config/arm/arm.c (arm_print_operand): Handle CONST
	address.
	* config/arm/arm.h (TARGET_USE_RELA): Define.
	* config/arm/arm.md (define_split for SYMBOL_REF move):
	Also split SYMBOL_REF + offset case.
	* config/arm/vxworks.h (TARGET_USE_RELA): Define.

2010-06-04  Nathan Sidwell  <nathan@codesourcery.com>

	Issue #8426 - build dlls.

	* libtool.m4 (symbian*): Add support for building shared libs.

	gcc/
	* configure: Rebuilt.
	* config.gcc (arm*-*-symbianelf*): Add shared-lib make file
	fragments.
	* config/t-slibgcc-symbian: New.

	libstdc++-v3/
	* configure: Rebuilt.

2010-06-06  Nathan Froyd  <froydnj@codesourcery.com>

	Issue #8802

	libgcc/
	* config/rs6000/spe_cmpdf2.S (__cmpdf2): Use @local for calls to
	__entry_cmpu and __unord_check.
	* config/rs6000/spe_eqdf2.S (__eqdf2): Likewise.
	* config/rs6000/spe_gedf2.S (__gedf2): Likewise.
	* config/rs6000/spe_gtdf2.S (__gtdf2): Likewise.
	* config/rs6000/spe_ledf2.S (__ledf2): Likewise.
	* config/rs6000/spe_ltdf2.S (__ltdf2): Likewise.
	* config/rs6000/spe_nedf2.S (__nedf2): Likewise.
	* config/rs6000_spe_unorddf2.S (__unorddf2): Likewise.
	* config/rs6000/spe_add_exception.S (__spe_add_exception): Use @local
	for calls to __spe_muldiv_scale2.
	* config/rs6000/spe_muldf3.S (__muldf3): Use @local for calls to
	__spe_muldiv_scale2, __spe_unpackdf2_mul_div,
	__spe_return_inf_mul_div, and __spe_packf1_mul_div.
	* config/rs6000/spe_divdf3.S (__divdf3): Likewise.
	* config/rs6000/spe_adddf3.S (__adddf3): Use @local for call to
	__spe_add_exception.
	* config/rs6000/spe_subdf3.S (__subdf3): Call __adddf3 with @local.

2010-05-26  Joseph Myers  <joseph@codesourcery.com>

	gcc/testsuite/
	* gcc.target/arm/pr42496.c: Remove duplicate concatenated copy of
	testcase.

2010-05-24  Paul Brook  <paul@codesourcery.com>

	Issue #8426 - Avoid libsupc++ static writable data
	libstdc++-v3/
	* libsupc++/unwind-cxx.h (__get_terminate_handler,
	__get_terminate_handler): New.
	* libsupc++/eh_throw.cc: Use them.
	* libsupc++/eh_ptr.cc: Ditto.
	* libsupc++/eh_terminate.cc: Ditto.
	* libsupc++/eh_term_handler.cc: Avoid static initializer on SymbianOS.
	* libsupc++/eh_unex_handler.cc: Avoid static initializer on SymbianOS.

2010-05-22  Thomas Schwinge  <thomas@codesourcery.com>

	Issue #8729

	* release-notes-csl.xml: New note.

2010-05-19  Thomas Schwinge  <thomas@codesourcery.com>

	Issue #8729

	Integrate <http://gcc.gnu.org/ml/gcc-patches/2010-03/msg01451.html>.
	Drop the TARGET_TITAN_FPU and fsqrt changes.

	XXXX-XX-XX  Philipp Tomsich  <philipp.tomsich@theobroma-systems.com>

	gcc/
	* config.gcc: Recognize titan.
	* config/rs6000/rs6000.c (titan_cost): New.
	(rs6000_override_options, rs6000_issue_rate): Handle titan.
	* config/rs6000/rs6000.h (processor_type): Register titan.
	* config/rs6000/rs6000.md (cpu): Register titan.
	Include "titan.md".
	* config/rs6000/titan.md: New.
	* doc/invoke.texi <mcpu>: Document titan.

2010-05-18  Paul Brook  <paul@codesourcery.com>

	Issue #8426 - Fix libsupc++ symbol visibility
	gcc/
	* config/arm/eabi-memset.c (__aeabi_memset): Remove bogus return value.

	libstdc++-v3/
	* libsupc++/eh_arm.cc (__cxa_type_match): Use correct namespace.
	(__cxa_begin_cleanup): Ditto.
	* libsupc++/unwind-cxx.h (__cxa_call_unexpected, __cxa_call_terminate,
	__cxa_type_match, __cxa_begin_cleanup): Use correct types on ARM EABI.
	* libsupc++/cxxabi.h: Add prototypes for __aeabi routines.
	* libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Export with
	default visibility.
	* libsupc++/eh_call.cc (__cxa_call_terminate, __cxa_call_unexpected):
	Use correct namespace and types.

2010-05-17  Jie Zhang  <jie@codesourcery.com>

	Issue #8513

	gcc/
	* config/arm/arm.c (arm_print_operand): Handle CONST
	address.
	* config/arm/arm.h (TARGET_USE_RELA): Define.
	* config/arm/arm.md (define_split for SYMBOL_REF move):
	Also split SYMBOL_REF + offset case.
	* config/arm/vxworks.h (TARGET_USE_RELA): Define.

2010-05-12  Maxim Kuvyrkov  <maxim@codesourcery.com>

	Issue #8483

	gcc/
	* targhooks.c (default_stack_protect_guard): Fix backporting mistake.

2010-05-12  Maxim Kuvyrkov  <maxim@codesourcery.com>

	Issue #8483

	* release-notes-csl.xml: Add a release note.

	Backport from mainline:

	gcc/
	2010-05-12  Maxim Kuvyrkov  <maxim@codesourcery.com>
	* targhooks.c (default_stack_protect_guard): Avoid sharing RTL
	for __stack_chk_guard.
	2010-05-12  Maxim Kuvyrkov  <maxim@codesourcery.com>
	* gcc.target/m68k/20100512-1.c: New.

2010-05-11  Jie Zhang  <jie@codesourcery.com>

	Issue #8473

	* release-notes-csl.xml: Document.

	Backport from mainline:

	gcc/
	2010-04-26  Jie Zhang  <jie@codesourcery.com>
	PR tree-optimization/43833
	* tree-vrp.c (range_int_cst_p): New.
	(range_int_cst_singleton_p): New.
	(extract_range_from_binary_expr): Optimize BIT_AND_EXPR case
	when both operands are constants.  Use range_int_cst_p in
	BIT_IOR_EXPR case.

	gcc/testsuite/
	2010-04-26  Jie Zhang  <jie@codesourcery.com>
	PR tree-optimization/43833
	gcc.dg/Warray-bounds-8.c: New test case.

2010-05-06  Thomas Schwinge  <thomas@codesourcery.com>
	    Sandra Loosemore  <sandra@codesourcery.com>

	Issue #8578

	* release-notes-csl.xml (Fix for invalid code generation bug): New
	note.

2010-05-06  Thomas Schwinge  <thomas@codesourcery.com>

	Issue #8578

	Backport from mainline branches/gcc-4_4-branch (r154046):

	gcc/
	2009-11-09  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/40946
	Backport from mainline
	2009-09-09  Richard Guenther  <rguenther@suse.de>

	PR middle-end/41317
	* tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Remove
	code dealing with plain pointer bases.
	(maybe_fold_offset_to_reference): Likewise.
	(maybe_fold_stmt_addition): Adjust.

	gcc/testsuite/
	2009-11-09  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/40946
	* gcc.dg/pr40946.c: New test.

	Backport from mainline
	2009-09-09  Richard Guenther  <rguenther@suse.de>

	PR middle-end/41317
	* gcc.c-torture/execute/pr41317.c: New testcase.

2010-05-04  Joseph Myers  <joseph@codesourcery.com>

	Backport:

	gcc/testsuite/
	2009-11-23  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>

	* gcc-dg/utf-array-short-wchar.c: Require-effective-target wchar.
	* gcc-dg/utf-array.c: Ditto.

2010-04-27  Paul Brook  <paul@codesourcery.com>

	libstdc++-v3/
	* configure.ac: Remove LIBSUPCXX_PRONLY.
	* include/Makefile.am: Remove LIBSUPCXX_PRONLY.
	* libsupc++/Makefile.am: Remove LIBSUPCXX_PRONLY.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* src/Makefile.in: Regenerate.
	* doc/Makefile.in: Regenerate.
	* po/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* libsupc++/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

2010-04-27  Nathan Sidwell  <nathan@codesourcery.com>

	gcc/
	* config/arm/nucleus.h (NUCLEUS_SHARED_CPP_BUILTINS): New.
	(TARGET_OS_CPP_BUILTINS): Override.
	* config/arm/unwind-arm.h (_Unwind_decode_target2): Target2 on
	nucleus-shared is the same as linux.

2010-04-20  Nathan Froyd  <froydnj@codesourcery.com>

	libgcc/
	* config/rs6000/t-spe-fprules (spe-softfp-srcs): Don't add
	$(gcc_srcdir)/config/soft-fp as a prefix.
	(LIB2ADD): Use patterns with the source filenames as the filter.

2010-04-20  Andrew Stubbs  <ams@codesourcery.com>

	Backport from mainline:

	2009-07-06  Nick Clifton  <nickc@redhat.com>
		    DJ Delorie  <dj@redhat.com>

	* config.sh/lib1funcs.h (FMOVD_WORKS): Only define if
	__FMOVD_ENABLED__ is defined.
	* config/sh/sh.h
	(TARGET_FMOVD): Provide a default definition.
	(MASK_FMOVD): Likewise.
	(TARGET_CPU_CPP_BUILTINS): Define
	__FMOVD_ENABLED__ if TARGET_FMOVD is true.
	* config/sh/sh.md (movdf_i4): For alternative 0 use either one or
	two fmov instructions depending upon whether TARGET_FMOVD is
	enabled.
	(split for DF load from memory into register): Also handle
	MEMs which consist of REG+DISP addressing.
	(split for DF store from register to memory): Likewise.
	(movsf_ie): Always use single fp_mode.
	* config/sh/sh.c (sh_override_options): Do not automatically
	enable TARGET_MOVD for the SH2A when supporting doubles - leave
	that to the -mfmovd command line switch.
	(broken_move): Do not restrict fldi test to only the SH4 and SH4A.
	(fldi_ok): Always allow.
	* config/sh/sh.opt (mfmovd): Remove this switch.
	* doc/invoke.texi (-mfmovd): Remove documentation of this switch.

	2009-07-20  Christian Bruel  <christian.bruel@st.com>

	gcc/
	* config/sh/sh.opt (-mfmovd): Resurrect and document.
	* doc/invoke.texi (-mfmovd): Likewise.
	* config/sh/sh.h (TARGET_FMOVD, MASK_FMOVD): Remove default setting.

	gcc/testsuite/
	* gcc.target/sh/mfmovd.c: New test.

2010-04-20  Andrew Stubbs  <ams@codesourcery.com>

	* gcc/config/sh/sh.h (CRT_GET_RFIB_DATA): New define.
	(ASM_PREFERRED_EH_DATA_FORMAT): Add FDPIC settings.
	(ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.

2010-04-19  Jie Zhang  <jie@codesourcery.com>

	Issue #7944

	Backporting from mainline:

	gcc/
	2010-04-19  Jie Zhang  <jie@codesourcery.com>

	PR target/43662
	* reginfo.c (reinit_regs): Set caller_save_initialized_p
	to false.

	gcc/testsuite/
	2010-04-19  Jie Zhang  <jie@codesourcery.com>

	PR target/43662
	* gcc.target/i386/pr43662.c: New test.

2010-04-19  Bernd Schmidt  <bernds@codesourcery.com>

	gcc/
	* ifcvt.c (move_across_if): Delete.
	(find_if_header): Don't call it.

2010-04-17  Daniel Jacobowitz  <dan@codesourcery.com>

	Issue #8442 - DImode ICE.

	* release-notes-csl.xml (ARM internal compiler error fix): New note.

	gcc/
	* config/arm/arm.md (movsicc, movsfcc, movdfcc): Reverse
	invalid DImode comparisons.

	gcc/testsuite/
	* gcc.c-torture/execute/20100416-1.c: New test.

2010-04-15  Nathan Froyd  <froydnj@codesourcery.com>

	libgcc/
	* config/rs6000/divdf3.S (__divdf3): Use JUMP_TARGET instead of L.
	* config/rs6000/muldf3.S (__muldf3): Likewise.

2010-04-15  Nathan Froyd  <froydnj@codesourcery.com>

	libgcc/
	* config/rs6000/spe_muldiv_scale2.S (__spe_return_inf_mul_div):
	New function.
	* config/rs6000/divdf3.S (__divdf3): Call it.
	* config/rs6000/muldf3.S (__muldf3): Likewise.

2010-04-15  Nathan Froyd  <froydnj@codesourcery.com>

	libgcc/
	* config/rs6000/spe_add_exception.S: Remove .file directive.
	* config/rs6000/spe_adddf3.S: Likewise.
	* config/rs6000/spe_cmpdf2.S: Likewise.
	* config/rs6000/spe_divdf3.S: Likewise.
	* config/rs6000/spe_eqdf2.S: Likewise.
	* config/rs6000/spe_extendsfdf2.S: Likewise.
	* config/rs6000/spe_fixdfdi.S: Likewise.
	* config/rs6000/spe_fixdfsi.S: Likewise.
	* config/rs6000/spe_fixunsdfdi.S: Likewise.
	* config/rs6000/spe_fixunsdfsi.S: Likewise.
	* config/rs6000/spe_floatdidf.S: Likewise.
	* config/rs6000/spe_floatsidf.S: Likewise.
	* config/rs6000/spe_floatundidf.S: Likewise.
	* config/rs6000/spe_floatunsidf.S: Likewise.
	* config/rs6000/spe_gedf2.S: Likewise.
	* config/rs6000/spe_gtdf2.S: Likewise.
	* config/rs6000/spe_ledf2.S: Likewise.
	* config/rs6000/spe_ltdf2.S: Likewise.
	* config/rs6000/spe_muldf3.S: Likewise.
	* config/rs6000/spe_muldiv_scale2.S: Likewise.
	* config/rs6000/spe_nedf2.S: Likewise.
	* config/rs6000/spe_neg.S: Likewise.
	* config/rs6000/spe_subdf3.S: Likewise.
	* config/rs6000/spe_truncdfsf2.S: Likewise.
	* config/rs6000/spe_unord_sub.S: Likewise.
	* config/rs6000/spe_unorddf2.S: Likewise.

2010-04-13  Andrew Stubbs  <ams@codesourcery.com>

	gcc/
	* regmove.c (fixup_match_2): Swap incorrect uses of src and dst.

2010-04-13  Julian Brown  <julian@codesourcery.com>

	* release-notes-csl.xml (Better use of NEON instructions on Cortex-A8)
	(Optimization of ARM NEON vdupq_n* intrinsics): Fix target lines for
	notes.

2010-04-13  Julian Brown  <julian@codesourcery.com>

	* release-notes-csl.xml (ARMv7-A performance improvements): Add note.

2010-04-13  Bernd Schmidt  <bernds@codesourcery.com>

	* release-notes-csl.xml: Document.

	gcc/
	PR target/21803
	* ifcvt.c (cond_exec_process_if_block): Look for identical sequences
	at the start and end of the then/else blocks, and omit them from the
	conversion.
	(move_across_if): New function.
	(find_if_header): Call it.
	* cfgcleanup.c (flow_find_cross_jump): No longer static.
	(flow_find_head_matching_sequence): New function.
	(old_insns_match_p): Check REG_EH_REGION notes for calls.
	* basic-block.h (flow_find_cross_jump,
	flow_find_head_matching_sequence): Declare functions.

	gcc/testsuite/
	PR target/21803
	* gcc.target/arm/pr42496.c: New test.

2010-04-13  Maxim Kuvyrkov  <maxim@codesourcery.com>

	Revert buggy patch.

	2010-04-04  Maxim Kuvyrkov  <maxim@codesourcery.com>
	PR middle-end/40815
	gcc/
	* tree-ssa-reassoc.c (broken_up_substracts): Rename to plus_negates.
	(negate_value): Move code to push elements to broken_up_substracts ...
	(eliminate_plus_minus_pair): ... here.  Push operands that have no
	negative pair to plus_negates.
	(repropagate_negates, init_reassoc, fini_reassoc): Update.
	gcc/testsuite/
	* gcc.dg/tree-ssa/reassoc-19.c: New.

2010-04-11  Julian Brown  <julian@codesourcery.com>

	Issue #7326

	* release-notes-csl.xml (Improved code generation for
	Cortex-A5): Add note.

2010-04-11  Julian Brown  <julian@codesourcery.com>

	Issue #7326

	gcc/
	* config/arm/arm.c (arm_issue_rate): Return 2 for Cortex-A5.
	* config/arm/arm.md (generic_sched): No for Cortex-A5.
	(generic_vfp): Likewise.
	(cortex-a5.md): Include.
	* config/arm/cortex-a5.md: New.

2010-04-12  Andrew Stubbs  <ams@codesourcery.com>

	Issue #7178

	gcc/
	* config/arm/arm.c (arm_init_libfuncs): Change __gnu_f2h_ieee to
	__aeabi_f2h, __gnu_f2h_alternative to __aeabi_f2h_alt, __gnu_h2f_ieee
	to __aeabi_h2f, and __gnu_h2f_alternative to __aeabi_h2f_alt.
	* config/arm/fp16.c (__gnu_f2h_internal): Change return type to
	unsigned int. Change 'sign' variable likewise.
	(__gnu_h2f_internal): Set to static inline.
	Change return type to unsigned int. Change 'sign' variable likewise.
	(ALIAS): New define.
	(__gnu_f2h_ieee): Change unsigned short to unsigned int.
	(__gnu_h2f_ieee): Likewise.
	(__gnu_f2h_alternative): Likewise.
	(__gnu_h2f_alternative): Likewise.
	(__aeabi_f2h, __aeabi_h2f): New aliases.
	(__aeabi_f2h_alt, __aeabi_h2f_alt): Likewise.
	* config/arm/sfp-machine.h (__extendhfsf2): Set to __aeabi_h2f.
	(__truncsfhf2): Set to __aeabi_f2h.

	testsuite/
	* g++.dg/ext/arm-fp16/arm-fp16-ops-5.C: Check for __aeabi_h2f
	and __aeabi_f2h.
	* g++.dg/ext/arm-fp16/arm-fp16-ops-6.C: Likewise.
	* gcc.dg/torture/arm-fp16-ops-5.c: Likewise.
	* gcc.dg/torture/arm-fp16-ops-6.c: Likewise.

2010-04-10  Jie Zhang  <jie@codesourcery.com>

	Issue #8368

	gcc/testsuite/
	PR target/43417
	* gcc.target/sh/pr43417.c: New test.

2010-04-10  Bernd Schmidt  <bernds@codesourcery.com>

	Issue #8388

	gcc/
	* tree-ssa-remove-local-statics.c (pass_remove_local_statics):
	Readd TODO_rebuild_alias and TODO_update_ssa.

2010-04-10  Catherine Moore  <clm@codesourcery.com>

	Issue #7474

	* release-notes-csl.xml: New note.

	gcc/
	* gcc/config.gcc (mips-sde-elf): Enable soft-fp.
	* gcc/config/mips/t-fprules-softfp: New.
	* gcc/config/mips/sfp-machine: New.

	* release-notes-csl.xml: New note.

2010-04-09  Jie Zhang  <jie@codesourcery.com>

	Issue #8368

	* release-notes-csl.xml: Document.

	Backport from mainline 4.4:

	gcc/
	2010-03-21  Kaz Kojima  <kkojima@gcc.gnu.org>

	Backport from mainline:
	2009-05-12  Paolo Bonzini  <bonzini@gnu.org>

	PR target/43417
	* config/sh/sh.md (cbranchdi4_i): Use an "I08" constraint
	instead of "i" constraint.

2010-04-09  Jie Zhang  <jie@codesourcery.com>

	* release-notes-csl.xml: Document.

	Backport from mainline:

	gcc/cp/
	2010-04-07  Jie Zhang  <jie@codesourcery.com>

	PR c++/42556
	* typeck2.c (split_nonconstant_init_1): Drop empty CONSTRUCTOR
	when all of its elements are non-constant and have been split out.

	gcc/testsuite/
	2010-04-07  Jie Zhang  <jie@codesourcery.com>

	PR c++/42556
	* g++.dg/init/pr42556.C: New test.

2010-04-09  Jie Zhang  <jie@codesourcery.com>

	Issue #8224

	* release-notes-csl.xml: Document.

	gcc/
	From Richard Earnshaw  <rearnsha@arm.com>

	* doc/tm.texi (OVERLAPPING_REGISTER_NAMES): Document new macro.
	* output.h (decode_reg_name_and_count): Declare.
	* varasm.c (decode_reg_name_and_count): New function.
	(decode_reg_name): Reimplement using decode_reg_name_and_count.
	* reginfo.c (fix_register): Use decode_reg_name_and_count and 
	iterate over all regs used.
	* stmt.c (expand_asm_operands): Likewise.
	* config/arm/aout.h (OVERLAPPING_REGISTER_NAMES): Define.
	(ADDITIONAL_REGISTER_NAMES): Remove aliases that overlap
	multiple machine registers.

2010-04-09  Jie Zhang  <jie@codesourcery.com>

	Issue #8224

	* release-notes-csl.xml: Document.

	Backport from mainline:

	gcc/
	2010-03-21  Richard Earnshaw  <rearnsha@arm.com>

	PR target/42321
	* arm.c (arm_output_epilogue): Correctly match VFP pop instructions
	with their corresponding prologue pushes.

2010-04-08  Bernd Schmidt  <bernds@codesourcery.com>

	* release-notes-csl.xml: Fix spelling of NEON.

2010-04-08  Bernd Schmidt  <bernds@codesourcery.com>

	Issue #6952

	* release-notes-csl.xml: Document.

	gcc/
	* ira-costs.c (record_reg_classes): Ignore alternatives that are 
        not enabled. 
	* config/arm/vfp.md (arm_movdi_vfp): Enable only when not tuning
	for Cortex-A8.
	(arm_movdi_vfp_cortexa8): New pattern.
	* config/arm/neon.md (adddi3_neon, subdi3_neon, anddi3_neon,
	iordi3_neon, xordi3_neon): Add alternatives to discourage Neon
	instructions when tuning for Cortex-A8.  Set attribute "alt_tune".
	* config/arm/arm.md (define_attr "alt_tune", define_attr "enabled"):
	New.

2010-04-08  Nathan Froyd  <froydnj@codesourcery.com>

	libgcc/
	* config/rs6000/spe_arith.S: Remove.  Split into:
	* config/rs6000/spe_adddf3.S: ...this.
	* config/rs6000/spe_subdf3.S: ...this.
	* config/rs6000/spe_muldf3.S: ...this.
	* config/rs6000/spe_divdf3.S: ...this.
	* config/rs6000/spe_add_exception.S: ...this.
	* config/rs6000/spe_muldiv_scale2.S: ...and this.
	* config/rs6000/spe_cmp.S: Remove.  Split into:
	* config/rs6000/spe_cmpdf2.S: ...this.
	* config/rs6000/spe_eqdf2.S: ...this.
	* config/rs6000/spe_nedf2.S: ...this.
	* config/rs6000/spe_gedf2.S: ...this.
	* config/rs6000/spe_gtdf2.S: ...this.
	* config/rs6000/spe_ledf2.S: ...this.
	* config/rs6000/spe_ltdf2.S: ...this.
	* config/rs6000/spe_unorddf2.S: ...this.
	* config/rs6000/spe_unord_sub.S: ...and this.
	* config/rs6000/spe_cnv.S: Remove.  Split into:
	* config/rs6000/fixdfdi.S: ...this.
	* config/rs6000/fixdfsi.S: ...this.
	* config/rs6000/fixunsdfdi.S: ...this.
	* config/rs6000/fixunsdfsi.S: ...this.
	* config/rs6000/floatdidf.S: ...this.
	* config/rs6000/floatsidf.S: ...this.
	* config/rs6000/floatundidf.S: ...this.
	* config/rs6000/floatunsidf.S: ...this.
	* config/rs6000/extendsfdf2.S: ...this.
	* config/rs6000/truncdfsf2.S: ...this.
	* config/rs6000/t-spe-fprules (spe-files): Remove removed files.
	Add new files.

2010-04-08  Jie Zhang  <jie@codesourcery.com>

	Issue #7122

	gcc/
	* config/arm/vfp.md (thumb2_movdf_vfp): Require that one of
	the operands be a register.

	gcc/testsuite/
	* gcc.target/arm/neon-load-df0.c: Make it usable with
	-mfloat-abi=softfp.

2010-04-07  Thomas Schwinge  <thomas@codesourcery.com>
	    Daniel Jacobowitz  <dan@codesourcery.com>

	Issue #6715

	PR debug/40521

	gcc/
	* dwarf2out.c (NEED_UNWIND_TABLES): Define.
	(dwarf2out_do_frame, dwarf2out_do_cfi_asm, dwarf2out_begin_prologue)
	(dwarf2out_frame_finish, dwarf2out_assembly_start): Use it.
	(dwarf2out_assembly_start): Correct logic for TARGET_UNWIND_INFO.
	* config/arm/arm.h (DWARF2_UNWIND_INFO): Remove definition.
	* config/arm/bpabi.h (DWARF2_UNWIND_INFO): Define to zero.

2010-04-07  Jie Zhang  <jie@codesourcery.com>

	Issue #7122

	gcc/testsuite/
	* gcc.target/arm/neon-vdup-1.c: Make it usable with
	-mfloat-abi=softfp.
	* gcc.target/arm/neon-vdup-2.c: Likewise.
	* gcc.target/arm/neon-vdup-3.c: Likewise.
	* gcc.target/arm/neon-vdup-4.c: Likewise.
	* gcc.target/arm/neon-vdup-5.c: Likewise.
	* gcc.target/arm/neon-vdup-6.c: Likewise.
	* gcc.target/arm/neon-vdup-7.c: Likewise.
	* gcc.target/arm/neon-vdup-8.c: Likewise.
	* gcc.target/arm/neon-vdup-9.c: Likewise.
	* gcc.target/arm/neon-vdup-10.c: Likewise.
	* gcc.target/arm/neon-vdup-11.c: Likewise.
	* gcc.target/arm/neon-vdup-12.c: Likewise.
	* gcc.target/arm/neon-vdup-13.c: Likewise.
	* gcc.target/arm/neon-vdup-14.c: Likewise.
	* gcc.target/arm/neon-vdup-15.c: Likewise.
	* gcc.target/arm/neon-vdup-16.c: Likewise.
	* gcc.target/arm/neon-vdup-17.c: Likewise.
	* gcc.target/arm/neon-vdup-18.c: Likewise.
	* gcc.target/arm/neon-vdup-19.c: Likewise.

2010-04-07  Jie Zhang  <jie@codesourcery.com>

	Issue #7122

	* release-notes-csl.xml: Document.

	gcc/
	* config/arm/arm.c (arm_rtx_costs_1): Adjust cost for
	CONST_VECTOR.
	(arm_size_rtx_costs): Likewise.
	(thumb2_size_rtx_costs): Likewise.
	(neon_valid_immediate): Add a case for double 0.0.

	gcc/testsuite/
	* gcc.target/arm/neon-vdup-1.c: New test case.
	* gcc.target/arm/neon-vdup-2.c: New test case.
	* gcc.target/arm/neon-vdup-3.c: New test case.
	* gcc.target/arm/neon-vdup-4.c: New test case.
	* gcc.target/arm/neon-vdup-5.c: New test case.
	* gcc.target/arm/neon-vdup-6.c: New test case.
	* gcc.target/arm/neon-vdup-7.c: New test case.
	* gcc.target/arm/neon-vdup-8.c: New test case.
	* gcc.target/arm/neon-vdup-9.c: New test case.
	* gcc.target/arm/neon-vdup-10.c: New test case.
	* gcc.target/arm/neon-vdup-11.c: New test case.
	* gcc.target/arm/neon-vdup-12.c: New test case.
	* gcc.target/arm/neon-vdup-13.c: New test case.
	* gcc.target/arm/neon-vdup-14.c: New test case.
	* gcc.target/arm/neon-vdup-15.c: New test case.
	* gcc.target/arm/neon-vdup-16.c: New test case.
	* gcc.target/arm/neon-vdup-17.c: New test case.
	* gcc.target/arm/neon-vdup-18.c: New test case.
	* gcc.target/arm/neon-vdup-19.c: New test case.

2010-04-05  Nathan Froyd  <froydnj@codesourcery.com>

	gcc/
	* config.gcc (powerpc-*-eabi*): Use soft-fp/t-softfp.

2010-04-04  Maxim Kuvyrkov  <maxim@codesourcery.com>

	PR middle-end/40815

	gcc/
	* tree-ssa-reassoc.c (broken_up_substracts): Rename to plus_negates.
	(negate_value): Move code to push elements to broken_up_substracts ...
	(eliminate_plus_minus_pair): ... here.  Push operands that have no
	negative pair to plus_negates.
	(repropagate_negates, init_reassoc, fini_reassoc): Update.
	gcc/testsuite/
	* gcc.dg/tree-ssa/reassoc-19.c: New.

2010-04-02  Nathan Froyd  <froydnj@codesourcery.com>

	Issue #7937

	* release-notes-csl.xml: New note.

	libgcc/
	* configure.ac: Check for __SPE__ when compiling for powerpc*.
	* configure: Regenerate.
	* config.host: Add t-spe-fprules if compiling for SPE.
	* config/rs6000/t-spe-fprules: New file.
	* config/rs6000/spe_arith.S: New file.
	* config/rs6000/spe_cmp.S: New file.
	* config/rs6000/spe_cnv.S: New file.
	* config/rs6000?spe_neg.S: New file.

2010-04-02  Nathan Froyd  <froydnj@codesourcery.com>

	gcc/
	* config.gcc (powerpc-*-eabi*): Use rs6000/t-fprules-softfp.

2010-04-01  Nathan Sidwell  <nathan@codesourcery.com>

	gcc/
	* config/arm/nucleus.h (LINK_SPEC): Add -z defs alongside -shared.

2010-04-01  Jie Zhang  <jie@codesourcery.com>

	Issue #7944

	* release-notes-csl.xml: Document.

	Backporting from mainline:

	gcc/
	2010-03-31  Jie Zhang  <jie@codesourcery.com>

	PR 43562
	* reload.h (caller_save_initialized_p): Declare.
	* toplev.c (backend_init_target): Don't call
	init_caller_save but set caller_save_initialized_p
	to false.
	* caller-save.c (caller_save_initialized_p): Define.
	(init_caller_save): Check caller_save_initialized_p.
	* ira.c (ira): Call init_caller_save if flag_caller_saves.

	gcc/testsuite/
	2010-03-31  Jie Zhang  <jie@codesourcery.com>

	PR 43562
	* gcc.dg/pr43562.c: New test.

2010-04-01  Jie Zhang  <jie@codesourcery.com>

	Issue #8315

	Backport from mainline:

	gcc/cp/
	2009-12-15  Jakub Jelinek  <jakub@redhat.com>

	PR c++/41183
	* cp-tree.h (current_class_ptr): Give NULL even when cfun
	has NULL cfun->language.

	gcc/testsuite/
	2009-12-15  Jakub Jelinek  <jakub@redhat.com>

	PR c++/41183
	* g++.dg/torture/pr41183.C: New test.

2010-03-31  Joseph Myers  <joseph@codesourcery.com>

	Backport from FSF:

	gcc/
	2009-10-10  Peter Bergner  <bergner@vnet.ibm.com>

	* configure.ac: Add test for dci instruction.
	* configure: Regenerate.
	* config.in: Likewise.
	* config.gcc: Handle --with-cpu=476 and --with-cpu=476fp.
	* doc/invoke.texi: Add cpu_type 476 and 476fp.
	(-mmulhw): Add 476 to description.
	(-mdlmzb): Likewise.
	* config/rs6000/t-fprules (MULTILIB_MATCHES_FLOAT): Include -mcpu=476.
	* config/rs6000/rs6000.c (processor_costs): Add ppc476_cost.
	(processor_target_table): Add 476 and 476fp entries.
	(rs6000_override_options): Use ppc476_cost for PROCESSOR_PPC476.
	(rs6000_issue_rate): Add CPU_PPC476.
	* config/rs6000/rs6000.h (ASM_CPU_476_SPEC): Define.
	(ASM_CPU_SPEC): Pass %(asm_cpu_476) for -mcpu=476 and -mcpu=476fp.
	(processor_type): Add PROCESSOR_PPC476.
	(EXTRA_SPECS): Add asm_cpu_476 string.
	* config/rs6000/rs6000.md: (define_attr "type"): Add isel attribute.
	(define_attr "cpu"): Add ppc476.
	Include 476.md.
	Update comments for 476.
	(isel_signed, isel_unsigned): Change to use "isel" type attribute.
	* config/rs6000/vxworks.h (CPP_SPEC): Handle 464 and 476.
	Update copyright year.
	* config/rs6000/476.md: New file.
	* config/rs6000/40x.md: Add description for "isel" attribute.
	Update copyright year.
	* config/rs6000/440.md: Likewise.
	* config/rs6000/603.md: Likewise.
	* config/rs6000/6xx.md: Likewise.
	* config/rs6000/7450.md: Likewise.
	* config/rs6000/7xx.md: Likewise.
	* config/rs6000/8540.md: Likewise.
	* config/rs6000/cell.md: Likewise.
	* config/rs6000/e300c2c3.md: Likewise.
	* config/rs6000/e500mc.md: Likewise.
	* config/rs6000/mpc.md: Likewise.
	* config/rs6000/power4.md: Likewise.
	* config/rs6000/power5.md: Likewise.
	* config/rs6000/power6.md: Likewise.
	* config/rs6000/power7.md: Likewise.
	* config/rs6000/rios1.md: Likewise.
	* config/rs6000/rios2.md: Likewise.
	* config/rs6000/rs64.md: Likewise.

2010-03-30  Joseph Myers  <joseph@codesourcery.com>

	Issue #5851

	Backport:

	gcc/
	2009-06-16  J"orn Rennecke  <joern.rennecke@arc.com>
		    Janis Johnson  <janis187@us.ibm.com>

	PR target/39254
	* config/rs6000/rs6000.c (rs6000_emit_move): Don't emit a USE
	for the symbol ref of a constant that is the source of a move
	- nor for any other not-obvious-label-ref constants.

2010-03-30  Joseph Myers  <joseph@codesourcery.com>

	gcc/
	* config/arm/t-wrs-linux (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
	MULTILIB_EXCEPTIONS, MULTILIB_MATCHES, MULTILIB_ALIASES): Remove
	handling of -tiwmmxt, -txscale, -tarm920t, -tthumb2 and
	-tcortex-a8-be8.
	* config/arm/wrs-linux.h (CC1_SPEC): Remove handling of -tiwmmxt,
	-txscale, -tarm920t, -tthumb2 and -tcortex-a8-be8.
	(SUBTARGET_EXTRA_ASM_SPEC, SUBTARGET_EXTRA_LINK_SPEC): Remove.
	(SYSROOT_SUFFIX_SPEC): Remove handling of -tiwmmxt, -txscale,
	-tarm920t, -tthumb2 and -tcortex-a8-be8.

2010-03-30  Joseph Myers  <joseph@codesourcery.com>

	gcc/
	* config/mips/t-octeon-elf (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
	MULTILIB_EXCEPTIONS): Add Octeon II multilibs.
	* config/mips/t-wrs-linux (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
	MULTILIB_EXCEPTIONS, MULTILIB_OSDIRNAMES): Add Octeon II
	multilibs.
	* config/mips/wrs-linux.h (SYSROOT_SUFFIX_SPEC): Handle
	-march=octeon2.

2010-03-26  Jie Zhang  <jie@codesourcery.com>

	Issue #7127

	* release-notes-csl.xml: Document.

	Backport from mainline:

	gcc/cp/
	2010-02-12  Jason Merrill  <jason@redhat.com>

	PR c++/43024
	* name-lookup.h (current_binding_level): Check for null
	cp_function_chain.

	gcc/testsuite/
	2010-02-14  Volker Reichelt  <reichelt@gcc.gnu.org>

	PR c++/43024
	* g++.dg/opt/ice1.C: New.

2010-03-24  Joseph Myers  <joseph@codesourcery.com>

	Issue #7919

	Backport:

	fixincludes/
	2010-03-24  Joseph Myers  <joseph@codesourcery.com>

	* inclhack.def (glibc_strncpy): New fix.
	* fixincl.x: Regenerate.
	* tests/base/bits/string2.h: Update.

	gcc/testsuite/
	2010-03-24  Joseph Myers  <joseph@codesourcery.com>

	* gcc.dg/strncpy-fix-1.c: New test.

2010-03-23  Catherine Moore  <clm@codesourcery.com>

	gcc/
	* config/mips/mips.c (mips_cpu_info_table): Add m14kc.

2010-03-21  Andrew Jenner  <andrew@codesourcery.com>

	Issue #8092

	libgfortran/
	* io/unix.c (tempfile): Check fd for -1, not negative.
	(regular_file): Likewise.
	(open_external): Likewise.
	(fallback_access): Likewise.

2010-03-18  Jie Zhang  <jie@codesourcery.com>

	Issue #7122

	* release-notes-csl.xml: Document.

	gcc/
	* config/arm/vfp.md (movdf_vfp): Add load double 0.0 case.
	(thumb2_movdf_vfp): Likewise.
	* config/arm/constraints.md (D0): New constraint.

	gcc/testsuite/
	* gcc.target/arm/neon-load-df0.c: New test.

2010-03-17  Sandra Loosemore  <sandra@codesourcery.com>

	Issue #8002

	* release-notes-csl.xml (Incorrect code generation bug fix): New note.

	Backport from mainline:

	gcc/
	2009-11-30  Chao-ying Fu  <fu@mips.com>

	* config/mips/mips-dsp.md (mips_lhx_<mode>): Use sign_extend.

	gcc/testsuite/
	2009-11-30  Chao-ying Fu  <fu@mips.com>

	* gcc.target/mips/dsp-lhx.c: New test.
	* gcc.target/mips/dsp-no-lhx.c: New test.

2010-03-12  Joseph Myers  <joseph@codesourcery.com>

	gcc/
	* config/arm/t-wrs-linux (MULTILIB_EXCEPTIONS,  MULTILIB_ALIASES):
	Enable -muclibc -tthumb2-v7-a-neon multilib.

2010-03-11  Jie Zhang  <jie@codesourcery.com>

	gcc/
	* config/arm/arm.c (arm_file_start): Remove unused
	set_float_abi_attributes.

2010-03-11  Jie Zhang  <jie@codesourcery.com>

	gcc/
	* config/arm/arm.c (thumb2_size_rtx_costs): Add missing
	GET_CODE ().

2010-03-11  Jie Zhang  <jie@codesourcery.com>

	Backport from upstream:

	gcc/
	2010-03-09  Jie Zhang  <jie@codesourcery.com>

	* config/arm/arm.md (thumb_mulsi3_v6): Remove trailing
	whitespaces in output template.

2010-03-11  Nathan Sidwell  <nathan@codesourcery.com>

	Issue #7999

	libstdc++/
	* configure.host (arm*-*-nucleauseabi): Add arm-eabi-extra.ver.
	* config/os/nucleus/arm-eabi-extra.ver: New.

2010-03-10  Joseph Myers  <joseph@codesourcery.com>

	gcc/
	* config/arm/t-wrs-linux (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
	MULTILIB_EXCEPTIONS, MULTILIB_ALIASES): Add v7-A multilibs.
	* config/arm/wrs-linux.h (CC1_SPEC, SYSROOT_SUFFIX_SPEC):
	Likewise.

2010-03-09  Nathan Froyd  <froydnj@codesourcery.com>

	Revert:

	gcc/
	2010-03-08  Nathan Froyd  <froydnj@codesourcery.com>

	* config/rs6000/rs6000.md (define_insn ""): Disable on TARGET_ISEL targets.

2010-03-09  Nathan Sidwell  <nathan@codesourcery.com>

	Issue #7940
	Backport 2009-10-14  Jakub Jelinek  <jakub@redhat.com>
	
	gcc/
	PR preprocessor/41543
	* input.h (BUILTINS_LOCATION): Change to 1 from 2.
	Assert BUILTINS_LOCATION < RESERVED_LOCATION_COUNT.
	* tree.c: Include intl.h.
	(expand_location): Handle BUILTINS_LOCATION.
	* Makefile.in (tree.o): Depend on intl.h.

	gcc/testsuite/
	PR preprocessor/41543
	* gcc.dg/debug/dwarf2/pr41543.c: New test.

	libcpp/
	PR preprocessor/41543
	* include/line-map.h (RESERVED_LOCATION_COUNT): Define.
	* line-map.c (linemap_init): Initialize highest_location and
	highest_line to RESERVED_LOCATION_COUNT-1 instead of 0.

	* release-notes-csl.xml: Document.

2010-03-09  Nathan Froyd  <froydnj@codesourcery.com>

	Backport from mainline:

	gcc/testsuite/
	2009-12-07  Edmar Wienskoski  <edmar@freescale.com>

	* gcc.target/powerpc/ppc-eq0-1.c: Adjust testcase for isel
	targets.

2010-03-09  Nathan Froyd  <froydnj@codesourcery.com>

	gcc/testsuite/
	* gcc.target/powerpc/block-move-1.c (memcpy): Declare.
	* gcc.target/powerpc/block-move-2.c (memcpy): Likewise.

2010-03-09  Paul Brook  <paul@codesourcery.com>

	* release-notes-csl.xml: Add missing Cortex-M4 note.

2010-03-08  Paul Brook  <paul@codesourcery.com>

	gcc/
	* doc/invoke.texi: Document ARM -mcpu=cortex-m4.
	* config/arm/arm.c (all_architectures): Change v7e-m default to
	cortexm4.
	* config/arm/arm-cores.def: Add cortex-m4.
	* config/arm/arm-tune.md: Regenerate.

2010-03-08  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config/arm/t-cs-eabi (MULTILIB_MATCHES): Add cortex-m4.
	* config/arm/t-cs-eabi-lite (MULTILIB_MATCHES): Ditto.
	* config/arm/t-cs-uclinux-eabi (MULTILIB_MATCHES): Ditto.

2010-03-08  Nathan Froyd  <froydnj@codesourcery.com>

	Issue #7183

	* config/rs6000/rs6000.c (rs6000_emit_int_cmove): Don't force_reg on
	const0_rtx operand.
	* config/rs6000/rs6000.md (isel_signed, isel_unsigned): Permit
	const_int 0 for the second operand; make third operand slightly more
	lenient.
	(define_insn ""): Disable on TARGET_ISEL targets.

2010-03-08  Julian Brown  <julian@codesourcery.com>

	* release-notes-csl.xml (Thumb-2 size optimization improvements): Add
	note.

2010-03-05  Nathan Froyd  <froydnj@codesourcery.com>

	Issue #7183

	* release-notes-csl.xml: New notes.

	gcc/
	* doc/invoke.texi (mblock-move-inline-limit): Tweak @opindex directive.
	Tweak text to reflect target-specific setting of this option.

2010-03-05  Nathan Froyd  <froydnj@codesourcery.com>

	Issue #7792

	Backport from upstream:

	gcc/
	2009-09-10  Nathan Froyd  <froydnj@codesourcery.com>

	* config/rs6000/rs6000.h (DATA_ALIGNMENT): Check that we are dealing
	with actual SPE/paired vector modes before using 64-bit alignment.
	Check that TYPE is a REAL_TYPE for TARGET_E500_DOUBLE.

2010-03-04  Nathan Froyd  <froydnj@codesourcery.com>

	Issue #7183

	gcc/
	* config/rs6000/rs6000.c (rs6000_emit_int_cmove): Change prototype.
	Ensure that isel pattern is only emitted with proper conditions.
	(rs6000_emit_cmove): Change call to rs6000_emit_int_cmove to match.
	(output_isel): Check that condition is LT, GT, LTU, GTU, or EQ.
	(rs6000_emit_sISEL): New function.
	(rs6000_emit_sCOND): Call it if computing an SImode result.
	(rs6000_rtx_costs): Alter costs for comparisons for TARGET_ISEL.
	* config/rs6000/rs6000.md (abssi2_isel): Change pattern to use
	lt rather than ge.
	(isel_signed, isel_unsigned): Tighten constraints on comparison
	operator.
	(sne, sge, sgt, sle, slt): Check TARGET_ISEL.

2010-03-04  Nathan Froyd  <froydnj@codesourcery.com>

	Issue #7183

	gcc/
	* config/rs6000/rs6000.opt (mblock-move-inline-limit=): New option.
	* config/rs6000/rs6000.c (rs6000_override_options): Set
	rs6000_block_move_inline_limit.
	* doc/invoke.texi (-mblock-move-inline-limit): Document.
	
	gcc/testsuite/
	* gcc.target/powerpc/block-move-1.c: New test.
	* gcc.target/powerpc/block-move-2.c: New test.

2010-03-02  Nathan Froyd  <froydnj@codesourcery.com>

	gcc/
	* tree-ssa-remove-local-statics.c (check_definedness): Pass NO_INSERT
	to htab_find_slot.  Make necessary changes as a result of doing so.
	(compute_definedness_for_block): Likewise.

2010-03-02  Nathan Sidwell  <nathan@codesourcery.com>

	Issue #7928
	
	* libtool.4 (nucleuseabi): Set deplibs check method.

	libstdc++-v3/
	* configure: Rebuilt.

2010-03-01  Nathan Froyd  <froydnj@codesourcery.com>

	Issue #7788

	gcc/
	* tree-ssa-remove-local-statics.c (check_definedness): Dump the
	defined bitmap and information about the decl if debugging.
	Do not clear the hash table slot; instead, set decl->optimizable_p
	to false.
	(unstaticize_variable): Finish if we can't optimize.
	(execute_rls): Only do TODO_rebuild_alias and TODO_update_ssa if
	we optimized anything.
	(pass_remove_local_statics): Remove TODO_rebuild_alias and
	TODO_update_ssa.

2010-02-28  Mark Mitchell  <mark@codesourcery.com>

	Issue #7791

	Backport from mainline:

	gcc/cp/
	2010-02-27  Mark Mitchell  <mark@codesourcery.com>

	PR c++/42748
	* cp-tree.h (push_tinst_level): Declare.
	(pop_tinst_level): Likewise.
	* pt.c (push_tinst_level): Give it external linkage.
	(pop_tinst_level): Likewise.
	* mangle.c (mangle_decl_string): Set the source location to that
	of the decl while mangling.

	gcc/testsuite/
	2010-02-27  Mark Mitchell  <mark@codesourcery.com>

	PR c++/42748
	* g++.dg/abi/mangle11.C: Adjust mangling warning locations.
	* g++.dg/abi/mangle12.C: Likewise.
	* g++.dg/abi/mangle20-2.C: Likewise.
	* g++.dg/abi/mangle17.C: Likewise.
	* g++.dg/template/cond2.C: Likewise.
	* g++.dg/template/pr35240.C: Likewise.

2010-02-25  Daniel Jacobowitz  <dan@codesourcery.com>
	    Pedro Alves  <pedro@codesourcery.com>

	libiberty/
	* cygpath.c (IMAGE_IMPORT_MODULE_DIRECTORY)
	(PIMAGE_IMPORT_MODULE_DIRECTORY, IMAGE_DIRECTORY_ENTRY_IMPORT): New.
	(msvcrt_dll): Use GetModuleHandle instead of
	LoadLibrary.  Check the import table to figure out which C
	runtime to use.
	(msvcrt_stat): New function.  Check for _stat32, _stat64i32,
	and _stat.
	(stat): Use msvcrt_stat.

2010-02-25  Andrew Stubbs  <ams@codesourcery.com>

	gcc/
	* config/sh/sh.c (sh_output_mi_thunk): Adjust sibcalls for FDPIC.
	* config/sh/sh.md (sibcalli_pcrel): Add !TARGET_FDPIC condition.
	(sibcalli_pcrel_fdpic): New insn.
	(sibcall_pcrel_fdpic): New insn.
	(sibcall): Adjust for FDPIC.
	(sibcall_valuei_pcrel): Add !TARGET_FDPIC condition.
	(sibcall_valuei_pcrel_fdpic): New insn.
	(sibcall_value_pcrel): Add !TARGET_FDPIC condition.
	(sibcall_value_pcrel_fdpic): New insn.
	(sibcall_value): Adjust for FDPIC.

2010-02-25  Maxim Kuvyrkov  <maxim@codesourcery.com>

	gcc/
	* tree.c (initializer_zerop): Handle STRING_CST.

2010-02-24  Andrew Stubbs  <ams@codesourcery.com>

	gcc/
	* config/sh/sh.c (legitimize_pic_address): Use GOTFUNCDESC for weak
	symbols.

2010-02-24  Catherine Moore  <clm@codesourcery.com>

	gcc/
	* config/mips/t-sgxx-linux (MULTILIB_EXTRA_OPTS): Remove.
	* config/mips/t-sgxxlite-linux (MULTILIB_EXTRA_OPTS): Remove.

2010-02-24  Catherine Moore  <clm@codesourcery.com>

	gcc/
	* config/mips/linux.h (SUBTARGET_CC1_SPEC): Pass -mno-jals
	in the absence of -mjals.
	* config/mips/mips.opt (mjals): Fix typo.

	* release-notes-csl.xml: Document.

2010-02-23  Julian Brown  <julian@codesourcery.com>

	gcc/
	* config/arm/arm.c (thumb2_size_rtx_costs): New.
	(arm_rtx_costs): Call above for Thumb-2.

2010-02-23  Julian Brown  <julian@codesourcery.com>

	gcc/
	* calls.c (precompute_register_parameters): Avoid generating a
	register move if optimizing for size.

2010-02-20  Joseph Myers  <joseph@codesourcery.com>

	gcc/
	* config/mips/linux-unwind.h (mips_fallback_frame_state): Return
	early if pc not 4-byte aligned.

2010-02-19  Joseph Myers  <joseph@codesourcery.com>

	gcc/
	* configure.ac (gcc_cv_libc_provides_ssp): Set to yes for
	GNU/Linux targets with libssp disabled.
	* configure: Regenerate.

2010-02-19  Julian Brown  <julian@codesourcery.com>

	Issue #7760

	gcc/cp/
	* mangle.c (mangle_decl_string): Set input location to location of
	decl.

2010-02-18  Maciej W. Rozycki  <macro@codesourcery.com>

	* release-notes-csl.xml: s/M14KC/M14Kc/.

2010-02-17  Nathan Sidwell  <nathan@codesourcery.com>

	gcc/
	* config/arm/nucleus.h (STARTFILE_SPEC, ENDFILE_SPEC): Add shared
	crtbegin, crtend bits.
	* config/arm/t-nucleus: New.
	* config.gcc (arm-samsung-nucleuseabi): Add t-nucleus fragment.

2010-02-16  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config.gcc (arm*-*-symbianelf*): Add t-bpabi to t-symbian.
	* config/arm/symbian.h (RENAME_LIBRARY): Remove.
	* config/arm/lib1funcs.asm: Remove __symbian__ conditionals.
	* config/arm/libunwind.S: Ditto.
	* config/arm/t-symbian (LIB1ASMFUNCS): Remove.
	(UNWIND_H, LIB2ADDEH, LIB2ADDEHDEP): Remove.
	(LIB2FUNCS_STATIC_EXTRA): Remove.
	(LIB2FUNCS_EXTRA): Add eabi-memcpy.c and eabi-memset.c.
	* config/arm/eabi-memcpy.c: New file.
	* config/arm/eabi-memset.c: New file.

	libstdc++-v3/
	* libsupc++/Makefile.am (sources): Add vec.cc when LIBSUPCXX_PRONLY.
	* libsupc++/Makefile.in: Regenerate.

2010-02-16  Daniel Jacobowitz  <dan@codesourcery.com>

	libiberty/
	* cygpath.c (cygpath): If cygpath exits, retry on the next request.

2010-02-16  Sandra Loosemore  <sandra@codesourcery.com>

	* release-notes-csl.xml: Document microMIPS.

2010-02-15  Julian Brown  <julian@codesourcery.com>

	Issue #7329

	* release-notes-csl.xml (Improved code generation for Cortex-A9): Add
	note.

	Backport from mainline:

	Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	gcc/
	* config/arm/cortex-a9.md: New - integer pipeline description.

2010-02-15  Julian Brown  <julian@codesourcery.com>

	Issue #7486

	gcc/
	* config/arm/arm.c (arm_libcall_value, arm_init_cumulative_args):
	Use correct ABI for double-precision helper functions in hard-float
	mode if only single-precision arithmetic is supported in hardware.

2010-02-11  Julian Brown  <julian@codesourcery.com>

	Issue #3685

	* release-notes-csl.xml (Thumb-2 function call optimization): Add
	note.

2010-02-11  Andrew Stubbs  <ams@codesourcery.com>

	gcc/
	* config/sh/uclinux.h (STARTFILE_SPEC): Append FDPIC_STARTFILE_SPEC.
	(FDPIC_STARTFILE_SPEC): New define.

2010-02-09  Julian Brown  <julian@codesourcery.com>
	    Mark Mitchell  <mark@codesourcery.com>

	Issue #3685

	gcc/
	* config/arm/arm.c (arm_function_ok_for_sibcall): Allow sibling
	calls for Thumb-2.
	(output_return_instruction): Use pop not ldmfd for Thumb-2.
	* config/arm/arm.h (USE_RETURN_INSN): Enable for Thumb-2.
	* config/arm/arm.md (*call_symbol, *call_value_symbol): Use for
	Thumb-2.
	(*call_insn, *call_value_insn): Don't use for Thumb-2.
	(sibcall, sibcall_value, *sibcall_insn, *sibcall_value_insn): Use
	for Thumb-2.
	(return): New expander.
	(*arm_return): New name for ARM return insn.
	(*thumb2_return): New insn pattern.

2010-02-09  Julian Brown  <julian@codesourcery.com>

	Issue #7336, #7568

	* release-notes-csl.xml (Thumb-2 internal compiler error fix)
	(Thumb-2 multiply fix): New notes.

2010-02-09  Joseph Myers  <joseph@codesourcery.com>

	gcc/
	* config/mips/t-sgxxlite-linux (MULTILIB_OPTIONS,
	MULTILIB_DIRNAMES): Add microMIPS multilibs.
	(MULTILIB_EXCEPTIONS, MULTILIB_EXTRA_OPTS): New.
	* config/mips/cs-sgxxlite-linux.h (SYSROOT_SUFFIX_SPEC): Update.
	* config/mips/t-sgxx-linux (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
	MULTILIB_EXCEPTIONS): Add microMIPS multilibs.
	(MULTILIB_EXTRA_OPTS): New.
	* config/mips/cs-sgxx-linux.h (SYSROOT_SUFFIX_SPEC): Update.

2010-02-09  Nathan Sidwell  <nathan@codesourcery.com>

	gcc/
	* config/arm/nucleus.h (LINK_SPEC): Check -shared too.

2010-02-05  Nathan Froyd  <froydnj@codesourcery.com>

	Backport from mainline:

	gcc/
	2009-06-25  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	PR target/38731
	* config/rs6000/rs6000.c (LOCAL_ALIGNMENT): Redefine to just use
	DATA_ALIGNMENT instead.

2010-02-05  Nathan Froyd  <froydnj@codesourcery.com>

	Issue #7587

	* release-notes-csl.xml: New note.

	Backport from mainline:

	gcc/
	2010-02-05  Nathan Froyd  <froydnj@codesourcery.com>
	
	* config/rs6000/rs6000.c (rs6000_override_options): Invert check
	for rs6000_gen_cell_microcode.

2010-02-04  Maxim Kuvyrkov  <maxim@codesourcery.com>

	Issue #7660

	gcc/
	* config/arm/arm.h (FUNCTION_BOUNDARY): Set minimal allowed alignment
	for THUMB mode when optimizing for space.

2010-02-04  Maxim Kuvyrkov  <maxim@codesourcery.com>

	Backport from mainline (for thumb2 size reduction):

	gcc/
	2009-11-22  Richard Earnshaw  <rearnsha@arm.com>
	* opts.c (decode_options): Don't enable flag_schedule_insns 
	when optimizing for size.
	* doc/invoke.texi: Document change.

2010-02-04  Daniel Jacobowitz  <dan@codesourcery.com>

	Issue #7197 - backtrace() through throw()

	* release-notes-csl.xml (Improved backtrace function): New
	note.

	libstdc++-v3/
	* libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): For
	ARM EABI, skip handlers for _US_VIRTUAL_UNWIND_FRAME
	| _US_FORCE_UNWIND.

2010-02-03  Daniel Gutson  <dgutson@codesourcery.com>

	Issue #6472

	gcc/
	* config/arm/lib1funcs.asm (__ARM_ARCH__): __ARM_ARCH_7EM__
	added to the preprocessor condition.

2010-02-02  Joseph Myers  <joseph@codesourcery.com>

	gcc/
	* config/mips/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Set
	TARGET_INTERLINK_MIPS16.

2010-02-01  Julian Brown  <julian@codesourcery.com>

	gcc/
	* config/arm/arm.md (*arm_cmpdi_insn, *arm_cmpdi_zero)
	(*thumb_cmpdi_zero): Remove extraneous parallel around rtx patterns.

2010-01-29  Nathan Sidwell  <nathan@codesourcery.com>

	* libtool.m4 (nucleus*): Add shared library logic.

	gcc/
	* config.gcc (arm*-*-nucleuseabi*): Add nucleus and shared library
	logic.
	* config/arm/nucleus.h: New.

	libstdc++-v3/
	* configure: Regenerated.

2010-01-24  Mark Mitchell  <mark@codesourcery.com>

	Backport from mainline:
	
	2010-01-24  Mark Mitchell  <mark@codesourcery.com>

	PR c++/42748
	* config/arm/arm.c (arm_mangle_type): Do not warn about changes to
	mangling of va_list in system headers.

	2010-01-24  Mark Mitchell  <mark@codesourcery.com>

	PR c++/42748
	* g++.dg/abi/arm_va_list2.C: New test.
	* g++.dg/abi/arm_va_list2.h: Companion header file.

	* release-notes-csl.xml: Document.
	
2010-01-13  Nathan Froyd  <froydnj@codesourcery.com>

	Issue #6401

	Backport from mainline:

	boehm-gc/
	2009-07-17  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR boehm-gc/40785
	* include/private/gc_locks.h (GC_test_and_set): If GCC 4.4, use
	the __sync_lock_test_and _set and __sync_lock_release builtins on
	the powerpc.  If not GCC 4.4, fix up the constraints so that it
	builds without error.
	(GC_clear): Ditto.

2010-01-11  Sandra Loosemore  <sandra@codesourcery.com>

	Issue #6964
	* release-notes-csl.xml (Improved NEON code generation): New note.

2010-01-11  Maciej W. Rozycki  <macro@codesourcery.com>

	Issue #4656
	Backport from FSF:

	gcc/
	2009-04-18  Adam Nemet  <anemet@caviumnetworks.com>
	* config/mips/mips.c (mips_final_postscan_insn): Make it static.

	gcc/
	2009-04-10  Chao-ying Fu  <fu@mips.com>
	* doc/tm.texi (Instruction Output): Document
	TARGET_ASM_FINAL_POSTSCAN_INSN.
	* target.h (final_postscan_insn): New field in asm_out.
	* target-def.h (TARGET_ASM_FINAL_POSTSCAN_INSN): New define.
	(TARGET_ASM_OUT): Add TARGET_ASM_FINAL_POSTSCAN_INSN.
	* final.c (final_scan_insn): Call
	targetm.asm_out.final_postscan_insn after outputting
	an asm macro and a normal instruction.

	* config/mips/mips.h (FINAL_PRESCAN_INSN): New define.
	* config/mips/mips-protos.h (mips_final_prescan_insn): Declare.
	* config/mips/mips.c (mips_at_reg_p): New for_each_rtx callback.
	(mips_final_prescan_insn, mips_final_postscan_insn): New functions.
	(TARGET_ASM_FINAL_POSTSCAN_INSN): New define.

	* release-notes-csl.xml
	(Interrupt handler code generation bug fix): New.

2010-01-08  Sandra Loosemore  <sandra@codesourcery.com>

	Issue #6964

	gcc/
	* config/arm/neon.md (UNSPEC_VADD): Delete.
	(UNSPEC_VMLA): Delete.
	(UNSPEC_VMLS): Delete.
	(UNSPEC_VMUL_N): Delete.
	(UNSPEC_VSUB): Delete.
	(adddi3_neon): New.
	(subdi3_neon): New.
	(mul<mode>3add<mode>_neon): Make a named insn.
	(mul<mode>3<neg>add<mode>_neon): Likewise.
	(neon_vadd<mode>): Turn into define_expand, get rid of unspec.
	(neon_vmla<mode>): Likewise.
	(neon_vmls<mode>): Likewise.
	(neon_vsub<mode>): Likewise.
	* config/arm/arm.md (arm_adddi3): Don't use for TARGET_NEON.
	(arm_subdi3): Likewise.

2010-01-08  Chao-ying Fu  <fu@mips.com>
	    Catherine Moore  <clm@codesourcery.com>

	gcc/
	* config/mips/mips-protos.h (micromips_load_store_pair_p): Add
	argument.
	* config/mips/mips.c (micromips_load_store_pair_p): New
	argument swap_p.  Check for base + offset.  Check for
	anti-dependence.
	* config/mips/micromips.md: Adjust callers of
	micromips_load_store_p to pass additional argument.
	
2010-01-08  Daniel Jacobowitz  <dan@codesourcery.com>
	    Julian Brown  <julian@codesourcery.com>

	gcc/
	* config/arm/arm.c (arm_canonicalize_comparison): Canonicalize DImode
	comparisons.  Adjust to take both operands.
	(arm_select_cc_mode): Handle DImode comparisons.
	(arm_gen_compare_reg): Generate a scratch register for DImode
	comparisons which require one.  Use xor for Thumb equality checks.
	(arm_const_double_by_immediates): New.
	(arm_print_operand): Allow 'Q' and 'R' for constants.
	(get_arm_condition_code): Handle new CC_CZmode and CC_NCVmode.
	* config/arm/arm.h (CANONICALIZE_COMPARISON): Always use
	arm_canonicalize_comparison.
	* config/arm/arm-modes.def: Add CC_CZmode and CC_NCVmode
	* config/arm/arm-protos.h (arm_const_double_by_immediates): Declare.
	(arm_canonicalize_comparison): Update prototype.
	* config/arm/constraints.md (Di): New constraint.
	* config/arm/predicates.md (arm_immediate_di_operand)
	(arm_di_operand, cmpdi_operand): New.
	* config/arm/arm.md (*arm_cmpdi_insn, *arm_cmpdi_unsigned)
	(*arm_cmpdi_zero, *thumb_cmpdi_zero): New insns.
	(cmpdi): Handle non-Cirrus also.
	(bgt, ble, bgtu, bleu, sgt, sle, sgtu, sleu): Reverse DImode
	comparisons.

2010-01-08  Julian Brown  <julian@codesourcery.com>

	gcc/
	* config/arm/thumb2.md (*thumb2_addsi3_compare0): New.
	(*thumb2_addsi3_compare0_scratch): New.
	* config/arm/constraints.md (Pu): New.
	* config/arm/arm.md (*addsi3_compare0): Remove FIXME comment. Use
	for ARM mode only.
	(*addsi3_compare0_scratch): Likewise.

2010-01-07  Julian Brown  <julian@codesourcery.com>

	Backport from mainline:

	2009-12-05  Richard Earnshaw  <rearnsha@arm.com>

	gcc/
	* config/arm/thumb2.md (thumb2_mulsi_short_compare0_scratch): Use a
	low register for the scratch.

2010-01-07  Julian Brown  <julian@codesourcery.com>

	Issue #7336
	Backport from mainline:

	2009-12-02  Richard Earnshaw  <rearnsha@arm.com>

	gcc/
	* config/arm/thumb2.md (thumb_andsi_not_shiftsi_si): Final condition
	should be TARGET_THUMB2.

2010-01-06  Maxim Kuvyrkov  <maxim@codesourcery.com>

	Issue #7450

	* release-notes-csl.xml (-pthread compiler option fix): New note.

	gcc/
	* config/m68k/uclinux.h (LIB_SPEC): Bring in sync with config/linux.h.

2010-01-05  Joseph Myers  <joseph@codesourcery.com>

	* configure.ac: Handle arm*-*-nucleuseabi.
	* configure: Regenerate.

	gcc/
	* config.gcc: Handle arm*-*-nucleuseabi*.

	libgcc/
	* config.host: Handle arm*-*-nucleuseabi*.

2010-01-02  Joseph Myers  <joseph@codesourcery.com>

	gcc/
	* config/mips/t-sgxx-linux (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
	MULTILIB_EXCEPTIONS): Add microMIPS multilibs.
	(MULTILIB_EXTRA_OPTS): New.
	* config/mips/cs-sgxx-linux.h (SYSROOT_SUFFIX_SPEC): Update.

2009-12-30  Joseph Myers  <joseph@codesourcery.com>

	gcc/
	* config/mips/t-sgxxlite-linux (MULTILIB_OPTIONS,
	MULTILIB_DIRNAMES): Add microMIPS multilibs.
	(MULTILIB_EXCEPTIONS, MULTILIB_EXTRA_OPTS): New.
	* config/mips/cs-sgxxlite-linux.h (SYSROOT_SUFFIX_SPEC): Update.

2009-12-29  Sandra Loosemore  <sandra@codesourcery.com>

	Issue #5785

	* release-notes-csl.xml (Code size with -g): New note.

	gcc/
	Backport from FSF 4.4:

	2009-10-19  Jakub Jelinek  <jakub@redhat.com>

	Backport from mainline:
	2009-10-16  Jakub Jelinek  <jakub@redhat.com>

	PR debug/40521
	* debug.h (struct gcc_debug_hooks): Add assembly_start hook.
	* cgraphunit.c (cgraph_optimize): Call it.
	* dwarf2out.c (dwarf2out_init): Move .cfi_sections printing into...
	(dwarf2out_assembly_start): ... here.  New hook.
	(dwarf2out_debug_hooks): Add dwarf2out_assembly_start.
	* debug.c (do_nothing_debug_hooks): Do nothing for assembly_start
	hook.
	* dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise.
	* sdbout.c (sdb_debug_hooks): Likewise.
	* vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_assembly_start.
	(vmsdbgout_assembly_start): New hook.

	2009-10-09  Jakub Jelinek  <jakub@redhat.com>

	PR debug/40521
	* dwarf2out.c (dwarf2out_init): Test whether
	HAVE_GAS_CFI_SECTIONS_DIRECTIVE is non-zero instead of checking
	it is defined.

	2009-10-02  Jakub Jelinek  <jakub@redhat.com>

	PR debug/40521
	* configure.ac (HAVE_GAS_CFI_SECTIONS_DIRECTIVE): New test.
	* configure: Regenerated.
	* config.in: Regenerated.
	* dwarf2out.c (dwarf2out_do_cfi_asm): Return false if
	!HAVE_GAS_CFI_SECTIONS_DIRECTIVE and not emitting .eh_frame.
	(dwarf2out_init): If HAVE_GAS_CFI_SECTIONS_DIRECTIVE and
	not emitting .eh_frame, emit .cfi_sections .debug_frame
	directive.

2009-12-28  Sandra Loosemore  <sandra@codesourcery.com>

	Issue #7431

	gcc/testsuite/
	* gcc.target/arm/neon-vmov_ns64.c: Add explicit return statement.
	* gcc.target/arm/neon-vmov_nu64.c: Likewise.
	* gcc.target/arm/neon-vdup_ns64.c: Likewise.
	* gcc.target/arm/neon-vdup_nu64.c: Likewise.
	* gcc.target/arm/neon-vget_lanes64.c: Likewise.
	* gcc.target/arm/neon-vget_laneu64.c: Likewise.
	* gcc.target/arm/neon-vset_lanes64.c: Likewise.
	* gcc.target/arm/neon-vset_laneu64.c: Likewise.

2009-12-28  Sandra Loosemore  <sandra@codesourcery.com>

	Issue #6964

	gcc/
	* config/arm/neon.md (UNSPEC_VDUP_LANE): Delete.
	(V_double_vector_mode): New.
	(neon_vdup_nv2di): Merge with neon_vdup_lanev2di, adjusting
	the pattern from the latter to be predicable for consistency.
	(neon_vdup_lane<mode>_internal): New.
	(neon_vdup_lane<mode>): Turn into a define_expand and rewrite
	to avoid using an unspec.
	(neon_vdup_lanedi): Rewrite RTL pattern to avoid unspec.
	(neon_vdup_lanev2di): Turn into a define_expand.
	* config/arm/neon.ml (Vdup_n): Add No_op attribute for v2di case.
	(Vmov_n): Likewise.
	
	gcc/testsuite/
	* gcc.target/arm/neon/vmovQ_ns64.c: Regenerated.
	* gcc.target/arm/neon/vmovQ_nu64.c: Regenerated.
	* gcc.target/arm/neon/vdupQ_ns64.c: Regenerated.
	* gcc.target/arm/neon/vdupQ_nu64.c: Regenerated.
	* gcc.target/arm/neon-vdupQ_lanes64.c: New.
	* gcc.target/arm/neon-vdupQ_laneu64.c: New.
	* gcc.target/arm/neon-vdupQ_ns64.c: New.
	* gcc.target/arm/neon-vdupQ_nu64.c: New.
	* gcc.target/arm/neon-vmovQ_ns64.c: New.
	* gcc.target/arm/neon-vmovQ_nu64.c: New.

2009-12-22  Catherine Moore  <clm@codesourcery.com>

	Merge from micromips branch:

	2009-10-23  Maciej W. Rozycki  <macro@codesourcery.com>

	gcc/
	* config/mips/mips.opt (mjals): Fix a typo.

	2009-10-23  Maciej W. Rozycki  <macro@codesourcery.com>

	gcc/
	2009-10-01  Chao-ying Fu  <fu@mips.com>
	* config/mips/mips.opt (TARGET_JALS): Set to 1 by default.
	* config/mips/mips.md (indirect_jump<mode>): Use JR for
	microMIPS.
	(tablejump<mode>): Likewise.
	* config/mips/micromips.md (peephole2): New patterns for the
	MOVEP instruction.
	(*movepsisi, *movepsisf, *movepsfsi, *movepsfsf): Likewise.
	* config/mips/mips-protos.h (micromips_movep_target_p): New
	prototype.
	* config/mips/mips.c (micromips_movep_target_p): New function.

	* passes.c (init_optimization_passes): Run pass_peephole2 after
	pass_sched2 too.

	gcc/testsuite/
	2009-10-23  Maciej W. Rozycki  <macro@codesourcery.com>
	* gcc.target/mips/near-far-1.c: Adjust scan-assembler to handle
	the JALS instruction.
	* gcc.target/mips/near-far-2.c: Likewise.

	2009-10-23  Maciej W. Rozycki  <macro@codesourcery.com>

	gcc/
	* config/mips/t-sgxx-sde (MULTILIB_EXTRA_OPTS): New variable,
	set to "mno-jals".

	2009-07-30  Maciej W. Rozycki  <macro@codesourcery.com>

	gcc/
	2009-07-30  Chao-ying Fu  <fu@mips.com>
	* config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Add march=m14k* to
	-mips32r2 targets.

	2009-07-17  Maciej W. Rozycki  <macro@codesourcery.com>

	gcc/
	2009-07-17  Chao-ying Fu  <fu@mips.com>
	* config/mips/mips.opt (mmucon): Rename to...
	(mmcu): ... this.  Replace MUCON with MCU.
	* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Update
	accordingly.
	(ASM_SPEC): Likewise.
	* doc/invoke.texi (MIPS Options): Likewise.

	2009-07-17  Maciej W. Rozycki  <macro@codesourcery.com>

	gcc/
	2009-07-17  Chao-ying Fu  <fu@mips.com>
	* config/mips/mips.h (MIPS_ARCH_FLOAT_SPEC): Add march=m14k* to
	-msoft-float targets.
	* config/mips/sdemtk.h (MIPS_ARCH_FLOAT_SPEC): Likewise.
	
	2009-07-10  Nathan Froyd  <froydnj@codesourcery.com>

	gcc/
	* config/mips/mips.c (micromips_build_save_restore): Mark the
	built PARALLEL as RTX_FRAME_RELATED_P.

	2009-06-30  Nathan Froyd  <froydnj@codesourcery.com>

	Backport from mainline:

	gcc/testsuite/
	2009-06-30  Nathan Froyd  <froydnj@codesourcery.com>

	* gcc.dg/tree-ssa/gen-vect-25.c (n): New variable.
	(main): Pass n to main_1 instead.
	* gcc.dg/tree-ssa/gen-vect-28.c (off): New variable.
	(main_1): New function, split off from...
	(main): ...here.  Pass `off' to main_1 instead.

	2009-06-30  Nathan Froyd  <froydnj@codesourcery.com>

	gcc/
	* config/mips/mips.md (clear_hazard): Remove TARGET_MICROMIPS code.

	2009-06-30  Nathan Froyd  <froydnj@codesourcery.com>

	gcc/
	* config/mips/mips.md (clear_hazard): Don't use <d>.

	2009-06-30  Nathan Froyd  <froydnj@codesourcery.com>

	gcc/
	* config/mips/mips-protos.h (micromips_load_store_pair_p): Adjust
	prototype.
	* config/mips/mips.c (micromips_load_store_pair_p): Add check for
	invalid load instruction.
	* config/mips/micromips.md (*lwp, *swp): Adjust calls to
	micromips_load_store_pair_p.

	2009-06-09  Nathan Sidwell  <nathan@codesourcery.com>

	Port 2009-05-28 Chao-ying Fu <fu@mips.com>
	gcc/
	* config/mips/mips.c (mips_address_insns): Add a new parameter
	check_micromips_12bit_p.
	(mips_load_store_insns): Pass false to mips_address_insns for the new
	parameter.
	(mips_rtx_costs): Pass false to mips_address_insns for the new
	parameter.
	(mips_address_costs): Pass false to mips_address_insns for the new
	parameter.
	* config/mips/constraints.md (YC): New memory constraint.
	(YD): New address constraint.
	* config/mips/mips-protos.h (mips_address_insns): Add a new parameter.
	* doc/md.texi (Constraints for Particular Machines): Document YC.
	* config/mips/mips.md (mov_<load>l, mov_<load>r, mov_<store>l,
	mov_<store>r): Use YC, instead of m.
	(prefetch): Use YD, instead of p.
	(sync_compare_and_swap<mode>, sync_add<mode>, sync_sub<mode>,
	sync_old_add<mode>, sync_old_sub<mode>, sync_new_add<mode>,
	sync_new_sub<mode>, sync_<optab><mode>, sync_old_<optab><mode>,
	sync_new_<optab><mode>, sync_nand<mode>, sync_old_nand<mode>,
	sync_new_nand<mode>, sync_lock_test_and_set<mode>): Use YC,
	instead of R for memory constraints.

	gcc/
	* config/mips/t-sgxx-sde (MULTILIB_OPTIONS): Add mmicromips.
	(MULTILIB_DIRNAMES): Add micromips.
	(MULTILIB_EXCLUSIONS): Exclude -mcode-readable=no when !mips16.
	(MULTILIB_EXCEPTIONS): Remove no-float and fp-64 micromips libraries.

	Port 2009-05-13  Chao-ying Fu  <fu@mips.com>
	gcc/
	* doc/extend.texi (Declare Attributes of Functions): Add "micromips"
	and "nomicromips".
	* doc/invoke.texi (MIPS Options): Add "-mmicromips"/"-mno-mmicromips",
	"-mmucon"/"-mno-mucon", and "-mjals"/"-mno-jals".
	Add "m14k" for processor names.
	Update descriptions for "-minterlink-mips16" for microMIPS.
	Document "-mmicromips"/"-mno-mmicromips".
	Document "-mmucon"/"-mno-mucon".
	Document "-mjals"/"-mno-jals".
	* config/mips/micromips.md (*store_word_multiple, *load_word_multiple):
	New instructions for save to/load from the stack.
	New peephole2 to match load/store word pair.
	(*lwp, *swp): New instructions for load/store word pair.
	(mips_jraddiusp): New instruction.
	* config/mips/crtn.asm: Add labels of "init" and "fini", as
	objdump needs labels before microMIPS/MIPS16 instructions to dump
	instructions correctly.
	* config/mips/mips.md (micromips_type): New attribute for 16-bit
	microMIPS instructions.
	(*add<mode>3): Set micromips_type to add.
	(sub<mode>3): Set micromips_type to sub.
	(one_cmpl<mode>2): Set micromips_type to logical_not.
	(*and<mode>3): Set micromips_type to logical_and.
	(*ior<mode>3): Set micromips_type to logical_or.
	Set micromips_type to logical_xor for unamed xor instructions.
	(*zero_extend<SHORT:mode><GPR:mode>2): Set micromips_type to
	zero_extend.
	(mfhi<GPR:mode>_<HILO:mode>): Set micromips_type to mfhi.
	(clear_hazard_<mode>): Use jrs.hb for microMIPS.
	(*<optab><mode>3): Disable microMIPS for this instruction.
	(*micromips_ashl<mode>3): New instruction for microMIPS.
	(*micromips_ashr<mode>3): New instruction for microMIPS.
	(*micromips_lshr<mode>3): New instruction for microMIPS.
	(*branch_equality<mode>): Check if it is not
	microMIPS.
	(*branch_equality<mode>_micromips): New instruction for microMIPS.
	(*branch_equality<mode>_inverted): Check if it is not microMIPS.
	(*branch_equality<mode>_inverted_micromips): New isntruction for
	microMIPS.
	(jump): Use "b" for microMIPS to save code size.
	(*return): Use "jr" for microMIPS to save code size.
	(return_internal): Use "jr" for microMIPS to save code size.
	(sibcall_internal): Use MICROMIPS_J to enable jrs.
	(sibcall_value_internal): Use MICROMIPS_J to enable jrs.
	(sibcall_value_multiple_internal): Use MICROMIPS_J to enable jrs.
	(micromips.md): New include.
	* config/mips/mips.opt (mjals, mmicromips, mmucon): New options.
	* config/mips/mips16.S: Skip code when __mips_micromips is defined.
	* config/mips/mips-protos.h (micromips_output_save_restore,
	micromips_save_restore_pattern_p, micromips_load_store_pair_p,
	micromips_output_load_store_pair): New prototypes.
	* config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): Use 0x7f0 for
	microMIPS.
	(mips_base_micromips): New variable.
	(mips_attribute_table): Add "micromips" and "nomicromips".
	(mips_cpu_info_table): Add "m14k".
	(mips_micromips_decl_p, mips_nomicromips_decl_p): New functions.
	(mips_use_micromips_mode_p): New function.
	(mips_insert_attributes):  Add micromips_p and nomicromips_p.
	Cannot use both mips16 and microMIPS.
	(mips_start_function_definition): Set micromips/nomicromips.
	(mips_function_ok_for_sibcall): Check if sibcall is ok for microMIPS.
	For MIPS32, check if the called function is a microMIPS function.
	(mips_print_operand_punctuation): Add ':' to support compact branches.
	Add '!' to support branches with 16-bit delay slots.
	(mips_init_print_operand_punct): Add ':' to generate compact branches.
	Add '!' to generate branch with 16-bit delay slots by recognizing
	16-bit instructions in delay slots.
	(mips_init_print_operand_punct): Add : and !.
	(mips_save_reg): Add prototype, because it will be used later.
	(micromips_build_save_restore): New function.
	(mips_for_each_saved_reg): Add support for microMIPS lwm/swm.
	(mips_expand_epilogue): Add jraddiusp support.
	(was_micromips_p, was_micromips_pch_p): New variables.
	(mips_set_mips16_micromips_mode): Change it from mips_set_mips16_mode.
	Support the microMIPS mode for functions.
	For microMIPS, we disable branch likely instructions.
	(mips_set_current_function): Rename mips_set_mips16_mode to
	mips_set_mips16_micromips_mode.
	(mips_override_options): Check mips16 and microMIPS.
	Rename mips_set_mips16_mode to mips_set_mips16_micromips_mode.
	(micromips_save_restore_pattern_p, micromips_output_save_restore,
	micromips_load_store_pair_p, micromips_output_load_store_pair):
	New functions.
	* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Add __mips_micromips
	and __mips_mucon.
	(ISA_HAS_LWXS): Enable for microMIPS.
	(ASM_SPEC): Pass -mmicromips/-mno-micromips and -mmucon/-mno-mucon.
	(M16STORE_REG_P): New define for microMIPS store source register.
	(MIPS_CALL): For microMIPS, we try to enable jals and jalrs.
	(MICROMIPS_J): New define for microMIPS to enable jrs.
	* config/mips/t-sde (MULTILIB_OPTIONS): Add mmicromips.
	(MULTILIB_DIRNAMES): Add micromips
	Exclude -mcode-readable=no when !mips16.

2009-12-21  Sandra Loosemore  <sandra@codesourcery.com>

	Issue #6964

	gcc/
	* config/arm/arm.c (neon_expand_vector_init): Replace use of
	UNSPEC_VSET_LANE with calls to appropriate gen_neon_vset_lane<mode>.
	* config/arm/neon.md (UNSPEC_VCOMBINE): Delete.
	(UNSPEC_VSET_LANE): Delete.
	(vec_set<mode>_internal): Make code emitted match that for the
	corresponding intrinsics.
	(neon_vset_lane<mode>): Expand into vec_set<mode>_internal instead
	of using UNSPEC_VSET_LANE.
	(neon_vcombine): Rewrite pattern to eliminate UNPSEC_VCOMBINE.

2009-12-18  Maciej W. Rozycki  <macro@codesourcery.com>

	libiberty/
	* pex-common.c (pex_read_err): Set stderr_pipe to -1 if a
	corresponding stream has been opened.
	(pex_free): Close pipe file descriptors corresponding to child's
	stdout and stderr before waiting.

2009-12-17  Sandra Loosemore  <sandra@codesourcery.com>

	Issue #6964

	gcc/
	* config/arm/neon.md (UNSPEC_VGET_HIGH, UNSPEC_VGET_LOW): Delete.
	(neon_vget_high<mode>): Replace with....
	(neon_vget_highv16qi): New pattern using canonical RTL.
	(neon_vget_highv8hi): Likewise.
	(neon_vget_highv4si): Likewise.
	(neon_vget_highv4sf): Likewise.
	(neon_vget_highv2di): Likewise.
	(neon_vget_low<mode>): Replace with....
	(neon_vget_lowv16qi): New pattern using canonical RTL.
	(neon_vget_lowv8hi): Likewise.
	(neon_vget_lowv4si): Likewise.
	(neon_vget_lowv4sf): Likewise.
	(neon_vget_lowv2di): Likewise.

2009-12-15  Sandra Loosemore  <sandra@codesourcery.com>

	Issue #6964

	gcc/

	* config/arm/neon.md (UNSPEC_VGET_LANE): Delete.
	(vec_extractv2di): Correct error in register numbering.
	Copy assembly pattern from neon_vget_lanev2di.
	(neon_vget_lanedi): Rewrite to expand into emit_move_insn.
	(neon_vget_lanev2di): Rewrite to expand into vec_extractv2di.
	(neon_vset_lanedi): Rewrite to expand into emit_move_insn.
	* config/arm/neon.ml (Vget_lane): Add No_op attribute to 64-bit
	scalar variants to suppress test for this emitting vmov.
	(Vset_lane): Likewise.
	* doc/arm-neon-intrinsics.texi: Regenerated.

	gcc/testsuite/
	* gcc.target/arm/neon/vget_lanes64.c: Regenerated.
	* gcc.target/arm/neon/vget_laneu64.c: Regenerated.
	* gcc.target/arm/neon/vset_lanes64.c: Regenerated.
	* gcc.target/arm/neon/vset_laneu64.c: Regenerated.
	* gcc.target/arm/neon-vget_lanes64.c: New execution test.
	* gcc.target/arm/neon-vget_laneu64.c: New execution test.
	* gcc.target/arm/neon-vset_lanes64.c: New execution test.
	* gcc.target/arm/neon-vset_laneu64.c: New execution test.

2009-12-11  Maxim Kuvyrkov  <maxim@codesourcery.com>

	Issue #4955
	Backport from upstream:

	2009-12-11  Sebastian Andrzej Siewior  <bigeasy@linutronix.de>
	PR target/36047
	* config/m68k/linux.h: Remove LABELNO from the mcount statement. It is
	not used by glibc/uclibc and does not work with large binaries.

2009-12-10  Andrew Jenner  <andrew@codesourcery.com>

	gcc/
	* java/Make-lang.in (java.install-html): Add.
	* objc/Make-lang.in (objc.install-html): Add.
	* objcp/Make-lang.in (obj-c++.insatll-html): Add.
	* cp/Make-lang.in (c++.install-html): Add.
	* ada/gcc-interface/Make-lang.in (ada.install-html): Add.
	* fortran/Make-lang.in: Update comment.

2009-12-10  Pedro Alves  <pedro@codesourcery.com>

	gcc/
	* config/arm/mingw32.h (FORTRAN_INIT): Define.

	revert:
	2009-12-07  Andrew Jenner  <andrew@codesourcery.com>
	gcc/
	* fortran/gfortranspec.c (lang_specific_driver): Add -lmingw32 to
	-lgfortranbegin group for CE.

2009-12-10  Andrew Jenner  <andrew@codesourcery.com>

	libgfortran/
	* io/read.c: Use HAVE_ERRNO_H instead of HAVE_ERRNO.

2009-12-10  Julian Brown  <julian@codesourcery.com>

	Issue #7318

	* release-notes-csl.xml (Indirect function call optimization): Add
	note.

	gcc/
	* config/arm/arm.c (output_call_mem): Remove armv5 support.
	* config/arm/arm.md (*call_mem): Disable for armv5. Add note.
	(*call_value_mem): Likewise.

2009-12-08  Sandra Loosemore  <sandra@codesourcery.com>

	Backport from mainline:

	gcc/
	2009-08-24  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	* config/arm/neon.md (vashl<mode>3): Rename from ashl<mode>3.
	(vashr<mode>3): Rename from ashr<mode>3.
	(vlshr<mode>3): Rename from lshr<mode>3.

2009-12-08  Julian Brown  <julian@codesourcery.com>

	Issue #6846

	Backport from mainline:

	gcc/
	* config/arm/constraints.md (Ps, Pt): New constraint letters.
	* config/arm/thumb2.md (*thumb2_addsi_short): Tighten constraints.

2009-12-09  Andrew Jenner  <andrew@codesourcery.com>

	gcc/
	* configure.ac: Add install-html to target_list for Make-hooks.
	* configure: Regenerate.
	* fortran/Make-lang.in (F95_HTMLFILES): New.
	(fortran.html): Use it.
	(fortran.install-html): New.
	* Makefile.in (install-html): Add lang.install-html.

2009-12-08  Nathan Froyd  <froydnj@codesourcery.com>

	* release-notes-csl.xml: Fix duplicate UUID.

2009-12-08  Nathan Froyd  <froydnj@codesourcery.com>

	Issue #7244

	* release-notes-csl.xml: New note.

	gcc/
	* tree-ssa-loop-promote.c (phi_nodes_to_promote): New variable.
	(pli_cleanup): Free phi_nodes_to_promote if necessary.
	(promote_short_indices): Allocate phi_nodes_to_promote.  Traverse it.
	(rebuild_with_promotion): Add the phi node to phi_nodes_to_promote.
	Move the promotion logic...
	(promote_phi_node): ...here.  New function.

	gcc/testsuite/
	* gcc.dg/promote-short-11.c: New file.
	* gcc.dg/promote-short-12.c: New file.

2009-12-07  Andrew Jenner  <andrew@codesourcery.com>

	libgfortran/
	* io/unix.c (id_from_fd) [__MINGW32CE__]: Don't use _get_osfhandle.
	(fd_to_stream) [__MINGW32CE__]: Don't use fstat or isatty.
	(sstream_isatty) [__MINGW32CE__]: Don't use isatty.

2009-12-07  Andrew Jenner  <andrew@codesourcery.com>

	gcc/
	* fortran/gfortranspec.c (lang_specific_driver): Add -lmingw32 to
	-lgfortranbegin group for CE.

2009-12-03  Pedro Alves  <pedro@codesourcery.com>

	Windows CE port.

	libgfortran/
	* intrinsics/access.c: Don't include errno.h.
	(access_func): Use get_oserrno.
	* intrinsics/chdir.c, intrinsics/chmod.c: Only include errno.h if
	HAVE_ERRNO_H.
	* intrinsics/gerror.c: Only include errno.h if HAVE_ERRNO_H.
	(gerror): Always build.  Constify local `p'.  Use get_oserror
	instead of strerror.
	* intrinsics/getcwd.c: Only include errno.h if HAVE_ERRNO_H.
	* intrinsics/hostnm.c: Only include errno.h if HAVE_ERRNO_H.
	(w32_gethostname) [__MINGW32CE__]: New.
	(hostnm_i4_sub): Use get_oserrno.
	* intrinsics/ierrno.c: Don't include errno.h.
	(ierrno_i4, ierrno_i8): Use get_oserrno.
	* intrinsics/kill.c: Only include errno.h if HAVE_ERRNO_H.
	* intrinsics/link.c: Only include errno.h if HAVE_ERRNO_H.
	* intrinsics/perror.c: Only include errno.h if HAVE_ERRNO_H.
	(pwinerror) [__MINGW32CE__]: Declare.
	(perror, HAVE_PERROR) [__MINGW32CE__]: Define.
	* intrinsics/rename.c: Only include errno.h if HAVE_ERRNO_H.
	(rename_i4_sub, rename_i8_sub): Use get_oserrno.
	* intrinsics/signal.c: Only include errno.h if HAVE_ERRNO_H.
	[__MINGW32CE__]: Include <windows.h>.
	(not_supported): New function.
	(signal_sub): Use `not_supported'.  Add __attribute__((unused))
	markers to parameters.
	(signal_sub_int, alarm_sub_i4, alarm_sub_i8, alarm_sub_int_i4)
	(alarm_sub_int_i8): Ditto.
	* intrinsics/sleep.c: Don't include errno.h.
	* intrinsics/stat.c: Don't include errno.h.
	(stat_i4_sub_0, stat_i8_sub_0, fstat_i4_sub, fstat_i8_sub): Use
	get_oserrno.
	* intrinsics/symlnk.c: Only include errno.h if HAVE_ERRNO_H.
	* intrinsics/unlink.c: Don't include errno.h.
	(unlink_i4_sub): Use get_oserrno.
	* intrinsics/env.cd (getenv)
	(get_environment_variable_i4) [__MINGW32CE__]: Always NULL.
	* intrinsics/getXid.c: Include windows.h instead of process.h.
	(getpid) [__MINGW32CE__]: Use GetCurrentProcessId.
	* intrinsics/getlog.c: Don't define WIN32_LEAN_AND_MEAN.  Include
	malloc.h.
	(EXTENDED_NAME_FORMAT): New typedef.
	(ce_GetUserNameA): New function.
	(GetUserName): New define.
	* intrinsics/system.c [__MINGW32CE__]: Include windows.h.
	(system_sub) [__MINGW32CE__]: Return not-supported.
	* intrinsics/umask.c (ce_umask) [__MINGW32CE__]: New function.
	(umask): New define.

	* io/open.c: Only include errno.h if HAVE_ERRNO_H.
	[__MINGW32CE__]: Include <windows.h>.
	(new_unit) [__MINGW32CE__]: Add error handling based on
	GetLastError.
	* io/read.c: Only include errno.h if HAVE_ERRNO_H.
	[__MINGW32CE__]: Include <windows.h>.
	(convert_real) [__MINGW32CE__]: Use SetLastError/GetLastError.
	* io/transfer.c: Don't include errno.h.
	(next_record_r): Use clear_oserrno, get_oserrno.
	* io/unix.c: Only include errno.h if HAVE_ERRNO_H.
	(id_from_path) [__MINGW32CE__]: Handle UNICODE.
	(GFC_STDOUT_FILENO, GFC_STDERR_FILENO, GFC_STDIN_FILENO): New.
	(flush_if_preconnected): Use them.
	(COUNTOF): Define.
	(strwinerror, pwinerror): New functions.
	(get_oserror) [__MINGW32CE__]: Use strwinerror.
	(get_oserrno): New function.
	(clear_oserrno): New function.
	(raw_write): Check if EINTR is defined.
	(raw_close): Use GFC_STDOUT_FILENO, GFC_STDERR_FILENO and
	GFC_STDIN_FILENO.
	(buf_seek, mem_seek) [__MINGW32CE__]: Use SetLastError.
	(fd_to_stream): Use GFC_STDOUT_FILENO, GFC_STDERR_FILENO and
	GFC_STDIN_FILENO.
	(ce_mktemp): New function.
	(mktemp) [__MINGW32CE__]: Define to ce_mktemp.
	(tempfile) [__MINGW32CE__]: Don't reference getenv.  Use
	GetLastError.
	(regular_file) [__MINGW32CE__]: Use GetLastError/SetLastError.
	(open_external): Use GFC_STDIN_FILENO.
	(setmode, HAVE_SETMODE) [__MINGW32CE__]: Define.
	(_setmode) [__MINGW32CE__]: Declare.
	(output_stream): Use GFC_STDOUT_FILENO.
	(error_stream): Use GFC_STDERR_FILENO.
	(st_vprintf): : Use GFC_STDOUT_FILENO and GFC_STDERR_FILENO.
	(delete_file) [__MINGW32CE__]: Use SetLastError.
	* io/write.c: Only include errno.h if HAVE_ERRNO_H.
	(write_a_char4): Cast crlf to gfc_char4_t *.
	* io/write_float.def (signbit) [__MINGW32CE__]: Define.

	* runtime/error.c: Don't include errno.h.
	(generate_error): Use get_oserrno.
	* runtime/environ.c (ce_getenv) [__MINGW32CE__]: New function.
	(getenv) [__MINGW32CE__]: New define.
	* runtime/main.c (store_exe_path): Constify `cwd'.

	* libgfortran.h (get_oserrno, clear_oserrno): Declare.

	* configure.ac: Add check for errno.h.
	* configure, config.h.in: Regenerate.

2009-12-03  Pedro Alves  <pedro@codesourcery.com>

	* configure.ac (arm*-*-mingw32*): New.  Skip target-libiberty.
	* configure: Regenerate.

2009-12-03  Andrew Jenner  <andrew@codesourcery.com>

	gcc/
	* config/arm/arm.c (TARGET_ASM_UNALIGNED_HI_OP): Define.
	(TARGET_ASM_UNALIGNED_SI_OP): Define.
	(TARGET_ASM_UNALIGNED_DI_OP): Define.
	(TARGET_ASM_UNALIGNED_TI_OP): Define.
	* config/arm/wince-pe.h: Enable dwarf debugging info.

2009-11-23  Nathan Sidwell  <nathan@codesourcery.com>

	Issue 1080.  Fix for non C/C++
	gcc/
	* targhooks.c: Include convert.h.
	(hook_cxx_ttype_ref_in_bit0): Rewrite to avoid using C frontend
	routines.

2009-11-18  Daniel Jacobowitz  <dan@codesourcery.com>

	Issue #6609

	Backport from upstream:

	gcc/
	2009-11-18  Daniel Jacobowitz  <dan@codesourcery.com>

	* config/arm/neon-docgen.ml (analyze_shape_elt): Handle
	Alternatives.

	gcc/
	2009-11-11  Daniel Jacobowitz  <dan@codesourcery.com>

	* config/arm/arm.c (neon_vdup_constant, neon_make_constant): New.
	(neon_expand_vector_init): Use them.  Also handle non-constant
	vectors with identical elements and vectors with only one
	non-constant element.
	(arm_print_operand): Handle 'y' modifier.
	* config/arm/arm-protos.h (neon_make_constant): Declare.
	* config/arm/neon.md (neon_vdup_n<mode>): Split into two
	patterns.  Use VX instead of VDQW for the first one.  Allow
	a VFP alternative and V32 modes for the second one.
	* config/arm/neon.ml (shape_elt): Add Alternatives.
	(ops): Use Alternatives for vdup lane instructions.
	* config/arm/neon-testgen.ml (analyze_shape): Handle Alternatives.
	* config/arm/vec-common.md (mov<mode>): Use neon_make_constant.

	gcc/testsuite/
	* gcc.target/arm/neon: Regenerate generated tests.

2009-11-18  Sandra Loosemore  <sandra@codesourcery.com>

	Issue #6964

	gcc/
	* config/arm/neon.md (UNSPEC_VABA): Delete.
	(UNSPEC_VABAL): Delete.
	(UNSPEC_VABS): Delete.
	(UNSPEC_VABAL): Delete.
	(UNSPEC_VAND): Delete.
	(UNSPEC_VBIC): Delete.
	(UNSPEC_VCLZ): Delete.
	(UNSPEC_VCNT): Delete.
	(UNSPEC_VDUP_N): Delete.
	(UNSPEC_VEOR): Delete.
	(UNSPEC_VMVN): Delete.
	(UNSPEC_VORN): Delete.
	(UNSPEC_VORR): Delete.
	(iordi3_neon): Rewrite RTL without unspec.  Add cases to handle
	core registers too, to make this a replacement for the default.
	(anddi3_neon): Likewise.
	(orndi3_neon): Likewise.
	(bicdi3_neon): Likewise.
	(xordi3_neon): Likewise.
	(neon_vabs<mode>): Rewrite as define_expand to get rid of unspec for
	extra operand.
	(neon_vaba<mode>): Rewrite to get rid of UNSPEC_VABA.
	(neon_vabal<mode>): Rewrite to get rid of UNSPEC_VABAL.
	(neon_vclz<mode>): Rewrite as define_expand and clz<mode>2 to get
	rid of unspec and handle unused operand.
	(neon_vcnt<mode>): Similarly, with popcount<mode>2.
	(neon_vdup_n<mode>): Rewrite RTL without unspec.
	(neon_vdup_ndi): Rewrite as define_expand and use emit_move_insn.
	(neon_vdup_nv2di): Rewrite RTL without unspec.
	* config/arm/arm.md (define_split for logical_binary_operator): 
	Disable for NEON registers.
	(anddi3): Add new define_expand, and rename the insn.  Disable
	this insn for NEON.
	(*anddi_notdi_di): Disable for TARGET_NEON, where bicdi3_neon applies.
	(iordi3): As for anddi3.
	(xordi3): Likewise.
	* config/arm/predicates.md (imm_for_neon_logic_operand):
	Require TARGET_NEON.
	(imm_for_neon_inv_logic_operand): Likewise.
	* config/arm/neon.ml (Vdup_n): Add No_op attribute to suppress test
	for this emitting vmov.
	(Vmov_n): Likewise.
	* doc/arm-neon-intrinsics.texi: Regenerated.

	gcc/testsuite/
	* gcc.target/arm/neon/vdup_ns64.c: Regenerated.
	* gcc.target/arm/neon/vdup_nu64.c: Regenerated.
	* gcc.target/arm/neon/vmov_ns64.c: Regenerated.
	* gcc.target/arm/neon/vmov_nu64.c: Regenerated.
	* gcc.target/arm/neon-vdup_ns64.c: New execution test.
	* gcc.target/arm/neon-vdup_nu64.c: New execution test.
	* gcc.target/arm/neon-vmov_ns64.c: New execution test.
	* gcc.target/arm/neon-vmov_nu64.c: New execution test.

2009-11-11  Daniel Jacobowitz  <dan@codesourcery.com>

	gcc/
	* config/arm/neon.md (*movmisalign<mode>_neon_load): Use
	memory_operand.

2009-11-12  Andrew Jenner  <andrew@codesourcery.com>

	libgcc/
	* config.host: Handle arm*-*-mingw32ce* and arm*-*-cegcc*.

	gcc/
	* gthr-win32.h: Don't use errno.h or EINVAL under CE.
	* config.gcc: Cleanup. Don't put msformat-c.o in src directory.
	* config/i386/gthr-win32.c: Don't use 486 lock primitive or EINVAL
	under CE.
	* config/arm/pe-cxx.c: Update copyright message.
	* config/arm/pe-stubs.c: Likewise.
	* config/arm/t-mingw32: New file.
	* config/arm/arm-protos.h (arm_major_arch): Declare.
	(arm_thumb_arch_p): Declare.
	(arm_pe_adjust_class_at_definition): Declare.
	(arm_pe_type_dllimport_p): Declare.
	(arm_pe_type_dllexport_p): Declare.
	* config/arm/cygming.opt: Update copyright message.
	* config/arm/wince-pe.h (FPUTYPE_DEFAULT): Change to "vfp".
	Don't use DWARF2 debug information.
	(TARGET_DEFAULT): Remove MASK_RETURN_AGGREGATES_IN_MEMORY.
	* config/arm/mingw32.h: Update copyright message.
	(STANDARD_INCLUDE_DIR): Define.
	Include windows.h in libgcc2.
	* config/arm/msformat-c.c: New file (copied from config/i386).
	* tsystem.h: Don't use errno.h under CE.

2009-11-11  Julian Brown  <julian@codesourcery.com>

	* release-notes-csl.xml (Internal compiler error fix): Add note for
	#7000 fix.

2009-11-11  Julian Brown  <julian@codesourcery.com>

	Issue #7000

	gcc/
	* config/arm/arm.h (PREFERRED_RELOAD_CLASS): Don't restrict Thumb-2
	reloads to LO_REGS.

2009-11-11  Julian Brown  <julian@codesourcery.com>

	gcc/
	* config/arm/thumb2.md (*thumb2_movdf_soft_insn): Fix pool ranges.

2009-11-10  Andrew Jenner  <andrew@codesourcery.com>

	NOT ASSIGNED TO FSF
	Ported from CEGCC

	gcc/
	* config.gcc: Add arm-*-mingw32* from CEGCC.
	* config/arm/pe-cxx.c: New file.
	* config/arm/arm.c: Copied from CEGCC.
	* config/arm/pe-stubs.c: New file.
	* config/arm/wince-pe.h: Copied from CEGCC.
	* config/arm/cygming.opt: New file.
	* config/arm/t-cygming: New file.
	* config/arm/mingw32.h: New file.
	* config/arm/pe.opt: Copied from CEGCC.
	* config/arm/t-wince-pe: Copied from CEGCC.

2009-11-05  Maxim Kuvyrkov  <maxim@codesourcery.com>

	gcc/testsuite/
	* gcc.target/m68k/pr41302.c: Fix target triplet.

2009-11-03  Maxim Kuvyrkov  <maxim@codesourcery.com>

	Revert:

	2009-09-09  Maxim Kuvyrkov  <maxim@codesourcery.com>
	gcc/
	* config/m68k/m68k.h (TRANSFER_FROM_TRAMPOLINE): Avoid warning.	

2009-11-01  Daniel Gutson  <dgutson@codesourcery.com>

	gcc/testsuite/
	* g++.dg/warn/miss-format-1.C: Updated line number.

2009-11-01  Maxim Kuvyrkov  <maxim@codesourcery.com>
            Carlos O'Donell  <carlos@codesourcery.com>

	Issue #6954
	PR target/41302

	* release-notes-csl.xml: Add release note.
	
	gcc/
	* config/m68k/m68k.c (m68k_reg_present_p): New static function.
	(m68k_ok_for_sibcall_p): Handle different result return locations.

	gcc/testsuite/
	* gcc.target/m68k/pr41302.c: New test.

2009-10-29  Paul Brook  <paul@codesourcery.com>

	Issue #6654
	gcc/
	* config/arm/arm.c (arm_compute_save_reg0_reg12_mask): Add special
	case for noreturn functions.
	(arm_compute_save_reg_mask): Remove special noreturn handling.

2009-10-28  Andrew Stubbs  <ams@codesourcery.com>

	gcc/
	* config/sh/sh.md (movrt): Use SI mode for if_then_else.

2009-10-25  Maxim Kuvyrkov  <maxim@codesourcery.com>

	gcc/
	* t-eglibc (EGLIBC_AWK): Handle empty list of configs.

2009-10-21  Joseph Myers  <joseph@codesourcery.com>

	Issue #6815

	gcc/
	* config/sh/uclinux.h (SUBTARGET_OVERRIDE_OPTIONS): Define.

2009-10-21  Joseph Myers  <joseph@codesourcery.com>

	Issue #6814

	gcc/
	* config/sh/sh.md (tls_global_dynamic, tls_local_dynamic,
	tls_initial_exec): Don't initialize PIC register here.
	* config/sh/sh.c (prepare_move_operands): Initialize PIC register
	here before generating those insns.

2009-10-21  Joseph Myers  <joseph@codesourcery.com>

	Issue #6814

	Backport:

	gcc/
	2009-10-21  Joseph Myers  <joseph@codesourcery.com>

	* config/sh/sh.c (nonpic_symbol_mentioned_p): Allow UNSPEC_TPOFF.

	gcc/testsuite/
	2009-10-21  Joseph Myers  <joseph@codesourcery.com>

	* gcc.dg/tls/pie-1.c: New test.

2009-10-19  Maxim Kuvyrkov  <maxim@codesourcery.com>

	gcc/testsuite/
	* g++.dg/torture/pr36191.C: Don't run with -fomit-frame-pointer on
	m68k and fido.

2009-10-16  Nathan Froyd  <froydnj@codesourcery.com>

	Issue #6828

	gcc/testsuite/
	* gcc.dg/remove-local-statics-17.c: Change asm to be empty.
	Change scan-tree-dump-times text to look for number of variables
	removed.

2009-10-16  Julian Brown  <julian@codesourcery.com>

	Issue #6842

	gcc/
	* config/arm/thumb2.md (thumb2_addsi_short): Change length to 4.

2009-10-15  Joseph Myers  <joseph@codesourcery.com>

	Issue #6813

	gcc/
	* config/sh/sh.c (sh_our_fdpic_reg): New.
	* config/sh/sh-protos.h (sh_our_fdpic_reg): Declare.
	* config/sh/sh.h (OUR_FDPIC_REG): Define in terms of
	sh_our_fdpic_reg.

2009-10-15  Joseph Myers  <joseph@codesourcery.com>

	gcc/
	* ira.c (setup_eliminable_regset): Remove unused variable
	regs_asm_clobbered.

2009-10-13  Joseph Myers  <joseph@codesourcery.com>

	Merge from FDPIC branch:

	2008-06-12  Daniel Jacobowitz  <dan@codesourcery.com>

	libgcc/
	* config.host (sh*-*-uclinux*): Add t-uclinux-fdpic.
	* config/sh/t-uclinux-fdpic: New file.

	gcc/
	* config.gcc (sh*-*-uclinux*): Use t-slibgcc-elf-ver.
	* config/sh/lib1funcs.asm (set_fpscr): Handle FDPIC.
	* config/sh/t-uclinux (CRTSTUFF_T_CFLAGS_S): Set.
	(EXTRA_MULTILIB_PARTS): Add crtbeginS.o crtendS.o crtbeginT.o.
	* config/sh/uclinux.h (STARTFILE_SPEC, ENDFILE_SPEC): Update
	for shared libraries.
	(LINK_EH_SPEC): Define.

	2008-06-12  Daniel Jacobowitz  <dan@codesourcery.com>

	gcc/
	* config/sh/sh-protos.h (function_symbol): Update prototype.
	* config/sh/constraints.md: Add Ccl constraint.

	* config/sh/lib1funcs.asm, config/sh/lib1funcs-4-300.asm,
	config/sh/lib1funcs-Os-4-200.asm: Revert FDPIC hidden symbols.

	* config/sh/sh.c (sh_reloc_rw_mask): New function.
	(TARGET_ASM_RELOC_RW_MASK): Define.
	(expand_block_move, expand_ashiftrt, sh_expand_prologue)
	(sh_expand_epilogue, sh_initialize_trampoline): Update for
	function_symbol change.
	(function_symbol): Take a fourth argument.  Use the GOT for
	FDPIC and SFUNC_GOT.  Use PC-relative calls for FDPIC and
	SFUNC_STATIC.
	* config/sh/sh.md: Update patterns affected by function_symbol
	change.

	2008-05-22  Daniel Jacobowitz  <dan@codesourcery.com>

	gcc/
	* config/sh/sh.h (TARGET_CPU_CPP_BUILTINS): Define __FDPIC__.

	2008-04-23  Joseph Myers  <joseph@codesourcery.com>

	gcc/
	* sh.c (sh_load_function_descriptor): New.
	* sh-protos.h (sh_load_function_descriptor): Declare.
	* sh.md (calli, call_valuei, sibcalli, sibcall_valuei): Disable
	for FDPIC.
	(calli_fdpic, call_valuei_fdpic, sibcalli_fdpic,
	sibcall_valuei_fdpic): New.
	(call, call_value, sibcall, sibcall_value): Call
	sh_load_function_descriptor and use new insns for FDPIC.

	2008-04-23  Joseph Myers  <joseph@codesourcery.com>

	gcc/
	* config/sh/sh.c (legitimize_pic_address): Don't use @GOTOFF for
	readonly data or code on FDPIC.

	2008-04-22  Joseph Myers  <joseph@codesourcery.com>

	gcc/
	* config/sh/sh.c (function_symbol): Add comment.  Treat SFUNC_GOT
	like SFUNC_STATIC for FDPIC.  Treat FDPIC like PIC.
	* config/sh/lib1funcs.asm (sdivsi3, udivsi3_i4i, sdivsi3_i4i):
	Make hidden.
	* config/sh/lib1funcs-4-300.asm (udivsi3_i4i, sdivsi3_i4i): Make
	hidden.
	* config/sh/lib1funcs-Os-4-200.asm (udivsi3_i4i, sdivsi3_i4i):
	Make hidden.

	2008-04-22  Joseph Myers  <joseph@codesourcery.com>

	gcc/
	* config/sh/sh.c (sh_output_mi_thunk): Use PC-relative call for
	FDPIC.

	2008-04-21  Joseph Myers  <joseph@codesourcery.com>

	gcc/
	* config/sh/sh.c (sh_assemble_integer): New.
	(TARGET_ASM_INTEGER): Define.
	(prepare_move_operands): Legitimize PIC addresses for FDPIC.
	(nonpic_symbol_mentioned_p): Handle UNSPEC_GOTFUNCDESC and
	UNSPEC_GOTOFFFUNCDESC.
	(legitimize_pic_address): Use GOTOFFFUNCDESC and GOTFUNCDESC for
	function symbols for FDPIC.
	(sh_illegitimate_symbolic_constant_p): Require constants to
	satisfy LEGITIMATE_PIC_OPERAND_P for FDPIC.
	* config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA): Handle
	UNSPEC_GOTFUNCDESC and UNSPEC_GOTOFFFUNCDESC.
	* config/sh/sh.md (UNSPEC_GOTFUNCDESC, UNSPEC_GOTOFFFUNCDESC,
	sym2GOTFUNCDESC, symGOTFUNCDESC2reg, sym2GOTOFFFUNCDESC,
	symGOTOFFFUNCDESC2reg): New.

	2008-04-21  Joseph Myers  <joseph@codesourcery.com>

	gcc/
	Revert:
	* config/sh/sh.md (call_pcrel, call_value_pcrel): Don't always
	require PLT entries for FDPIC without PIC.

	2008-04-21  Joseph Myers  <joseph@codesourcery.com>

	gcc/
	* config/sh/sh.c (sh_cannot_copy_insn_p): Don't return false up
	front for FDPIC.
	(sh_expand_prologue): Don't generate GOTaddr2picreg instruction
	for FDPIC.
	* config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Also set
	call_really_used_regs[PIC_REG] for FDPIC.
	(override_options): Disallow non-SH2 FDPIC.  Set
	flag_no_function_cse for FDPIC.
	(OUR_FDPIC_REG): Define.
	* config/sh/sh.md (call_pcrel, call_value_pcrel): Don't always
	require PLT entries for FDPIC without PIC.
	(call, call_value, sibcall, sibcall_value): Load PIC register and
	use PC-relative calls for FDPIC.
	(GOTaddr2picreg, symGOT_load, symGOTOFF2reg, tls_global_dynamic,
	tls_local_dynamic, tls_initial_exec): Load PIC register for FDPIC.

	2008-04-14  Joseph Myers  <joseph@codesourcery.com>

	gcc/
	* doc/tm.texi (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Document to
	be zero or nonzero.
	* defaults.h (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Define.
	* df-scan.c (df_get_exit_block_use_set), regclass.c
	(init_reg_sets_1), rtlanal.c (rtx_unstable_p, rtx_varies_p):
	Handle new PIC_OFFSET_TABLE_REG_CALL_CLOBBERED semantics.
	* config/ia64/ia64.h (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Define
	to 1.
	* config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Mark PIC_REG as
	fixed and call-used for FDPIC.
	(PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Define.

	2008-04-14  Joseph Myers  <joseph@codesourcery.com>

	gcc/
	* config/sh/uclinux.h (SUBTARGET_ASM_SPEC): Undefine before
	defining.

	2008-04-14  Joseph Myers  <joseph@codesourcery.com>

	gcc/
	* config/sh/uclinux.h (SUBTARGET_ASM_SPEC): Define if
	FDPIC_DEFAULT.

	2008-04-14  Joseph Myers  <joseph@codesourcery.com>

	gcc/
	* doc/invoke.texi (SH Options): Document -mfdpic.
	* doc/install.texi (--enable-fdpic): Document.
	* config.gcc (sh*-*-uclinux*): Handle --enable-fdpic.
	* config/sh/sh.opt (mfdpic): New option.
	* config/sh/sh.h (TARGET_CPU_CPP_BUILTINS): Define __SH_FDPIC__
	for FDPIC.
	(DRIVER_SELF_SPECS): Use SUBTARGET_DRIVER_SELF_SPECS.
	(SUBTARGET_DRIVER_SELF_SPECS): Define.
	* config/sh/uclinux.h (SUBTARGET_LINK_SPEC,
	SUBTARGET_LINK_EMUL_SUFFIX): Define differently if FDPIC_DEFAULT.
	(SUBTARGET_DRIVER_SELF_SPECS): Define if FDPIC_DEFAULT.

	2008-04-02  Mark Shinwell  <shinwell@codesourcery.com>
		    Daniel Jacobowitz  <dan@codesourcery.com>

	Update sh-uclinux port from GCC 4.1 branch.

	libgcc/
	* config.host: Handle sh-*-uclinux* | sh[12]-*-uclinux*.

	gcc/testsuite/
	* gcc.target/sh/sh-relax.c: XFAIL for uClinux.

	gcc/
	* config.gcc: Handle sh-*-uclinux* | sh[12]-*-uclinux*.
	* config/sh/sh-protos.h (sh_illegitimate_symbolic_constant_p): Declare.
	* config/sh/t-sh: Use MULTILIB_CFLAGS for unwind-dw2-Os-4-200.o.
	* config/sh/t-uclinux: New file.
	* config/sh/sh.c (TARGET_CANNOT_FORCE_CONST_MEM): Define.
	(prepare_move_operands): Handle SH_OFFSETS_MUST_BE_WITHIN_SECTIONS_P.
	(sh_illegitimate_symbolic_constant_p): New function.
	* config/sh/sh.h (SH_OFFSETS_MUST_BE_WITHIN_SECTIONS_P): Define.
	(LEGITIMATE_CONSTANT_P): Use sh_illegitimate_symbolic_constant_p.
	* config/sh/uclinux.h: New file.

2009-10-12  Paul Brook  <paul@codesourcery.com>

	Issue #5767
	gcc/
	* config/arm/t-arm-elf (MULTILIB_MATCHES): Rename tag13 to armv7em.
	* config/arm/t-cs-eabi (MULTILIB_MATCHES): Ditto.
	* config/arm/t-cs-eabi-lite (MULTILIB_MATCHES): Ditto.
	* config/arm/t-cs-uclinux-eabi (MULTILIB_MATCHES): Ditto.
	* config/arm/t-cs-linux-lite (MULTILIB_MATCHES): Ditto.

2009-10-12  Paul Brook  <paul@codesourcery.com>

	Issue #5767
	gcc/
	* config.gcc: Add ARM --with-fpu=vfpv3-d16-fp16.
	* config/arm/arm.c (FL_FOR_ARCHTAG13, arm_arch_tag13): Remove.
	(FL_FOR_ARCH7EM, arm_arch7em): Define.
	(all_architectures): Rename tag13 to armv7e-m.
	(all_fpus): Add fpv4-sp-d16.
	(arm_override_options): Use new names.
	* config/arm/arm.h (arm_arch_tag13): Rename ...
	(arm_arch7em): ...  to this.

2009-10-13  Nathan Froyd  <froydnj@codesourcery.com>

	Issue #6706

	* release-notes-csl.xml (Optimizer bug fix): New note.

	gcc/
	* tree-ssa-loop-promote.c (insert_along_edge): New function.
	(promote_variable_1): Move code for modifying GIMPLE_PHI
	statements...
	(rebuild_with_promotion): ...here.  Rebuild GIMPLE_PHI statements.
	(promote_variable_1): Only rewrite uses of promotable variables.

2009-10-12  Nathan Froyd  <froydnj@codesourcery.com>

	Issue #6643

	* release-notes-csl.xml: New note.

	gcc/
	* tree-ssa-remove-local-statics.c
	(find_static_nonvolatile_declarations): Don't try to find definitions
	in GIMPLE_ASM statements.

	gcc/testsuite/
	* gcc.dg/remove-local-statics-17.c: New test.

2009-10-12  Paul Brook  <paul@codesourcery.com>

	Issue #5767
	gcc/
	* config/arm/t-cs-eabi (MULTILIB_MATCHES): Add cortex-a5 and
	neon-vfpv4.
	* config/arm/t-cs-eabi-lite (MULTILIB_MATCHES): Add cortex-a5.
	* config/arm/t-cs-linux (MULTILIB_MATCHES): Add cortex-a5 and
	neon-vfpv4.
	* config/arm/t-cs-uclinux-eabi (MULTILIB_MATCHES): Add cortex-a5.
	* config/arm/t-cs-linux-lite (MULTILIB_MATCHES): Add cortex-a5.

2009-10-12  Paul Brook  <paul@codesourcery.com>

	Issue #5767
	gcc/
	* doc/invoke.texi: Document ARM -mcpu=cortex-a8.
	* config/arm/bpabi.h (BE8_LINK_SPEC): Add mcpu=cortex-a5.
	* config/arm/arm-cores.def: Add cortex-a5.
	* config/arm/arm-tune.md: Regenerate.

2009-10-12  Paul Brook  <paul@codesourcery.com>

	Issue #5767
	gcc/
	* config/arm/arm.c (arm_fp_model, arm_fpu_arch, arm_fpu_tune): Remove.
	(arm_fpu_attr, arm_fpu_desc): Define.
	(all_fpus): Add FPU information.  Remove enums.
	(fp_model_for_fpu): Remove.
	(arm_override_options): Always lookup FPU by name.  Set arm_fpu_attr.
	(arm_output_epilogue, arm_save_coproc_regs): Use TARGET_FPA_EMU2.
	(arm_file_start): Use new FPU lookup table data.
	* config/arm/arm.h (TARGET_FPA_EMU2): Define.
	(TARGET_VFPD32, TARGET_VFP3, TARGET_VFP_SINGLE, TARGET_VFP_DOUBLE,
	TARGET_NEON_FP16, TARGET_FP16, TARGET_NEON): Use arm_arch_vfp_*.
	(enum fputype, arm_fpu_tune): Remove.
	(vfp_reg_type, arm_fpu_desc): Define.
	(arm_arch_vfp_rev, arm_arch_vfp_regs, arm_arch_vfp_neon,
	arm_arch_vfp_fp16): Define.
	* config/arm/arm.md (fpu): Remove superfluous entries.
	* config/arm/fpa.md (movxf_fpa): Use TARGET_FPA_EMU2.
	* config/arm/linux-elf.h (FPUTYPE_DEFAULT): Update.
	* config/arm/bpabi.h (FPUTYPE_DEFAULT): Update.
	* config/arm/netbsd-elf.h (FPUTYPE_DEFAULT): Update.
	* config/arm/vxworks.h (FPUTYPE_DEFAULT): Update.
	* doc/invoke.texi: Document ARM VFPv4 FPU options.
	* config.gcc: Add ARM VFPv4 --with-fpu options.

2009-10-11  Sandra Loosemore  <sandra@codesourcery.com>

	* release-notes-csl.xml (NEON improvements): New note, merged
	from 4 old ones.
	(Thumb-2 NEON bug fix): Delete.
	(NEON store improvements): Delete.
	(NEON vectorizer improvements): Delete.
	(ARMv5 multilib improvements): Tweak wording.
	(GCC NEON vector shift bug fix): Delete.

2009-10-11  Daniel Jacobowitz  <dan@codesourcery.com>

	Issue #6429 - GDB test failures on ColdFire

	* release-notes-csl.xml (Stack unwinding bug fix): New note.

	gcc/
	* dwarf2out.c (dwarf2out_frame_debug): Check for queued saves
	again after processing insn.

2009-10-10  Joseph Myers  <joseph@codesourcery.com>

	Issue #6756

	* config/arm/neon.md (*movmisalign<mode>_neon): Split into
	*movmisalign<mode>_neon_store and *movmisalign<mode>_neon_load.
	Narrow predicates.

2009-10-09  Sandra Loosemore  <sandra@codesourcery.com>

	* release-notes-csl.xml (Compiler errors with float32_t):
	Rephrase to avoid bad line break.

2009-10-09  Joseph Myers  <joseph@codesourcery.com>

	Issue #6297

	gcc/
	* config/arm/t-cs-linux (MULTILIB_ALIASES): Don't map Thumb-2 NEON
	to another library.
	(MULTILIB_OSDIRNAMES): Add entry for Thumb-2 NEON.

2009-10-09  Joseph Myers  <joseph@codesourcery.com>

	gcc/
	* config/arm/arm.c (output_move_neon): Use DImode in call to
	adjust_address.

2009-10-08  Joseph Myers  <joseph@codesourcery.com>

	* release-notes-csl.xml (NEON store improvements): Only enable for
	ARM targets supporting hardware floating point.

2009-10-08  Maxim Kuvyrkov  <maxim@codesourcery.com>

	Issue #6439

	Backport from mainline:
	gcc/
	2009-09-21  Jan Hubicka  <jh@suse.cz>
	* dwarf2out.c (decl_loc_table_eq): Allow decl_loc_table to be NULL.
	(dwarf2out_abstract_function): NULLify decl_loc_table at begginig and
	restore at the end.

2009-10-08  Joseph Myers  <joseph@codesourcery.com>

	Issue #6472

	gcc/
	* config/arm/t-cs-eabi (MULTILIB_MATCHES): Map -mfpu=neon-fma-fp16
	to -mfpu=neon.
	* config/arm-t-cs-linux (MULTILIB_MATCHES): Likewise.

2009-10-08  Daniel Gutson  <dgutson@codesourcery.com>

	Issue #6697

	libiberty/
	* argv.c (expandargv): Use xmalloc instead of malloc,
	as suggested upstream.

2009-10-07  Joseph Myers  <joseph@codesourcery.com>

	gcc/
	* config/arm/arm.c (arm_vector_always_misalign): Adjust FIXME
	comment.

2009-10-07  Joseph Myers  <joseph@codesourcery.com>

	Issue #6722

	gcc/
	* config/arm/arm.c (arm_vector_always_misalign): Return false for
	big endian.
	* config/arm/neon.md (movmisalign): Disable for big endian.

2009-10-07  Maxim Kuvyrkov  <maxim@codesourcery.com>

	Issue #6713

	gcc/
	* tree-sra.c (sra_type_can_be_decomposed_p): Disable SRA for bitfields
	when compiling for BITS_BIG_ENDIAN target.

2009-10-07  Daniel Jacobowitz  <dan@codesourcery.com>

	* release-notes-csl.xml (NEON store improvements): New note.

2009-10-07  Daniel Jacobowitz  <dan@codesourcery.com>

	gcc/
	* config/arm/neon.md (*neon_mov<mode>): Reject two non-register
	operands.
	(movti, mov<mode>): Call force_reg on one operand if required.
	* config/arm/vec-common.md (mov<mode>): Likewise.

2009-10-06  Paul Brook  <paul@codesourcery.com>

	Issue #3869
	gcc/
	* target.h (gcc_target): Add warn_func_result.
	* target-def.h (TARGET_WARN_FUNC_RESULT): Define and use.
	* tree-cfg.h (execute_warn_function_return): Use
	targetm.warn_func_result.
	* config/arm/arm.c (TARGET_WARN_FUNC_RESULT): Define.
	(arm_warn_func_result): New function.

	gcc/testuite/
	* gcc.target/arm/naked-3.c: New test.

2009-10-05  Nathan Sidwell  <nathan@codesourcery.com>

	Issue #6701
	gcc/
	* tree-ssa-structalias.c (get_constraint_for_component_ref): A
	function decl may be the core of a component ref.

	gcc/testsuite/
	* g++.dg/opt/alias5.C: New.

	* release-notes-csl.xml: Document.

2009-10-05  Daniel Gutson  <dgutson@codedsourcery.com>
	Daniel Jacobowitz  <dan@codesourcery.com>
	Pedro Alves  <pedro@codesourcery.com>

	Issue #6697

	libiberty/
	* argv.c (consume_whitespace): New function.
	(only_whitespace): New function.
	(buildargv): Always use ISSPACE by calling consume_whitespace.
	(expandargv): Skip empty files.  Do not stop at the first empty
	argument (calling only_whitespace)..
	* testsuite/test-expandargv.c: (test_data): Test empty lines
	and empty arguments.
	(run_tests): Fix false positives due to shorter arguments. 

	* release-config-csl.xml: Document.

2009-10-02  Paul Brook  <paul@codesourcery.com>

	Issue #6705
	gcc/
	* config/arm/arm.c (neon_vector_mem_operand): Disallow PRE_DEC for
	array loads.
	(output_move_neon): Remove bogus FIXME.

2009-10-02  Paul Brook  <paul@codesourcery.com>

	Issue #6223
	gcc/
	* targhooks.c (default_vector_min_alignment): New function.
	* targhooks.h (default_vector_min_alignment): Add prototype.
	* target.h (gcc_target): Add vectorize.vector_min_alignment and
	vectorize.always_misalign.
	* expr.c (expand_assignment): Handle MISALIGNED_INDIRECT_REF as a
	destination.
	(expand_expr_real_1): Handle writes to MISALIGNED_INDIRECT_REF.
	* tree-vect-analyze.c (vect_compute_data_ref_alignment): Use
	targetm.vectorize.vector_min_alignment.
	* target-def.h (TARGET_VECTOR_MIN_ALIGNMENT): Define.
	(TARGET_VECTOR_ALWAYS_MISALIGN): Define.
	(TARGET_VECTORIZE): Use them.
	* tree-vect-transform.c (vectorizable_store): Honor
	targetm.vectorize.always_misalign.
	(vectorizable_load): Ditto.
	(vect_gen_niters_for_prolog_loop): Use
	targetm.vectorize.vector_min_alignment.
	* config/arm/arm.c (arm_vector_min_alignment,
	arm_vector_always_misalign): New functions.
	(TARGET_VECTOR_MIN_ALIGNMENT, TARGET_VECTOR_ALWAYS_MISALIGN): Define.
	(arm_print_operand): Include alignment qualifier in %A.
	* config/arm/neon.md (movmisalign): Enable on big-endian targets.

	gcc/testsuite/
	* lib/target-supports.exp (check_effective_target_vect_element_align):
	New function.
	* gcc.dg/vect/no-section-anchors-vect-31.c: Use vect_element_align.
	* gcc.dg/vect/no-section-anchors-vect-64.c: Ditto.
	* gcc.dg/vect/no-section-anchors-vect-66.c: Ditto.
	* gcc.dg/vect/no-section-anchors-vect-68.c: Ditto.
	* gcc.dg/vect/no-section-anchors-vect-69.c: Ditto.
	* gcc.dg/vect/section-anchors-vect-69.c: Ditto.
	* gcc.dg/vect/slp-25.c: Ditto.
	* gcc.dg/vect/vect-109.c: Ditto.
	* gcc.dg/vect/vect-26.c: Ditto.
	* gcc.dg/vect/vect-27.c: Ditto.
	* gcc.dg/vect/vect-28.c: Ditto.
	* gcc.dg/vect/vect-29.c: Ditto.
	* gcc.dg/vect/vect-33.c: Ditto.
	* gcc.dg/vect/vect-42.c: Ditto.
	* gcc.dg/vect/vect-44.c: Ditto.
	* gcc.dg/vect/vect-48.c: Ditto.
	* gcc.dg/vect/vect-50.c: Ditto.
	* gcc.dg/vect/vect-52.c: Ditto.
	* gcc.dg/vect/vect-54.c: Ditto.
	* gcc.dg/vect/vect-56.c: Ditto.
	* gcc.dg/vect/vect-58.c: Ditto.
	* gcc.dg/vect/vect-60.c: Ditto.
	* gcc.dg/vect/vect-70.c: Ditto.
	* gcc.dg/vect/vect-72.c: Ditto.
	* gcc.dg/vect/vect-75.c: Ditto.
	* gcc.dg/vect/vect-87.c: Ditto.
	* gcc.dg/vect/vect-88.c: Ditto.
	* gcc.dg/vect/vect-89.c: Ditto.
	* gcc.dg/vect/vect-91.c: Ditto.
	* gcc.dg/vect/vect-92.c: Ditto.
	* gcc.dg/vect/vect-93.c: Ditto.
	* gcc.dg/vect/vect-95.c: Ditto.
	* gcc.dg/vect/vect-align-2.c: Ditto.
	* gcc.dg/vect/vect-multitypes-1.c: Ditto.
	* gcc.dg/vect/vect-multitypes-3.c: Ditto.
	* gcc.dg/vect/vect-multitypes-4.c: Ditto.
	* gcc.dg/vect/vect-multitypes-6.c: Ditto.

2009-10-02  Paul Brook  <paul@codesourcery.com>

	Issue #4896
	gcc/
	* config/arm/t-cs-eabi: Change v5t multilib to v5te.
	* config/arm/t-cs-linux: Ditto.
	* config/arm/t-cs-linux-lite: Ditto.

2009-10-01  Sandra Loosemore  <sandra@codesourcery.com>

	Issue #5767
	gcc/
	* doc/extend.texi (Half-Precision): Update wording to reflect
	that there are now multiple -mfpu options that enable fp16
	hardware support.

2009-09-30  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config/arm/neon.ml (vectype): Add T_floatSF.
	(string_of_vectype): Add T_floatSF.
	* config/arm/neon-gen.ml (signed_ctype): Add T_float32 -> T_floatSF.
	(deftypes): Use float for float32_t.
	* config/arm/arm_neon.h: Regenerate.

	gcc/testsuite/
	* g++.dg/other/arm-neon-1.C: New test.

2009-09-29  Daniel Jacobowitz  <dan@codesourcery.com>

	Issue #4151 - CYGPATH support for the GDB input file.

	libiberty/
	* lrealpath.c (lrealpath): Use cygpath on Windows.

2009-09-28  Daniel Gutson <dgutson@codesourcery.com>

	Issue #6041

	Backport from mainline (r148770):

	gcc/
	* lib1funcs.asm ([__ARM_EABI__]): Add an attribute describing stack
	preservation properties of code. 

2009-09-25  Nathan Froyd  <froydnj@codesourcery.com>

	Backport from mainline:

	gcc/testuite/
	2009-09-25  Nathan Froyd  <froydnj@codesourcery.com>

	* gcc.dg/vect/vect.exp: Append extra parameters as separate
	parameters for alignment-sensitive -fsection-anchors tests.

2009-09-25  Daniel Gutson  <dgutson@codesourcery.com>

	Issue #6409

	gcc/
	* config/arm/neon.md (neon_vshll_n<mode>): Checking Bounds
	fixed.

	gcc/testsuite/
	* gcc.target/arm/neon/vfp-shift-a2t2.c: New test case.

	* release-notes-csl.xml: Document.

2009-09-24  Catherine Moore  <clm@codesourcery.com>

	Issue #6412

	Backport from gcc 4-4:

	gcc/
	2009-09-21  Richard Sandiford  <rdsandiford@googlemail.com>

	* config/mips/mips.c (mips_override_options): Force flag_dwarf2_cfi_asm
	to zero.

2009-09-24  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config/arm/arm_neon.h (float32_t): Define as "float".

2009-09-23  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config/arm/arm.c (use_vfp_abi): New function.
	(aapcs_vfp_is_call_or_return_candidate): Avoid double precision regs
	when undesirable.
	(aapcs_vfp_is_return_candidate, aapcs_vfp_is_call_candidate,
	aapcs_vfp_allocate_return_reg): Use use_vfp_abi.

2009-09-23  Maxim Kuvyrkov  <maxim@codesourcery.com>

	Revert, the sequence is buggy:

	2009-09-09  Maxim Kuvyrkov  <maxim@codesourcery.com>
	gcc/
	* config/m68k/linux-unwind.h (m68k_fallback_frame_state): Add
	another rt_sigreturn sequence.

2009-09-22  Joseph Myers  <joseph@codesourcery.com>

	Backport:

	libstdc++-v3/
	2009-09-17  Joseph Myers  <joseph@codesourcery.com>

	* testsuite/lib/libstdc++.exp (check_v3_target_binary_io): New.
	* testsuite/lib/dg-options.exp (dg-require-binary-io): New.
	* testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc,
	testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc,
	testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc,
	testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc,
	testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc,
	testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc,
	testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc,
	testsuite/27_io/basic_istream/readsome/char/6746-2.cc,
	testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc,
	testsuite/27_io/objects/char/10.cc: Use dg-require-binary-io.

2009-09-22  Joseph Myers  <joseph@codesourcery.com>

	Backport:

	gcc/testsuite/
	2009-09-08  Joseph Myers  <joseph@codesourcery.com>

	* gcc.dg/profile-dir-1.c, gcc.dg/profile-dir-2.c,
	gcc.dg/profile-dir-3.c: Disable for remote-host testing.

2009-09-19  Sandra Loosemore  <sandra@codesourcery.com>

	Issues #6560, #4612

	* release-notes-csl.xml (Preprocessor error handling): New note.

	Backport from mainline:

	gcc:
	2009-03-29  Joseph Myers  <joseph@codesourcery.com>

	PR preprocessor/34695
	* Makefile.in (c-opts.o): Depend on c-tree.h.
	* c-common.c: Move down include of diagnostic.h.
	(done_lexing, c_cpp_error): New.
	* c-common.h (done_lexing): Declare.
	* c-decl.c (c_write_global_declarations): Don't check cpp_errors
	(parse_in).
	* c-opts.c: Include c-tree.h.
	(c_common_init_options): Set preprocessor error callback.
	(c_common_handle_option): Do not set preprocessor
	inhibit_warnings, warnings_are_errors, warn_system_headers,
	pedantic_errors or inhibit_warnings flags.
	(c_common_post_options): Do not check cpp_errors (parse_in).
	(c_common_finish): Do not output dependencies if there were
	errors.  Do not check return value of cpp_finish.
	* c-ppoutput.c (pp_file_change): Set input_location.
	* c-tree.h (c_cpp_error): Declare.
	* diagnostic.c (diagnostic_set_info_translated): Also initialize
	override_column.
	(diagnostic_build_prefix): Check override_column.
	* diagnostic.h (diagnostic_info): Add override_column field.
	(diagnostic_override_column): Define.

	gcc/cp:
	2009-03-29  Joseph Myers  <joseph@codesourcery.com>

	PR preprocessor/34695
	* cp-tree.h (cp_cpp_error): Remove.
	* error.c (cp_cpp_error): Remove.
	* parser.c (cp_lexer_new_main): Set done_lexing instead of
	client_diagnostic and error callback.

	gcc/fortran:
	2009-03-29  Joseph Myers  <joseph@codesourcery.com>

	PR preprocessor/34695
	* cpp.c (cb_cpp_error): New.
	(gfc_cpp_post_options): Don't set cpp_option->inhibit_warnings.
	Don't check cpp_errors (cpp_in).
	(gfc_cpp_init_0): Set cb->error.

	gcc/testsuite:
	2009-03-29  Joseph Myers  <joseph@codesourcery.com>

	PR preprocessor/34695
	* gcc.dg/builtin-redefine.c, gcc.dg/cpp/redef2.c,
	gcc.dg/cpp/redef3.c, gcc.dg/cpp/trad/redef2.c: Use dg-message
	instead of dg-warning for "previous definition" messages.
	* gcc.dg/cpp/Wvariadic-1.c, gcc.dg/cpp/Wvariadic-3.c: Expect
	"warnings being treated as errors" message.
	* gcc.dg/fltconst-1.c: Use -fshow-column.

	libcpp:
	2009-03-29  Joseph Myers  <joseph@codesourcery.com>

	PR preprocessor/34695
	* makedepend.c: Remove.
	* Makefile.in (makedepend_OBJS, makedepend$(EXEEXT)): Remove.
	(all, clean, TAGS_SOURCES, include): Remove makedepend handling.
	* directives.c (cpp_errors): Remove.
	* errors.c (print_location, _cpp_begin_message, v_message):
	Remove.
	(cpp_error, cpp_error_with_line): Always use error callback.
	(cpp_error, cpp_error_with_line, cpp_errno): Return bool.
	* include/cpplib.h (cpp_options): Remove pedantic_errors,
	inhibit_warnings, warn_system_headers, inhibit_errors,
	warnings_are_errors, client_diagnostic.
	(cpp_callbacks): Add extra arguments to error callback; make it
	return bool.
	(cpp_finish): Return void.
	(cpp_destroy): Remove inaccurate comment about return value.
	(cpp_errors, CPP_DL_EXTRACT, CPP_DL_WARNING_P): Remove.
	(CPP_DL_NOTE): Define.
	* include/line-map.h (linemap_print_containing_files): Remove.
	* init.c (cpp_finish): Do not check for or return number of
	errors.
	* internal.h (cpp_reader): Remove errors field.
	* line-map.c (linemap_print_containing_files): Remove.
	* macro.c (_cpp_create_definition): Use CPP_DL_NOTE for message
	about previous definition.  Only emit it if previous diagnostic
	was emitted.

	gcc:
	2009-03-31  Joseph Myers  <joseph@codesourcery.com>

	PR preprocessor/15638
	* c-common.c (c_cpp_error): Handle CPP_DL_FATAL.

	gcc/fortran:
	2009-03-31  Joseph Myers  <joseph@codesourcery.com>

	PR preprocessor/15638
	* cpp.c (cb_cpp_error): Handle CPP_DL_FATAL.

	gcc/testsuite:
	2009-03-31  Joseph Myers  <joseph@codesourcery.com>

	PR preprocessor/15638
	* gcc.dg/cpp/missing-header-1.c: New test.
	* gcc.dg/cpp/include2.c: Only test #include <>.  Expect
	"compilation terminated" message.
	* gcc.dg/cpp/include2a.c: New test.  Copy of include2.c but only
	test #include "".
	* gcc.dg/pch/counter-2.c, gcc.dg/pch/valid-1.c,
	gcc.dg/pch/valid-2.c, gcc.dg/pch/warn-1.c: Expect "compilation
	terminated" message.

	libcpp:
	2009-03-31  Joseph Myers  <joseph@codesourcery.com>

	PR preprocessor/15638
	* files.c (_cpp_find_file): Call open_file_failed after diagnosing
	invalid PCH.
	(open_file_failed): Make error for missing file fatal.
	* include/cpplib.h (CPP_DL_FATAL): Define.

	[libcpp/ChangeLog]
	2009-09-18  Chris Demetriou  <cgd@google.com>

	PR preprocessor/28435:
	* include/cpplib.h (struct cpp_options): Add new member
	deps.need_preprocessor_output.
	* files.c (open_file_failed): If preprocessor output is needed
	always report an error.

	[gcc/ChangeLog]
	2009-09-19  Chris Demetriou  <cgd@google.com>

	PR preprocessor/28435:
	* c-opts.c (c_common_handle_option): For -MD and -MMD, indicate
	to cpplib that the preprocessor output is needed.

	[gcc/testsuite/ChangeLog]
	2009-09-19  Chris Demetriou  <cgd@google.com>

	PR preprocessor/28435:
	* gcc.dg/cpp/missing-header-MD.c: New test.
	* gcc.dg/cpp/missing-header-MMD.c: New test.
	* gcc.dg/cpp/missing-sysheader-MD.c: New test.
	* gcc.dg/cpp/missing-sysheader-MMD.c: New test.

2009-09-11  Daniel Jacobowitz  <dan@codesourcery.com>

	Issue #5767

	gcc/
	* config/arm/arm.c (all_fpus): Add tag-5, tag-6, and neon-fma-fp16.
	(fp_model_for_fpu): Update.
	(arm_file_start): Handle new FPUs.
	* config/arm/arm.h (TARGET_VFPD32, TARGET_VFP3, TARGET_NEON_FP16)
	(TARGET_NEON): Handle new FPUs.
	(enum fputype): Add FPUTYPE_VFP_TAG5, FPUTYPE_VFP_TAG6, and
	FPUTYPE_NEON_FMA_FP16.

2009-09-10  Daniel Jacobowitz  <dan@codesourcery.com>

	Issue #5767

	gcc/
	* config/arm/arm.h (TARGET_VFP_SINGLE, TARGET_VFP_DOUBLE): Define.
	(enum fputype): Add FPUTYPE_VFP3xD and FPUTYPE_VFP3xD_FP16.
	* config/arm/arm.c (all_fpus): Handle FPUTYPE_VFP3xD and
	FPUTYPE_VFP3xD_FP16.
	(fp_model_for_fpu): Update.
	(arm_rtx_costs_1, arm_size_rtx_costs, arm_fastmul_rtx_costs)
	(arm_9e_rtx_costs): Only expect double-precision operations if the FPU
	provides them.
	(arm_print_operand): Handle 'p' modifier.
	(arm_file_start): Handle new FPU types.
	* config/arm/arm.md: Disable double-precision patterns if the FPU
	does not provide them.
	* config/arm/constraints.md: Add new "Dy" constraint for
	double-precision constants.  Update description of "Dv".
	* config/arm/vfp.md: Disable double-precision patterns if the FPU
	does not provide them.
	(*arm_movdi_vfp, *thumb2_movdi_vfp): Use fcpys to move
	double-precision values on a single-precision FPU.
	(*movdf_vfp, *thumb2_movdf_vfp): Likewise.  Use "Dy" for
	double-precision constants.

2009-09-10  Daniel Jacobowitz  <dan@codesourcery.com>

	Issue #5767

	gcc/
	* config/arm/t-cs-eabi, config/arm/t-cs-eabi-lite,
	config/arm/t-cs-linux-lite, config/arm/t-cs-uclinux-eabi: Add
	-march=tag13 to MULTILIB_MATCHES.

2009-09-10  Daniel Jacobowitz  <dan@codesourcery.com>

	Issue #5767

	gcc/
	* config/arm/arm.c (FL_TAG13, FL_FOR_ARCHTAG13): New.
	(arm_arch_tag13): New.
	(all_architectures): Add tag13.
	(arm_override_options): Set arm_arch_tag13.
	* config/arm/arm.h (TARGET_DSP_MULTIPLY, TARGET_INT_SIMD): Check
	arm_arch_tag13.
	(arm_arch_tag13): Declare.
	* gcc/config/arm/t-arm-elf: Add commented-out match for -march=tag13.

2009-09-09  Maxim Kuvyrkov  <maxim@codesourcery.com>

	Issue #4203

	* release-notes-csl.xml: Fix note.

2009-09-09  Paul Brook  <paul@codesourcery.com>

	Issue #5767
	gcc/
	* doc/invoke.texi: Update list of ARM -mfpu= options.
	* config.gcc: Update ARM --with-fpu option list.
	* config/arm/arm.c (all_fpus): Add vfpv3-fp16 and vfpv3-d16-fp16.
	(fp_model_for_fpu): Add FPUTYPE_VFP3D16_FP16 and FPUTYPE_VFP3_FP16.
	(coproc_secondary_reload_class): Reload HFmode via GENERAL_REGS if no
	NEON.
	(arm_hard_regno_mode_ok): Allows HFmode in VFP registers if
	TARGET_FP16.
	(arm_file_start): Add FPUTYPE_VFP3D16_FP16 and FPUTYPE_VFP3_FP16.
	* config/arm/arm.h (TARGET_FP16): Define.
	(fputype): Add FPUTYPE_VFP3D16_FP16 and FPUTYPE_VFP3_FP16.
	* config/arm/vfp.md (movhf_vfp_neon): New pattern (was movhf_vfp).
	(movhf_vfp): Remove NEON instructions.
	(extendhfsf2, truncsfhf2): Change condition to TARGET_FP16.
	* config/arm/arm.md (define_attr "fpu"): Add vfpv3d16fp16 and
	vfpv3fp16.
	(arm32_movhf): Change condition to !TARGET_FP16. 

	* release-notes-csl.xml: Document.

2009-09-09  Maxim Kuvyrkov  <maxim@codesourcery.com>

	gcc/
	* config/m68k/linux-unwind.h (m68k_fallback_frame_state): Add
	another rt_sigreturn sequence.

2009-09-09  Maxim Kuvyrkov  <maxim@codesourcery.com>

	gcc/
	* config/m68k/m68k.h (TRANSFER_FROM_TRAMPOLINE): Avoid warning.

2009-09-08  Paul Brook  <paul@codesourcery.com>
	    Daniel Jacobowitz  <dan@codesourcery.com>

	Issue #6027

	* release-notes-csl.xml (Optimizer improvements): New note.

	Merge submitted patches:
	http://gcc.gnu.org/ml/gcc-patches/2009-03/msg00250.html

	2009-02-02  J"orn Rennecke <amylaar@spamcop.net>

	gcc/
	* tree-ssa-pre.c (ppre_n_insert_for_speed_p): New function.
	* (do_partial_partial_insertion): Use it to throttle
	insert_into_preds_of_block calls.
	* common.opt (-ftree-pre-partial-partial-obliviously): New option.

	2009-01-15  J"orn Rennecke  <joern.rennecke@arc.com>

	gcc/
	* common.opt (ftree-pre-partial-partial): New option.
	* opts.c (decode_options): Initialize flag_tree_pre_partial_partial.
	* tree-ssa-pre.c (execute_pre): Use flag_tree_pre_partial_partial.

2009-09-08  Paul Brook  <paul@codesourcery.com>
	    Daniel Jacobowitz  <dan@codesourcery.com>

	Issue #6027

	Merge submitted patch:
	http://gcc.gnu.org/ml/gcc-patches/2008-12/msg00199.html

	2008-12-03  Steven Bosscher  <stevenb.gcc@gmail.com>

	gcc/
	* opts.c (decode_options): Fix initialization of
	flag_tree_switch_conversion.  Don't set optimize_size in block
	that is conditional on optimize_size (sic).  Explicitly disable
	PRE when optimizing for size (and add comment for rationale).
	* tree-ssa-pre.c: Update outline of the algorithm.
	(bitmap_set_and): Prototype.
	(insert_into_preds_of_block): Don't report discovery of partial
	redundancies here, do so from the callers instead (see below).
	(do_regular_insertion): Add counter for an estimate for the number
	of inserts required to eliminate a partial redundancy.  If the
	current function is optimized for size, only perform the partial
	redundancy elimination if this requires inserting in only one
	predecessor.  Report all found partial redundancies from here.
	(do_partial_partial_insertion): Report them from here too.
	(insert_aux): Do not insert for partial-partial redundancies when
	optimizing for size.
	(execute_pre): Remove bogus ATTRIBUTE_UNUSED.
	(do_pre): Run FRE at least, if PRE is disabled.
	(gate_pre): Return true if flag_tree pre or flag_tree_fre is set.

2009-09-08  Joseph Myers  <joseph@codesourcery.com>

	Backport:

	gcc/testsuite/
	2009-09-08  Joseph Myers  <joseph@codesourcery.com>

	* gcc.misc-tests/i386-prefetch.exp: Skip tests when multilib flags
	contain -march.
	* gcc.dg/tree-ssa/prefetch-7.c, gcc.target/i386/387-1.c,
	gcc.target/i386/387-5.c, gcc.target/i386/cmov7.c,
	gcc.target/i386/funcspec-1.c, gcc.target/i386/funcspec-8.c,
	gcc.target/i386/gcc-have-sync-compare-and-swap-1.c,
	gcc.target/i386/gcc-have-sync-compare-and-swap-2.c,
	gcc.target/i386/isa-6.c, gcc.target/i386/lea.c,
	gcc.target/i386/pentium4-not-mull.c, gcc.target/i386/sse-5.c,
	gcc.target/i386/ssefn-1.c: Skip when multilib flags contain -march
	options other than that used in dg-options.

2009-09-07  Maxim Kuvyrkov  <maxim@codesourcery.com>

	* release-notes-csl.xml: Add note.
	gcc/
	* m68k/m68k-devices.def: Add MCF5441x family.

2009-09-04  Nathan Froyd  <froydnj@codesourcery.com>

	* release-notes-csl.xml: Change <code> tag to </code> tag.

2009-09-04  Daniel Gutson  <dgutson@codesourcery.com>

	gcc/
	* config/arm/arm.md (ctzsi2): Added braces
	to avoid warning that broke booststrap.

2009-09-02  Joseph Myers  <joseph@codesourcery.com>

	Backport:

	libstdc++-v3/
	2009-09-02  Joseph Myers  <joseph@codesourcery.com>

	* testsuite/lib/libstdc++.exp (libstdc++_init): Copy .tcc files
	under util/ to remote host.  Copy .h and .hpp files at more levels
	under util/ to remote host.

2009-09-02  Daniel Jacobowitz  <dan@codesourcery.com>

	libgcc/
	* shared-object.mk (c_flags-$(base)$(objext)): New.
	($(base)$(objext)): Use above.
	($(base)_s$(objext)): Likewise.
	* static-object.mk (c_flags-$(base)$(objext)): New.
	($(base)$(objext)): Use above.

2009-08-26  Daniel Jacobowitz  <dan@codesourcery.com>

	Issue #6189 - Enable pre-reload scheduling for Thumb-2

	* release-notes-csl.xml (Improved optimization for Thumb-2): New note.

	gcc/
	* config/arm/arm.c (arm_override_options): Enable scheduling for
	Thumb-2.

2009-08-26  Daniel Jacobowitz  <dan@codesourcery.com>

	Issue #6131 - Enable additional optimizations by default in Lite
	Issue #6103 - Reduce default unrolling parameters at -O3

	* release-notes-csl.xml (Improved optimization for ARM): New note.

	gcc/
	* config/arm/arm.c (arm_override_options): If flag_unroll_loops has
	the default value, adjust unrolling parameters.
	(arm_optimization_options): Set flag_unroll_loops to a default value.
	Enable flag_promote_loop_indices.

2009-08-26  Julian Brown  <julian@codesourcery.com>

	gcc/config/arm/
	* uclinux-eabi.h (LINK_GCC_C_SEQUENCE_SPEC): Override definition
	for uclinux.

2009-08-26  Kazu Hirata  <kazu@codesourcery.com>

	Issue #6089
	gcc/
	* config/arm/arm.c (arm_rtx_costs_1): Don't special case for
	Thumb-2 in the MINUS case.

2009-08-21  Nathan Froyd  <froydnj@codesourcery.com>

	Issue #6264

	gcc/
	* tree-ssa-remove-local-statics.c (maybe_discover_new_declaration):
	Don't consider non-local statics as eligible for optimization.

	gcc/cp/
	* decl2.c (mark_used): Mark _DECLs as DECL_NONLOCAL if appropriate.

	gcc/testsuite/
	* g++.dg/remove-local-statics-1.C: New test.
	* g++.dg/remove-local-statics-2.C: New test.

2009-08-20  Maciej W. Rozycki  <macro@codesourcery.com>

	Merge from Sourcery G++ 4.3:
	2008-10-02  Maciej W. Rozycki  <macro@codesourcery.com>
	Issue #3673
	gcc/testsuite/
	* lib/target-supports.exp
	(check_effective_target_arm_iwmmxt_ok): New procedure.
	* gcc.target/arm/mmx-1.c: Only run if arm_iwmmxt_ok.

	gcc/testsuite/
	* gcc.target/arm/mmx-1.c: Remove the exclusion for
	-mfloat-abi=softfp.

2009-08-18  Nathan Froyd  <froydnj@codesourcery.com>

	Backport from mainline:
	
	gcc/testsuite/
	2009-08-18  Nathan Froyd  <froydnj@codesourcery.com>
	
	* gcc.dg/vect/vect.exp: Add new stanza for aligned-section-anchors-*
	tests.
	* gcc.dg/vect/section-anchors-nest-1.c: Rename to...
	* gcc.dg/vect/aligned-section-anchors-nest-1.c: ...this.  Remove
	dg-options.  Fix dg-final clause.

2009-08-16  Maxim Kuvyrkov  <maxim@codesourcery.com>

	gcc/
	* config/m68k/lb1sf68.asm (PICCALL): Use long branch to subroutine
	for supporting ColdFire ISAs.

2009-08-16  Maxim Kuvyrkov  <maxim@codesourcery.com>

	gcc/
	* config/m68k/linux-unwind.h (m68k_fallback_frame_state): Add
	alternative rt_sigreturn sequence.

2009-08-14  Andrew Stubbs  <ams@codesourcery.com>

	Issue #6120

	Backport from mainline:

	gcc/
	2009-08-11  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
	* reload.c (find_reloads_subreg_address): Check the original
	req_equiv_mem address to detect the case where an address is
	not valid in the outer mode.

2009-08-14  Andrew Stubbs  <ams@codesourcery.com>

	gcc/
	* longlong.h (SH udiv_qrnnd) Mark "t" register clobbered.:

2009-08-14  Andrew Stubbs  <ams@codesourcery.com>

	libstdc++-v3/
	* config/cpu/sh/atomicity.h (__exchange_and_add): Set earlyclobber constraint.

2009-08-13  Maciej W. Rozycki  <macro@codesourcery.com>

	* release-notes-csl.xml (C++ exception matching): Use the correct
	sequence to get the & character.

2009-08-12  Andrew Stubbs  <ams@codesourcery.com>

	gcc/testsuite/
	* gcc.dg/tree-ssa/pr21559.c: Compile with -fno-remove-local-statics.
	* gcc.dg/tree-ssa/ssa-dse-6.c: Likewise.

2009-08-11  Kazu Hirata  <kazu@codesourcery.com>

	Issue #6172
	Backport from FSF:
	gcc/
	2009-07-15  Richard Earnshaw  <rearnsha@arm.com>
	* arm.md (ior_xor): New code iterator.
	(split for ior/xor with shift and zero-extend): New split pattern.
	* arm/predicates.md (subreg_lowpart_operator): New special predicate.

2009-08-11  Kazu Hirata  <kazu@codesourcery.com>

	Issue #6172
	Backport from FSF:
	gcc/
	2009-06-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
	PR target/40482
	* config/arm/arm.c (thumb_shiftable_const): Truncate val to 
	32 bits.
	* config/arm/arm.md: Likewise.

	gcc/testsuite/
	2009-06-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
	PR target/40482
	* gcc.target/arm/pr40482.c: New test.
	
2009-08-11  Kazu Hirata  <kazu@codesourcery.com>

	Issue #6172
	Backport from FSF:
	gcc/
	2009-06-13  Richard Earnshaw  <rearnsha@arm.com>
	PR target/40327
	* arm/constraints.md (Pa, Pb): New constraints.
	* arm/arm.md (thumb1_addsi3): Support more complex additions.  Add a 
	split pattern to deal with them.

2009-08-11  Kazu Hirata  <kazu@codesourcery.com>

	Issue #6172
	Backport from FSF:
	gcc/
	2009-06-04  Richard Earnshaw  <rearnsha@arm.com>
	PR target/10242
	* arm.md (arm_addsi3): Don't try to split an add with an
	eliminable register until after reload has completed.

2009-08-11  Kazu Hirata  <kazu@codesourcery.com>

	Issue #6172
	Backport from FSF:
	gcc/
	2009-06-02  Richard Earnshaw  <rearnsha@arm.com>
	* arm.c (arm_get_frame_offsets): Prefer using r3 for padding a
	push/pop multiple to 8-byte alignment.

2009-08-10  Joseph Myers  <joseph@codesourcery.com>

	gcc/
	* config/mips/t-sgxx-linux (MULTILIB_MATCHES),
	config/mips/cs-sgxx-linux.h (SYSROOT_SUFFIX_SPEC): Handle new
	pre-MIPS32 CPUs.  Correct "4ks" typo.  Handle MIPS64 CPUs.

2009-08-06  Nathan Sidwell  <nathan@codesourcery.com>

	Issue 1080
	gcc/testsuite/
	* g++.dg/eh/ref1.C: Add dg-bogus for non-arm targets.

2009-08-04  Catherine Moore  <clm@codesourcery.com>

	* gcc/
	* config/mips/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Define.
	* config/mips/mips.c (mips_override_options): Move the uclibc
	check to SUBTARGET_OVERRIDE_OPTIONS.

2009-08-04  Sandra Loosemore  <sandra@codesourcery.com>

	Issue #6004

	* release-notes-csl.xml (Support for MIPS 1004K cores): New note.

	gcc/
	* config/mips/sdemtk.h (MIPS_ARCH_FLOAT_SPEC): Add pattern for 1004K.

2009-08-04  Sandra Loosemore  <sandra@codesourcery.com>

	Issue #6004

	Backport from FSF:
	gcc/
	* doc/invoke.texi (MIPS Options): Document new 1004K -march options.
	* config/mips/mips.c (mips_cpu_info_table): Add 1004K cores.
	* config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Add pattern for 1004K.
	(MIPS_ARCH_FLOAT_SPEC): Likewise.
	(BASE_DRIVER_SELF_SPECS): Likewise.

2009-08-04  Nathan Froyd  <froydnj@codesourcery.com>

	gcc/
	* c.opt (fremove-local-statics): Enable for C++.

2009-08-04  Catherine Moore  <clm@codesourcery.com>

	gcc/
	* config/mips/mips.opt (muclibc): Delete.
	* config/mips/mips.c (mips_override_options): Check
	linux_uclibc instead of building_for_uclibc.

2009-08-02  Joseph Myers  <joseph@codesourcery.com>

	Issue #5176

	* release-notes-csl.xml: Add release note for
	-fremove-local-statics default.

2009-07-29  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config/arm/lib1funcs.asm (ARM_DIV_BODY): Add Thumb-2 implementation.
	(udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Only use Thumb-1
	implementation on ARMv6-M.

2009-07-29  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config/arm/lib1funcs.asm (clear_cache): Use ARM_FUNC_START and
	do_push/do_pop.

2009-07-27  Joseph Myers  <joseph@codesourcery.com>

	* release-notes-csl.xml: Add release note for MinGW update.

2009-07-27  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config/arm/t-cs-eabi: Remove ARMv4 VFP multilib. Add big-endian
	ARMv5t VFP multilib.

2009-07-24  Joseph Myers  <joseph@codesourcery.com>

	Backport:

	libstdc++-v3/
	2009-07-24  Joseph Myers  <joseph@codesourcery.com>

	* include/c_global/cwchar (swprintf, vswprintf): Do not use if
	_GLIBCXX_HAVE_BROKEN_VSWPRINTF.
	* testsuite/lib/libstdc++.exp (check_v3_target_swprintf): New.
	* testsuite/lib/dg-options.exp (dg-require-swprintf): New.
	* testsuite/21_strings/headers/cwchar/functions_std.cc,
	testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc,
	testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc:
	Use dg-require-swprintf.

2009-07-24  Nathan Sidwell  <nathan@codesourcery.com>

	Issue #1080
	* release-notes-csl.xml: Dcoument.

	gcc/
	* targhooks.c (hook_cxx_ttype_ref_in_bit0): New.
	* targhooks.h (hook_cxx_ttype_ref_in_bit0): Declare.
	* target.h (ttype_ref_encode): New field for c++.
	* target-def.h (TARGET_CXX_TTYPE_REF_ENCODE): New.
	(TARGET_CXX): Add it.
	* except.c (output_ttype): If the expression is POINTER_PLUS_EXPR
	look at the first operand for the exception type object.
	* config/arm/arm.c (TARGET_CXX_TTYPE_REF_ENCODE): Override.
	* config/arm/unwind-arm.c (__gnu_unwind_pr_common): Add comment
	about references.
	* config/arm/unwind-arm.h (_Unwind_decode_target2): Propagate the
	bottom 2 bits.

	libstdc++-v3/
	* libsupc++/eh_arm.cc (__cxa_type_match): Use is_reference
	parameter.
	* libsupc++/eh_personality.cc (get_ttype_entry): Add is_ref
	parameter and set it appropriately.
	(get_adjusted_ptr): Add is_ref parameter and use it.
	(check_exception_spec): Pass referenceness to get_adjusted_ptr.
	(PERSONALITY_FUNCTION): Process referenceness.

	gcc/cp/
	* rtti.c (get_tinfo_decl): Assert not reference type.
	* except.c (build_eh_type_type): Use ttype_ref_encode if the type
	is a reference.
	(expand_start_catch_block): Preserve referenceness on pointers if
	ttype_ref_encode is non-NULL.
	(finish_eh_spec_block): Likewise.
	(can_convert_eh): Implement exactly the same algorithm as the
	runtime matcher.
	* semantics.c (finish_handler_parms): Look through reference types
	before marking the exception object type.

	gcc/testsuite/
	* g++.dg/eh/ref1.C: New.
	* g++.dg/eh/ref2.C: New.
	
2009-07-23  Joseph Myers  <joseph@codesourcery.com>

	Backport:

	gcc/testsuite/
	2009-07-23  Joseph Myers  <joseph@codesourcery.com>

	* gcc.dg/dll-4.c: Allow foo1 and foo2 in either order in
	scan-assembler.

2009-07-23  Joseph Myers  <joseph@codesourcery.com>

	Issue #5962

	Backport:

	gcc/
	2009-05-28  Dave Korn  <dave.korn.cygwin@gmail.com>

	PR target/37216

	* configure.ac (HAVE_GAS_ALIGNED_COMM):  Add autoconf test and
	macro definition for support of three-operand format aligned
	.comm directive in assembler on cygwin/pe/mingw target OS.
	* configure:  Regenerate.
	* config.h:  Regenerate.

	* config/i386/winnt.c (i386_pe_asm_output_aligned_decl_common):  Use
	aligned form of .comm directive if -mpe-aligned-commons is in effect.
	* config/i386/cygming.opt (-mpe-aligned-commons):  Add new option.

	* doc/invoke.texi (-mpe-aligned-commons):  Document new target option.
	* doc/tm.texi (ASM_OUTPUT_COMMON):  Document zero size commons.

	gcc/testsuite/
	2009-05-28  Dave Korn  <dave.korn.cygwin@gmail.com>
	            Uros Bizjak  <ubizjak@gmail.com>
	            Danny Smith  <dansmister@gmail.com>

	PR target/37216

	* lib/target-supports.exp (check_effective_target_pe_aligned_commons):
	New function.
	* gcc.target/i386/pr37216.c:  New test source file.
	* gcc.dg/compat/struct-layout-1_generate.c (dg_options[]):  No longer
	use -fno-common for testing Cygwin and MinGW targets.

2009-07-23  Nathan Sidwell  <nathan@codesourcery.com>

	gcc/
	* target-def.h (TARGET_ASM_TTYPE): Correct typo of TARGET_ARM_TTYPE.
	* config/arm/arm-unwind.c (__gnu_Unwind_Backtrace): Remove unused
	label.

2009-07-22  Joseph Myers  <joseph@codesourcery.com>

	Issue #5774
	Merge from GCC 4.4.1.
	* release-notes-csl.xml: Update release note for upgrade to 4.4.

2009-07-22  Maxim Kuvyrkov  <maxim@codesourcery.com>

	Issue #4203

	* release-notes-csl.xml: Add note for the previous commit.

2009-07-22  Maxim Kuvyrkov  <maxim@codesourcery.com>

	Issue #4203
	Backport from upstream:

	gcc/
	2009-07-09  Maxim Kuvyrkov  <maxim@codesourcery.com>
	* varasm.c (build_constant_desc): Don't share RTL in pool entries.
	gcc/testsuite/
	2009-07-09  Maxim Kuvyrkov  <maxim@codesourcery.com>
	* gcc.target/m68k/20090709-1.c: New.

2009-07-21  Paul Brook <paul@codesourcery.com>

	Issue #6016

	gcc/
	* tree-vectorizer.c (increase_alignment): Handle nested arrays.
	Terminate debug dump with newline.

	gcc/testsuite/
	* gcc.dg/vect/section-anchors-nest-1.c: New test.
	* lib/target-supports.exp (check_effective_target_section_anchors):
	Add arm*-*-*.

2009-07-20  Joseph Myers  <joseph@codesourcery.com>

	Issue #5565

	fixincludes/
	* fixincl.tpl (sed_cmd_z): Hardcode to "sed".
	* fixincl.x: Regenerate.

2009-07-20  Andrew Stubbs  <ams@codesourcery.com>

	* release-notes-csl.xml: Document issue 6013 fix.

2009-07-19  Joseph Myers  <joseph@codesourcery.com>

	gcc/
	* config/mips/t-wrs-linux (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
	MULTILIB_EXCEPTIONS, MULTILIB_OSDIRNAMES): Add VR5500 multilib.
	* config/mips/wrs-linux.h (SYSROOT_SUFFIX_SPEC: Update for VR5500
	multilib.

2009-07-19  Joseph Myers  <joseph@codesourcery.com>

	gcc/
	* config/i386/t-wrs-linux, config/i386/wrs-linux.h,
	config/i386/wrs-linux.opt: New.
	* config.gcc (i586-wrs-linux-gnu): Use these files.

2009-07-17  Nathan Froyd  <froydnj@codesourcery.com>

	gcc/
	* tree-ssa-loop-promote.c (analyze_loop_index_defintion_pattern):
	Don't call TREE_OPERAND.

2009-07-17  Joseph Myers  <joseph@codesourcery.com>

	Backport:

	config/
	2009-07-17  Joseph Myers  <joseph@codesourcery.com>

	PR other/40784
	* tls.m4 (GCC_CHECK_TLS): Add extra quoting around argument to
	AC_LINK_IFELSE.

	libjava/
	2009-07-17  Joseph Myers  <joseph@codesourcery.com>

	PR other/40784
	* configure: Regenerate.

	libstdc++-v3/
	2009-07-17  Joseph Myers  <joseph@codesourcery.com>

	PR other/40784
	* configure: Regenerate.

2009-07-17  Andrew Stubbs  <ams@codesourcery.com>

	Issue #6013

	Backport from mainline:
	gcc/
	2009-05-12  Kaz Kojima  <kkojima@gcc.gnu.org>
	* config/sh/sh.h (OVERRIDE_OPTIONS): Clear flag_schedule_insns
	unless -fschedule-insns is specified.

2009-07-16  Joseph Myers  <joseph@codesourcery.com>

	config/
	* tls.m4 (GCC_CHECK_TLS): Restrict shared library LDFLAGS to Linux
	host (resync with upstream version).

	libgomp/
	* configure: Regenerate.

	libjava/
	* configure: Regenerate.

	libmudflap/
	* configure: Regenerate.

	libstdc++-v3/
	* configure: Regenerate.

2009-07-14  Joseph Myers  <joseph@codesourcery.com>

	Backport:

	gcc/testsuite/
	2009-07-14  Joseph Myers  <joseph@codesourcery.com>

	* gcc.target/i386/pr37843-1.c, gcc.target/i386/pr37843-2.c,
	gcc.target/i386/pr37843-3.c: Allow leading underscore on function
	name.

2009-07-14  Maxim Kuvyrkov  <maxim@codesourcery.com>

	Revert:
	
	2009-07-02  Maxim Kuvyrkov  <maxim@codesourcery.com>
	Merge from Sourcery G++ 4.3:
	gcc/
	* haifa-sched.c (max_issue): Fix handling of number of instruction to
	try.

2009-07-14  Paul Brook <paul@codesourcery.com>

	Issue #5829

	config/
	* stdint.m4: Avoid pulling in headers when checking basic type sizes.

	libstdc++-v3/
	* configure: Regenerate.

2009-07-13  Paul Brook <paul@codesourcery.com>

	Issue #2335
	gcc/
	* doc/tm.texi (ARG_POINTER_CFA_OFFSET): Document new default.
	* defaults.h (ARG_POINTER_CFA_OFFSET): Add pretend_args_size.
	* config/spu/spu.h (ARG_POINTER_CFA_OFFSET): Add pretend_args_size.

2009-07-10  Mark Mitchell  <mark@codesourcery.com>

	Issue #6006
	
	* release-notes-csl.xml: Document.

	Backport from mainline:
	2009-07-10  Mark Mitchell  <mark@codesourcery.com>
	* config/arm/thumb2.md (thumb2_cbz): Correct computation of length
	attribute.
	(thumb2_cbnz): Likewise.

2009-07-10  Julian Brown  <julian@codesourcery.com>

	Issue #5999

	gcc/config/arm
	* neon.md (movmisalign<mode>): Add neon_type attribute.

2009-07-10  Daniel Gutson  <dgutson@codesourcery.com>

	Issue 4909

	gcc/testsuite/
	* gcc.target/arm/ctz.c: Fixed scan-assembler target.

2009-07-09  Andrew Stubbs  <ams@codesourcery.com>

	gcc/testsuite/
	* g++.dg/torture/pr36191.C: Don't attempt to test with
	-fomit-frame-pointer.

2009-07-09  Andrew Stubbs  <ams@codesourcery.com>

	gcc/
	* config.gcc (sh*-*-*): Remove cs-sgxxlite-linux.opt.
	* config/sh/cs-sgxxlite-linux.h (SUBTARGET_OVERRIDE_OPTIONS): Use
	linux_uclibc instead of build_for_uclibc.
	* config/sh/cs-sgxxlite-linux.opt: Delete file.

2009-07-09  Julian Brown  <julian@codesourcery.com>

	Backport from mainline:

	2009-05-16  Richard Earnshaw  <rearnsha@arm.com>

	gcc/config/arm/
	* arm.md (movdi2): Copy non-reg values to DImode registers.

2009-07-08  Catherine Moore  <clm@codesourcery.com>

	gcc/testsuite/
	* gcc.dg/torture/type-generic-1.c: Link with floating point
	emulation for target mips-sde-elf.

2009-07-07  Catherine Moore  <clm@codesourcery.com>

	gcc/
	* config/mips/mips.md (abs<mode>2):  Remove checks for HARD_FLOAT
	and TARGET_SDE.

2009-07-07  Catherine Moore  <clm@codesourcery.com>

	gcc/testsuite/
	* gcc.target/mips/clear-cache-2.c: Add target checks for
	mips-sde-elf.

2009-07-06  Paul Brook <paul@codesourcery.com>

	Issue #3979
	gcc/
	* gengtype-lex.l (IWORD): Add HARD_REG_SET.
	* expr.c (expand_expr_real_1): Record modified hard registers.
	* function.h: Include hard-reg-set.h.
	(rtl_data): Add asm_clobbers.
	* ira.c (compute_regs_asm_clobbered): Use crtl->asm_clobbers.
	(setup_eliminable_regset): Ditto.

	gcc/testsuite/
	* gcc.target/arm/frame-pointer-1.c: New test.

2009-07-06  Nathan Froyd  <froydnj@codesourcery.com>

	Backport from mainline:

	gcc/testsuite/
	2009-07-06  Nathan Froyd  <froydnj@codesourcery.com>

	* lib/target-supports.exp
	(check_effective_target_mips_newabi_large_long_double): New.
	* gcc.target/mips/fpr-moves-5.c: Require mips_newabi_large_long_double
	target.
	* gcc.target/mips/fpr-moves-6.c: Likewise.

2009-07-05  Joseph Myers  <joseph@codesourcery.com>

	Backport:

	libstdc++-v3/
	2009-07-05  Joseph Myers  <joseph@codesourcery.com>

	*
	testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc,
	testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stof.cc,
	testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoi.cc,
	testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stol.cc,
	testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stold.cc,
	testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoll.cc,
	testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoul.cc,
	testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoull.cc,
	testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring.cc,
	testsuite/ext/vstring/element_access/char/front_back.cc,
	testsuite/ext/vstring/element_access/wchar_t/front_back.cc,
	testsuite/ext/vstring/init-list.cc,
	testsuite/ext/vstring/moveable.cc,
	testsuite/ext/vstring/requirements/citerators.cc,
	testsuite/ext/vstring/requirements/explicit_instantiation/char16_t/1.cc,
	testsuite/ext/vstring/requirements/explicit_instantiation/char32_t/1.cc:
	Use dg-require-string-conversions.

2009-07-03  Joseph Myers  <joseph@codesourcery.com>

	Issue #1063

	config/
	* tls.m4 (GCC_CHECK_TLS): Also test TLS in a shared library when
	cross-compiling.

	libgomp/
	* configure: Regenerate.

	libjava/
	* configure: Regenerate.

	libmudflap/
	* configure: Regenerate.

	libstdc++-v3/
	* configure: Regenerate.

2009-07-03  Nathan Froyd  <froydnj@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	2008-05-26  Nathan Froyd  <froydnj@codesourcery.com>

	Backport from mainline:
	gcc/
	2008-04-30  Nathan Froyd  <froydnj@codesourcery.com>
	* config/rs6000/t-ppccomm: Add build rules for new files.
	(LIB2FUNCS_STATIC_EXTRA): Add new files.

	libgcc/
	2008-04-30  Nathan Froyd  <froydnj@codesourcery.com>
	* config/rs6000/t-ppccomm: Add build rules for new files.
	(LIB2ADD_ST): New variable.

2009-07-03  Maxim Kuvyrkov  <maxim@codesourcery.com>

	gcc/
	* doc/tm.texi (TARGET_COMMUTATIVE_OPERAND_PRECEDENCE): Document.
	* target.h (commutative_operand_precedence): New hook.
	* target-def.h (TARGET_COMMUTATIVE_OPERAND_PRECEDENCE): Define
	the default.
	* rtlanal.c (commutative_operand_precedence): Use the new hook.
	Move favoring of pointer objects to ...
	* config/rs6000/rs6000.c (rs6000_commutative_operand_precedence):
	... here.  Implement hook.

2009-07-02  Andrew Jenner  <andrew@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	2009-03-30  Andrew Jenner  <andrew@codesourcery.com>

        gcc/
        * config.gcc: Accept montavista*-, not just montavista-.
        * config/mips/t-montavista-linux: Add Octeon multilibs.

2009-07-02  Andrew Jenner  <andrew@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	2009-02-04  Andrew Jenner  <andrew@codesourcery.com>

        gcc/
        * config.gcc: Handle arm-montavista-linux-gnueabi,
        mips-montavista-linux-gnu, mips64octeon*-montavista-elf* and
        powerpc-montavista-linux-gnu.
        * config/rs6000/t-montavista-linux: New file.
        * config/rs6000/montavista-linux.h: New file.
        * config/arm/t-montavista-linux: New file.
        * config/arm/montavista-linux.h: New file.
        * config/mips/t-montavista-linux: New file.
        * config/mips/t-montavista-elf: New file.
        * config/mips/montavista-linux.h: New file.

        libgcc/
        * config.host: Handle mips64octeon-montavista-elf*.

2009-07-02  Andrew Jenner  <andrew@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	2009-02-17  Andrew Jenner  <andrew@codesourcery.com>
		    Maciej Rozycki  <macro@codesourcery.com>

        gcc/
        * unwind.inc (_Unwind_RaiseException): Use return value of
        uw_init_context.
        * unwind-dw2.c (uw_init_context): Make macro an expression instead of
        a statement.
        (uw_init_context_1): Add return value.
        * unwind-sjlj.c (uw_init_context): Add return value.

2009-07-02  Catherine Moore  <clm@codesourcery.com>

	gcc/
	* config/mips/mips.h (ISA_HAS_UL_US): Delete extraneous
	definition.  Fix typo.
	* config/mips/mips.c (mips_expand_ext_as_unaligned_load):
	Generate mov_uld or mov_ulw if ISA_HAS_UL_US.
	* config/mips/mips.md (UNSPEC_UNALIGNED_LOAD): Equate to 60.
	(UNSPEC_UNALIGNED_STORE): Equate to 61.

2009-07-02  Mark Mitchell  <mark@codesourcery.com>

	Issue #5943
	
	Backport from mainline:

	2009-07-02  Mark Mitchell  <mark@codesourcery.com>

	gcc/cp/
	* typeck.c (cp_build_binary_op): Move warnings about use of NULL
	in arithmetic earlier and allow comparisions of NULL with
	pointers-to-members.

	gcc/testsuite/
	* g++.dg/warn/null4.C: Extend.

2009-07-02  Maxim Kuvyrkov  <maxim@codesourcery.com>
        
	Merge from Sourcery G++ 4.3:
	
	gcc/
	* haifa-sched.c (max_issue): Fix handling of number of instruction to
	try.

2009-07-02  Maxim Kuvyrkov  <maxim@codesourcery.com>

	Merge from Sourcery G++ 4.3:
	
	gcc/
	* haifa-sched.c (insn_finishes_cycle_p): New static function.
        (max_issue): Use it.
        * sched-int.h (struct sched_info: insn_finishes_block_p): New
        scheduler hook.
        * sched-rgn.c (rgn_insn_finishes_block_p): Implement it.
        (region_sched_info): Update.
        * sched-ebb.c (ebb_sched_info): Update.
        * modulo-sched.c (sms_sched_info): Update.
	* sel-sched-ir.c (sched_sel_haifa_sched_info): Update.

2009-07-01  Joseph Myers  <joseph@codesourcery.com>

	Issue #4168

	gcc/
	* gcc.c (using_libgcc, executing_linker): New.
	(execute): Check that libgcc.a exists in the multilib directory
	when linking.
	(process_command): Set using_libgcc to 0 for -nodefaultlibs,
	-nostdlib and -B options.
	(main): Set executing_linker when processing spec that may run the
	linker.

2009-07-01  Catherine Moore  <clm@codesourcery.com>

	gcc/testsuite/
	* gcc.target/mips/mips.exp (mips_option_groups): Add
	-mocteon-useun.
	* gcc.target/mips/octeon-useun.c: Change dg-mips-options to
	dg-options.
	* gcc.target/mips/branch-2.c: Likewise.

2009-07-01  Catherine Moore  <clm@codesourcery.com>

	gcc/testsuite/
	* gcc.c-torture/execute/ieee/ieee.exp: Link with floating
	point emulation for mips-sde-elf targets.

2009-06-30  Daniel Gutson  <dgutson@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	2008-08-27  Daniel Gutson  <daniel@codesourcery.com>

	Janus 2CC ARM shift fix:
	gcc/
	* config/arm/arm.md (*addsi3_carryin_shift): Added "length" clause
	to handle the extra NOP.
	(andsi_not_shiftsi_si): Likewise.
	(*thumb1_ashlsi3): Likewise.
	(*thumb1_ashrsi3): Likewise.
	(*thumb1_lshrsi3): Likewise.
	(*thumb1_rotrsi3): Likewise.
	(*arm_shiftsi3): Likewise.
	(*shiftsi3_compare0): Likewise.
	(*shiftsi3_compare0_scratch): Likewise.
	(*arm_notsi_shiftsi): Likewise.
	(*arm_notsi_shiftsi_compare0): Likewise.
	(*arm_not_shiftsi_compare0_scratch): Likewise.
	(*arm_cmpsi_shiftsi): Likewise.
	(*arm_cmpsi_shiftsi_swp): Likewise.
	(*arm_cmpsi_negshiftsi_si): Likewise.
	(*arith_shiftsi): Likewise.
	(*arith_shiftsi_compare0): Likewise.
	(*arith_shiftsi_compare0_scratch): Likewise.
	(*sub_shiftsi): Likewise.
	(*sub_shiftsi_compare0): Likewise.
	(*sub_shiftsi_compare0_scratch): Likewise.
	(*if_shift_move): Likewise.
	(*if_move_shift): Likewise.
	(*if_shift_shift): Likewise.
	(*thumb1_ashlsi3_janus2): New. Duplicated pattern to handle the
	extra NOP.
	(*thumb1_ashrsi3_janus2): Likewise.
	(*thumb1_lshrsi3_janus2): Likewise.
	(*thumb1_rotrsi3_janus2): Likewise.
	* config/arm/arm.c (arm_print_operand): Added the nop after the %S
	pattern.
	(arm_override_options): Added handling of the -mfix-janus-2cc flag
	* config/arm/arm.h (janus2_code): Declare.
	* config/arm/arm.opt (-mfix-janus-2cc): New.
  
	testsuite/
	* lib/target-supports.exp (check_effective_target_arm_no_thumb):
	New function.
	* gcc.target/arm/janus-2cc-shift-1.c: New.
	* gcc.target/arm/janus-2cc-shift-2.c: New.

2009-06-29  Daniel Jacobowitz  <dan@codesourcery.com>

	gcc/
	* config/arm/neon-testgen.ml: Use dg-add-options arm_neon.

	gcc/testsuite/
	* gcc/target/arm/neon/: Regenerated test cases.

	* gcc.target/arm/neon/polytypes.c,
	gcc.target/arm/neon-vmla-1.c, gcc.target/arm/neon-vmls-1.c,
	gcc.target/arm/neon-cond-1.c, gcc.dg/torture/arm-fp16-ops-8.c,
	gcc.dg/torture/arm-fp16-ops-7.c, g++.dg/ext/arm-fp16/arm-fp16-ops-7.C,
	g++.dg/ext/arm-fp16/arm-fp16-ops-8.C, g++.dg/abi/mangle-neon.C: Use
	dg-add-options arm_neon.

	* gcc.target/arm/fp16-compile-vcvt.c, gcc.dg/torture/arm-fp16-ops-5.c,
	gcc.dg/torture/arm-fp16-ops-6.c, g++.dg/ext/arm-fp16/arm-fp16-ops-5.C,
	g++.dg/ext/arm-fp16/arm-fp16-ops-6.C: Use dg-add-options arm_neon_fp16
	and arm_neon_fp16_ok.

	* gcc.dg/vect/vect.exp, g++.dg/vect/vect.exp,
	gfortran.dg/vect/vect.exp: Use add_options_for_arm_neon.

	* lib/target-supports.exp (add_options_for_arm_neon): New.
	(check_effective_target_arm_neon_ok_nocache): New, from
	check_effective_target_arm_neon_ok.  Check multiple possibilities.
	(check_effective_target_arm_neon_ok): Use
	check_effective_target_arm_neon_ok_nocache.
	(add_options_for_arm_neon_fp16)
	(check_effective_target_arm_neon_fp16_ok)
	check_effective_target_arm_neon_fp16_ok_nocache): New.
	(check_effective_target_arm_neon_hw): Use add_options_for_arm_neon.

2009-06-29  Paul Brook <paul@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	2005-03-10  Julian Brown  <julian@codesourcery.com>
	libstdc++-v3/
	* configure.ac (LIBSUPCXX_PRONLY): New AM_CONDITIONAL: yes
	if we are compiling for SymbianOS on ARM.
	* include/Makefile.am: Don't install C++ headers if
	LIBSUPCXX_PRONLY is true.
	* libsupc++/Makefile.am: Include only eh_personality.cc
	in libsupc++ if LIBSUPCXX_PRONLY is true.
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* include/Makefile.in: Regenerate.
	* libmath/Makefile.in: Regenerate.
	* libsupc++/Makefile.in: Regenerate.
	* po/Makefile.in: Regenerate.
	* src/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

2009-06-29  Nathan Sidwell  <nathan@codesourcery.com>

	Merge from Sourcery G++ 4.3:
	2009-02-27  Daniel Gutson  <dgutson@codesourcery.com>
	Issue #4459
	gcc/
	* config/arm/linux-eabi.h (LINK_SPEC): BE8_LINK_SPEC added.
	* config/arm/arm-cores.def: Comment added.
	* config/arm/bpapi.h (BE8_LINK_SPEC): New define.
	(LINK_SPEC): BE_LINK_SPEC added.

	Merge from Sourcery G++ 4.3:
	2009-04-21  Andrew Jenner  <andrew@codesourcery.com>
	gcc/testsuite/
	* lib/target-supports.exp: Handle powerpc-*-elf.

2009-06-26  Catherine Moore  <clm@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	2008-08-10  Catherine Moore  <clm@codesourcery.com>
	Merge from Sourcery G++ 4.2:
	2008-02-28  Julian Brown  <julian@codesourcery.com>
	Merge from MIPS:
	gcc/
	* Makefile.in (stmp-int-hdrs): Don't depend on
	fixinc_list. Only
	process fixincludes if fixinc_list is
	present.
	(install-mkheaders): Likewise.
	
2009-06-26  Catherine Moore  <clm@codesourcery.com>

	Merge from Sourcery G++ 4.3:
	
	2008-08-10  Catherine Moore  <clm@codesourcery.com>
	Merge from Sourcery G++ 4.2:
	2008-02-11  Julian Brown  <julian@codesourcery.com>
	Merge from MIPS:
	2004-06-29  Nigel Stephens  <nigel@mips.com>
	
	* Makefile.in (libgcc.mk): Make this depend on
	$(tmake_file), in
	case new multilib options have been defined.
	(s-mlib): Similarly.
	
2009-06-26  Catherine Moore  <clm@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	2008-10-12  Catherine Moore  <clm@codesourcery.com>
	gcc/
	* config/mips/mips.opt (muclibc): New option entry.
	* config/mips/mips.c (mips_override_options): Disable
	__thread support when the -muclibc option is used.

2009-06-26  Maxim Kuvyrkov  <maxim@codesourcery.com>

	gcc/
	* config/m68k/linux-unwind.h (m68k_fallback_frame_state): Update to
	handle 2.6.30 kernel.

2009-06-26  Joseph Myers  <joseph@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	2009-02-26  Joseph Myers  <joseph@codesourcery.com>

	Issue #4730

	gcc/
	* config/arm/arm.c (arm_libcall_value, arm_init_cumulative_args):
	Use base ABI for conversion libfuncs between HFmode and SFmode.

2009-06-26  Sandra Loosemore  <sandra@codesourcery.com>

	Backport fp16 support from FSF mainline:

	2009-05-20  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* doc/tm.texi (Misc): Document TARGET_INVALID_PARAMETER_TYPE,
	TARGET_INVALID_RETURN_TYPE, TARGET_PROMOTED_TYPE, and
	TARGET_CONVERT_TO_TYPE.
	* hooks.c (hook_tree_const_tree_null): Define.
	* hooks.h (hook_tree_const_tree_null): Declare.
	* target.h (struct gcc_target):  Add invalid_parameter_type,
	invalid_return_type, promoted_type, and convert_to_type fields.
	* target-def.h: (TARGET_INVALID_PARAMETER_TYPE): Define.
	(TARGET_INVALID_RETURN_TYPE): Define.
	(TARGET_PROMOTED_TYPE): Define.
	(TARGET_CONVERT_TO_TYPE): Define.
	(TARGET_INITIALIZER): Update for new fields.
	* c-decl.c (grokdeclarator): Check targetm.invalid_return_type.
	(grokparms): Check targetm.invalid_parameter_type.
	* c-typeck.c (default_conversion): Check targetm.promoted_type.
	* c-convert.c (convert): Check targetm.convert_to_type.

	gcc/cp/
	* typeck.c (default_conversion): Check targetm.promoted_type.
	* decl.c (grokdeclarator): Check targetm.invalid_return_type.
	(grokparms): Check targetm.invalid_parameter_type.
	* cvt.c (ocp_convert): Check targetm.convert_to_type.
	(build_expr_type_conversion): Check targetm.promoted_type.

	2009-05-15  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* real.c (encode_ieee_half): Define.
	(decode_ieee_half): Define.
	(ieee_half_format): Define.
	(arm_half_format): Define.
	* real.h (ieee_half_format): Declare.
	(arm_half_format): Declare.

	2009-05-15  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* fold-const.c (fold_convert_const_real_from_real): Check for
	overflow.

	2009-06-18  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* doc/extend.texi (Half-Precision): New section.
	* doc/invoke.texi (Option Summary): List -mfp16-format.
	(ARM Options): List neon-fp16 as -mfpu value.  Document -mfp16-format.
	* config/arm/arm.opt (mfp16-format=): New.
	* config/arm/arm.c: Include intl.h.
	(TARGET_INVALID_PARAMETER_TYPE): Redefine.
	(TARGET_INVALID_RETURN_TYPE): Redefine.
	(TARGET_PROMOTED_TYPE): Redefine.
	(TARGET_CONVERT_TO_TYPE): Redefine.
	(arm_fp16_format): Define.
	(all_fpus): Add entry for neon-fp16.
	(fp_model_for_fpu): Likewise.
	(struct fp16_format): Declare.
	(all_fp16_formats): Define.
	(arm_init_libfuncs): Add entries for HFmode conversions and arithmetic
	functions.
	(arm_override_options): Set arm_fp16_format. Call sorry for fp16
	and no ldrh.
	(arm_legitimate_index_p): Treat HFmode like HImode.
	(thumb1_legitimate_address_p): Make it recognize HFmode constants.
	(coproc_secondary_reload_class): Special-case HFmode.
	(arm_print_operand): Add 'z' specifier for vld1.16/vst1.16.
	(arm_hard_regno_mode_ok): Allow HFmode values in VFP registers.
	(arm_init_fp16_builtins): New.
	(arm_init_builtins): Call it.
	(arm_invalid_parameter_type): New.
	(arm_invalid_return_type): New.
	(arm_promoted_type): New.
	(arm_convert_to_type).
	(arm_file_start): Deal with neon-fp16 as fpu_name.  Emit tag for fp16
	format.
	(arm_emit_fp16_const): New function.
	(arm_mangle_type): Mangle __fp16 as "Dh".
	* config/arm/arm.h (TARGET_VFPD32): Make it know about
	FPUTYPE_NEON_FP16.
	(TARGET_NEON_FP16): New.
	(TARGET_NEON): Make it know about FPUTYPE_NEON_FP16.
	(enum fputype): Add FPUTYPE_NEON_FP16.
	(enum arm_fp16_format_type): Declare.
	(arm_fp16_format): Declare.
	(LARGEST_EXPONENT_IS_NORMAL): Define.
	* config/arm/arm-protos.h (arm_emit_fp16_const): Declare.
	* config/arm/arm-modes.def (HFmode): Define.
	* config/arm/vfp.md: (*movhf_vfp): New.
	(extendhfsf2): New.
	(truncsfhf2): New.
	* config/arm/arm.md: (fpu): Add neon_fp16.
	(floatsihf2, floatdihf2): New.
	(fix_trunchfsi2, fix_trunchfdi2): New.
	(truncdfhf2): New.
	(extendhfdf2): New.
	(movhf): New.
	(*arm32_movhf): New.
	(*thumb1_movhf): New.
	(consttable_2): Add check for HFmode constants.
	(consttable_4): Handle HFmode constants.

	2009-06-18  Paul Brook  <paul@codesourcery.com>
	    Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* config/arm/sfp-machine.h (_FP_NANFRAC_H, _FP_NANSIGN_H): Define.
	(__extendhfsf2, __truncsfhf2): Define.
	* config/arm/fp16.c: New file.
	* config/arm/t-bpabi (LIB2FUNCS_STATIC_EXTRA): Add fp16.c.
	* config/arm/t-symbian (LIB2FUNCS_STATIC_EXTRA):  Add fp16.c.

	2009-06-18  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/testsuite/
	* gcc.target/arm/fp16-compile-alt-1.c: New.
	* gcc.target/arm/fp16-compile-alt-2.c: New.
	* gcc.target/arm/fp16-compile-alt-3.c: New.
	* gcc.target/arm/fp16-compile-alt-4.c: New.
	* gcc.target/arm/fp16-compile-alt-5.c: New.
	* gcc.target/arm/fp16-compile-alt-6.c: New.
	* gcc.target/arm/fp16-compile-alt-7.c: New.
	* gcc.target/arm/fp16-compile-alt-8.c: New.
	* gcc.target/arm/fp16-compile-alt-9.c: New.
	* gcc.target/arm/fp16-compile-alt-10.c: New.
	* gcc.target/arm/fp16-compile-alt-11.c: New.
	* gcc.target/arm/fp16-compile-ieee-1.c: New.
	* gcc.target/arm/fp16-compile-ieee-2.c: New.
	* gcc.target/arm/fp16-compile-ieee-3.c: New.
	* gcc.target/arm/fp16-compile-ieee-4.c: New.
	* gcc.target/arm/fp16-compile-ieee-5.c: New.
	* gcc.target/arm/fp16-compile-ieee-6.c: New.
	* gcc.target/arm/fp16-compile-ieee-7.c: New.
	* gcc.target/arm/fp16-compile-ieee-8.c: New.
	* gcc.target/arm/fp16-compile-ieee-9.c: New.
	* gcc.target/arm/fp16-compile-ieee-10.c: New.
	* gcc.target/arm/fp16-compile-ieee-11.c: New.
	* gcc.target/arm/fp16-compile-none-1.c: New.
	* gcc.target/arm/fp16-compile-exprtype.c: New.
	* gcc.target/arm/fp16-compile-vcvt.c: New.
	* gcc.target/arm/fp16-builtins-1.c: New.
	* gcc.target/arm/fp16-rounding-alt-1.c: New.
	* gcc.target/arm/fp16-rounding-ieee-1.c: New.
	* gcc.target/arm/fp16-param-1.c: New.
	* gcc.target/arm/fp16-return-1.c: New.
	* gcc.target/arm/fp16-unprototyped-1.c: New.
	* gcc.target/arm/fp16-unprototyped-2.c: New.
	* gcc.target/arm/fp16-variadic-1.c: New.
	* gcc.dg/torture/arm-fp16-compile-assign.c: New.
	* gcc.dg/torture/arm-fp16-compile-convert.c: New.
	* gcc.dg/torture/arm-fp16-int-convert-alt.c: New.
	* gcc.dg/torture/arm-fp16-int-convert-ieee.c: New.
	* gcc.dg/torture/arm-fp16-ops.h: New.
	* gcc.dg/torture/arm-fp16-ops-1.c: New.
	* gcc.dg/torture/arm-fp16-ops-2.c: New.
	* gcc.dg/torture/arm-fp16-ops-3.c: New.
	* gcc.dg/torture/arm-fp16-ops-4.c: New.
	* gcc.dg/torture/arm-fp16-ops-5.c: New.
	* gcc.dg/torture/arm-fp16-ops-6.c: New.
	* gcc.dg/torture/arm-fp16-ops-7.c: New.
	* gcc.dg/torture/arm-fp16-ops-8.c: New.
	* g++.dg/ext/arm-fp16/fp16-overload-1.C: New.
	* g++.dg/ext/arm-fp16/fp16-return-1.C: New.
	* g++.dg/ext/arm-fp16/fp16-param-1.C: New.
	* g++.dg/ext/arm-fp16/fp16-mangle-1.C: New.
	* g++.dg/ext/arm-fp16/arm-fp16-ops.h: New.
	* g++.dg/ext/arm-fp16/arm-fp16-ops-1.C: New.
	* g++.dg/ext/arm-fp16/arm-fp16-ops-2.C: New.
	* g++.dg/ext/arm-fp16/arm-fp16-ops-3.C: New.
	* g++.dg/ext/arm-fp16/arm-fp16-ops-4.C: New.
	* g++.dg/ext/arm-fp16/arm-fp16-ops-5.C: New.
	* g++.dg/ext/arm-fp16/arm-fp16-ops-6.C: New.
	* g++.dg/ext/arm-fp16/arm-fp16-ops-7.C: New.
	* g++.dg/ext/arm-fp16/arm-fp16-ops-8.C: New.

	2009-06-18  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* config/arm/arm.c (TARGET_SCALAR_MODE_SUPPORTED_P): Redefine.
	(arm_scalar_mode_supported_p): New function.

	gcc/testsuite/
	* gcc.target/arm/fp16-compile-none-2.c: New.
	* gcc.target/arm/fp16-compile-ieee-12.c: New.
	* gcc.target/arm/fp16-compile-alt-12.c: New.

2009-06-24  Daniel Gutson  <dgutson@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	Issue #4753

	gcc/    
	* config/arm/arm-cores.def: Added core cortex-m0.
	* config/arm/arm-tune.md ("tune"): Aded cortexm0.
	* doc/invoke.texi: Added entry for cpu ARM Cortex-M0.

2009-06-24  Daniel Jacobowitz  <dan@codesourcery.com>

	* release-notes-csl.xml (Mixed integer and floating-point code): New
	note.

	gcc/
	* config/arm/arm.h (REGISTER_MOVE_COST): Increase VFP register
	move cost.

2009-06-23  Daniel Gutson  <dgutson@codesourcery.com>

	Issue 4909
	gcc/
	* config/arm/arm.h (CTZ_DEFINED_VALUE_AT_ZERO): New macro.

2009-06-23  Kazu Hirata  <kazu@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	Issue #4613
	gcc/
	* config/arm/arm.c (arm_rtx_costs_1): Teach that the cost of MLS
	is the same as its underlying multiplication.
	* config/arm/arm.md (two splitters): New.
	* config/arm/predicates.md (binary_operator): New.

2009-06-22  Kazu Hirata  <kazu@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	Issue #5105
	gcc/testsuite/
	* gcc.target/m68k/pr36134.c: Use dg-skip-if to skip the testcase
	if there is a conflict with -mcpu=.  Use -mcpu=5208.

2009-06-22  Kazu Hirata  <kazu@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	Issue #3422
	* config.gcc (mips64*-*-linux*, mipsisa64*-*-linux*,
	mips*-*-linux*): Add mips/t-crtfm to tmake_file.
	* config/mips/crtfastmath.c: New.
	* config/mips/linux.h (ENDFILE_SPEC): New.
	* config/mips/linux64.h (ENDFILE_SPEC): New.
	* config/mips/t-crtfm: New.

	libgcc/
	* config.host (mips64*-*-linux*, mips*-*-linux*): Add mips/t-crtfm
	to tmake_file.  Add crtfastmath.o to extra_parts.
	* config/mips/t-crtfm: New.

2009-06-22  Daniel Gutson  <dgutson@codesourcery.com>

	Issue 4909

	gcc/
	* config/arm/arm.md (UNSPEC_RBIT): New constant.
	(rbitsi2): New insn.
	(ctzsi2): New expand.

	gcc/testsuite/
	* gcc.target/arm/ctz.c: New test case.

	* release-notes-csl.xml: Document.

2009-06-22  Maxim Kuvyrkov  <maxim@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	2009-05-14  Maxim Kuvyrkov  <maxim@codesourcery.com>
	gcc/
	* config/m68k/m68k-devices.def: Add line for MCF5221x.

2009-06-19  Paul Brook  <paul@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	2008-10-21  Paul Brook  <paul@codesourcery.com>
	gcc/
	* config/arm/arm.md (consttable_4): Handle (high ...).

2009-06-19  Catherine Moore  <clm@codesourcery.com>

	* release-notes-csl.xml:  Document interrupt attributes
	for MIPS.

2009-06-19  Paul Brook  <paul@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	2008-06-04  Paul Brook  <paul@codesourcery.com>
	Fix Issue #2917
	gcc/
	* config/arm/arm.c (neon_vector_mem_operand): Handle element/structure
	loads.  Allow PRE_DEC.
	(output_move_neon): Handle PRE_DEC.
	(arm_print_operand): Add 'A' for neon structure loads.
	* config/arm/arm-protos.h (neon_vector_mem_operand): Update prototype.
	* config/arm/neon.md (movmisalign): Use Um constraint and %A.
	* config/arm/constraints.md (Un, Us): Update neon_vector_mem_operand
	calls.
	(Um): New constraint.

2009-06-19  Paul Brook  <paul@codesourcery.com>

	Merge from Sourcery G++ 4.3:
	Issue #1510
	2007-04-27  Paul Brook  <paul@codesourcery.com>
	gcc/
	* cse.c (cse_process_notes): Make sure PLUS are canonical.

2009-06-19  Paul Brook  <paul@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	2008-05-28  Paul Brook  <paul@codesourcery.com>
	Avoid Issue #2945
	gcc/
	* config/arm/arm.md (abssi2): Add TARGET_NO_SINGLE_COND_EXEC expander.
	(arm_abssi2, arm_neg_abssi2): Enable for Thumb-2. Always split.
	(arm_nocond_abssi2, arm_nocond_neg_abssi2): New patterns.
	Add splitters for abssi patterns.
	* config/arm/thumb2.md (thumb2_abssi2, thumb2_neg_abssi2): Remove.

2009-06-19  Paul Brook  <paul@codesourcery.com>

	Merge from Sourcery G++ 4.3:
	2007-03-30  Paul Brook  <paul@codesourcery.com>
	gcc/
	* calls.c (store_one_arg): Check alignment of mode used for save.

2009-06-19  Maxim Kuvyrkov  <maxim@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	2007-02-16  Richard Sandiford  <richard@codesourcery.com>
 	gcc/
	* config/m68k/m68k.h (INDEX_REG_CLASS): Delete in favor of...
	(MODE_INDEX_REG_CLASS): ...this new macro.  Return NO_REGS unless
	MODE_OK_FOR_INDEX_P.
	(MODE_OK_FOR_INDEX_P): New macro.
	(REGNO_OK_FOR_INDEX_P): Delete in favor of...
	(REGNO_MODE_OK_FOR_INDEX_P): ...this new macro.  Return false
	unless MODE_OK_FOR_INDEX_P.
	(REG_OK_FOR_INDEX_P): Delete in favor of...
	(REG_MODE_OK_FOR_INDEX_P): ...this new macro.  Return false
	unless MODE_OK_FOR_INDEX_P.
	* m68k-protos.h (m68k_legitimate_index_reg_p): Add mode argument.
	* m68k.c (m68k_legitimate_index_reg_p, m68k_decompose_index):
	Add mode argument.  Use it.
	* config/m68k/m68k.md (tst<mode>_cf, cmp<mode>_cf, movsf_cf_hard)
	(movdf_cf_hard, extendsfdf2_cf, truncdfsf2_cf, ftrunc<mode>2_cf)
	(add<mode>3_cf, sub<mode>3_cf, fmul<mode>3_cf, div<mode>3_cf)
	(neg<mode>2_cf, sqrt<mode>2_cf, abs<mode>2_cf): Replace "Q<U>"
	constraints for FP addresses with "m" constraints.
	
	2007-02-16  Nathan Sidwell  <nathan@codesourcery.com>
	gcc/testsuite/
	* gcc.dg/m68k-fp-1.c: New.

2009-06-19  Maxim Kuvyrkov  <maxim@codesourcery.com>

  	Merge from Sourcery G++ 4.3:

	2007-02-16  Richard Sandiford  <richard@codesourcery.com>

	gcc/
	* Makefile.in (postreload.o): Depend on addresses.h.
	* addresses.h (index_reg_class, ok_for_index_p_1): New functions.
	(regno_ok_for_index_p): New function.
	* postreload.c: Include addresses.h.
	(reload_combine): Use index_reg_class instead of INDEX_REG_CLASS.
	* ira-costs.c (ok_for_index_p_nonstrict): Add a mode argument.
	Use ok_for_index_p_1 instead of REGNO_OK_FOR_INDEX_P.
	(record_address_regs): Use index_reg_class instead of INDEX_REG_CLASS.
	Update calls to ok_for_index_p_nonstrict.
	* regrename.c (scan_rtx_address): Use regno_ok_for_index_p instead of
	REGNO_OK_FOR_INDEX_P and index_reg_class instead of INDEX_REG_CLASS.
	(replace_oldest_value_addr): Likewise.
	* reload.c (find_reloads_address): Use index_reg_class instead
	of INDEX_REG_CLASS.  Do not push an index register reload if
	index_reg_class returns NO_REGS.
	(find_reloads_address_1): Use index_reg_class instead
	of INDEX_REG_CLASS and regno_ok_for_index_p instead of
	REGNO_OK_FOR_INDEX_P.
	* doc/tm.texi (MODE_INDEX_REG_CLASS): Document new macro.
	(REGNO_MODE_OK_FOR_INDEX_P): Likewise.

2009-06-18  Catherine Moore  <clm@codesourcery.com>

	Backport form mainline:

	2009-04-02  Chao-ying Fu  <fu@mips.com>
	    James Grosbach  <james.grosbach@microchip.com>

	* config/mips/mips.c (mips_frame_info): Add acc_mask, num_acc,
	num_cop0_regs, acc_save_offset, cop0_save_offset, acc_sp_offset,
	cop0_sp_offset.
	(machine_function): Add interrupt_handler_p, use_shadow_register_set_p,
	keep_interrupts_masked_p, use_debug_exception_return_p.
	(mips_attribute_table): Add interrupt, use_shadow_register_set,
	keep_interrupts_masked, use_debug_exception_return.
	(mips_interrupt_type_p, mips_use_shadow_register_set_p,
	mips_keep_interrupts_masked_p, mips_use_debug_exception_return_p):
	New functions.
	(mips_function_ok_for_sibcall): Return false for interrupt handlers.
	(mips_print_operand): Process COP0 registers to print $0 .. $31
	correctly for GAS to process.
	(mips_interrupt_extra_call_saved_reg_p): New function.
	(mips_cfun_call_saved_reg_p): For interrupt handlers, we need to check
	extra registers.
	(mips_cfun_might_clobber_call_saved_reg_p): Likewise.
	(mips_compute_frame_info): Add supports for interrupt context that
	includes doubleword accumulators and COP0 registers.
	(mips_for_each_saved_acc): New function.
	(mips_for_each_saved_gpr_and_fpr): Change the function name from
	mips_for_each_saved_reg.
	(mips_save_reg): Save accumulators.
	(mips_kernel_reg_p): A new for_each_rtx callback.
	(mips_expand_prologue): Support interrupt handlers.
	(mips_restore_reg): Restore accumulators.
	(mips_expand_epilogue): Support interrupt handlers.
	(mips_can_use_return_insn): Return false for interrupt handlers.
	(mips_epilogue_uses): New function.
	* config/mips/mips.md (UNSPEC_ERET, UNSPEC_DERET, UNSPEC_DI,
	UNSPEC_EHB, UNSPEC_RDPGPR, UNSPEC_COP0): New UNSPEC.
	(mips_eret, mips_deret, mips_di, mips_ehb, mips_rdpgpr,
	cop0_move): New instructions.
	* config/mips/mips-protos.h (mips_epilogue_uses): Declare.
	* config/mips/mips.h (K0_REG_NUM, K1_REG_NUM, KERNEL_REG_P): New
	defines.
	(COP0_STATUS_REG_NUM, COP0_CAUSE_REG_NUM, COP0_EPC_REG_NUM):
	New defines.
	(CAUSE_IPL, SR_IPL, SR_EXL, SR_IE): New defines.
	(MIPS_PROLOGUE_TEMP_REGNUM, MIPS_EPILOGUE_TEMP_REGNUM): For
	interrupt handlers, we use K0 as the temporary register.
	(EPILOGUE_USES): Change to a function call.
	* config/mips/sde.h (MIPS_EPILOGUE_TEMP_REGNUM): For interrupt
	handlers, we use K0 as the temporary register.

	* doc/extend.texi (Function Attributes): Document interrupt,
	use_shadow_register_set, keep_interrupts_masked,
	use_debug_exception_return for MIPS attributes.

2009-06-17  Nathan Froyd  <froydnj@codesourcery.com>

	Backport from mainline:

	gcc/testsuite/
	2009-06-10  Nathan Froyd  <froydnj@codesourcery.com>

	* gcc.target/arm/neon-modes-1.c: New test.

2009-06-17  Joseph Myers  <joseph@codesourcery.com>

	Issue #5768

	gcc/
	* config.gcc (i[34567]86-*-linux*): Use extra config files if
	--enable-extra-sgxxlite-multilibs.
	* config/i386/cs-linux-lite.h, config/i386/t-cs-linux-lite: New.

2009-06-16  Joseph Myers  <joseph@codesourcery.com>

	Merge from branches/ix86/gcc-4_4-branch:

	gcc/
	2009-05-21  H.J. Lu  <hongjiu.lu@intel.com>

	Backport from mainline:
	2009-05-21  H.J. Lu  <hongjiu.lu@intel.com>
		    Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/cpuid.h (bit_MOVBE): New.

	* config/i386/driver-i386.c (host_detect_local_cpu): Check movbe.

	* config/i386/i386.c (OPTION_MASK_ISA_MOVBE_SET): New.
	(OPTION_MASK_ISA_MOVBE_UNSET): Likewise.
	(ix86_handle_option): Handle OPT_mmovbe.
	(ix86_target_string): Add -mmovbe.
	(pta_flags): Add PTA_MOVBE.
	(processor_alias_table): Add PTA_MOVBE to "atom".
	(override_options): Handle PTA_MOVBE.

	* config/i386/i386.h (TARGET_MOVBE): New.

	* config/i386/i386.md (bswapsi2): Check TARGET_MOVBE.
	(*bswapsi_movbe): New.
	(*bswapdi_movbe): Likewise.
	(bswapdi2): Renamed to ...
	(*bswapdi_1): This.
	(bswapdi2): New expander.

	* config/i386/i386.opt (mmovbe): New.

	* doc/invoke.texi: Document -mmovbe.

	2009-05-20  H.J. Lu  <hongjiu.lu@intel.com>

	Backport from mainline:
	2009-05-20  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/driver-i386.c (host_detect_local_cpu): Check
	extended family and model for Intel processors.  Support Intel
	Atom.

	2009-04-20  H.J. Lu  <hongjiu.lu@intel.com>

	Backport from mainline:
	2009-04-20  Joey Ye  <joey.ye@intel.com>
		    Xuepeng Guo <xuepeng.guo@intel.com>
		    H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/atom.md: Add bypasses with ix86_dep_by_shift_count.

	* config/i386/i386.c (LEA_SEARCH_THRESHOLD): New macro.
	(IX86_LEA_PRIORITY): Likewise.
	(distance_non_agu_define): New function.
	(distance_agu_use): Likewise.
	(ix86_lea_for_add_ok): Likewise.
	(ix86_dep_by_shift_count): Likewise.

	* config/i386/i386.md: Call ix86_lea_for_add_ok to decide we
	should split for LEA.

	* config/i386/i386-protos.h (ix86_lea_for_add_ok): Declare new
	function.
	(ix86_dep_by_shift_count): Likewise.

	2009-04-07  H.J. Lu  <hongjiu.lu@intel.com>

	Backport from mainline:
	2009-04-07  H.J. Lu  <hongjiu.lu@intel.com>

	* doc/invoke.texi: Document Atom support.

	2009-04-06  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.md: Revert 2 accidental checkins.

	2009-04-06  H.J. Lu  <hongjiu.lu@intel.com>

	Backport from mainline:
	2009-04-06  Joey Ye  <joey.ye@intel.com>
		    Xuepeng Guo <xuepeng.guo@intel.com>
		    H.J. Lu  <hongjiu.lu@intel.com>

	Atom pipeline model, tuning and insn selection.
	* config.gcc (atom): Add atom config options and target.

	* config/i386/atom.md: New.

	* config/i386/i386.c (atom_cost): New cost.
	(m_ATOM): New macro flag.
	(initial_ix86_tune_features): Set m_ATOM.
	(x86_accumulate_outgoing_args): Likewise.
	(x86_arch_always_fancy_math_387): Likewise.
	(processor_target): Add Atom cost.
	(cpu_names): Add Atom cpu name.
	(override_options): Set Atom ISA.
	(ix86_issue_rate): New case PROCESSOR_ATOM.
	(ix86_adjust_cost): Likewise.

	* config/i386/i386.h (TARGET_ATOM): New target macro.
	(ix86_tune_indices): Add X86_TUNE_OPT_AGU.
	(TARGET_OPT_AGU): New target option.
	(target_cpu_default): Add TARGET_CPU_DEFAULT_atom.
	(processor_type): Add PROCESSOR_ATOM.

	* config/i386/i386.md (cpu): Add new value "atom".
	(use_carry, movu): New attr.
	(atom.md): Include atom.md.
	(adddi3_carry_rex64): Set attr "use_carry".
	(addqi3_carry): Likewise.
	(addhi3_carry): Likewise.
	(addsi3_carry): Likewise.
	(*addsi3_carry_zext): Likewise.
	(subdi3_carry_rex64): Likewise.
	(subqi3_carry): Likewise.
	(subhi3_carry): Likewise.
	(subsi3_carry): Likewise.
	(x86_movdicc_0_m1_rex64): Likewise.
	(*x86_movdicc_0_m1_se): Likewise.
	(x86_movsicc_0_m1): Likewise.
	(*x86_movsicc_0_m1_se): Likewise.
	(*adddi_1_rex64): Emit add insn as much as possible.
	(*addsi_1): Likewise.
	(return_internal): Set atom_unit.
	(return_internal_long): Likewise.
	(return_pop_internal): Likewise.
	(*rcpsf2_sse): Set atom_sse_attr attr.
	(*qrt<mode>2_sse): Likewise.

	2009-04-02  H.J. Lu  <hongjiu.lu@intel.com>

	Backport from mainline:
	2009-04-02  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (ix86_abi): Move initialization to ...
	(override_options): Here.

	2009-03-29  H.J. Lu  <hongjiu.lu@intel.com>

	Backport from mainline:
	2009-03-29  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386-protos.h (ix86_agi_dependent): New.

	* config/i386/i386.c (ix86_agi_dependent): Rewrite.
	(ix86_adjust_cost): Updated.

	2009-03-27  H.J. Lu  <hongjiu.lu@intel.com>

	Backport from mainline:
	2009-03-27  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/39472
	* config/i386/i386.c (ix86_abi): New.
	(override_options): Handle -mabi=.
	(ix86_function_arg_regno_p): Replace DEFAULT_ABI with
	ix86_abi.
	(ix86_call_abi_override): Likewise.
	(init_cumulative_args): Likewise.
	(function_arg_advance): Likewise.
	(function_arg_64): Likewise.
	(function_arg): Likewise.
	(ix86_pass_by_reference): Likewise.
	(ix86_function_value_regno_p): Likewise.
	(ix86_build_builtin_va_list_abi): Likewise.
	(setup_incoming_varargs_64): Likewise.
	(is_va_list_char_pointer): Likewise.
	(ix86_init_machine_status): Likewise.
	(ix86_reg_parm_stack_space): Use enum calling_abi on
	call_abi.
	(ix86_function_type_abi): Return enum calling_abi.  Rewrite
	for 64bit.  Replace DEFAULT_ABI with ix86_abi.
	(ix86_function_abi): Make it static and return enum
	calling_abi.
	(ix86_cfun_abi): Return enum calling_abi.  Replace DEFAULT_ABI
	with ix86_abi.
	(ix86_fn_abi_va_list): Updated.

	* config/i386/i386.h (ix86_abi): New.
	(STACK_BOUNDARY): Replace DEFAULT_ABI with ix86_abi.
	(CONDITIONAL_REGISTER_USAGE): Likewise.
	(CUMULATIVE_ARGS): Change call_abi type to enum calling_abi.
	(machine_function): Likewise.

	* config/i386/i386.md (untyped_call): Replace DEFAULT_ABI
	with ix86_abi.
	* config/i386/cygming.h (TARGET_64BIT_MS_ABI): Likewise.
	(STACK_BOUNDARY): Likewise.
	* config/i386/mingw32.h (EXTRA_OS_CPP_BUILTINS): Likewise.

	* config/i386/i386.opt (mabi=): New.

	* config/i386/i386-protos.h (ix86_cfun_abi): Changed to
	return enum calling_abi.
	(ix86_function_type_abi): Likewise.
	(ix86_function_abi): Removed.

	2009-03-27  H.J. Lu  <hongjiu.lu@intel.com>

	Backport from mainline:
	2009-03-27  Vladimir Makarov  <vmakarov@redhat.com>

	* genautomata.c: Add a new year to the copyright.  Add a new
	reference.
	(struct insn_reserv_decl): Add comments for member bypass_list.
	(find_bypass): Remove.
	(insert_bypass): New.
	(process_decls): Use insert_bypass.
	(output_internal_insn_latency_func): Output all bypasses with the
	same input insn in one switch case.

	* rtl.def (define_bypass): Describe bypass choice.
	* doc/md.texi (define_bypass): Ditto.

	gcc/testsuite/
	2009-05-21  H.J. Lu  <hongjiu.lu@intel.com>

	Backport from mainline:
	2009-05-21  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc.target/i386/movbe-1.c: New.
	* gcc.target/i386/movbe-2.c: Likewise.

	2009-03-27  H.J. Lu  <hongjiu.lu@intel.com>

	Backport from mainline:
	2009-03-27  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/39472
	* gcc.target/x86_64/abi/callabi/func-2a.c: New.
	* gcc.target/x86_64/abi/callabi/func-2b.c: Likewise.
	* gcc.target/x86_64/abi/callabi/func-indirect-2a.c: Likewise.
	* gcc.target/x86_64/abi/callabi/func-indirect-2b.c: Likewise.
	* gcc.target/x86_64/abi/callabi/vaarg-4a.c: Likewise.
	* gcc.target/x86_64/abi/callabi/vaarg-4b.c: Likewise.
	* gcc.target/x86_64/abi/callabi/vaarg-5a.c: Likewise.
	* gcc.target/x86_64/abi/callabi/vaarg-5b.c: Likewise.

2009-06-16  Daniel Jacobowitz  <dan@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	2008-09-08  Daniel Jacobowitz  <dan@codesourcery.com>

	gcc/
	* config/arm/unwind-arm.c (__gnu_unwind_pr_common): Correct test
	for barrier handlers.

2009-06-16  Catherine Moore  <clm@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	2006-12-15  Richard Sandiford  <richard@codesourcery.com>
	gcc/testsuite/
	* gcc.target/mips/octeon-useun.c: New test.

2009-06-16  Daniel Jacobowitz  <dan@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	2009-04-04  Daniel Jacobowitz  <dan@codesourcery.com>

	gcc/testsuite/
	* gcc.dg/pr34263.c: Add -fno-unroll-loops.

2009-06-16  Daniel Jacobowitz  <dan@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	2008-12-03  Daniel Jacobowitz  <dan@codesourcery.com>

	gcc/testsuite/
	* gcc.dg/vect/vect-shift-2.c, gcc.dg/vect/vect-shift-3.c: New.
	* lib/target-supports.exp (check_effective_target_vect_shift_char): New
	function.

2009-06-16  Daniel Jacobowitz  <dan@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	2009-04-04  Daniel Jacobowitz  <dan@codesourcery.com>

	gcc/
	* config/arm/arm.md (insv): Do not share operands[0].

2009-06-16  Andrew Stubbs  <ams@codesourcery.com>

	gcc/testsuite/
	* gcc.target/sh/20080410-1.c: Remove obsolete -fira option.

2009-06-16  Andrew Stubbs  <ams@codesourcery.com>

	gcc/
	* config.gcc (sh*-*-*): Add sh/cs-sgxxlite-linux.opt when
	--enable-extra-sgxxlite-multilibs.
	* config/sh/cs-sgxxlite-linux.h: Define SUBTARGET_OVERRIDE_OPTIONS.
	* config/sh/cs-sgxxlite-linux.opt: New file.

2009-06-16  Nathan Sidwell  <nathan@codesourcery.com>

	Merge 2009-03-06  Mark Mitchell  <mark@codesourcery.com>
	gcc/
	* configure.ac (--with-specs): New option.
	* configure: Regenerated.
	* gcc.c (driver_self_specs): Include CONFIGURE_SPECS.
	* Makefile.in (DRIVER_DEFINES): Add -DCONFIGURE_SPECS.

	Merge 2009-04-04  Daniel Jacobowitz  <dan@codesourcery.com>
	gcc/
	* gcc.c (do_self_spec): Handle switches with arguments.

	Merge 2008-07-25  Mark Mitchell  <mark@codesourcery.com>
	Issue #3433
	gcc/
	* gcc.c (SWITCHES_NEED_SPACES): Define to "o".

2009-06-15  Nathan Sidwell  <nathan@codesourcery.com>

	Merge from Sourcery G++ 4.3.

	Issue 3304
	gcc/
	* config/arm/arm.c (arm_print_operand): Deal with HIGH.
	* config/arm/constraints.md (j): New constraint for movw operands.
	(N): Remove thumb2 meaning.
	* config/arm/arm.md (*arm_movw): Delete.
	(*arm_movsi_insn): Use j constraint for movw instead of N constraint.
	* config/arm/vfp.md (*arm_movsi_vfp, *thumb2_movsi_vfp): Likewise.
	* config/arm/thumb2.md (*thumb2_movsi_insn): Likewise.

2009-06-15  Catherine Moore  <clm@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	2006-12-15  Richard Sandiford  <richard@codesourcery.com>
	Adapted from a patch by Cavium Networks.
	gcc/
	* config/mips/mips.opt (mocteon-useun): New option.
	* config/mips/mips.h: (ISA_HAS_UL_US): New macro.
	(ASM_SPEC): Pass down -mocteon-useun and -mno-octeon-useun.
	* config/mips/mips.c (mips_expand_ext_as_unaligned_load): Use
	mov_ulw and mov_uld if ISA_HAS_UL_US.
	(mips_expand_ins_as_unaligned_store): Likewise mov_usw and mov_usd.
	* config/mips/mips.md: (UNSPEC_UNALIGNED_LOAD,
	 UNSPEC_UNALIGNED_STORE): New constants.
	(mov_<load>l, mov_<load>r, mov_<store>l, mov_<store>r): Require
	ISA_HAS_UL_US.
	(mov_u<load>, mov_u<store>): New patterns.

2009-06-15  Catherine Moore  <clm@codesourcery.com>

	gcc/
	* config/mips/mips.opt: Revert last patch.
	* config/mips/mips-protos.h : Likewise.
	* config/mips/mips.h: Likewise.
	* config/mips/mips.md: Likewise.
	* config/mips/mips.c: Likewise.

2009-06-12  Catherine Moore  <clm@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	2006-12-15  Richard Sandiford  <richard@codesourcery.com>
	Adapted from a patch by Cavium Networks.
	gcc/
	* config/mips/mips.opt (mocteon-useun): New option.
	* config/mips/mips-protos.h (mips_lower_sign_bit_p, mips_use_ext_p): Declare.
	(mips_adjust_register_ext_operands): Likewise.
	* config/mips/mips.h (ISA_HAS_SEB_SEH, ISA_HAS_INS_EXT): Include TARGET_OCTEON.
	(ISA_HAS_UL_US): New macro.
	(ASM_SPEC): Pass down -mocteon-useun and -mno-octeon-useun.
	* config/mips/mips.c (mips_cpu_info_table): Add an octeon entry.
	(mips_rtx_cost_data): Adjust octeon costs.
	(mips_expand_ext_as_unaligned_load): Use mov_ulw and mov_uld if
	ISA_HAS_UL_US.
	(mips_expand_ins_as_unaligned_store): Likewise mov_usw and mov_usd.
	(mips_lower_sign_bit_p, mips_use_ins_p, mips_use_ext_p): New functions.
	(mips_adjust_register_ext_operands): Likewise.
	* config/mips/mips.md: (UNSPEC_UNALIGNED_LOAD,
	 UNSPEC_UNALIGNED_STORE): New constants.
	(topbit): New mode attribute.
	(any_extract ): New code macro.
	(*<code>_trunc_exts<mode>): New pattern.
	(zero_extendsidi2): Turn into a define_expand.  Rename old
	define_insn_and_split to...
	(*clear_upper32): Require !ISA_HAS_EXT_INS.
	(*zero_extendsidi2_dext, *clear_upper32_dext): New patterns.
	(*extv_truncdi<mode>): New pattern.
	(extzv): Use mips_use_ext_p instead of mips_use_ins_ext_p.
	Call mips_adjust_register_ext_operands.
	(*extzv_truncdi<mode>, *extz_truncdi<mode>_exts): New patterns.
	(insv):  Use mips_use_ins_p instead of mips_use_ins_ext_p.
	Fix formatting.
	(insv<mode>): Use mips_use_ins_p instead of mips_use_ins_ext_p.
	(*insv<mode>di, *insv_<code>_<mode>di, *insvdi_clear_upper32)
	(*cins): New patterns.
	(mov_u<load>, mov_u<store>): New patterns.
	(*truncsi_storeqi, *truncsi_storehi): Likewise.
	* config/mips/predicates.md (mask_low_and_shift_operator): New
	predicate.

	2008-07-24  Joseph Myers  <joseph@codesourcery.com>
	gcc/
	* config/mips/mips.c (mips_expand_ins_as_unaligned_store): Restore
	Octeon unaligned store support.

	2008-07-29  Catherine Moore  <clm@codesourcery.com>
		    Daniel Jacobowitz <dan@codesourcery.com>
	gcc/
	* config/mips/mips.h (ISA_HAS_BBIT):  Enable for TARGET_OCTEON.
	* config/mips/mips.md (branch_with_likely): New attribute.
	(branch_without_likely): New attribute.
	(define_delay): Check for new branch_likely attributes.
	(branch_bit<mode>): Set branch_without_likely to "yes".
	(branch_bit_truncdi<mode>): Likewise.
	(branch_bit<mode>_inverted): Likewise.
	(branch_bit_truncdi<mode>_inverted): Likewise.

2009-06-12  Nathan Froyd  <froydnj@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	2009-03-09  Nathan Froyd  <froydnj@codesourcery.com>
	gcc/
	* tree-ssa-loop-promote.c: New file.
	* common.opt (fpromote-loop-indices): New option.
	* timevar.def (TV_TREE_LOOP_PROMOTE): New timevar.
	* Makefile.in (tree-ssa-loop-promote.o): New rule.
	(OBJS-comon): Include it.
	* tree-pass.h (pass_promote_short_indices): Declare.
	* passes.c (init_optimization_passes): Add it.
	* pointer-set.h (pointer_set_n_elements, pointer_set_clear,
	pointer_map_n_elements, pointer_map_clear): Declare.
	* pointer-set.c (pointer_set_n_elements, pointer_set_clear,
	pointer_map_n_elements, pointer_map_clear): Define.

	gcc/doc/
	* invoke.texi (-fpromote-loop-indices): New entry.

	gcc/testsuite/
	* gcc.dg/promote-short-1.c: New file.
	* gcc.dg/promote-short-2.c: New file.
	* gcc.dg/promote-short-3.c: New file.
	* gcc.dg/promote-short-4.c: New file.
	* gcc.dg/promote-short-5.c: New file.
	* gcc.dg/promote-short-6.c: New file.
	* gcc.dg/promote-short-7.c: New file.
	* gcc.dg/promote-short-8.c: New file.

	2009-03-31  Daniel Jacobowitz  <dan@codesourcery.com>
	gcc/
	* common.opt (fpromote-loop-indices): Add Optimization keyword.

	2009-04-08  Nathan Froyd  <froydnj@codesourcery.com>
	gcc/
	* tree-ssa-loop-promote.c (collection_promotion_candidates):
	Delay allocation and initialization of new promote_info until we
	know we have a candidate loop index.

	2009-04-09  Nathan Froyd  <froydnj@codesourcery.com>
	gcc/
	* tree-ssa-loop-promote.c (rebuild_with_promotion_1): Load a memory
	reference prior to promoting it.

	gcc/testsuite/
	* gcc.dg/promote-short-9.c: New test.

	2009-04-09  Nathan Froyd  <froydnj@codesourcery.com>
	gcc/testsuite/
	* gcc.dg/promote-short-3.c: XFAIL test for x86, m68k, sh, and mips.

	2009-04-13  Kazu Hirata  <kazu@codesourcery.com>
	gcc/testsuite/
	* gcc.dg/promote-short-3.c: XFAIL on fido.

2009-06-11  Catherine Moore  <clm@codesourcery.com>

	Merge from SourceryG++ 4.3:
	Merge from MIPS:
	2007-11-29  Thiemo Seufer  <ths@mips.com>
	gcc/
	* config/mips/mips.c (override_options): Let -fpic imply
	-mabicalls, forward port from SDE	.

2009-06-11  Nathan Froyd  <froydnj@codesourcery.com>

	Backport from upstream:

	2009-06-10  Nathan Froyd  <froydnj@codesourcery.com>
	gcc/
	* tree.h (tree_base): Add packed_flag and user_align fields.
	Decrease size of spare field.
	(TYPE_USER_ALIGN): Use user_align from tree_base.
	(DECL_USER_ALIGN): Likewise.
	(TYPE_PACKED): Use packed_flag from tree_base.
	(DECL_PACKED): Likewise.
	(tree_type): Delete packed_flag and user_align fields.  Widen
	precision field.  Widen mode field and shuffle fields to align
	mode on an 8-bit boundary.
	(tree_decl_common): Delete decl_flag_1 and user_align fields.
	Renumber decl_flag_* fields.  Fix comments.  Widen
	decl_common_unused field.
	(DECL_HAS_VALUE_EXPR_P): Adjust for renumbering of decl_flag_*
	fields.
	(DECL_EXTERNAL): Likewise.
	(DECL_BIT_FIELD): Likewise.
	(DECL_NONADDRESSABLE_P): Likewise.
	(TYPE_DECL_SUPRESS_DEBUG): Likewise.
	* config/arm/arm-modes.def (XImode): Make it an INT_MODE.

2009-06-11  Nathan Froyd  <froydnj@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	2009-01-14  Nathan Froyd  <froydnj@codesourcery.com>
	gcc/
	* tree-ssa-remove-local-statics.c (maybe_discover_new_declaration):
	Avoid variables with aggregate and vector types.
	(maybe_create_new_variable): Create the var_ann prior to marking
	the symbol for renaming.

	gcc/testsuite/
	* gcc.dg/remove-local-statics-15.c: New test.
	* gcc.dg/remove-local-statics-16.c: New test.

	2008-07-21  Nathan Froyd  <froydnj@codesourcery.com>
	gcc/
	* tree-ssa-remove-local-statics.c
	(find_static_nonvolatile_declarations): Don't check for potential
	definitions if we're looking at a statement with a CALL_EXPR.
	(compute_definedness_for_block): Reorganize logic.

	gcc/testsuite/
	* gcc.dg/remove-local-statics-13.c: New test.
	* gcc.dg/remove-local-statics-14.c: New test.

	2008-07-08  Nathan Froyd  <froydnj@codesourcery.com>
	gcc/
	* passes.c (init_optimization_passes): Move pass_remove_local_statics
	later in the pass order.
	* tree-ssa-remove-local-statics.c (rls_done): Conditionally free the
	bitmaps and NULL out bb->aux.
	(unstaticize_variable): Deal with GIMPLE_MODIFY_STMTs instead of
	MODIFY_EXPRs.
	(compute_definedness_for_block): Check for defines only if we haven't
	found a CALL_EXPR.

	2008-05-30  Nathan Froyd  <froydnj@codesourcery.com>
	gcc/
	* tree-ssa-remove-local-statics.c
	(find_static_nonvolatile_declarations): Use SSA_OP_VDEF.
	(unstaticize_variable): Likewise.
	(dump_final_bitmaps): Remove.

	2008-02-25  Nathan Froyd  <froydnj@codesourcery.com>
	gcc/
	* tree-ssa-remove-local-statics. (initialize_statement_dataflow):
	Continue hash table traversal.
	(compute_definedness_for_block): Delete useless return statement.
	Adjust comment accordingly.

	2007-03-05  Nathan Froyd  <froydnj@codesourcery.com>
	gcc/
	* tree-pass.h (pass_remove_local_statics): Declare.
	* passes.c (init_optimization_passes): Add
	pass_remove_local_statics to the optimization passes.
	* Makefile.in (OBJS-common): Add tree-ssa-remove-local-statics.c.
	(tree-ssa-remove-local-statics.o): New rule.
	* tree-ssa-remove-local-statics.c: New file.
	* c.opt (fremove-local-statics): New option.
	* timevar.def (TV_RLS): New timevar.
	* toplev.h (flag_remove_local_statics): Declare.
	* cgraph.h (struct cgraph_node): Add 'ever_was_nested'.
	* cgraph.c (cgraph_node): Set ever_was_nested in the node and
	its parent when creating a new node.
	gcc/doc/
	* invoke.texi: Document -fremove-local-statics.
	gcc/testsuite/
	* gcc.dg/remove-local-statics-1.c: New file.
	* gcc.dg/remove-local-statics-2.c: New file.
	* gcc.dg/remove-local-statics-3.c: New file.
	* gcc.dg/remove-local-statics-4.c: New file.
	* gcc.dg/remove-local-statics-5.c: New file.
	* gcc.dg/remove-local-statics-6.c: New file.
	* gcc.dg/remove-local-statics-7.c: New file.
	* gcc.dg/remove-local-statics-8.c: New file.
	* gcc.dg/remove-local-statics-9.c: New file.
	* gcc.dg/remove-local-statics-10.c: New file.
	* gcc.dg/remove-local-statics-11.c: New file.
	* gcc.dg/remove-local-statics-12.c: New file.

2009-06-10  Catherine Moore  <clm@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	gcc/
	2008-11-23  Richard Sandiford  <rsandiford@googlemail.com>
	* config/mips/mips.c (mips_legitimize_address): Handle
	illegitimate CONST_INT addresses.

2009-06-10  Catherine Moore  <clm@codesourcery.com>

	gcc/
	* config/mips/mips.c (mips_cp_restore_slot): Remove declaration
	of intval and high.
	(vr4130_swap_insns_p): Remove mis-applied patch.

2009-06-10  Catherine Moore  <clm@codesourcery.com>

	Merge from Sourcery G++ 4.3:
	2008-03-25  Maxim Kuvyrkov  <maxim@codesourcery.com>
	    Julian Brown  <julian@codesourcery.com>
	Merge from MIPS:
	gcc/
	* config/mips/mips-protos.h (dspalu_bypass_p): Add prototype.
	* config/mips/mips.c (dspalu_bypass_table): New.
	(dspalu_bypass_p): New.
	* 24k.md (r24k_dsp_alu, r24k_dsp_mac, r24k_dsp_mac_sat)
	(r24k_dsp_acc_ext, r24k_dsp_acc_mod): New insn reservations.
	(r24k_int_mult, r24k_int_mthilo, r24k_dsp_mac, r24k_dsp_mac_sat)
	(r24k_dsp_acc_ext, r24k_dsp_acc_mod, r24k_dsp_alu): New bypasses.
	* config/mips/mips.md (dspmac, dspmacsat, accext, accmod, dspalu)
	(dspalusat): Add insn types.
	* config/mips/mips-dsp.md (add<DSPV:mode>3)
	(mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>)
	(sub<DSPV:mode>3, mips_sub<DSP:dspfmt1>_s_<DSP:dspfmt2>, mips_addsc)
	(mips_addwc, mips_modsub, mips_raddu_w_qb, mips_absq_s_<DSPQ:dspfmt2>)
	(mips_precrq_qb_ph, mips_precrq_ph_w, mips_precrq_rs_ph_w)
	(mips_precrqu_s_qb_ph, mips_preceq_w_phl, mips_preceq_w_phr)
	(mips_precequ_ph_qbl, mips_precequ_ph_qbr, mips_precequ_ph_qbla)
	(mips_precequ_ph_qbra, mips_preceu_ph_qbl, mips_preceu_ph_qbr)
	(mips_preceu_ph_qbla, mips_preceu_ph_qbra, mips_shll_<DSPV:dspfmt2>)
	(mips_shll_s_<DSPQ:dspfmt2>, mips_shll_s_<DSPQ:dspfmt2>, mips_shrl_qb)
	(mips_shra_ph, mips_shra_r_<DSPQ:dspfmt2>, mips_bitrev, mips_insv)
	(mips_repl_qb, mips_repl_ph, mips_cmp<DSPV:dspfmt1_1>_eq_<DSPV:dspfmt2>)
	(mips_cmp<DSPV:dspfmt1_1>_lt_<DSPV:dspfmt2>)
	(mips_cmp<DSPV:dspfmt1_1>_le_<DSPV:dspfmt2>, mips_cmpgu_eq_qb)
	(mips_cmpgu_lt_qb, mips_cmpgu_le_qb, mips_pick_<DSPV:dspfmt2>)
	(mips_packrl_ph, mips_wrdsp, mips_rddsp): Change type to dspalu.
	(mips_dpau_h_qbl, mips_dpau_h_qbr, mips_dpsu_h_qbl, mips_dpsu_h_qbr)
	(mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph)
	(mips_maq_s_w_phl, mips_maq_s_w_phr, mips_maq_sa_w_phr: Set type to
	dspmac.
	(mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_sa_w_phl): Set type to
	dspmacsat.
	(mips_extr_w, mips_extr_r_w, mips_extr_rs_w, mips_extp, mips_extpdp):
	Set type to accext.
	(mips_shilo, mips_mthlip): Set type to accmod.
	* config/mips/mips-dspr2.md (mips_absq_s_qb, mips_addu_s_ph)
	(mips_adduh_r_qb): Set type to dspalusat.
	(mips_addu_ph, mips_adduh_qb, mips_append, mips_balign)
	(mips_cmpgdu_eq_qb, mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb)
	(mips_precr_qb_ph, mips_precr_sra_ph_w, mips_precr_sra_r_ph_w)
	(mips_prepend, mips_shra_qb, mips_shra_r_qb, mips_shrl_ph)
	(mips_subu_ph, mips_subuh_qb, mips_subuh_r_qb, mips_addqh_ph)
	(mips_addqh_r_ph, mips_addqh_w, mips_addqh_r_w, mips_subqh_ph)
	(mips_subqh_r_ph, mips_subqh_w, mips_subqh_r_w): Set type to dspalu.
	(mips_dpa_w_ph, mips_dps_w_ph, mips_mulsa_w_ph, mips_dpax_w_ph)
	(mips_dpsx_w_ph, mips_dpaqx_s_w_ph, mips_dpsqx_s_w_ph): Set type to
	dspmac.
	(mips_subu_s_ph): Set type to dspalusat.
	(mips_dpaqx_sa_w_ph, mips_dpsqx_sa_w_ph): Set type to dspmacsat.

	2008-02-15  Julian Brown  <julian@codesourcery.com>
	Merge from MIPS:
	2007-11-06  David Ung  <davidu@mips.com>
	gcc/
	* config/mips/mips.h (AC1HI_REGNUM, AC1LO_REGNUM, AC2HI_REGNUM)
	(AC2LO_REGNUM, AC3HI_REGNUM, AC3LO_REGNUM): Define constants.

	Merge from Sourcery G++ 4.2:
	2008-03-25  Maxim Kuvyrkov  <maxim@codesourcery.com>
	    Julian Brown  <julian@codesourcery.com>
	* 74k.md: (r74k_dsp_alu, r74k_dsp_alu_sat, r74k_dsp_mac, r74k_dsp_mac_sat)
	(r74k_dsp_acc_ext, r74k_dsp_acc_mod): New insn reservations.
	(r74k_dsp_mac, r74k_dsp_mac_sat, r74k_int_mult, r74k_int_mul3)
	(r74k_dsp_mac, r74k_dsp_mac_sat): New bypasses.

2009-06-10  Catherine Moore  <clm@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	2008-02-12  Julian Brown  <julian@codesourcery.com>
	Merge from MIPS:
	2007-12-21  David Ung  <davidu@mips.com>
	gcc/
	* config/mips/mips.h (TARGET_MIPS_SDE): Define macro as 0.
	* config/mips/mips.md (abs<mode>2): Enable abs.[sd] patterns if
	TARGET_MIPS_SDE && TARGET_HARD_FLOAT.

	2008-07-17  Catherine Moore  <clm@codesourcery.com>
	gcc/
	* config/mips/sde.h (TARGET_MIPS_SDE): Define to 1.

2009-06-09  Nathan Froyd  <froydnj@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	2008-06-02  Nathan Froyd  <froydnj@codesourcery.com>
	gcc/
	* config/rs6000/rs6000.md (absv2sf2, negv2sf2, addv2sf3, subv2sf3,
	mulv2sf3, divv2sf3): New expanders.
	* config/rs6000/spe.md (spe_evabs, spe_evand, spe_evaddw,
	spe_evdivws): Rename to use standard GCC names.
	* config/rs6000/paired.md (negv2sf, absv2sf2, addv2sf3, subv2sf3,
	mulv2sf3, divv2sf3): Rename to avoid conflict with the new expanders.

	2007-09-19  Nathan Froyd  <froydnj@codesourcery.com>
	gcc/
	* config/rs6000/rs6000.c (bdesc_2arg, bdesc_1arg): Use new CODE_FOR_
	names for renamed patterns.

2009-06-09  Nathan Froyd  <froydnj@codesourcery.com>

	Backport from mainline:

	2009-04-14  Daniel Jacobowitz  <dan@codesourcery.com>
	gcc/
	* config/rs6000/rs6000.c (rs6000_dwarf_register_span): Fix debug
	output for other floating point modes.

2009-06-09  Nathan Froyd  <froydnj@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	2008-11-24  Nathan Froyd  <froydnj@codesourcery.com>
  	gcc/
	* config/rs6000/rs6000.c (rs6000_savres_strategy): Always use
	inline saves and restores when compiling position-independent code.

	2008-11-17  Nathan Froyd  <froydnj@codesourcery.com>
	gcc/
	* config/rs6000/rs6000.c (rs6000_emit_epilogue): Adjust
	computation of restore_lr.  Duplicate restoration of LR and
	execute the appropriate one depending on whether GPRs are being
	restored inline.

	2008-11-17  Nathan Froyd  <froydnj@codesourcery.com>
	gcc/
	* config/rs6000/rs6000.c (rs6000_savres_routine_sym): Fix
	computation for cache selector.  Mark the generated symbol as a
	function.
	(rs6000_emit_prologue): Correct condition.
	* config/rs6000/rs6000.md (*save_gpregs_<mode>): Use explicit
	match for register 11.
	(*save_fpregs_<mode>): Likewise.
	(*restore_gpregs_<mode>): Likewise.
	(*return_and_restore_gpregs_<mode>): Likewise.
	(*return_and_restore_fpregs_<mode>): Likewise.
	* config/rs6000/spe.md (*save_gpregs_spe): Use explicit match for
	register 11.
	(*restore_gpregs_spe): Likewise.
	(*return_and_restore_gpregs_spe): Likewise.

	2008-10-24  Nathan Froyd  <froydnj@codesourcery.com>
	gcc/
	* config/rs6000/rs6000.c (no_global_regs_above): Fix precedence
	problem.

2009-06-09  Nathan Froyd  <froydnj@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	2008-07-02  Nathan Froyd  <froydnj@codesourcery.com>
	gcc/
	* config/rs6000/eabi.h (NAME__MAIN, INVOKE__main): Remove.
	* config/rs6000/t-ppccomm (LIB2FUNS_STATIC_EXTRA): Remove eabi.S.
	(eabi.S): Remove rule.

	2008-10-13  Andrew Stubbs  <ams@codesourcery.com>
	gcc/
	* doc/invoke.texi (PowerPC Options): -meabi option no longer places
	__eabi function in main.

2009-06-09  Catherine Moore  <clm@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	2008-02-11  David Ung  <davidu@mips.com>
	gcc/
	* config/mips/mips.c (mips_output_division): When
	GENERATE_DIVIDE_TRAPS, generate the trap instrutions
	against zero before the actual divide.  This is friendlier
	to out-of-order cpus like the 74k.

2009-06-09  Catherine Moore  <clm@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	2008-03-25  Maxim Kuvyrkov  <maxim@codesourcery.com>
	            Julian Brown  <julian@codesourcery.com>
	Merge from MIPS:
	gcc/
	* config/mips/mips.c (mips_mult_madd_chain_bypass_p): New.
	* config/mips/mips-protos.h (mips_mult_madd_chain_bypass_p): Add
	prototype.
	* config/mips/74k.md: Add bypasses for r74k_int_mult, r74_int_madd,
	r74k_int_mul3.

2009-06-09  Nathan Sidwell  <nathan@codesourcery.com>

	Forward port 2009-01-27  Nathan Sidwell  <nathan@codesourcery.com>

	Issue #4428
	gcc/
	* config/mips/mips.md (jump): Deal with $gp restoration in delay
	slot for o32 and o64 ABIs.

	gcc/testsuite/
	* gcc.target/mips/branch-2.c: New.

2009-06-08  Nathan Froyd  <froydnj@codesourcery.com>

	Backport from mainline:

	gcc/
	2009-06-05  Nathan Froyd  <froydnj@codesourcery.com>

	* config/rs6000/eabi.asm (__eabi_convert): Don't define if
	_RELOCATABLE.
	(__eabi_uconvert): Likewise.

2009-06-08  Nathan Froyd  <froydnj@codesourcery.com>

	Merged from Sourcery G++ 4.3:

	2008-08-25  Nathan Froyd  <froydnj@codesourcery.com>
	gcc/
	* config/rs6000/sysv4.h (LIB_SIM_SPEC): Use LIB_DEFAULT_SPEC.
	(STARTFILE_SIM_SPEC): Remove sim-crt0.o%s.
	(ENDFILE_SIM_SPEC): Add -Tsim-hosted.ld.
	(LINK_OS_SIM_SPEC): Define to empty.

2009-06-08  Nathan Froyd  <froydnj@codesourcery.com>

	Merged from Sourcery G++ 4.3:

	2008-02-12  Nathan Sidwell  <nathan@codesourcery.com>
		    Daniel Jacobowitz  <dan@codesourcery.com>
	gcc/
	* config/rs6000/eabi-ci.asm (__init): Add _init func start.
	(__fini): Also declare _fini for newlib.

2009-06-08  Nathan Froyd  <froydnj@codesourcery.com>

	Merged from Sourcery G++ 4.3:

	2007-08-16  Daniel Jacobowitz  <dan@codesourcery.com>
	gcc/
	* config/rs6000/rs6000.c (rs6000_conditional_register_usage): Mark
	call-saved AltiVec registers call-used if ! TARGET_ALTIVEC_ABI.
	* config/rs6000/rs6000.h (CALL_USED_REGISTERS): Mark the first 20
	AltiVec registers call-used.
	(CALL_REALLY_USED_REGISTERS): Likewise.

	gcc/testsuite/
	* gcc.target/powerpc/altivec-consts.c: Remove -mabi=altivec.
	* gcc.target/powerpc/altivec-varargs-1.c: Likewise.
	* gcc.dg/vmx/vmx.exp: Likewise.

2009-06-03  Mark Mitchell  <mark@codesourcery.com>

	Merged from Sourcery G++ 4.3:

	2009-02-10  Mark Mitchell  <mark@codesourcery.com>
	libjava/classpath/
	* m4/acinclude.m4 (CLASSPATH_TOOLEXECLIBDIR): Match libjava.
	* configure.ac (--enable-version-specific-runtime-libs): Support.
	* Makefile.in, */Makefile.in: Regenerated.
	libjava/
	* Makefile.am (pkgconfigdir): Use toolexeclibdir, not $(libdir).
	* configure.ac (dbexecdir): Likewise.
	* configure: Regenerated.

2009-06-03  Joseph Myers  <joseph@codesourcery.com>

	fixincludes/
	* inclhack.def (glibc_string2_memset): New fix.
	* fixincl.x: Regenerate.
	* tests/base/bits/string2.h: Update.

2009-06-03  Mark Mitchell  <mark@codesourcery.com>

	Merged from Sourcery G++ 4.3:

	2009-02-10  Mark Mitchell  <mark@codesourcery.com>
	libjava/
	* Makefile.am (jardir): Set to a target-specific location.
	gcc/java/
	* Make-lang.in: Adjust to match.

	Backport from mainline:

	2009-06-02  Mark Mitchell  <mark@codesourcery.com>
	* decl.c (maybe_deduce_size_from_array_init): Use relayout_decl.
	2009-06-02  Mark Mitchell  <mark@codesourcery.com>
	* g++.dg/init/ref15.C: Require unwrapped targets.

2009-06-03  Kazu Hirata  <kazu@codesourcery.com>

	Backport from mainline:
	gcc/
	2009-04-14  Kazu Hirata  <kazu@codesourcery.com>
	* config/arm/arm.c (arm_rtx_costs_1): Treat a minus with a shift
	the same as a minus without a shift.

2009-05-29  Julian Brown  <julian@codesourcery.com>

	Merged from Sourcery G++ 4.3:

	2008-01-23  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config/arm/arm.c (arm_final_prescan_insn): Use
	TARGET_NO_SINGLE_COND_EXEC.
	* config/arm/arm.h (TARGET_NO_SINGLE_COND_EXEC): Define.
	* config/arm/arm.md: Add TARGET_NO_SINGLE_COND_EXEC conditions.

2009-05-29  Julian Brown  <julian@codesourcery.com>

	Merged from Sourcery G++ 4.3:

	2007-03-12  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* config/arm/arm.c (arm_final_prescan_insn):  Skip this processing
	if TARGET_NO_COND_EXEC is true.
	* config/arm/arm.h (TARGET_NO_COND_EXEC):  Define.
	* config/arm/arm.md (smaxsi3, *arm_smax_insn):  Disable if
	TARGET_NO_COND_EXEC is set.
	(sminsi3, *arm_smin_insn): Likewise.
	(umaxsi3, *arm_umaxsi3): Likewise.
	(uminsi3, *arm_uminsi3): Likewise.
	(*store_minmaxsi): Likewise.
	(seq, sne, sgt, sle, sge, slt): Likewise.
	(sgtu, sleu, sgeu, sltu): Likewise.
	(sunordered, sordered): Likewise.
	(sungt, sunge, sunlt, sunle): Likewise.
	(movsicc, movsfcc, movdfcc): Likewise.
	(*cond_return, *cond_return_inverted): Likewise.
	(*compare_scc): Likewise.
	(*cond_arith): Likewise.
	(movcond): Likewise.
	(anonymous define_split patterns): Likewise.
	(define_cond_exec): Likewise.

2009-05-29  Julian Brown  <julian@codesourcery.com>

	Merged from Sourcery G++ 4.3:

	gcc/
	* config/arm/arm.md (movsi): Don't split symbol refs here.
	(define_split): New.

2009-05-29  Julian Brown  <julian@codesourcery.com>

	Merged from Sourcery G++ 4.3:

	gcc/
	* config/arm/arm.c (arm_override_options): Override alignments if
	tuning for Cortex-A8.
	(create_fix_barrier, arm_reorg): If aligning to jumps or loops,
	make labels have a size.
	* config/arm/arm.md (VUNSPEC_ALIGN16, VUNSPEC_ALIGN32): New constants.
	(align_16, align_32): New patterns.

2009-05-29  Julian Brown  <julian@codesourcery.com>

	Merged from Sourcery G++ 4.3:

	gcc/
	* config/arm/vfp.md (*arm_movsi_vfp, *thumb2_movsi_vfp)
	(*arm_movdi_vfp, *thumb2_movdi_vfp, *movsf_vfp, *thumb2_movsf_vfp)
	(*movdf_vfp, *thumb2_movdf_vfp, *movsfcc_vfp, *thumb2_movsfcc_vfp)
	(*movdfcc_vfp, *thumb2_movdfcc_vfp): Add neon_type.
	* config/arm/arm.md (neon_type): Update comment.

2009-05-29  Julian Brown  <julian@codesourcery.com>

	Merged from Sourcery G++ 4.3:

	2007-07-05  Mark Shinwell  <shinwell@codesourcery.com>

	gcc/
	* config/arm/thumb2.md (thumb2_movsi_insn): Split ldr and
	str alternatives according to use of high and low regs.
	* config/arm/vfp.md (thumb2_movsi_vfp): Likewise.
	* config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Use high
	regs when optimizing for size on Thumb-2.

2009-05-29  Julian Brown  <julian@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	gcc/testsuite/
	* gcc.target/arm/vfp-ldmdbd.c, gcc.target/arm/vfp-ldmdbs.c,
	gcc.target/arm/vfp-ldmiad.c, gcc.target/arm/vfp-ldmias.c,
	gcc.target/arm/vfp-stmdbd.c, gcc.target/arm/vfp-stmdbs.c,
	gcc.target/arm/vfp-stmiad.c, gcc.target/arm/vfp-stmias.c: New.
	* g++.dg/other/armv7m-1.C: New.

2009-05-29  Julian Brown  <julian@codesourcery.com>

	Merged from Sourcery G++ 4.3:

	2007-08-12  Mark Shinwell  <shinwell@codesourcery.com>

	gcc/
	* config/arm/arm.h (CLASS_LIKELY_SPILLED_P): Check against
	LO_REGS only for Thumb-1.
	(MODE_BASE_REG_CLASS): Restrict base registers to low
	registers for Thumb-2.

2009-05-29  Julian Brown  <julian@codesourcery.com>

	Merged from Sourcery G++ 4.3:

	2008-01-09  Julian Brown  <julian@codesourcery.com>

	gcc/
	* config/arm/neon.md (UNSPEC_MISALIGNED_ACCESS): New constant.
	(movmisalign<mode>): Define for D and Q width registers.

	gcc/testsuite/
	* lib/target-supports.exp
	(check_effective_target_arm_vect_no_misalign): New function.
	(check_effective_target_vect_no_align): Use above to determine
	whether misaligned accesses are expected for ARM.

2009-05-29  Julian Brown  <julian@codesourcery.com>

	Merged from Sourcery G++ 4.3:

	2007-0x-xx  Vladimir Prus  <vladimir@codesourcery.com>

	gcc/
	* config/arm/arm.c (arm_override_options): Warn if mlow-irq-latency is
	specified in thumb mode.
	(load_multiple_sequence): Return 0 if low irq latency is requested.
	(store_multiple_sequence): Likewise.
	(arm_gen_load_multiple): Load registers one-by-one if low irq latency
	is requested.
	(arm_gen_store_multiple): Likewise.
	(vfp_output_fldmd): When low_irq_latency is non zero, pop each
	register separately.
	(vfp_emit_fstmd): When low_irq_latency is non zero, save each register
	separately.
	(arm_get_vfp_saved_size): Adjust saved register size calculation for
	the above changes.
	(print_pop_reg_by_ldr): New.
	(arm_output_epilogue): Use print_pop_reg_by_ldr when low irq latency
	is requested.
	(emit_multi_reg_push): Push registers separately if low irq latency
	is requested.
	* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Set __low_irq_latency__.
	(low_irq_latency): Define.
	* config/arm/lib1funcs.asm (do_pop, do_push): Define as variadic
	macros. When __low_irq_latency__ is defined, push and pop registers
	individually.
	(div0): Use correct punctuation.
	* config/arm/ieee754-df.S: Adjust syntax of using do_push.
	* config/arm/ieee754-sf.S: Likewise.
	* config/arm/bpabi.S: Likewise.
	* config/arm/arm.opt (mlow-irq-latency): New option.
	* config/arm/predicates.md (load_multiple_operation): Return false is
	low irq latency is requested.
	(store_multiple_operation): Likewise.
	* config/arm/arm.md (movmemqi): Don't use it if low irq latency is
	requested.
	* doc/invoke.texi (-mlow-irq-latency): Add documentation.

2009-05-29  Julian Brown  <julian@codesourcery.com>

	Merged from Sourcery G++ 4.3:

	2007-03-20  Mark Shinwell  <shinwell@codesourcery.com>

	gcc/
	* config/arm/arm.h (arm_arch_marvell_f): Delete.
	* config/arm/arm.c (arm_override_options): Remove uses of
	TARGET_MARVELL_F.

2009-05-29  Julian Brown  <julian@codesourcery.com>

	Merged from Sourcery G++ 4.3:

	2007-02-02  Mark Shinwell  <shinwell@codesourcery.com>

	gcc/
	* config/arm/thumb2.md: Include hwdiv.md and move instruction patterns
	for sdiv and udiv to that file.
	* config/arm/arm.c (all_architectures): Add marvell-f entry.
	(ARM_ARCH_NAME_SIZE): Define.
	(arm_arch_name): Allocate ARM_ARCH_NAME_SIZE bytes of space.
	(arm_override_options): Be more careful writing to arm_arch_name.
	Take setting of -mmarvell-div and TARGET_THUMB2 into account when
	setting arm_arch_hwdiv.  Cause error if -mmarvell-div is used when
	not targeting a Marvell core.
	* config/arm/arm.h (arm_arch_marvell_f): New.
	* config/arm/hwdiv.md: New.
	* config/arm/t-arm (MD_INCLUDES): Add hwdiv.md.
	* config.gcc: Recognize marvell-f as a supported ARM architecture.
	* doc/invoke.texi (ARM Options): Document -mcpu=marvell-f and
	-mmarvell-div.

2009-05-29  Julian Brown  <julian@codesourcery.com>

	Merged from Sourcery G++ 4.3:

	2007-01-10  Mark Shinwell  <shinwell@codesourcery.com>

	gcc/
	* config/arm/marvell-f.md: Fix FSF address and comment capitalization.
	* config/arm/marvell-f-vfp.md: New.
	* config/arm/arm-cores.def: Add FL_VFPV2 for marvell-f.
	* config/arm/arm.md: Include marvell-f-vfp.md.
	(generic_vfp): Don't set attribute to "yes" for marvell_f tuning.

2009-05-29  Julian Brown  <julian@codesourcery.com>

	Merged from Sourcery G++ 4.3:

	2007-03-22  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Add code to define
	__ARM_TUNE_MARVELL_F__.
	* config/arm/lib1funcs.asm (ARM_DIV_BODY):  Conditionalize for
	__ARM_TUNE_MARVELL_F__.

2009-05-29  Julian Brown  <julian@codesourcery.com>

	Merged from Sourcery G++ 4.3:

	2007-03-18  Mark Shinwell  <shinwell@codesourcery.com>

	gcc/
	* config/arm/vfp.md: When targeting a Marvell core, only
	enable patterns involving multiply-accumulate type
	instructions when optimizing for size.

2009-05-29  Julian Brown  <julian@codesourcery.com>

	Merged from Sourcery G++ 4.3:

	2007-01-03  Mark Shinwell  <shinwell@codesourcery.com>
	2007-09-19  Paul Brook  <paul@codesourcery.com>

	NOT ASSIGNED TO FSF
	Port from Marvell compiler:
	gcc/
	* config/arm/arm.c (arm_issue_rate): Add Marvell-F support.
	(arm_multipass_dfa_lookahead): New.
	(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
	(FL_MARVELL_F, FL_COMPAT): New.
	(arm_tune_marvell_f): New.
	(arm_override_options): Set arm_tune_marvell_f as appropriate. Mask out
	FL_COMPAT when checking cpu vs. arch.
	* config/arm/arm.h (arm_tune_marvell_f): Declare.
	* config/arm/arm-cores.def: Add marvell-f entry.
	* config/arm/arm-tune.md: Regenerate.
	* config/arm/t-arm (MD_INCLUDES): Add marvell-f.md.
	* config/arm/arm.md: Don't use generic scheduler for marvell-f.
	Include marvell-f.md.  Extend "insn" attribute with mov/mvn/
	and/orr/eor cases and annotate instruction patterns accordingly.
	* config/arm/vfp.md: Annotate likewise.
	* config/arm/marvell-f.md: New.

2009-05-28  Julian Brown  <julian@codesourcery.com>

	Merged from Sourcery G++ 4.3:

	2008-02-18  Julian Brown  <julian@codesourcery.com>
		    Paul Brook  <paul@codesourcery.com>

	gcc/
	* config/arm/bpabi.S (test_div_by_zero): New macro.
	(aeabi_ldivmod): Use above macro to tailcall long long div-by-zero
	handler.
	(aeabi_uldivmod): Likewise.
	* config/arm/bpabi-v6m.S (test_div_by_zero): New macro.
	(aeabi_ldivmod, aeabi_uldivmod): Use above macro.
	* config/arm/lib1funcs.asm (ARM_LDIV0): Tailcall int div-by-zero
	handler. Add signed/unsigned argument, pass correct value to that
	handler.
	(THUMB_LDIV0): Same, for Thumb.
	(DIV_FUNC_END): Add signed argument.
	(WEAK): New macro.
	(__udivsi3, __umodsi3): Add unsigned argument to DIV_FUNC_END.
	(__divsi3, modsi3): Add signed argument to DIV_FUNC_END.
	(__aeabi_uidivmod, __aeabi_idivmod): Check division by zero.
	(__div0): Rename to __aeabi_idiv0, __aeabi_ldiv0 for EABI, and declare
	those names weak.
	* config/arm/t-bpabi (LIB1ASMFUNCS): Add _aeabi_idiv0, _aeabi_ldiv0.

2009-05-28  Julian Brown  <julian@codesourcery.com>

	Merged from Sourcery G++ 4.3:

	2007-06-06  Joseph Myers  <joseph@codesourcery.com>

	gcc/
	* config/arm/arm.h (VALID_IWMMXT_REG_MODE): Allow SImode.
	(ARM_LEGITIMIZE_RELOAD_ADDRESS): Reduce range allowed for SImode
	offsets with iWMMXt.
	* config/arm/arm.c (arm_hard_regno_mode_ok): Update for change to
	VALID_IWMMXT_REG_MODE.

2009-05-28  Julian Brown  <julian@codesourcery.com>

	Merged from Sourcery G++ 4.3:

	gcc/
	* config/arm/arm.h (ASM_OUTPUT_REG_PUSH): Handle STATIC_CHAIN_REGNUM
	specially for Thumb-1.
	(ASM_OUTPUT_REG_POP): Likewise.

2009-05-28  Julian Brown  <julian@codesourcery.com>

	Merged from Sourcery G++ 4.3:

	Issue #5167

	libiberty/
	* pex-win32.c (pex_win32_pipe): Add _O_NOINHERIT.
	(pex_win32_exec_child): Create inheritable duplicate descriptors to
	pass to child process, and close originals (if non-stdin/stdout). Close
	duplicates when child has spawned.

2009-05-28  Julian Brown  <julian@codesourcery.com>

	Merged from Sourcery G++ 4.3:

	2007-07-05  Mark Shinwell  <shinwell@codesourcery.com>

	gcc/
	* config/arm/arm.h (BRANCH_COST): Set to 1 when optimizing for size
	on Thumb-2.

2009-05-28  Julian Brown  <julian@codesourcery.com>

	Merged from Sourcery G++ 4.3:

	2007-09-19  Vladimir Prus  <vladimir@codesourcery.com>

	gcc/
	* config/arm/arm.c (arm_optimization_options): Disable
	-fmove-loop-invariants. Use very restrictive inlining heuristics.

	gcc/testsuite/
	* gcc.c-torture/execute/bcp-1.x: New.  Don't run bcp-1.c test on arm,
	with -Os.
	* gcc.c-torture/execute/990208-1.x: New.  Likewise.

2009-05-28  Julian Brown  <julian@codesourcery.com>

	Merged from Sourcery G++ 4.3:

	libgcc/
	* config.host (arm*-*-linux*, arm*-*-uclinux*, arm*-*-eabi*)
	(arm*-*-symbianelf): Add arm/t-divmod-ef to tmake_file.
	* Makefile.in (LIB2_DIVMOD_EXCEPTION_FLAGS): Set to previous
	default if not set by a target-specific Makefile fragment.
	(lib2-divmod-o, lib2-divmod-s-o): Use above.
	* config/arm/t-divmod-ef: New.

2009-05-28  Julian Brown  <julian@codesourcery.com>

	Merged from Sourcery G++ 4.3:

	2007-04-17  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config/arm/arm.c (TARGET_DWARF_REGISTER_SPAN): Define.
	(arm_dwarf_register_span): New function.
	(arm_dbx_register_number): Add VFPv3 dwarf numbering.

2009-05-28  Julian Brown  <julian@codesourcery.com>

	Merged from Sourcery G++ 4.3:

	Issue #4515

	gcc/
	* config/arm/ieee754-df.S (cmpdf2): Avoid writing below SP.
	* config/arm/ieee754-sf.S (cmpsf2): Likewise.

2009-05-28  Julian Brown  <julian@codesourcery.com>

	Merged from Sourcery G++ 4.3:

	gcc/
	* config/arm/arm.c (arm_hard_regno_mode_ok): Allow 4-byte quantities
	in core registers. Update comment.

2009-05-28  Joseph Myers  <joseph@codesourcery.com>

	Issue #5266

	Backport:
	gcc/
	2009-05-28  Joseph Myers  <joseph@codesourcery.com>
	* config/arm/lib1funcs.asm (__clear_cache): Define if
	L_clear_cache.
	* config/arm/linux-eabi.h (CLEAR_INSN_CACHE): Define to give an
	error if used.
	* config/arm/t-linux-eabi (LIB1ASMFUNCS): Add _clear_cache.

2009-05-27  Sandra Loosemore  <sandra@codesourcery.com>

	Merged from Sourcery G++ 4.3:

	2007-03-05  Mark Mitchell  <mark@codesourcery.com>

	* configure.in (*-*-vxworks*): Remove target-libstdc++-v3 from
	noconfigdirs.
	* configure: Regenerated.

2009-05-27  Sandra Loosemore  <sandra@codesourcery.com>

	Merged from Sourcery G++ 4.3:

	2007-03-12  Richard Sandiford  <richard@codesourcery.com>

	gcc/
	* config/vx-common.h (TARGET_FLEXLM): Define.

2009-05-27  Sandra Loosemore  <sandra@codesourcery.com>

	Merged from Sourcery G++ 4.3:

 	2007-08-26  Mark Mitchell  <mark@codesourcery.com>

	gcc/testsuite/
	* lib/prune.exp (prune_warnings): Extend the default
	implementation to prune linker warnings about libm on Solaris.
	libstdc++-v3/
	* testsuite/lib/prune.exp (prune_g++_output): Prune linker
	warnings about libm on Solaris.

2009-05-27  Sandra Loosemore  <sandra@codesourcery.com>

	Merged from Sourcery G++ 4.3:

	2007-08-26  Mark Mitchell  <mark@codesourcery.com>

	fixincludes/
	* inclhack.def (solaris_mutex_init_2): Remove precise machine
	checks; look at <sys/types.h> to determine whether fix is
	required.
	(solaris_rwlock_init_1): Likewise.
	(solaris_once_init_2): Likewise.
	* tests/base/sys/types.h: Add output generated by
	solaris_mutex_init_2.
	* fixincl.x: Regenerated.

2009-05-27  Catherine Moore  <clm@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	gcc/
	2008-11-23  Richard Sandiford  <rsandiford@googlemail.com>
	* config/mips/mips.c (mips_legitimize_address): Handle
	illegitimate CONST_INT addresses.

2009-05-26  Sandra Loosemore  <sandra@codesourcery.com>
	    Mark Shinwell  <shinwell@codesourcery.com>
	    Joseph Myers  <joseph@codesourcery.com>

	Revised patch merged from Sourcery G++ 4.3.

	gcc/
	* doc/invoke.texi (-falign-arrays): Document.
	* function.h (alignment_for_aligned_arrays): Declare.
	* function.c (get_stack_local_alignment): Use it.
	(alignment_for_aligned_arrays): Define.
	* cfgexpand.c (get_decl_align_unit): Use it here, too.
	* common.opt (-falign-arrays): New.
	* varasm.c (assemble_variable): Use alignment_for_aligned_arrays,
	and use it irrespective of whether DATA_ALIGNMENT is defined.

2009-05-26  Nathan Sidwell  <nathan@codesourcery.com>

	Forward port 2007-07-05  Richard Sandiford  <richard@codesourcery.com>

	gcc/
	* config/arm/neon-gen.ml: Include vxWorks.h rather than stdint.h
	for VxWorks kernels.
	* config/arm/arm_neon.h: Regenerate.

2009-05-23  Mark Mitchell  <mark@codesourcery.com>

	Backport from mainline:

	2009-05-23  Mark Mitchell  <mark@codesourcery.com>
	* final.c (shorten_branches): Do not align labels for jump tables.
	(final_scan_insn): Use JUMP_TABLE_DATA_P.
	2009-05-23  Mark Mitchell  <mark@codesourcery.com>
		    Maxim Kuvyrkov  <maxim@codesourcery.com>
	* gcc.dg/falign-labels-1.c: New test.

2009-05-22  Mark Mitchell  <mark@codesourcery.com>

	Backport from mainline:

	2009-05-22  Mark Mitchell  <mark@codesourcery.com>
	* config/arm/thumb2.md: Add 16-bit multiply instructions.
	2009-05-22  Mark Mitchell  <mark@codesourcery.com>
	* lib/target-supports.exp (check_effective_target_arm_thumb2_ok):
	New function.
	* gcc.target/arm/thumb2-mul-space.c: New file.
	* gcc.target/arm/thumb2-mul-space-2.c: New file.
	* gcc.target/arm/thumb2-mul-space-3.c: New file.
	* gcc.target/arm/thumb2-mul-speed.c: New file.

2009-05-22  Julian Brown  <julian@codesourcery.com>

	gcc/
	* gcse.c (hash_scan_set): Don't make copies of instructions the
	target deems uncopyable.

2009-05-22  Nathan Sidwell  <nathan@codesourcery.com>

	* release-notes-csl.xml: Remove notes erroneously ported from
	4.3.  They will be picked up during the document build.

	Forward port 2008-09-11  Mark Mitchell  <mark@codesourcery.com>

	Issue #3606
	* release-notes-csl.xml: Document dllexport fix.

	gcc/
	* tree.c (handle_dll_attribute): Mark dllexport'd inlines as
	non-external.

	gcc/cp
	* decl2.c (decl_needed_p): Consider dllexport'd functions needed.
	* semantics.c (expand_or_defer_fn): Similarly.

	gcc/testsuite/
	* gcc.dg/dll-6.c: New test.
	* gcc.dg/dll-6a.c: Likewise.
	* gcc.dg/dll-7.c: Likewise.
	* gcc.dg/dll-7a.c: Likewise.
	* g++.dg/ext/dllexport2.C: Likewise.
	* g++.dg/ext/dllexport2a.cc: Likewise.

2009-05-21  Sandra Loosemore  <sandra@codesourcery.com>

	Issue #4289
	Backport from mainline:

	2009-03-27  Sandra Loosemore  <sandra@codesourcery.com>

	fixincludes/
	* server.c (run_shell): Quote directory name passed to cd.

2009-05-21  Sandra Loosemore  <sandra@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	2009-04-04  Sandra Loosemore  <sandra@codesourcery.com>

	Issue #5104
	PR tree-optimization/39604

	gcc/testsuite
	* g++.dg/tree-ssa/sink-1.C: New.

	gcc/
	* tree_ssa-sink.c (sink_code_in_bb): Do not sink statements out
	of a lexical block containing variable definitions.

2009-05-21  Sandra Loosemore  <sandra@codesourcery.com>

	Issue #5174
	Backport from mainline:

	2009-04-09  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* doc/invoke.texi (Optimize Options): Add cross-reference to
	-Q --help=optimizers examples.

2009-05-21  Mark Mitchell  <mark@codesourcery.com>

	Backport from mainline:

	2009-05-21  Mark Mitchell  <mark@codesourcery.com>
	* config/arm/neon.md (*mul<mode>3add<mode>_neon): New pattern.
	(*mul<mode>3neg<mode>add<mode>_neon): Likewise.
	2009-05-21  Mark Mitchell  <mark@codesourcery.com>
	* gcc.dg/target/arm/neon-vmla-1.c: New.
	* gcc.dg/target/arm/neon-vmls-1.c: Likewise.

2009-05-21  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* cp/decl.c (grokdeclarator): Fix merge error.

2009-05-19  Catherine Moore  <clm@codesourcery.com>

	Backport from mainline:

	2009-04-15  Catherine Moore  <clm@codesourcery.com>
	* debug.h (set_name):  Declare.
	* dwarf2out.c (dwarf2out_set_name): Declare.
	(dwarf2_debug_hooks): Add set_name.
	(find_AT_string): New.
	(add_AT_string): Call find_AT_string.
	(dwarf2out_set_name): New.
	* cp/decl.c (grokdeclarator): Call set_name.
	* vmsdbgout.c (vmsdbg_debug_hooks): Add set_name_debug_nothing.
	* debug.c (do_nothing_debug_hooks):  Likewise.
	* dbxout.c (dbx_debug_hooks): Likewise.
	* sdbout.c (sdb_debug_hooks): Likewise.

	2009-04-17  David Edelsohn  <edelsohn@gnu.org>
	* dbxout.c (xcoff_debug_hooks): Add set_name_debug_nothing.

	2009-04-28  Catherine Moore  <clm@codesourcery.com>
	* debug.h (set_name): Add comment.

2009-05-19  Andrew Stubbs  <ams@codesourcery.com>

	Backport from mainline:

	2009-04-06  Andrew Stubbs  <ams@codesourcery.com>
	gcc/testsuite/
	* gcc.dg/pragma-isr-trapa2.c: Skip test for FPU-less architectures.

2009-05-19  Andrew Stubbs  <ams@codesourcery.com>

	Backport from mainline:

	2009-04-06  Andrew Stubbs  <ams@codesourcery.com>
	gcc/testsuite/
	* gcc.target/sh/sh4a-memmovua.c: Include string.h instead of stdlib.h.

2009-05-19  Andrew Stubbs  <ams@codesourcery.com>

	Backport from mainline:

	2009-04-06  Andrew Stubbs  <ams@codesourcery.com>
	gcc/testsuite/
	* gcc.target/sh/sh4a-bitmovua.c (y0): Rename to y_0 to avoid a clash
	with the built-in y0, and the subsequent warning.
	(y1): Likewise, rename to y_1.

2009-05-19  Andrew Stubbs  <ams@codesourcery.com>

	Backport from mainline:

	2009-04-06  Andrew Stubbs  <ams@codesourcery.com>
	gcc/
	* config/sh/lib1funcs.asm (ic_invalidate): Move ICBI out of the
	delay slot.
	(ic_invalidate_array): Likewise.

2009-05-19  Andrew Stubbs  <ams@codesourcery.com>

	Backport from mainline:

	2009-04-06  Andrew Stubbs  <ams@codesourcery.com>
	gcc/libstdc++-v3/
	* config/cpu/sh/atomicity.h: Put the SH4A specific functions in the
	__gnu_cxx namespace.  Remove "static inline".

2009-05-19  Andrew Stubbs  <ams@codesourcery.com>

	Backport from mainline:

	2009-04-02  Andrew Stubbs  <ams@codesourcery.com>
	gcc/
	* config/sh/linux-unwind.h: Disable when inhibit_libc is defined.

2009-05-18  Nathan Sidwell  <nathan@codesourcery.com>

	gcc/testsuite/
	* g++.dg/ext/ms-1.C: Fix mixfixed misapplied patch.

2009-05-18  Maxim Kuvyrkov  <maxim@codesourcery.com>

	Backport from mainline:

	2009-05-18  Maxim Kuvyrkov  <maxim@codesourcery.com>
	M68K TLS support.
	gcc/
	* configure.ac (m68k-*-*): Check if binutils support TLS.
	* configure: Regenerate.
	* config/m68k/predicates.md (symbolic_operand): Extend comment.
	* config/m68k/constraints.md (Cu): New constraint.
	* config/m68k/m68k.md (UNSPEC_GOTOFF): Remove.
	(UNSPEC_RELOC16, UNSPEC_RELOC32): New constants.
	(movsi): Handle TLS symbols.
	(addsi3_5200): Handle XTLS symbols, indent.
	* config/m68k/m68k-protos.h (m68k_legitimize_tls_address): Declare.
	(m68k_tls_reference_p): Declare.
	(m68k_legitimize_address): Declare.
	(m68k_unwrap_symbol): Declare.
	* config/m68k/m68k.opt (mxtls): New option.
	* config/m68k/m68k.c (ggc.h): Include.
	(m68k_output_dwarf_dtprel): Implement hook.
	(TARGET_HAVE_TLS, TARGET_ASM_OUTPUT_DWARF_DTPREL): Define.
	(m68k_expand_prologue): Load GOT pointer when function needs it.
	(m68k_illegitimate_symbolic_constant_p): Handle TLS symbols.
	(m68k_legitimate_constant_address_p): Same.
	(m68k_decompose_address): Handle TLS references.
	(m68k_get_gp): New static function.
	(enum m68k_reloc): New contants.
	(TLS_RELOC_P): New macro.
	(m68k_wrap_symbol): New static function.
	(m68k_unwrap_symbol): New function.
	(m68k_final_prescan_insn_1): New static function.
	(m68k_final_prescan_insn): New function.
	(m68k_move_to_reg, m68k_wrap_symbol_into_got_ref): New static
	functions.
	(legitimize_pic_address): Handle TLS references..
	(m68k_tls_get_addr, m68k_get_tls_get_addr)
	(m68k_libcall_value_in_a0_p)
	(m68k_call_tls_get_addr, m68k_read_tp, m68k_get_m68k_read_tp)
	(m68k_call_m68k_read_tp): Helper variables and functions for ...
	(m68k_legitimize_tls_address): Handle TLS references.
	(m68k_tls_symbol_p, m68k_tls_reference_p_1, m68k_tls_reference_p):
	New functions.
	(m68k_legitimize_address): Handle TLS symbols.
	(m68k_get_reloc_decoration): New static function.
	(m68k_output_addr_const_extra): Handle UNSPEC_RELOC16 and
	UNSPEC_RELOC32.
	(m68k_output_dwarf_dtprel): Implement hook.
	(print_operand_address): Handle UNSPEC_RELOC16 adn UNSPEC_RELOC32.
	(m68k_libcall_value): Return result in A0 instead of D0 when asked by
	m68k_call_* routines.
	(sched_attr_op_type): Handle TLS symbols.
	(gt-m68k.h): Include.
	* config/m68k/m68k.h (FINAL_PRESCAN_INSN): Define.
	(LEGITIMATE_PIC_OPERAND_P): Support TLS.
	gcc/testsuite/
	* gcc.target/m68k/tls-ie.c: New test.
	* gcc.target/m68k/tls-le.c: New test.
	* gcc.target/m68k/tls-gd.c: New test.
	* gcc.target/m68k/tls-ld.c: New test.
	* gcc.target/m68k/tls-ie-xgot.c: New test.
	* gcc.target/m68k/tls-le-xtls.c: New test.
	* gcc.target/m68k/tls-gd-xgot.c: New test.
	* gcc.target/m68k/tls-ld-xgot.c: New test.
	* gcc.target/m68k/tls-ld-xtls.c: New test.
	* gcc.target/m68k/tls-ld-xgot-xtls.c: New test.

	Merge from Sourcery G++ 4.3:
	gcc/
	* config/m68k/m68k.c (m68k_legitimize_address): New function.
	* config/m68k/m68k.h (LEGITIMIZE_ADDRESS): Use it.
	* config/m68k/m68k-proto.h (m68k_legitimize_address): Declare it.

2009-05-15  Joseph Myers  <joseph@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	2008-10-23  Kazu Hirata  <kazu@codesourcery.com>

	Issue 3852
	gcc/
	* config/arm/t-asa (MULTILIB_EXTRA_OPTS): New.

	2008-05-28  Kazu Hirata  <kazu@codesourcery.com>

	Issue 2895
	gcc/
	* config.gcc (arm*-*-linux*): Handle enable_extra_asa_multilibs.
	enable_extra_asa_multilibs.
	* config/arm/t-asa: New.

	2008-05-28  Kazu Hirata  <kazu@codesourcery.com>

	* config/arm/t-asa (MULTILIB_EXCEPTIONS): Remove
	march=armv4t/mfpu=neon* and march=armv4t/*mfloat-abi=softfp.  Add
	*march=armv4t*/*mfpu=neon* and *march=armv4t*/*mfloat-abi=softfp*.
	(MULTILIB_ALIASES): Remove march?armv4t=mthumb/march?armv4t* and
	march?armv6=mthumb/march?armv6*. Add
	march?armv4t=mthumb/march?armv4t, march?armv6=mthumb/march?armv6,
	and
	march?armv6/mfloat-abi?softfp=mthumb/march?armv6/mfloat-abi?softfp.

2009-05-15  Joseph Myers  <joseph@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	NOT ASSIGNED TO FSF
	COPYRIGHT CAVIUM
	gcc/
	* config/mips/octeon-elf-unwind.h, config/mips/octeon-elf.h,
	config/mips/octeon.h, config/mips/t-octeon-elf: New.
	* config.gcc: Handle mips64octeon*-wrs-elf*.
	(mips-wrs-linux-gnu): Use mips/octeon.h.
	* config/mips/mips-protos.h (octeon_output_shared_variable): New.
	* config/mips/mips.c (octeon_handle_cvmx_shared_attribute,
	octeon_select_section, octeon_unique_section,
	octeon_output_shared_variable): New.
	(mips_attribute_table): Add cvmx_shared.
	(mips_in_small_data_p): Check for cvmx_shared attribute.

	libgcc/
	* config.host: Handle mips64octeon*-wrs-elf*.

2009-05-15  Mark Mitchell  <mark@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>
            Mark Shinwell  <shinwell@codesourcery.com>
            Vladimir Prus  <vladimir@codesourcery.com>
            Paul Brook  <paul@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	gcc/
	* config.gcc (arm-wrs-linux-gnueabi, i586-wrs-linux-gnu,
	mips-wrs-linux-gnu, powerpc-wrs-linux-gnu, sparc-wrs-linux-gnu):
	Handle new targets.
	* config/arm/t-wrs-linux, config/arm/wrs-linux.h,
	config/mips/t-wrs-linux, config/mips/wrs-linux.h,
	config/rs6000/t-wrs-linux, config/rs6000/wrs-linux.h: New.
	* config/sparc/linux64.h (TARGET_DEFAULT): Define differently for
	BIARCH_32BIT_DEFAULT.

2009-05-15  Sandra Loosemore  <sandra@codesourcery.com>

	Backport from upstream:

	2009-05-15  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* optabs.c (prepare_float_lib_cmp):  Test that the comparison,
	swapped, and reversed optabs exist before trying to use them.

2009-05-12  Joseph Myers  <joseph@codesourcery.com>

	gcc/
	* config/arm/nocrt0.h (LIB_SPEC): Undefine before defining.

2009-05-12  Joseph Myers  <joseph@codesourcery.com>

	Merge from ARM/hard_vfp_4_4_branch:

	gcc/
	2009-05-12  Joseph Myers  <joseph@codesourcery.com>
	* config/arm/arm.c (aapcs_vfp_sub_candidate): Use V2SImode and
	V4SImode as representatives of all 64-bit and 128-bit vector
	types.  Allow vector types without vector modes.
	(aapcs_vfp_is_call_or_return_candidate): Handle vector types
	without vector modes like BLKmode.
	(aapcs_vfp_allocate): Handle TImode for non-TARGET_NEON like
	BLKmode.  Avoid unsupported vector modes or TImode moves for
	non-TARGET_NEON.
	(aapcs_vfp_allocate_return_reg): Likewise.
	(arm_vector_mode_supported_p): Only support V2SImode, V4HImode and
	V8QImode if TARGET_NEON || TARGET_IWMMXT.

	2009-05-12  Joseph Myers  <joseph@codesourcery.com>
	* config/arm/arm.c (arm_handle_pcs_attribute): New.
	(arm_get_pcs_model): Pass attribute arguments to
	arm_pcs_from_attribute.
	(arm_init_cumulative_args): Use base AAPCS for conversions from
	floating-point types to DImode.
	(arm_attribute_table): Add pcs attribute.
	(arm_handle_pcs_attribute): New.
	* config/arm/bpabi.h (DECLARE_LIBRARY_RENAMES): When renaming
	conversions from floating-point types to DImode, also declare them
	to use base AAPCS and declare functions they call to use base
	AAPCS and their RTABI names.

	2009-05-12  Joseph Myers  <joseph@codesourcery.com>
	* doc/invoke.texi (-mfloat-abi=@var{name}): Remove statement about
	-mfloat-abi=hard not being supported for VFP.

	2009-05-11  Kazu Hirata  <kazu@codesourcery.com>
	* config/sparc/sparc.c (sparc_emit_float_lib_cmp): Pass a libcall
	SYMBOL_REF to hard_libcall_value.

	2009-03-05  Joseph Myers  <joseph@codesourcery.com>
		    Richard Earnshaw  <rearnsha@arm.com>
	* config/arm/arm.c (aapcs_layout_arg): Once a co-processor argument
	has been put on the stack, all remaining co-processory arguments for
	that co-processor also go on the stack.

	2009-03-05  Joseph Myers  <joseph@codesourcery.com>
	* config/arm/arm.c (arm_return_in_memory): Handle returning
	vectors of suitable size in registers also for AAPCS case.

	2009-01-13  Richard Earnshaw <rearnsha@arm.com>
	* doc/tm.texi (TARGET_LIBCALL_VALUE): Add missing end statement.

	2008-12-09  Richard Earnshaw <rearnsha@arm.com>
	ARM Hard-VFP calling convention
	* target-def.h (TARGET_LIBCALL_VALUE): New hook.
	* target.h (gcc_target): Add libcall_value to table of call hooks.
	* targhooks.h (default_libcall_value): Default implementation.
	* targhooks.c (default_libcall_value): Likewise.
	* doc/tm.texi (TARGET_LIBCALL_VALUE): Document it.
	* optabs.c (expand_unop): Use it.
	* expr.h (hard_libcall_value): Pass the function RTX through.
	* calls.c (emit_library_call_value_1): Update call to
	hard_libcall_value.
	* explow.c (hard_libcall_value): Use new target hook.
	* testsuite/lib/target-supports.exp
	(check_effective_target_arm_hard_vfp_ok): New hook.
	(check_effective_target_arm_neon_ok): Improve test for neon
	availability.
	* testsuite/gcc.target/arm/eabi1.c: Only run test in base variant.
	* config/arm/arm.c: Include cgraph.h
	(TARGET_FUNCTION_VALUE): Override default hook.
	(arm_pcs_default): New variable.
	(arm_override_options): Don't fault hard calling convention with VFP.
	Add support for AAPCS variants.
	(arm_function_value): Make static.  Handle AAPCS variants.
	(arm_libcall_value): New function.
	(arm_apply_result_size): Handle VFP registers in results.
	(arm_return_in_memory): Rework all AAPCS variants; handle hard-vfp
	conventions.
	(pcs_attribute_args): New variable.
	(arm_pcs_from_attribute): New function.
	(arm_get_pcs_model): New function.
	(aapcs_vfp_cum_init): New function.
	(aapcs_vfp_sub_candidate): New function.
	(aapcs_vfp_is_return_candidate): New function.
	(aapcs_vfp_is_call_candidate): New function.
	(aapcs_vfp_allocate): New function.
	(aapcs_vfp_allocate_return_reg): New function.
	(aapcs_vfp_advance): New function.
	(aapcs_cp_arg_layout): New variable.
	(aapcs_select_call_coproc): New function.
	(aapcs_select_return_coproc): New function.
	(aapcs_allocate_return_reg): New function.
	(aapcs_libcall_value): New function.
	(aapcs_layout_arg): New function.
	(arm_init_cumulative_args): Initialize AAPCS args data.
	(arm_function_arg): Handle AAPCS variants using new interface.
	(arm_arg_parital_bytes): Likewise.
	(arm_function_arg_advance): New function.
	(arm_function_ok_for_sibcall): Ensure that sibling calls agree on
	calling conventions.
	(arm_setup_incoming_varargs): Handle new AAPCS args data.
	* arm.h (NUM_VFP_ARG_REGS): Define.
	(LIBCALL_VALUE): Update.
	(FUNCTION_VALUE): Delete.
	(FUNCTION_VALUE_REGNO_P): Add VFP regs.
	(arm_pcs): New enum.
	(CUMULATIVE_ARGS): New data to support AAPCS argument marshalling.
	(FUNCTION_ARG_ADVANCE): Call arm_function_arg_advance.
	(FUNCTION_ARG_REGNO_P): Add VFP regs.
	* arm-protos.h (arm_function_arg_advance): Add.
	(aapcs_libcall_value): Add.
	(arm_function_value): Delete.

	gcc/testsuite/
	2009-05-12  Joseph Myers  <joseph@codesourcery.com>
	* gcc.target/arm/eabi1.c: Do not skip for non-base ABI variants.
	(PCS): Define macro to use base AAPCS.
	(decl_float, __aeabi_d2f, __aeabi_f2d): Use PCS macro.

	2009-05-11  Daniel Jacobowitz  <dan@codesourcery.com>
	* lib/target-supports.exp (check_effective_target_arm_neon_ok):
	Correct arm_neon.h typo.

	2009-03-06  Richard Earnshaw  <rearnsha@arm.com>
	* lib/target-supports.exp (check_effective_target_hard_vfp_ok): Make
	this a linkage test.
	* gcc.target/arm/aapcs/aapcs.exp: New framework for testing AAPCS
	argument marshalling.
	* abitest.h: New file.
	* vfp1.c, vfp2.c, vfp3.c, vfp4.c, vfp5.c, vfp6.c, vfp7.c: New tests.
	* vfp8.c, vfp9.c, vfp10.c, vfp11.c, vfp12.c, vfp13.c, vfp14.c: New.

2009-05-12  Nathan Sidwell  <nathan@codesourcery.com>

	gcc/testsuite/
	* g++.dg/ext/ms-1.C: Fix misapplied patch.

2009-05-12  Maxim Kuvyrkov  <maxim@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	2009-05-12  Maxim Kuvyrkov  <maxim@codesourcery.com>
	* ChangeLog.csl: Add changelog for the previous commit.
	gcc/
	* configure: Regenerate with proper autoconf version.

	2009-05-12  Maxim Kuvyrkov  <maxim@codesourcery.com>
	gcc/
	* common.opt (feglibc): New dummy option.
	* opts.c (common_handle_option): Handle it.
	* config.gcc: Handle 'eglibc' vendor.
	* config/t-eglibc: Define multilibs for testing EGLIBC features.
	* configure.ac (--with-eglibc-configs, EGLICB_CONFIGS): New option and
	variable.
	* configure: Regenerate.
	* Makefile.in (EGLIBC_CONFIGS): Handle

2009-05-11  Nathan Sidwell  <nathan@codesourcery.com>

	gcc/
	* config/m68k/t-uclinux (M68K_MLIB_CPU): Check for FL_UCLINUX.
	* config/m68k/m68k-devices.def: Add FL_UCLINUX to 68020 and 54455
	multilibs.
	* config/m68k/m68k.h (FL_UCLINUX): Define.

	* release-notes-csl.xml: Document.

	gcc/
	* config/m68k/m68k-devices.def (52274, 52277): New devices.
	(5301x, 5225x): New devices.
	(51xx): New devices.

	* release-notes-csl.xml: Document new processors.

	Forward port 2009-02-12  Nathan Sidwell  <nathan@codesourcery.com>
	Issue #4620
	gcc/
	* config/rs6000/rs6000.c (rs6000_init_builtins): Set TYPE_NAME of
	our distinct integral and vector types.
	gcc/testsuite/
	* g++.dg/ext/altivec-17.C: New.

	* release-notes-csl.xml: Add note.

2009-05-08  Nathan Sidwell  <nathan@codesourcery.com>

	Issue 5335
	gcc/
	* class.c (resolve_address_of_overloaded_function): Use
	OVL_CURRENT for error.
	(instantiate_type): Allow FUNCTION_DECL when ms_extensions are
	active.  Don't copy the rhs node.  Delete COMPOUND_EXPR code.
	* typeck.c (build_compound_expr): Check RHS has known type.

	gcc/testsuite/
	* g++.dg/ext/ms-1.C: New.
	* g++.old-deja/g++.other/overload11.C: Adjust.

	* release-notes-csl.xml: Add two notes.

2009-05-04  Kazu Hirata  <kazu@codesourcery.com>

	Backport:
	gcc/
	2009-05-04  Kazu Hirata  <kazu@codesourcery.com>
	* expmed.c (synth_mult): When trying out a shift, pass the result
	of a signed shift.

2009-05-04  Kazu Hirata  <kazu@codesourcery.com>

	Backport:
	gcc/
	2009-05-04  Kazu Hirata  <kazu@codesourcery.com>
	* expmed.c (shiftsub_cost): Rename to shiftsub0_cost.
	(shiftsub1_cost): New.
	(init_expmed): Compute shiftsub1_cost.
	(synth_mult): Optimize multiplications by constants of the form
	-(2^^m-1) for some constant positive integer m.

2009-05-01  Andrew Stubbs  <ams@codesourcery.com>

	gcc/
	* config/sh/cs-sgxxlite-linux.h, config/sh/t-sgxxlite-linux: New.
	* config.gcc: Add SH multilib configurations.

2009-05-01  Joseph Myers  <joseph@codesourcery.com>

	Backport:

	gcc/
	2009-04-17  Andrew Stubbs  <ams@codesourcery.com>
	* configure.ac: Add new AC_SUBST for TM_ENDIAN_CONFIG,
	TM_MULTILIB_CONFIG and TM_MULTILIB_EXCEPTIONS_CONFIG.
	(--with-multilib-list): Add default value.
	* configure: Regenerate.
	* Makefile.in (TM_ENDIAN_CONFIG): Define.
	(TM_MULTILIB_CONFIG, TM_MULTILIB_EXCEPTIONS_CONFIG): Define.
	* config.gcc (sh-*-*): Switch to using TM_ENDIAN_CONFIG,
	TM_MULTILIB_CONFIG, and TM_MULTILIB_EXCEPTIONS_CONFIG.
	Don't add default cpu to multilib list unnecessarily, but do enable
	the relevant compiler option..
	Add support for --with-multilib-list=<blank> and
	--with-multilib-list=!<somelib> to supress unwanted multilibs.
	* config/sh/t-sh (DEFAULT_ENDIAN, OTHER_ENDIAN): New variables.
	(MULTILIB_ENDIAN, MULTILIB_CPUS): Delete variables.
	(MULTILIB_OPTIONS): Redefine using OTHER_ENDIAN and
	TM_MULTILIB_CONFIG.
	(MULTILIB_EXCEPTIONS): Add TM_MULTILIB_EXCEPTIONS_CONFIG.
	(MULTILIB_OSDIRNAMES): New variable.
	* config/sh/t-1e: Delete file.
	* config/sh/t-mlib-sh1: Delete file.
	* config/sh/t-mlib-sh2: Delete file.
	* config/sh/t-mlib-sh2a: Delete file.
	* config/sh/t-mlib-sh2a-nofpu: Delete file.
	* config/sh/t-mlib-sh2a-single: Delete file.
	* config/sh/t-mlib-sh2a-single-only: Delete file.
	* config/sh/t-mlib-sh2e: Delete file.
	* config/sh/t-mlib-sh3e: Delete file.
	* config/sh/t-mlib-sh4: Delete file.
	* config/sh/t-mlib-sh4-nofpu: Delete file.
	* config/sh/t-mlib-sh4-single: Delete file.
	* config/sh/t-mlib-sh4-single-only: Delete file.
	* config/sh/t-mlib-sh4a: Delete file.
	* config/sh/t-mlib-sh4a-nofpu: Delete file.
	* config/sh/t-mlib-sh4a-single: Delete file.
	* config/sh/t-mlib-sh4a-single-only: Delete file.
	* config/sh/t-mlib-sh4al: Delete file.
	* config/sh/t-mlib-sh5-32media: Delete file.
	* config/sh/t-mlib-sh5-32media-nofpu: Delete file.
	* config/sh/t-mlib-sh5-64media: Delete file.
	* config/sh/t-mlib-sh5-64media-nofpu: Delete file.
	* config/sh/t-mlib-sh5-compact: Delete file.
	* config/sh/t-mlib-sh5-compact-nofpu: Delete file.
	* config/sh/t-linux: Don't override MULTILIB_EXCEPTIONS.
	* doc/install.texi (Options specification): Add
	--with-multilib-list and --with-endian.

2009-05-01  Joseph Myers  <joseph@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	gcc/
	2008-02-12  Julian Brown  <julian@codesourcery.com>

	Merge from MIPS:

	2008-01-16  David Ung  <davidu@mips.com>

	* config/mips/sdemtk.h: Define macro TARGET_MIPS_SDEMTK.
	* config/mips/mips.c (mips_file_start): Check against
	TARGET_MIPS_SDEMTK which supports the TARGET_NO_FLOAT option.

2009-05-01  Joseph Myers  <joseph@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	gcc/
	2008-03-17  Julian Brown  <julian@codesourcery.com>
	* config/mips/sdemtk.h (MIPS_ARCH_FLOAT_SPEC): Override, adding
	-mno-float option.

2009-05-01  Julian Brown  <julian@codesourcery.com>
            Catherine Moore  <clm@codesourcery.com>
            Sandra Loosemore  <sandra@codesourcery.com>
            Richard Sandiford  <richard@codesourcery.com>
            Nigel Stephens  <nigel@mips.com>
            Joseph Myers  <joseph@codesourcery.com>

	gcc/
	* config/mips/cs-sgxx-linux.h, config/mips/cs-sgxxlite-linux.h,
	config/mips/t-sgxx-linux, config/mips/t-sgxx-sde,
	config/mips/t-sgxxlite-linux: New.
	* config.gcc: Add MIPS multilib configurations.
	* config/mips/mips.opt (mips16e): Add as deprecated alias
	for -mips16.
	* doc/invoke.texi (Option Summary, MIPS Options): Document it.

2009-04-29  Nathan Froyd  <froydnj@codesourcery.com>
            Kazu Hirata <kazu@codesourcery.com>
            Daniel Jacobowitz  <dan@codesourcery.com>
            Nathan Sidwell  <nathan@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

	gcc/
	* config/rs6000/e500mc.h, config/rs6000/t-cs-eabi,
	config/rs6000/t-cs-eabi-lite, config/rs6000/t-cs-linux,
	config/rs6000/t-ppc-e500mc: New.
	* config.gcc: Add Power multilib configurations.
	* config/rs6000/eabi.h (CC1_EXTRA_SPEC, ASM_DEFAULT_SPEC): Define.
	* config/rs6000/linux.h (CC1_EXTRA_SPEC, ASM_DEFAULT_SPEC,
	SYSROOT_SUFFIX_SPEC): Define.

2009-04-29  Joseph Myers  <joseph@codesourcery.com>
            Daniel Jacobowitz  <dan@codesourcery.com>
            Nathan Froyd  <froydnj@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	gcc/
	* config/rs6000/option-defaults.h (OPTION_DEFAULT_SPECS): Handle
	-te500mc, -te500v1, -te500v2 and -te600.

2009-04-29  Joseph Myers  <joseph@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	gcc/
	* config/rs6000/sysv4.h (CC1_EXTRA_SPEC): Define and use.

2009-04-28  Joseph Myers  <joseph@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	gcc/
	* config.gcc (mips*-*-*): Support arch_32 arch_64 tune_32 tune_64.
	* config/mips/mips.h (OPTION_DEFAULT_SPECS): Add support for
	arch_32 arch_64 tune_32 tune_64.

2009-04-28  Joseph Myers  <joseph@codesourcery.com>

	Backport:

	gcc/
	2009-04-28  Joseph Myers  <joseph@codesourcery.com>
	* config.gcc (powerpc*-*-* | rs6000-*-*): Add
	rs6000/option-defaults.h to tm_file.  Support cpu_32, cpu_64,
	tune_32 and tune_64.
	* doc/install.texi (--with-cpu-32, --with-cpu-64): Document
	support on PowerPC.
	* config/rs6000/rs6000.h (OPTION_DEFAULT_SPECS): Move to ...
	* config/rs6000/option-defaults.h: ... here.  New file.
	(OPT_64, OPT_32): Define.
	(MASK_64BIT): Define to 0 if not already defined.
	(OPT_ARCH64, OPT_ARCH32): Define.
	(OPTION_DEFAULT_SPECS): Add entries for cpu_32, cpu_64, tune_32
	and tune_64.

2009-04-28  Joseph Myers  <joseph@codesourcery.com>
            Paul Brook  <paul@codesourcery.com>
            Daniel Gutson  <dgutson@codesourcery.com>
            Julian Brown  <julian@codesourcery.com>
            Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* config/arm/nocrt0.h, config/arm/t-cs-eabi,
	config/arm/t-cs-eabi-lite, config/arm/t-cs-linux,
	config/arm/t-cs-linux-lite, config/arm/t-cs-uclinux-eabi: New.
	* config.gcc: Add ARM multilib configurations.

2009-04-28  Joseph Myers  <joseph@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	gcc/
	2008-02-05  Paul Brook  <paul@codesourcery.com>
	* doc/fragments.texi: Document MULTILIB_ALIASES.
	* genmultilib: Add aliases.
	* Makefile.in (s-mlib): Pass MULTILIB_ALIASES.

	2009-02-03  Andrew Stubbs  <ams@codesourcery.com>
	* config/print-sysroot-suffix.sh: Add support for MULTILIB_ALIASES.
	* config/t-sysroot-suffix: Pass MULTILIB_ALIASES.

2009-04-28  Joseph Myers  <joseph@codesourcery.com>

	Backport:

	gcc/
	2009-04-07  Andrew Stubbs  <ams@codesourcery.com>
	* config.gcc (sh-*-*): Add sysroot-suffix.h to tm_file.
	Add t-sysroot-suffix to tmake_file.
	* config/print-sysroot-suffix.sh: New file.
	* config/t-sysroot-suffix: New file.

2009-04-28  Joseph Myers  <joseph@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	2008-08-18  Nathan Froyd  <froydnj@codesourcery.com>

	libgomp/
	* Makefile.am (LTLDFLAGS): Define.
	(LINK): Define.
	* Makefile.in: Regenerate.

2009-04-28  Joseph Myers  <joseph@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	gcc/
	* config.gcc (i[34567]86-*-linux*): Use extra config files if
	--enable-extra-sgxx-multilibs.
	* config/i386/cs-linux.h, config/i386/cs-linux.opt,
	config/i386/t-cs-linux: New.

2009-04-28  Joseph Myers  <joseph@codesourcery.com>

	Backport:

	gcc/
	2009-04-16  Joseph Myers  <joseph@codesourcery.com>
	* config/mips/mips.c (mips_rtx_cost_data): Use SOFT_FP_COSTS in
	XLR entry.
	* config/mips/mips.h (MIPS_ISA_LEVEL_SPEC, MIPS_ARCH_FLOAT_SPEC):
	Handle -march=xlr.
	* config/mips/xlr.md (ir_xlr_alu): Also accept insn types move,
	logical and signext.

2009-04-28  Joseph Myers  <joseph@codesourcery.com>

	Backport:

	gcc/
	2009-04-14  Joseph Myers  <joseph@codesourcery.com>
	* config/sol2.h (LINK_ARCH32_SPEC_BASE): Use %R with absolute
	library paths.
	* config/sparc/sol2-bi.h (LINK_ARCH64_SPEC_BASE): Likewise.

2009-04-28  Joseph Myers  <joseph@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	gcc/
	2008-07-02  Joseph Myers  <joseph@codesourcery.com>
	* c-incpath.c: Include toplev.h.
	(merge_include_chains): Use warning instead of cpp_error for
	system directory poisoning diagnostic.
	* Makefile.in (c-incpath.o): Depend on toplev.h.
	* gcc.c (LINK_COMMAND_SPEC): Pass
	--error-poison-system-directories if
	-Werror=poison-system-directories.

	2007-06-13  Joseph Myers  <joseph@codesourcery.com>
	* common.opt (--Wno-poison-system-directories): New.
	* doc/invoke.texi (-Wno-poison-system-directories): Document.
	* c-incpath.c: Include flags.h.
	(merge_include_chains): Check flag_poison_system_directories.
	* gcc.c (LINK_COMMAND_SPEC): Pass --no-poison-system-directories
	to linker if -Wno-poison-system-directories.
	* Makefile.in (c-incpath.o): Depend on $(FLAGS_H).

	2007-03-20  Daniel Jacobowitz  <dan@codesourcery.com>
	            Joseph Myers  <joseph@codesourcery.com>
	* configure.ac (--enable-poison-system-directories): New option.
	* configure, config.in: Regenerate.
	* c-incpath.c (merge_include_chains): If
	ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of
	/usr/include, /usr/local/include or /usr/X11R6/include.

2009-04-28  Mark Mitchell  <mark@codesourcery.com>
            Vladimir Prus  <vladimir@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>
            Carlos O'Donell  <carlos@codesourcery.com>
            Daniel Jacobowitz  <dan@codesourcery.com>
            Kazu Hirata  <kazu@codesourcery.com>

	libiberty/
	* configure.ac: Add cygpath for mingw hosts.
	* configure: Regenerate.
	* Makefile.in: Add cygpath.
	* cygpath.c: New.
	* pex-win32.c (pex_win32_open_read, pex_win32_open_write): Use
	open not _open.

	include/
	* libiberty.h (cygpath): Declare.

	config/
	* mh-mingw (CFLAGS, BOOT_CFLAGS): Do not use -D__USE_MINGW_ACCESS.
	Add a comment.

2009-04-28  Joseph Myers  <joseph@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	2008-05-01  Carlos O'Donell  <carlos@codesourcery.com>

	* Makefile.tpl (install): Call install-html and install-pdf.
	* Makefile.in: Regenerate.

	gcc/
	* Makefile.in (install): Depend on install-html and install-pdf.

2009-04-28  Joseph Myers  <joseph@codesourcery.com>

	libgomp/
	* Makefile.am (install-data-am): Do not depend on install-html and
	install-pdf.
	* Makefile.in: Regenerate.

2009-04-28  Joseph Myers  <joseph@codesourcery.com>

	Merge from Sourcery G++ 4.3:

	libgomp/
	2008-09-03  Nathan Froyd  <froydnj@codesourcery.com>
	* libgomp.texi (Library Index): Renamed from "Index" to prevent
	conflict with index.html on case-insensitive file systems.

	2008-08-18  Nathan Froyd  <froydnj@codesourcery.com>
	* Makefile.am (datarootdir, docdir, htmldir, pdfdir): Define.
	(HTMLS_INSTALL, HTMLS_BUILD): Define.
	($(HTMLS_BUILD)): New rule.
	(html__strip_dir): Define.
	(install-data-am): Add install-html and install-pdf prerequsites.
	(install-html): Add actions.
	(TEXI2HTML): Define.
	* Makefile.in: Regenerate.
	* configure.ac (datarootdir, docdir, htmldir, pdfdir): Add
	appropriate --with options and AC_SUBSTs.
	* configure: Regenerate.

2009-04-28  Joseph Myers  <joseph@codesourcery.com>

	gcc/
	* gcc.c (main): Add "const" to declaration of license_status.

	Merge from Sourcery G++ 4.3:

	gcc/
	2008-09-04  Julian Brown  <julian@codesourcery.com>
	* Makefile.in (CSL_LICENSELIB): Remove space after -L to appease
	Darwin ld.

	gcc/
	2007-10-16  Joseph Myers  <joseph@codesourcery.com>
	* gcc.c (license_me_flag): Define to 1 if not TARGET_FLEXLM.

	2007-08-10  Nathan Froyd  <froydnj@codesourcery.com>
	* gcc.c (main): Consult license_me_flag to see if failure to
	acquire a license implies bailing out entirely.

	2007-08-24  Nathan Froyd  <froydnj@codesourcery.com>
	Issue #1892
	* gcc.c (main): Check license_me_flag before declaring failure.

	2007-08-30  Nathan Sidwell  <nathan@codesourcery.com>
	Issue #1892
	* gcc.c (main): Don't complain if license fails without -flicense-me

	2007-04-12  Richard Sandiford  <richard@codesourcery.com>
	* gcc.c (main): If find_a_file fails, pass the original subproc
	to csl_subproc_license_new.

	2006-12-27  Mark Mitchell  <mark@codesourcery.com>
	NOT ASSIGNED TO FSF
	COPYRIGHT CODESOURCERY
	* gcc.c (main): If the license check fails, remove the generated
	file.

	2006-12-22  Mark Mitchell  <mark@codesourcery.com>
	NOT ASSIGNED TO FSF
	COPYRIGHT CODESOURCERY
	* aclocal.m4: Move licensing options ...
	* acinclude.m4: ... here.

	2006-12-13  Mark Mitchell  <mark@codesourcery.com>
	NOT ASSIGNED TO FSF
	COPYRIGHT CODESOURCERY
	* gcc.c (csl/license.h): Include, if required.
	(license_checked): New variable.
	(no_license): Remove.
	(process_command): Set license_checked, not no_license.
	(main): Use CodeSourcery license library.  Remove most
	TARGET_FLEXLM code.
	* aclocal.m4 (--with-license): New option.
	(--with-csl-license-feature): Likewise.
	(--with-csl-license-version): Likewise.
	* Makefile.in (CSL_LICENSEINC): Define it.
	(CSL_LICENSELIB): Likewise.
	(CSL_LICENSE_PROG): Likewise.
	(LIBS): Depend on CSL_LICENSELIB.
	(GCC_PASSES): Depend on CSL_LICENSE_PROG.
	(INCLUDES): Add CSL_LICENSEINC.
	* configure.ac (CSL_AC_LICENSE_VERSION): Use it.
	(CSL_AC_LICENSE): Likewise.
	(CSL_AC_LICENSE_FEATURE): Likewise.
	* config.in: Regenerated.
	* configure: Regenerated.

	2006-10-29  Richard Sandiford  <richard@codesourcery.com>
	            Joseph Myers  <joseph@codesourcery.com>
	* gcc.c (license_me_flag): New variable.
	(feature_proxy_flag): New variable.
	(no_license): New variable.
	(process_command): Handle -flicense-me, -ffeature-proxy and
	-fno-feature-proxy.  Initialize no_license.
	(main): Check licenses.

2009-04-28  Joseph Myers  <joseph@codesourcery.com>

	* release-notes-csl.xml: New.


Local Variables:
mode: change-log
change-log-default-name: "ChangeLog.csl"
End:
