https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94782
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Ever confirmed|0 |1
Status|UNCONFIRMED |NEW
Last reconfirmed| |2020-04-27
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Since the inner (a - 1U) * b is unsigned but a * b would be signed due to
undefined signed overflow we cannot optimize to that. But we could indeed.
optimize to (unsigned)a * (unsigned)b. fold-const.c contains related
transforms that could be amended. reassoc could as well but would need
enhancement for signed arithmetic.