https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106630
--- Comment #9 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Richard Biener <rgue...@gcc.gnu.org>: https://gcc.gnu.org/g:5e88fccf4be7e8ab22734d87f8e520b25d92d845 commit r13-2069-g5e88fccf4be7e8ab22734d87f8e520b25d92d845 Author: Richard Biener <rguent...@suse.de> Date: Tue Aug 16 09:43:24 2022 +0200 middle-end/106630 - avoid ping-pong between extract_muldiv and match.pd The following avoids ping-pong between the match.pd pattern changing (sizetype) ((a_9 + 1) * 48) to (sizetype)(a_9 + 1) * 48 and extract_muldiv performing the reverse transform by restricting the match.pd pattern to narrowing conversions as the comment indicates. PR middle-end/106630 * match.pd ((T)(x * CST) -> (T)x * CST): Restrict to narrowing conversions. * gcc.dg/torture/pr106630.c: New testcase.