As reported by @vktgz the semantics of register access by the last operand of the vinsert instruction are invalid.
Current (buggy) behaviour: if last operand accesses registers in the register-indirect mode it behaves as if plain mode was used, if plain mode is used the register index is treated as a literal integer.
Expected behaviour: index operand has the usual semantics for register-indirect and plain register access modes.
This behaviour is a result of the fact that in the beginning the last operand was a literal integer. But due to the move away from literals in non-constructor instructions, that has changed, but the change was badly implemented.
As reported by @vktgz the semantics of register access by the last operand of the
vinsert
instruction are invalid.Current (buggy) behaviour: if last operand accesses registers in the register-indirect mode it behaves as if plain mode was used, if plain mode is used the register index is treated as a literal integer.
Expected behaviour: index operand has the usual semantics for register-indirect and plain register access modes.
This behaviour is a result of the fact that in the beginning the last operand was a literal integer. But due to the move away from literals in non-constructor instructions, that has changed, but the change was badly implemented.