Looking at the prototype patch, why need to change also the splitters?
My original goal was to use splitters to expand to faster code sequences while having patterns necessary for both variants. This makes it possible to use optimize_insn_for_size/speed and make decisions using BB profile, since we will not ICE if the hotness of BB changes later.