expand: Add debug dump on the cost for popcount==1 expand

While working on PR 114224, I found it would be useful to dump the
different costs of the expansion to make easier to understand why one
was chosen over the other.

Changes since v1:
* v2: make the dump a single line

Bootstrapped and tested on x86_64-linux-gnu.
Build and tested for aarch64-linux-gnu.

gcc/ChangeLog:

	* internal-fn.cc (expand_POPCOUNT): Dump the costs for
	the two choices.
This commit is contained in:
Andrew Pinski 2024-08-26 15:14:24 -07:00
parent b68561dd79
commit 3c89c41991

View file

@ -5351,6 +5351,11 @@ expand_POPCOUNT (internal_fn fn, gcall *stmt)
unsigned popcount_cost = (seq_cost (popcount_insns, speed_p)
+ seq_cost (popcount_cmp_insns, speed_p));
unsigned cmp_cost = seq_cost (cmp_insns, speed_p);
if (dump_file && (dump_flags & TDF_DETAILS))
fprintf(dump_file, "popcount == 1: popcount cost: %u; cmp cost: %u\n",
popcount_cost, cmp_cost);
if (popcount_cost <= cmp_cost)
emit_insn (popcount_insns);
else