As promised from the SVE LLVM Sync-up today, here is a proposal to support scalable op+select masks in the backend. A solution like this would allow us to generate predicated instructions directly from IR, without the need for target intrinsics.
Also note that this is a temporary solution. The native vector predication project D57504 will eventually obsolete this work.
nit: the _pred isn't needed, as this is already implied by the _p.