This is the fourth patch in a series to support prefixing destructive operations, with the MOVPRFX instruction, to build constructive operations. The previous patch is D73711.
Here we add support for the DestructiveBinaryImm DestructiveInstType.
This patch comes mostly from D71712, with some modifications for the upstream ImmArg changes to the shift intrinsics.
The _zx suggests it covers the merging with undef case as well. Are those patterns you plan to add in this patch?