This is a prototype for general merging MOVPRFX support. It ties the pseudo's destination register to the passthru register, which seems to work for simple test cases.***
The intention is to use this general merging mechanism to also handle the zero merging case, but that would take some more cleanup work to get there.
***From an offline discussion with Sander, this implementation has limitations that I have not hit yet. Posting this patch to start a discussion.
This comment suggests that this is only possible for _ZERO and _UNDEF variants, but I'm not sure if that comment is still correct.