tree-optimization/105368 - avoid overflow in powi_cost
Commit Message
The following avoids undefined signed overflow when computing
the absolute of the exponent in powi_cost.
Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed.
2022-04-25 Richard Biener <rguenther@suse.de>
PR tree-optimization/105368
* tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.
---
gcc/tree-ssa-math-opts.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -1462,7 +1462,7 @@ powi_cost (HOST_WIDE_INT n)
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));