diff options
author | zqchen <zqchen@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-11-17 05:52:26 +0000 |
---|---|---|
committer | zqchen <zqchen@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-11-17 05:52:26 +0000 |
commit | 01ee997be5bf814a4189fa578859a259596d990e (patch) | |
tree | f005f7c543c6200411ad017985122790e2488d1b /gcc/cfgexpand.c | |
parent | f9fd4edc5bbeff5cc80c870b2b4d1c1339b2d46f (diff) | |
download | gcc-01ee997be5bf814a4189fa578859a259596d990e.tar.gz |
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
Diffstat (limited to 'gcc/cfgexpand.c')
-rw-r--r-- | gcc/cfgexpand.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c index 15d7638795a..19e87ecb54c 100644 --- a/gcc/cfgexpand.c +++ b/gcc/cfgexpand.c @@ -2129,9 +2129,10 @@ expand_gimple_cond (basic_block bb, gimple stmt) op0 = gimple_assign_rhs1 (second); op1 = gimple_assign_rhs2 (second); } - /* If jumps are cheap turn some more codes into - jumpy sequences. */ - else if (BRANCH_COST (optimize_insn_for_speed_p (), false) < 4) + /* If jumps are cheap and the target does not support conditional + compare, turn some more codes into jumpy sequences. */ + else if (BRANCH_COST (optimize_insn_for_speed_p (), false) < 4 + && targetm.gen_ccmp_first == NULL) { if ((code2 == BIT_AND_EXPR && TYPE_PRECISION (TREE_TYPE (op0)) == 1 |