Quentin, is this what you had in mind with your FIXME's from r258333?
The one effect of this change worth noting is that PRE_ISEL_GENERIC_OPCODE_END no longer gets its own value in the TargetOpcode enum. I think that is harmless and probably desirable.