https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119552
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> --- So, I'd handle it as a subpass of bitintlower (in the early code just try to detect it and move them to be adjacent and then either handle in the bitint lowering pass specially or match up the adjacent cases at some later point.