https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93738
--- Comment #12 from Segher Boessenkool <segher at gcc dot gnu.org> --- > However, this pattern is failing to match in some cases, > and we end up with two separate instructions: one for rotate and another for > insert. So this is *not* a combine problem at all you say? Just the machine description does not recognise some canonical for for mask insert, or combine generates a non-canonical form (this should not happen, but I'll believe it :-) )