Try out using combine definition rules. This really should be a post-legalizer combine, but the combiner pass is currently pre-legalize. Most of the target combines are really post-legalize, so we should probably move the pass.
Just copy the AArch64 pass as-is for now, except for removing the memcpy handling.