https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103316
--- Comment #10 from Bill Schmidt <wschmidt at gcc dot gnu.org> --- FWIW, I think the vector lowering pass is reasonable. These things always look horrible in isolation, but the lowering allows more optimization when the target doesn't really support the data type. This is just an oversight in our back end, and once we correct it, this should all fall out nicely (I hope).