2014-11-17  Zhenqiang Chen  <zhenqiang.chen@linaor.org>

	* target.def (gen_ccmp_first, gen_ccmp_first): Add two new hooks.
	* doc/tm.texi.in (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New.
	* doc/tm.texi (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217639 138bc75d-0d04-0410-961f-82ee72b054a4
2014-11-17  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

	* cfgexpand.c (expand_gimple_cond): Check ccmp.
	* expmed.c (emit_cstore): Make it global.
	* expmed.h: #include "insn-codes.h"
	(emit_cstore): New prototype.
	* expr.c (expand_operands): Make it global.
	* expr.h (expand_operands): New prototype.
	* optabs.c (get_rtx_code): Make it global.
	* optabs.h (get_rtx_code): New prototype.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217640 138bc75d-0d04-0410-961f-82ee72b054a4
2014-11-17  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

	* Makefile.in: Add ccmp.o.
	* ccmp.c: New file.
	* ccmp.h: New file.
	* expr.c: include "ccmp.h"
	(expand_cond_expr_using_cmove): Handle VOIDmode.
	(expand_expr_real_1): Try to expand ccmp.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217641 138bc75d-0d04-0410-961f-82ee72b054a4
2014-11-17  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

	* config/aarch64/constraints.md (Usn, aarch64_ccmp_immediate,
	aarch64_ccmp_operand): New constraints.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217642 138bc75d-0d04-0410-961f-82ee72b054a4
2014-11-17  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

	* config/aarch64/aarch64-modes.def: Define ccmp CC mode.
	* config/aarch64/aarch64.c (aarch64_get_condition_code_1): New function
	extacted from aarch64_get_condition_code.
	(aarch64_get_condition_code): Call aarch64_get_condition_code_1.
	config/aarch64/predicates.md (ccmp_cc_register): New predicate.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217643 138bc75d-0d04-0410-961f-82ee72b054a4
2014-11-17  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

	* config/aarch64/aarch64-protos.h (aarch64_ccmp_mode_to_code): New.
	* aarch64.c (aarch64_nzcv_codes): New data.
	(aarch64_ccmp_mode_to_code): New.
	(aarch64_print_operand): Output nzcv.
	config/aarch64/aarch64.md (cbranchcc4, *ccmp_and, *ccmp_ior, cstorecc4):
	New patterns.
	(cstore<mode>4): Handle ccmp_cc_register.
	* config/aarch64/predicates.md (const0_operand): New.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217644 138bc75d-0d04-0410-961f-82ee72b054a4
2014-11-17  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

	* config/aarch64/aarch64.c (aarch64_code_to_ccmode,
	aarch64_convert_mode, aarch64_gen_ccmp_first,
	aarch64_gen_ccmp_next): New functions.
	(TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Define. 


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217645 138bc75d-0d04-0410-961f-82ee72b054a4
2014-11-17  Zhenqiang Chen  <zhenqiang.chen@arm.com>

	* ifcvt.c (HAVE_cbranchcc4): Define.
	(noce_emit_cmove, noce_get_alt_condition, noce_get_condition):
	Use HAVE_cbranchcc4.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217646 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/
2014-11-17  Terry Guo  <terry.guo@arm.com>

	* config/arm/thumb1.md (*addsi3_cbranch_scratch): Updated to UAL
	format.

gcc/testsuite/
2014-11-17  Terry Guo  <terry.guo@arm.com>

	* gcc.target/arm/thumb1-ual-1.c: New test.

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