On Wed Sep 27 20:45:30 2023 +0000, Giovanni Mascellani wrote:
It is necessary for all componentwise operations, so that the source registers swizzles are remapped on the components actually selected by the destination register writemask, instead of default to the first `dimx` components. That includes `CMP` and `MOVC`. Dot products are instead an exception because they are not componentwise operations: all the source components concur to compute the single scalar destination.
I guess it's now correct, but please see also the part about renaming the helper to `write_sm1_ternary_op()` and have it accept the opcode as a parameter, like `write_sm1_binary_op()`.