@gsuberland @artemist @ryanc It would have been elegant architecture to use the GPRs, but physically it would have been a bad idea - the two live in very different parts of the chip. I talk about it in my video:
https://vimeo.com/450406346

k0 is a perfectly normal register. The only special thing is that for vector instructions, that ENCODING is used to mean "no mask". This is similar to how SP/BP/R12/R13 encodings meaning special things in MOD-R/M - the registers themselves aren't special.