expand: Add dump for costing of positive divides
While trying to understand PR 115910 I found it was useful to print out the two costs of doing a signed and unsigned division just like was added in r15-3272-g3c89c41991d8e8 for popcount==1. Bootstrapped and tested on x86_64-linux-gnu. gcc/ChangeLog: * expr.cc (expand_expr_divmod): Add dump of the two costs for positive division. Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com>
This commit is contained in:
parent
62dd893ff8
commit
dbd0eb39c6
1 changed files with 7 additions and 0 deletions
|
@ -9648,6 +9648,7 @@ expand_expr_divmod (tree_code code, machine_mode mode, tree treeop0,
|
|||
end_sequence ();
|
||||
unsigned uns_cost = seq_cost (uns_insns, speed_p);
|
||||
unsigned sgn_cost = seq_cost (sgn_insns, speed_p);
|
||||
bool was_tie = false;
|
||||
|
||||
/* If costs are the same then use as tie breaker the other other
|
||||
factor. */
|
||||
|
@ -9655,8 +9656,14 @@ expand_expr_divmod (tree_code code, machine_mode mode, tree treeop0,
|
|||
{
|
||||
uns_cost = seq_cost (uns_insns, !speed_p);
|
||||
sgn_cost = seq_cost (sgn_insns, !speed_p);
|
||||
was_tie = true;
|
||||
}
|
||||
|
||||
if (dump_file && (dump_flags & TDF_DETAILS))
|
||||
fprintf(dump_file, "positive division:%s unsigned cost: %u; "
|
||||
"signed cost: %u\n", was_tie ? "(needed tie breaker)":"",
|
||||
uns_cost, sgn_cost);
|
||||
|
||||
if (uns_cost < sgn_cost || (uns_cost == sgn_cost && unsignedp))
|
||||
{
|
||||
emit_insn (uns_insns);
|
||||
|
|
Loading…
Add table
Reference in a new issue