The following avoids undefined signed overflow when computing
the absolute of the exponent in powi_cost.
2022-04-25 Richard Biener <rguenther@suse.de>
PR tree-optimization/105368
* tree-ssa-math-opts.c (powi_cost): Use absu_hwi.
(cherry picked from commit
f0e170f72f8bfaa2a64e1d09ebdfd48f917420f1)
return 0;
/* Ignore the reciprocal when calculating the cost. */
- val = (n < 0) ? -n : n;
+ val = absu_hwi (n);
/* Initialize the exponent cache. */
memset (cache, 0, POWI_TABLE_SIZE * sizeof (bool));