After D13851 landed, we saw backend crashes when compiling the reduced test case included in this patch. The right fix seems to be to allow these vector types for expansion in instruction selection.
It looks like AArch64 is affected as well (but no other targets that I could find, otherwise I'd suggest making Expand the default). Are you working on a separate patch for that?
Looks like I've got my blinkers on, I didn't see the crash on AArch64 in the larger test case I was analyzing. I'll put another patch up in a similar vein to the one here for ARM, just for AArch64.
Charlie - thanks for dealing with this - I'm surprised it didn't turn up in the fuzz testing that I've been doing recently (the XOP rotation lowering definitely caught several times). I agree with Tim that making Expand the default is probably the way forward.