https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62263
--- Comment #4 from Marc Glisse <glisse at gcc dot gnu.org> --- Problem here is conversions that happen in places where we don't handle them. A couple more patterns should do it (it could be a good test for the optional convert feature in the match branch). For the zerocheck version, it would work if r was an int, but here we get 2 insns in the branch (convert+rotate) which is quite a bit harder to handle than a single rotate insn.