diff options
author | Tamar Christina <tamar.christina@arm.com> | 2017-05-02 15:20:47 +0000 |
---|---|---|
committer | Tamar Christina <tnfchris@gcc.gnu.org> | 2017-05-02 15:20:47 +0000 |
commit | 22677ff0c4bd069d574a57c9a45efdcc89578560 (patch) | |
tree | 5c7b10e0e3db06e515bea76842fbfdb296a53b1d /gcc | |
parent | cc5b8f3d568e95ce74e03d8d87ada71117a6c106 (diff) | |
download | gcc-22677ff0c4bd069d574a57c9a45efdcc89578560.zip gcc-22677ff0c4bd069d574a57c9a45efdcc89578560.tar.gz gcc-22677ff0c4bd069d574a57c9a45efdcc89578560.tar.bz2 |
expr.c (expand_expr_real_2): Re-cost if previous costs are the same.
2017-04-26 Tamar Christina <tamar.christina@arm.com>
* expr.c (expand_expr_real_2): Re-cost if previous costs are the same.
From-SVN: r247505
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/expr.c | 9 |
2 files changed, 13 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 00f21e7..b177645 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2017-04-26 Tamar Christina <tamar.christina@arm.com> + + * expr.c (expand_expr_real_2): Re-cost if previous costs are the same. + 2017-04-27 Tamar Christina <tamar.christina@arm.com> * simplify-rtx.c (simplify_binary_operation_1): Add LSHIFTRT case. @@ -8838,6 +8838,15 @@ expand_expr_real_2 (sepops ops, rtx target, machine_mode tmode, end_sequence (); unsigned uns_cost = seq_cost (uns_insns, speed_p); unsigned sgn_cost = seq_cost (sgn_insns, speed_p); + + /* If costs are the same then use as tie breaker the other + other factor. */ + if (uns_cost == sgn_cost) + { + uns_cost = seq_cost (uns_insns, !speed_p); + sgn_cost = seq_cost (sgn_insns, !speed_p); + } + if (uns_cost < sgn_cost || (uns_cost == sgn_cost && unsignedp)) { emit_insn (uns_insns); |