2015-06-08  Kwok Cheung Yeung  <kcy@codesourcery.com>

	Issue #16968
	
	gcc/
	* tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Add
	warning for undefined statement in peeled loop.
	* common.opt (warn_loop_peeling): New command-line option.

2015-03-20  Kwok Cheung Yeung  <kcy@codesourcery.com>

	Issue #16927

	Backport from upstream:

	2013-07-30  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

	PR rtl-optimization/57637

	gcc/
	* function.c (move_insn_for_shrink_wrap): Also check the
	GEN set of the LIVE problem for the liveness analysis
	if it exists, otherwise give up.

	gcc/testsuite/
	* gcc.target/arm/pr57637.c: New testcase.

2015-01-13  Andrew Stubbs  <ams@codesourcery.com>

	Issue #16838

	Backport from upstream:

	gcc/
	2014-09-29  Charles Baylis  <charles.baylis@linaro.org>

	Backport from mainline r212303
	PR target/49423
	* config/arm/arm-protos.h (arm_legitimate_address_p,
	arm_is_constant_pool_ref): Add prototypes.
	* config/arm/arm.c (arm_legitimate_address_p): Remove static.
	(arm_is_constant_pool_ref) New function.
	* config/arm/arm.md (unaligned_loadhis, arm_zero_extendhisi2_v6,
	arm_zero_extendqisi2_v6): Use Uh constraint for memory operand.
	(arm_extendhisi2, arm_extendhisi2_v6): Use Uh constraint for memory
	operand and remove pool_range and neg_pool_range attributes.
	(arm_extendqihi_insn, arm_extendqisi, arm_extendqisi_v6): Remove
	pool_range and neg_pool_range attributes.
	* config/arm/constraints.md (Uh): New constraint. (Uq): Don't allow
	constant pool references.

2014-10-14  Andrew Stubbs  <ams@codesourcery.com>

	Issue #16599

	gcc/
	* tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Set
	loop->possibly_undefined_stmt appropriately.
	* tree-ssa-loop-ivcanon.c (remove_redundant_iv_tests): Don't remove
	any tests if loop->possibly_undefined_stmt is set.
	Emit a warning if a test would have been removed.
	* cfgloop.h (struct loop): Add field "possibly_undefined_stmt".

2014-10-08  Andrew Stubbs  <ams@codesourcery.com>

	Revert:

	2014-09-26  Andrew Stubbs  <ams@codesourcery.com>
	Issue #16599
	gcc/
	* tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Emit a warning
	when undefined behaviour is suspected.

2014-10-04  Kwok Cheung Yeung  <kcy@codesourcery.com>

	Issue #16580

	gcc/
	* config/arm/thumb2.md: Do not apply peephole optimization
	if the condition code register is live afterwards.

2014-09-26  Andrew Stubbs  <ams@codesourcery.com>

	Issue #16599

	gcc/
	* tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Emit a warning
	when undefined behaviour is suspected.

2014-08-19  Kwok Cheung Yeung  <kcy@codesourcery.com>

	Issue #16452

	Revert accidental change from r437888.

	gcc/testsuite/
	* gcc.dg/vect/vect-reduc-pattern-2b-big-array.c: Revert.

2014-08-19  Kwok Cheung Yeung  <kcy@codesourcery.com>

	Issue #16452

	gcc/testsuite/
	* gcc.target/powerpc/builtin-isel-errors.c,
	gcc.target/powerpc/builtin-isel.c: Disable test if not an SPE target.
	* gcc.dg/tree-ssa/fsl-use-load-updates-0.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-2.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-4.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-6.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-8.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-10.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-12.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-14.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-16.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-18.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-20.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-22.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-24.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-26.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-28.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-30.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-32.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-34.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-36.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-38.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-40.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-42.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-44.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-46.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-48.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-50.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-52.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-54.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-56.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-58.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-60.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-62.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-64.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-66.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-68.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-70.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-72.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-74.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-76.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-78.c: Delete.
	* gcc.dg/tree-ssa/fsl-use-load-updates-29.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-31.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-33.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-35.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-37.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-39.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-77.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-79.c: Update instruction counts.

2014-08-18  Kwok Cheung Yeung  <kcy@codesourcery.com>

	Issue #16452
	
	Merge patches from FSL SDK v1.6 - do not push upstream.
	
	gcc/
	* Makefile.in (OBJS): Add widen-types.o and opt-array-offset.o.
	(opt-array-offset.o): New rule.
	(widen-types.o): New rule.
	(GTFILES): Add widen-types.c.
	* common.opt (fwiden-types): New entry.
	(fopt-array-offset): New entry.
	(fuse-load-updates): New entry.
	* configure: Add extra flags to invocation of configure.
	* gimple.h (gimple_can_coalesce_p): New prototype.
	* config.gcc: Fix typo in with_cpu case from Xe6500 to xe6500.
	(tm_file): Check that the target begins with powerpc64- before adding
	rs6000/default64.h.
	* tree-pass.h (pass_widen_types_stmts): New.
	(pass_widen_types_bbs): New.
	(pass_opt_array_offset): New.
	* passes.c (init_optimization_passes): Add pass_widen_types_stmts,
	pass_widen_types_bbs and pass_opt_array_offset.
	* opt-array-offset.c: New.
	* tree.h (VAR_P): New.
	* tree-ssa-coalesce.c (create_outofssa_var_map): Use
	gimple_can_coalesce_p in place of matching the SSA name and tree
	type of variables.
	(coalesce_partitions): Likewise.
	(gimple_can_coalesce_p): New.
	* tree-ssa-live.c (var_map_base_init): Modify initialization of
	m->base.from. 
	* tree-ssa-loop-ivopts.c (WANT_LOAD_UPDATES): New.
	(add_autoinc_candidates): Add candidates with increments that are
	a multiple of the memory mode size.
	(get_address_cost): Add support for load-with-update
	instructions with non-unit increments.
	* tree-ssa-uncprop.c (uncprop_into_successor_phis): Use
	gimple_can_coalesce_p in place of matching the SSA name and tree
	type of variables.
	* varasm.c (output_constant_pool_1): Get alignment from desc->align.
	* widen-types.c: New.
	* config/rs6000/rs6000.h (TARGET_LFIWAX, TARGET_LFIWZX): Disable
	for 5500 and 6500 processors.
	(TARGET_FCFIDS, TARGET_FCFIDU, TARGET_FCFIDUS, TARGET_FCTIDUZ,
	TARGET_FCTIWUZ): Define to TARGET_LFIWZX.
	(TARGET_FRE, TARGET_FRSQRTES): Disable for 5500 and 6500 processors.
	(REGISTER_TARGET_PRAGMAS): Change resolve_overloaded_builtin
	function to rs6000_resolve_overloaded_builtin.
	(CONSTANT_ALIGNMENT): Set alignment of vector constants to at least
	128.
	(RS6000_BTM_ALTIVEC2): New define.
	(RS6000_BTM_ISEL): New define.
	(RS6000_BTM_COMMON): Add RS6000_BTM_ALTIVEC2 and RS6000_BTM_ISEL.
	(ISEL_FLAG_CMP_PTR, ISEL_FLAG_CMP_SIGNED, ISEL_FLAG_CMP_UNSIGNED,
	ISEL_FLAG_CMP_MASK, ISEL_FLAG_SEL_PTR, ISEL_FLAG_SEL_SIGNED,
	ISEL_FLAG_SEL_UNSIGNED, ISEL_FLAG_SEL_MASK): New enum constants.
	(struct isel_builtin_desc): New struct.
	(builtin_iselw, builtin_iseld): New array declarations.
	* config/rs6000/rs6000.c (rs6000_reorg): New prototype.
	(TARGET_MACHINE_DEPENDENT_REORG): Define.
	(TARGET_CASE_VALUES_THRESHOLD): Define.
	(rs6000_builtin_mask_calculate): Account for TARGET_ALTIVEC2 and
	TARGET_ISEL in mask.
	(rs6000_option_override_internal): Set TARGET_OPT_MEMSET_STORE
	if not explicitly disabled and loop distribution or distribute
	patterns is set.  Mask out MASK_PPC_GPOPT for 5500 and 6500
	processors.  Mask out MASK_MFCRF for 5500 processors.  Set
	flag_use_load_updates to 1 for 64-bit processors unless
	overridden.
	(altivec_expand_builtin): Add new builtin entries.
	(rs6000_invalid_builtin): Add entry for RS6000_BTM_ISEL.
	(ISEL_Pmode, ISEL_BASE, ISEL_P_RESULT, ISEL_S_RESULT, ISEL_U_RESULT,
	ISEL_EXPAND_ARG, ISEL_PTR_ARG, ISEL_SIGNED_ARG, ISEL_UNSIGNED_ARG,
	ISEL_EQ, ISEL_LT, ISEL_GT, ISEL_LTU, ISEL_GTU): New defines.
	(builtin_iselw, builtin_iseld): New arrays.
	(isel_cmp_mode, isel_sel_mode, isel_argtype, isel_strdesc): New.
	(rs6000_init_isel_builtins, rs6000_expand_isel_builtin): New.
	(rs6000_expand_builtin): Add calls to rs6000_expand_isel_builtin.
	(rs6000_init_builtins): Add calls to rs6000_init_isel_builtins.
	(altivec_init_builtins): Define new builtins.
	(builtin_function_type): Add cases for new builtins.
	(expand_block_clear): Generate memset for clearing blocks greater
	than a size determined by processor type when not optimizing for
	size.
	(remove_redundant_mov, rs6000_reorg): New.
	(rs6000_opt_masks): Add entry for altivec2. 
	(rs6000_builtin_mask_names): Add entries for altivec2 and isel.
	(rs6000_case_values_threshold): New.
	* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Do not
	define _ARCH_PWR4 for 6500 processors.  Do not define _ARCH_PWR5,
	_ARCH_PWR6 or _ARCH_PWR7 for 5500 and 6500 processors.  Define
	__ALTIVEC2__ if Altivec 2 support enabled.
	(altivec_overloaded_builtins): Add new builtins.
	(altivec_resolve_overloaded_builtin): Make static.
	(isel_arguments_valid): New.
	(rs6000_resolve_isel_builtin): New.
	(rs6000_resolve_overloaded_builtin): New.
	* config/rs6000/rs6000-protos.h
	(altivec_resolve_overloaded_builtin): Delete prototype.
	(rs6000_resolve_overloaded_builtin): New prototype.
	* config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add
	OPTION_MASK_ALTIVEC2.
	* config/rs6000/altivec.h (vec_absd, vec_lvexbx, vec_lvexhx,
	vec_lvexwx, vec_stvexbx, vec_stvexhx, vec_stvexwx, vec_lvswx,
	vec_lvswxl, vec_stvswx, vec_stvswxl, vec_lvsm, vec_lvtlx, vec_lvtlxl,
	vec_lvtrx, vec_lvtrxl, vec_stvflx, vec_stvflxl, vec_stvfrx,
	vec_stvfrxl): Define to builtins.
	* config/rs6000/rs6000.opt (maltivec2): New option.
	(mmax_block_clear): New option.
	(mopt-memset): New option.
	* config/rs6000/rs6000-builtin.def: Add new Altivec 2 and ISEL
	builtins.
	(BU_ALTIVC2_2, BU_ALTIVC2_X, BU_ALTIVC2_OVERLOAD_2,
	BU_ALTIVC2_OVERLOAD_X): New macros.
	(BU_ISEL_X, BU_ISEL_OVERLOAD_X): New macros.
	(RS6000_ISEL_BASE, RS6000_ISEL_PTR_ARG, RS6000_ISEL_SIGNED_ARG,
	RS6000_ISEL_UNSIGNED_ARG, RS6000_ISEL_EQ, RS6000_ISEL_LT,
	RS6000_ISEL_GT, RS6000_ISEL_LTU, RS6000_ISEL_GTU): New macros.
	* config/rs6000/rs6000.md
	(copysign<mode>3): Check TARGET_LFIWAX instead of TARGET_CMPB.
	(copysign<mode>3_fcpsgn): Likewise. 
	* config/rs6000/altivec.md: Add new Altivec 2 instructions.
	(unspec): Add new unspecs.
	* config/rs6000/driver-rs6000.c (asm_names): Add entries for
	ppc8540, ppc8548, ppce500mc, ppce5500 and ppce6500.
	(struct cc1_name): New.
	(cc1_names): New.
	(host_detect_local_cpu): Substitute name from cc1_names if
	called with "cpu" in argv[0].
	
	gcc/testsuite/
	* gcc.dg/tree-ssa/fsl-use-load-updates-0.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-1.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-2.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-3.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-4.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-5.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-6.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-7.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-8.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-9.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-10.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-11.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-12.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-13.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-14.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-15.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-16.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-17.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-18.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-19.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-20.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-21.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-22.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-23.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-24.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-25.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-26.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-27.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-28.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-29.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-30.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-31.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-32.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-33.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-34.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-35.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-36.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-37.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-38.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-39.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-40.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-41.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-42.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-43.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-44.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-45.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-46.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-47.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-48.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-49.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-50.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-51.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-52.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-53.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-54.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-55.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-56.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-57.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-58.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-59.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-60.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-61.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-62.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-63.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-64.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-65.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-66.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-67.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-68.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-69.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-70.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-71.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-72.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-73.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-74.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-75.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-76.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-77.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-78.c,
	gcc.dg/tree-ssa/fsl-use-load-updates-79.c: New.
	* gcc.target/powerpc/altivec2_builtin-1.c,
	gcc.target/powerpc/altivec2_builtin-2.c,
	gcc.target/powerpc/altivec2_builtin-3.c,
	gcc.target/powerpc/altivec2_builtin-4.c,
	gcc.target/powerpc/altivec2_builtin-5.c,
	gcc.target/powerpc/altivec2_builtin-6.c,
	gcc.target/powerpc/altivec2_builtin-7.c,
	gcc.target/powerpc/altivec2_builtin-8.c,
	gcc.target/powerpc/altivec2_builtin-9.c,
	gcc.target/powerpc/altivec2_builtin-10.c,
	gcc.target/powerpc/altivec2_builtin-11.c,
	gcc.target/powerpc/altivec2_builtin-12.c,
	gcc.target/powerpc/altivec2_builtin-13.c,
	gcc.target/powerpc/altivec2_builtin-14.c,
	gcc.target/powerpc/altivec2_builtin-15.c,
	gcc.target/powerpc/altivec2_builtin-16.c,
	gcc.target/powerpc/altivec2_builtin-17.c,
	gcc.target/powerpc/altivec2_builtin-18.c,
	gcc.target/powerpc/altivec2_builtin-19.c,
	gcc.target/powerpc/altivec2_builtin-20.c,
	gcc.target/powerpc/altivec2_builtin-21.c,
	gcc.target/powerpc/altivec2_builtin-22.c: New.
	* gcc.target/powerpc/builtin-isel.h,
	gcc.target/powerpc/builtin-isel.c,
	gcc.target/powerpc/builtin-isel64.c,
	gcc.target/powerpc/builtin-isel-errors.c,
	gcc.target/powerpc/builtin-isel64-errors.c: New.
	* gcc.target/powerpc/pr60158.c: New.
	
	libatomic/
	* Makefile.am (M_DEPS): Delete.
	(@AMDEP_TRUE@M_DEPS, @AMDEP_FALSE@M_DEPS): Define.
	* Makefile.in: Regenerate.

2014-05-30  Andrew Stubbs  <ams@codesourcery.com>

	Issue #16267

	gcc/
	* config/rs6000/wrs-enable-ppc476-workarounds.h (LINK_EXTRA_SPEC):
	Rename to .....
	(SUBSUBTARGET_EXTRA_LINK_SPEC): ... this.
	* config/rs6000/wrs-yocto-linux.h (LINK_EXTRA_SPEC): Delete.

2014-05-29  Andrew Stubbs  <ams@codesourcery.com>

	Issue #16267

	Forward port from 4.3a:
	
	2014-05-24  Kwok Cheung Yeung  <kcy@codesourcery.com>

	Issue #16290

	gcc/
	* config/rs6000/wrs-linux.h (CC1_EXTRA_SPEC): Append -mcpu flag
	for tppc476.
	(ASM_DEFAULT_SPEC): Append -mppc for tppc476.
	(LINK_EXTRA_SPEC): Rename to...
	(SUBSUBTARGET_EXTRA_LINK_SPEC): this.
	* config/rs6000/sysv4.h (LINK_EXTRA_SPEC): Rename to...
	(SUBSUBTARGET_EXTRA_LINK_SPEC): this.
	(LINK_SPEC): Append SUBSUBTARGET_EXTRA_LINK_SPEC.

2014-05-28  Andrew Stubbs  <ams@codesourcery.com>

	Issue #16267

	gcc/
	* config/rs6000/wrs-enable-ppc476-workarounds.h
	(ASM_DEFAULT_SPEC): Rename to ....
	(ASM_EXTRA_SPEC): .... this.
	* config/rs6000/rs6000.h (ASM_EXTRA_SPEC): Define.
	(ASM_CPU_SPEC): Append ASM_EXTRA_SPEC.

2014-05-21  Joseph Myers  <joseph@codesourcery.com>

	Issue #16267

	gcc/
	* config/rs6000/wrs-enable-ppc476-workarounds.h: New file.
	* config.gcc (powerpc-*-linux* | powerpc64-*-linux*): Handle
	--enable-ppc476-workarounds.

	Based on Kwok's 4.3a changes:
	* config/rs6000/option-defaults.h (OPTION_DEFAULT_SPECS): Handle
	-tppc476.
	* config/rs6000/sysv4.h (LINK_EXTRA_SPEC): New macro.
	(LINK_SPEC): Use LINK_EXTRA_SPEC.
	* config/rs6000/t-wrs-yocto-linux (MULTILIB_OPTIONS)
	(MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS, MULTILIB_OSDIRNAMES): Add
	-tppc476 multilib.
	* config/rs6000/wrs-yocto-linux.h (LINK_EXTRA_SPEC): New macro.
	(ASM_DEFAULT_SPEC, SYSROOT_SUFFIX_SPEC): Handle -tppc476.
	* config/rs6000/wrs-yocto-linux.opt (tppc476): New option.

2014-05-07  Andrew Stubbs  <ams@codesourcery.com>

	Issue 16203.

	Backport from upstream:

	gcc/
	2013-12-20  Tocar Ilya  <ilya.tocar@intel.com>
	* config.gcc: Support march=broadwell.
	* config/i386/driver-i386.c (host_detect_local_cpu): Detect Broadwell.
	* config/i386/i386.c (ix86_option_override_internal): Add broadwell.
	* doc/invoke.texi: Document march=broadwell.

2014-04-17  Cesar Philippidis  <cesar@codesourcery.com>

	* gcc/config/arm/arm.h (OPTION_DEFAULT_SPECS): Fix a typo in the
	"float" option SPEC.

2014-04-01  Andrew Stubbs  <ams@codesourcery.com>

	Backport from upstream:

	gcc/
	2014-03-06  Jakub Jelinek  <jakub@redhat.com>
		    Meador Inge  <meadori@codesourcery.com>

	PR target/58595
	* config/arm/arm.c (arm_tls_symbol_p): Remove.
	(arm_legitimize_address): Call legitimize_tls_address for any
	arm_tls_referenced_p expression, handle constant addend.  Call it
	before testing for !TARGET_ARM.
	(thumb_legitimize_address): Don't handle arm_tls_symbol_p here.

	gcc/testsuite/
	2014-03-06  Jakub Jelinek  <jakub@redhat.com>

	PR target/58595
	* gcc.dg/tls/pr58595.c: New test.

2014-03-26  Julian Brown  <julian@codesourcery.com>

	gcc/
	* config/arm/linux-eabi.h (GLIBC_DYNAMIC_LINKER): Update for new
	multilib.
	* config/arm/arm.h (OPTION_DEFAULT_SPECS): Update for new multilib.
	* config/arm/t-wrs-yocto-linux (MULTILIB_OPTIONS): Add
	tthumb2-v7-a-neon-hard.
	(MULTILIB_DIRNAMES): Add thumb2-v7-a-neon-hard.
	* config/arm/wrs-yocto-linux.opt (tthumb2-v7-a-neon-hard): Add
	option.
	* config/arm/wrs-yocto-linux.h (CC1_SPEC, SYSROOT_SUFFIX_SPEC)
	(SUBTARGET_EXTRA_ASM_SPEC): Support -tthumb2-v7-a-neon-hard option.
	* config/arm/wrs-dummy-t-options.h (CC1_SPEC): Support new multilib.

2014-02-26  Joseph Myers  <joseph@codesourcery.com>

	Issue #16016

	Apply 0003-2014-02-06-Andrew-Pinski-apinski-cavium.com.patch:

	2014-02-06  Andrew Pinski  <apinski@cavium.com>

	* gcc/config/mips/mips-cpus.def (octeon3): New cpu type.
	* gcc/config/mips/mips-tables.opt: Regenerate.
	* gcc/config/mips/mips.c (mips_rtx_cost_data): Add Octeon3.
	* gcc/config/mips/mips.h (TARGET_OCTEON): Add Octeon3.
	(TARGET_OCTEON2): Likewise.
	(TUNE_OCTEON): Likewise.
	* gcc/config/mips/mips.md (processor): Add octeon3 value.
	* gcc/config/mips/octeon.md: Update for Octeon3 pipeline.

2014-01-27  Andrew Stubbs  <ams@codesourcery.com>

	Issue #15883.

	Backport from upstream:

	2013-10-30  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	gcc/
	PR target/58854
	* config/arm/arm.c (arm_expand_epilogue_apcs_frame): Emit blockage.

2014-01-23  Andrew Stubbs  <ams@codesourcery.com>

	Issue #15886.

	Backport from upstream:

	2013-07-09  Jason Merrill  <jason@redhat.com>

	gcc/cp/
	PR c++/57532
	* parser.c (cp_parser_ref_qualifier_opt): Don't tentatively parse
	a ref-qualifier in C++98 mode.

2013-11-29  Julian Brown  <julian@codesourcery.com>

	Issue #15727

	gcc/
	* config/arm/arm.c (defines_lpic_label): Handle COND_EXEC patterns.

2013-11-25  Andrew Stubbs  <ams@codesourcery.com>
            Maxim Kuvyrkov  <maxim@codesourcery.com>

	Issue #15691

	gcc/
	* config/mips/linux64.h (GNU_USER_LINK_EMULATION64): Use compatible
	linker emulation for -mabi=64 -msym32.

	gcc/testsuite/
	* gcc.target/mips/mips-nonpic/main-msym32-mplt-1.c: New test.

2013-11-19  Cesar Philippidis  <cesar@codesourcery.com>

	Backport from upstream:

	2013-11-19  Cesar Philippidis  <cesar@codesourcery.com>

	gcc/testsuite/
	* gcc.c-torture/execute/20101011-1.c (__aarch64__):
	Remove defined(__linux__).

2013-11-13  Cesar Philippidis  <cesar_philippidis@mentor.com>

	gcc/testsuite/
	* lib/target-supports.exp (check_profiling_available):
	Properly handle the check for aarch64.

2013-11-13  Cesar Philippidis  <cesar@codesourcery.com>

	Backport from upstream:

	2013-11-13  Cesar Philippidis  <cesar@codesourcery.com>

	gcc/testsuite/
	* lib/target-supports.exp
	(check_effective_target_vect_cmdline_neeed): Add AArch64 to the list
	of targets that do not need command line argument to enable SIMD.

2013-10-24  Julian Brown  <julian@codesourcery.com>

	Backport from mainline:

	2013-05-30  Iain Sandoe  <iain@codesourcery.com>
                    Cesar Philippidis  <cesar@codesourcery.com>

	libgomp/
	* testsuite/lib/libgomp.exp: Reorder lib loads into dependency
	order. Do not load_gcc_lib gcc-dg.exp and add a comment as to
	why. 
	* testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp. 
	* testsuite/libgomp.fortran/fortran.exp: Likewise. 
	* testsuite/libgomp.graphite/graphite.exp: Likewise. 
	* testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp. 
	Use dg-runtest rather than gfortran-dg-runtest. 

2013-10-17  Cesar Philippidis  <cesar@codesourcery.com>

	gcc/
	* regs.h (REG_N_GROW): New function.
	* combine.c (combine_split_insns): Call REG_N_GROW when
	new registers are created.

2013-10-17  Cesar Philippidis  <cesar@codesourcery.com>

	Issue #15503

	gcc/
	* jump.c (cleanup_barriers): Ensure that NOTE insns
	immediately follow CALL insns.

2013-10-17  Julian Brown  <julian@codesourcery.com>

	Issue #15502

	gcc/
	* config/arm/arm.c (dump_minipool): Add argument for live PIC-label
	bitmap. Use it.
	(refers_to_lpic_label_1, refers_to_lpic_label): New.
	(defines_lpic_label): New.
	(arm_reorg): Mark definitions of live PIC labels.

2013-10-09  Julian Brown  <julian@codesourcery.com>

	Issue #15474

	gcc/
	* config/arm/arm.c (arm_class_likely_spilled_p): Make LO_REGS
	likely spilled for Thumb-2 with -fno-omit-frame-pointer.

2013-10-08  Julian Brown  <julian@codesourcery.com>

	gcc/
	* config/i386/t-wrs-yocto-linux (MULTILIB_OPTIONS)
	(MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES, MULTILIB_EXCEPTIONS): Remove
	msystem-glibc multilib.

2013-09-30  Julian Brown  <julian@codesourcery.com>

	gcc/
	* config.gcc (arm*-*-linux-*, i[34567]86-*-linux*)
	(powerpc-*-linux*): Handle --enable-wrs-t-options option.
	* config/i386/wrs-dummy-t-option.h: New.
	* config/arm/wrs-dummy-t-options.h: New.
	* config/rs6000/wrs-dummy-t-option.h: New.

2013-09-13  Cesar Philippidis  <cesar_philippidis@mentor.com>

	gcc/testsuite/
	* c-c++-common/Wcast-qual-1.c: Revert changes from
	0035-wcast-qual-PR-55383.patch.

2013-09-12  Julian Brown  <julian@codesourcery.com>

	Revert 0039-gcc-4.8-PR57717.patch.

2013-09-11  Julian Brown  <julian@codesourcery.com>

	* Merge from OE git revision b0f8c47b1e808421f03308527beb8bde15644acd.

2013-09-04  Julian Brown  <julian@codesourcery.com>

	Backport from FSF mainline:

	2013-08-20  Alan Modra  <amodra@gmail.com>

	PR target/57865
	gcc/
	* config/rs6000/rs6000.c (rs6000_emit_prologue): Correct ool_adjust.
	(rs6000_emit_epilogue): Likewise.

2013-08-22  Julian Brown  <julian@codesourcery.com>

	Revert gcc-4.8-build-args.patch. Regenerate gcc/configure.

2013-08-22  Julian Brown  <julian@codesourcery.com>

	Backport from mainline:

	gcc/
	* configure.ac: Add missing backslashes to previous commit.
	* configure: Regenerate.

2013-08-22  Julian Brown  <julian@codesourcery.com>

	Backport from mainline (candidate patch):

	gcc/
	* configure.ac: Add aarch64 to list of arches which use "nop" in
	debug_line test.
	* configure: Regenerate.

2013-08-20  Julian Brown  <julian@codesourcery.com>

	Backport from mainline:

	gcc/
	* config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
	perform invalid legitimization on greater-than-word-size modes for
	TARGET_E500_DOUBLE.

2013-08-20  Julian Brown  <julian@codesourcery.com>

	gcc/
	* config/rs6000/option-defaults.h (OPTION_DEFAULT_SPECS): Handle
	-te500v2.
	* config/rs6000/sysv4.h (CC1_EXTRA_SPEC): Define empty default.
	(CC1_SPEC): Append above.

2013-07-18  Julian Brown  <julian@codesourcery.com>

	gcc/
	* config.gcc (powerpc-*-linux*): Handle
	--enable-wrs-yocto-multilibs.
	* config/rs6000/t-wrs-yocto-linux: New.
	* config/rs6000/wrs-yocto-linux.h: New.
	* config/rs6000/wrs-yocto-linux.opt: New.

2013-07-17  Julian Brown  <julian@codesourcery.com>

	gcc/
	* config.gcc (mips*-*-linux*): Handle --enable-wrs-yocto-multilibs
	option.
	* config/mips/t-wrs-yocto-linux: New.
	* config/mips/wrs-yocto-linux.h: New.

2013-07-12  Julian Brown  <julian@codesourcery.com>

	gcc/
	* config/arm/arm.h (OPTION_DEFAULT_SPECS): Don't consider
	-tarm-v7-a-vfp-be8 for ISA mode.
	* config/arm/t-wrs-yocto-linux (MULTILIB_OPTIONS)
	(MULTILIB_DIRNAMES): Switch BE8 multilib to thumb2.
	* config/arm/wrs-yocto-linux.h (CC1_SPEC, SYSROOT_SUFFIX_SPEC)
	(SUBTARGET_EXTRA_ASM_SPEC, SUBSUBTARGET_EXTRA_LINK_SPEC)
	(TARGET_LINKER_EMULATION): Likewise.
	* config/arm/wrs-yocto-linux.opt (tarm-v7-a-vfp-be8): Change to...
	(tthumb2-v7-a-vfp-be8): This.

2013-07-10  Julian Brown  <julian@codesourcery.com>

	gcc/
	* config.gcc (i[34567]86-*-linux*): Add support for WRS/Yocto
	multilibs.
	* config/i386/i386.h (OPTION_DEFAULT_SPECS): Adjust for -tpentium
	option.
	* config/i386/t-wrs-yocto-linux: New.
	* config/i386/wrs-yocto-linux.h: New.
	* config/i386/wrs-yocto-linux.opt: New.

2013-07-10  Julian Brown  <julian@codesourcery.com>

	gcc/
	* config.gcc (arm*-*-linux-*): Add support for WRS/Yocto multilibs.
	* config/arm/arm.h (OPTION_DEFAULT_SPECS): Adjust for -t* options.
	* config/arm/t-wrs-yocto-linux: New.
	* config/arm/wrs-yocto-linux.h: New.
	* config/arm/wrs-yocto-linux.opt: New.

2013-07-10  Julian Brown  <julian@codesourcery.com>

	libsanitizer/
	* configure.ac (toolexeclibdir): Use abspath on concatenated
	filename to remove .. path components.
	* configure: Regenerate.

2013-07-10  Julian Brown  <julian@codesourcery.com>

	* Revert
	0034-Use-the-multilib-config-files-from-B-instead-of-usin.patch.

2013-07-10  Julian Brown  <julian@codesourcery.com>

	* Revert
	0029-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch.

2013-07-10  Julian Brown  <julian@codesourcery.com>

	* Revert 0023-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch.
