2014-10-11  Hale Wang  <Hale.Wang@arm.com>

	* config/arm/arm.c: Add cortex-m7 tune.
	* config/arm/arm-cores.def: Use cortex-m7 tune.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217173 138bc75d-0d04-0410-961f-82ee72b054a4
	Fix incorrect ChangeLog entry.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217174 138bc75d-0d04-0410-961f-82ee72b054a4
2014-11-06  Hale Wang  <Hale.Wang@arm.com>

	* config/arm/arm-cores.def: Add support for
	-mcpu=cortex-m0.small-multiply,cortex-m0plus.small-multiply,
	cortex-m1.small-multiply.
	* config/arm/arm-tables.opt: Regenerate.
	* config/arm/arm-tune.md: Regenerate.
	* config/arm/arm.c: Update the rtx-costs for MUL.
	* config/arm/bpabi.h: Handle
	-mcpu=cortex-m0.small-multiply,cortex-m0plus.small-multiply,
	cortex-m1.small-multiply.
	* doc/invoke.texi: Document
	-mcpu=cortex-m0.small-multiply,cortex-m0plus.small-multiply,
	cortex-m1.small-multiply.
	* testsuite/gcc.target/arm/small-multiply-m0-1.c: New test case.
	* testsuite/gcc.target/arm/small-multiply-m0-2.c: Likewise.
	* testsuite/gcc.target/arm/small-multiply-m0-3.c: Likewise.
	* testsuite/gcc.target/arm/small-multiply-m0plus-1.c: Likewise.
	* testsuite/gcc.target/arm/small-multiply-m0plus-2.c: Likewise.
	* testsuite/gcc.target/arm/small-multiply-m0plus-3.c: Likewise.
	* testsuite/gcc.target/arm/small-multiply-m1-1.c: Likewise.
	* testsuite/gcc.target/arm/small-multiply-m1-2.c: Likewise.
	* testsuite/gcc.target/arm/small-multiply-m1-3.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217175 138bc75d-0d04-0410-961f-82ee72b054a4
2014-11-06  Richard Biener  <rguenther@suse.de>

	* match.pd: Implement bitwise binary and unary simplifications
	from tree-ssa-forwprop.c.
	* fold-const.c (fold_unary_loc): Remove them here.
	(fold_binary_loc): Likewise.
	* tree-ssa-forwprop.c (simplify_not_neg_expr): Remove.
	(truth_valued_ssa_name): Likewise.
	(lookup_logical_inverted_value): Likewise.
	(simplify_bitwise_binary_1): Likewise.
	(hoist_conversion_for_bitop_p): Likewise.
	(simplify_bitwise_binary_boolean): Likewise.
	(simplify_bitwise_binary): Likewise.
	(pass_forwprop::execute): Remove calls to simplify_not_neg_expr
	and simplify_bitwise_binary.
	* genmatch.c (dt_node::append_true_op): Use safe_as_a for parent.
	(decision_tree::insert): Also insert non-expressions.

	* gcc.dg/tree-ssa/forwprop-28.c: Adjust scanning for the
	desired transform.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217178 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/testsuite/

	* lib/mpx-dg.exp: New.
	* gcc.target/i386/i386.exp: Load mpx-dg.exp.
	* gcc.target/i386/chkp-builtins-1.c: Require mpx target.
	* gcc.target/i386/chkp-builtins-2.c: Likewise.
	* gcc.target/i386/chkp-builtins-3.c: Likewise.
	* gcc.target/i386/chkp-builtins-4.c: Likewise.
	* gcc.target/i386/chkp-const-check-1.c: Likewise.
	* gcc.target/i386/chkp-const-check-2.c: Likewise.
	* gcc.target/i386/chkp-lifetime-1.c: Likewise.
	* gcc.target/i386/chkp-remove-bndint-1.c: Likewise.
	* gcc.target/i386/chkp-remove-bndint-2.c: Likewise.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217180 138bc75d-0d04-0410-961f-82ee72b054a4
	Move testsuits ChangeLog entry to correct ChangeLog.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217185 138bc75d-0d04-0410-961f-82ee72b054a4
	Fix incorrect ChangeLog entry.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217186 138bc75d-0d04-0410-961f-82ee72b054a4
Correctly check dg-require-effective-target in avx512 tests.

gcc/testsuite

	* gcc.target/i386/avx512vl-vandnpd-2.c: Fix
	dg-require-effective-target check.
	* gcc.target/i386/avx512vl-vandnps-2.c: Ditto.
	* gcc.target/i386/avx512vl-vandpd-2.c: Ditto.
	* gcc.target/i386/avx512vl-vandps-2.c: Ditto.
	* gcc.target/i386/avx512vl-vbroadcastf32x2-2.c: Ditto.
	* gcc.target/i386/avx512vl-vbroadcastf32x4-2.c: Ditto.
	* gcc.target/i386/avx512vl-vbroadcastf64x2-2.c: Ditto.
	* gcc.target/i386/avx512vl-vbroadcasti32x2-2.c: Ditto.
	* gcc.target/i386/avx512vl-vbroadcasti32x4-2.c: Ditto.
	* gcc.target/i386/avx512vl-vbroadcasti64x2-2.c: Ditto.
	* gcc.target/i386/avx512vl-vcvtpd2qq-2.c: Ditto.
	* gcc.target/i386/avx512vl-vcvtpd2uqq-2.c: Ditto.
	* gcc.target/i386/avx512vl-vcvtps2qq-2.c: Ditto.
	* gcc.target/i386/avx512vl-vcvtps2uqq-2.c: Ditto.
	* gcc.target/i386/avx512vl-vcvtqq2pd-2.c: Ditto.
	* gcc.target/i386/avx512vl-vcvtqq2ps-2.c: Ditto.
	* gcc.target/i386/avx512vl-vcvttpd2qq-2.c: Ditto.
	* gcc.target/i386/avx512vl-vcvttpd2uqq-2.c: Ditto.
	* gcc.target/i386/avx512vl-vcvttps2qq-2.c: Ditto.
	* gcc.target/i386/avx512vl-vcvttps2uqq-2.c: Ditto.
	* gcc.target/i386/avx512vl-vcvtuqq2pd-2.c: Ditto.
	* gcc.target/i386/avx512vl-vcvtuqq2ps-2.c: Ditto.
	* gcc.target/i386/avx512vl-vdbpsadbw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vextractf64x2-2.c: Ditto.
	* gcc.target/i386/avx512vl-vextracti64x2-2.c: Ditto.
	* gcc.target/i386/avx512vl-vfpclasspd-2.c: Ditto.
	* gcc.target/i386/avx512vl-vfpclassps-2.c: Ditto.
	* gcc.target/i386/avx512vl-vinsertf64x2-2.c: Ditto.
	* gcc.target/i386/avx512vl-vinserti64x2-2.c: Ditto.
	* gcc.target/i386/avx512vl-vmovdqu16-2.c: Ditto.
	* gcc.target/i386/avx512vl-vmovdqu8-2.c: Ditto.
	* gcc.target/i386/avx512vl-vorpd-2.c: Ditto.
	* gcc.target/i386/avx512vl-vorps-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpabsb-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpabsw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpackssdw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpacksswb-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpackusdw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpackuswb-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpaddb-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpaddsb-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpaddsw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpaddusb-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpaddusw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpaddw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpalignr-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpavgb-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpavgw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpblendmb-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpblendmw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpbroadcastb-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpbroadcastw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpcmpb-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpcmpeqb-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpcmpequb-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpcmpequw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpcmpeqw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpcmpgtb-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpcmpgtub-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpcmpgtuw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpcmpgtw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpcmpub-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpcmpuw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpcmpw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpermi2w-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpermt2w-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpermw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpmaddubsw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpmaddwd-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpmaxsb-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpmaxsw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpmaxub-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpmaxuw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpminsb-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpminsw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpminub-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpminuw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpmovb2m-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpmovd2m-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpmovm2b-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpmovm2d-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpmovm2q-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpmovm2w-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpmovq2m-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpmovswb-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpmovsxbw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpmovuswb-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpmovw2m-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpmovwb-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpmovzxbw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpmulhrsw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpmulhuw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpmulhw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpmullq-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpmullw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpshufb-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpshufhw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpshuflw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpsllvw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpsllw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpsllwi-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpsravw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpsraw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpsrawi-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpsrlvw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpsrlw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpsrlwi-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpsubb-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpsubsb-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpsubsw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpsubusb-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpsubusw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpsubw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vptestmb-2.c: Ditto.
	* gcc.target/i386/avx512vl-vptestmw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vptestnmb-2.c: Ditto.
	* gcc.target/i386/avx512vl-vptestnmw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpunpckhbw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpunpckhwd-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpunpcklbw-2.c: Ditto.
	* gcc.target/i386/avx512vl-vpunpcklwd-2.c: Ditto.
	* gcc.target/i386/avx512vl-vrangepd-2.c: Ditto.
	* gcc.target/i386/avx512vl-vrangeps-2.c: Ditto.
	* gcc.target/i386/avx512vl-vreducepd-2.c: Ditto.
	* gcc.target/i386/avx512vl-vreduceps-2.c: Ditto.
	* gcc.target/i386/avx512vl-vxorpd-2.c: Ditto.
	* gcc.target/i386/avx512vl-vxorps-2.c: Ditto.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217188 138bc75d-0d04-0410-961f-82ee72b054a4
	* sanopt.c (sanopt_optimize_walker): Limit removal of the checks.
	Remove vector limit.
testsuite/
	* c-c++-common/ubsan/align-2.c: Add dg-output.
	* c-c++-common/ubsan/align-4.c: Likewise.
	* c-c++-common/ubsan/align-6.c: New test.
	* c-c++-common/ubsan/align-7.c: New test.
	* c-c++-common/ubsan/align-8.c: New test.
	* g++.dg/ubsan/null-1.C: Add dg-output.
	* g++.dg/ubsan/null-2.C: Likewise.
	* g++.dg/ubsan/null-3.C: New test.
	* g++.dg/ubsan/null-4.C: New test.
	* g++.dg/ubsan/null-5.C: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217189 138bc75d-0d04-0410-961f-82ee72b054a4
[Patchv3] Control SRA and IPA-SRA by a param rather than MOVE_RATIO

gcc/

	* params.def (sra-max-scalarization-size-Ospeed): New.
	(sra-max-scalarization-size-Osize): Likewise.
	* doc/invoke.texi (sra-max-scalarization-size-Ospeed): Document.
	(sra-max-scalarization-size-Osize): Likewise.
	* toplev.c (process_options): Set default values for new
	parameters.
	* tree-sra.c (analyze_all_variable_accesses): Use new parameters.
	* targhooks.c (get_move_ratio): Remove static designator.
	* target.h (get_move_ratio): Declare.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217191 138bc75d-0d04-0410-961f-82ee72b054a4
[AArch64] Add ACLE arch-related predefined macros

2014-11-06  Renlin Li  <renlin.li@arm.com>

	* config/aarch64/aarch64.c (aarch64_architecture_version): New.
	(processor): New architecture_version field.
	(aarch64_override_options): Initialize aarch64_architecture_version.
	* config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define __ARM_ARCH,
	__ARM_ARCH_PROFILE, aarch64_arch_name macro.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217192 138bc75d-0d04-0410-961f-82ee72b054a4
mksysinfo: Tolerate missing structures in upcase_fields.

2014-11-06  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* libgo/mksysinfo.sh: Tolerate missing structures.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217194 138bc75d-0d04-0410-961f-82ee72b054a4
runtime: Use stckf unconditionally on s390.

2014-11-05  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* libgo/runtime/runtime.c (runtime_cputicks): s390: use stckf
unconditionally


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217195 138bc75d-0d04-0410-961f-82ee72b054a4
Merge remote branch 'origin/upstream' into benchmarking_09_25_2013

Conflicts:
	gcc/ChangeLog
Add a new asm hook to print the end of a variable definition.

	* target.def (decl_end): New hook.
	* varasm.c (assemble_variable_contents, assemble_constant_contents):
	Use it.
	* doc/tm.texi.in (TARGET_ASM_DECL_END): Add.
	* doc/tm.texi: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217196 138bc75d-0d04-0410-961f-82ee72b054a4
Don't combine calls into i3, it wouldn't be changed into a CALL_INSN.

	* combine.c (try_combine): Don't allow a call as one of the source
	insns.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217197 138bc75d-0d04-0410-961f-82ee72b054a4
Allow a port to use pseudos as call args; don't put them in the fusage.

	* expr.c (use_reg_mode): Just return for pseudo registers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217198 138bc75d-0d04-0410-961f-82ee72b054a4
Add a hook to inform a port about call arguments.

	* target.def (call_args, end_call_args): New hooks.
	* hooks.c (hook_void_rtx_tree): New empty function.
	* hooks.h (hook_void_rtx_tree): Declare.
	* doc/tm.texi.in (TARGET_CALL_ARGS, TARGET_END_CALL_ARGS): Add.
	* doc/tm.texi: Regenerate.
	* calls.c (expand_call): Slightly rearrange the code.  Use the two new
	hooks.
	(expand_library_call_value_1): Use the two new hooks.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217199 138bc75d-0d04-0410-961f-82ee72b054a4
* config/m32c/cond.md (movqicc_<code>_<mode>): Remove mode of
conditional.
(movhicc_<code>_<mode>): Likewise.
* config/m32c/m32c.c (encode_pattern_1): Specialise PSImode
subregs.
(m32c_eh_return_data_regno): Change to using memregs to avoid
tying up all the compute regs.
(m32c_legitimate_address_p) Subregs are not valid addresses.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217200 138bc75d-0d04-0410-961f-82ee72b054a4
	* tree-cfgcleanup.c (fixup_noreturn_call): Do not perform DCE here.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217201 138bc75d-0d04-0410-961f-82ee72b054a4