https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69556
--- Comment #5 from Marc Glisse <glisse at gcc dot gnu.org> --- (In reply to rguent...@suse.de from comment #4) > I think there is a misunderstanding. A replacement is still allowed if it > is a single operation as that replaces at least one other (the one we are > simplifying). This assumes equal cost of course which for divide vs. Mult > is not the case. So an explicit && single_use as in the patch below is > needed. The number of patterns that have to use an explicit single_use is growing, maybe we need a syntax like :S for "single_use, and I mean it, not like :s".