Nice! I didn't knew that all the information required to know whether to parse the swizzle or the writemask was embedded in the register data, I thought that whether to parse the register as a src or a dst depended on the instruction.
I am looking at the bytes of the native compiler output with some complex shaders and this pattern checks out.
![diagram.drawio](/uploads/f2a170f16920d91ed4096c5d330c7dd1/diagram.drawio.png)