This, for example, does not work in GoAsm:
movq rax,mm0
Invalid operand for this mnemonic:-
movq rax,mm0
There is an old discussion (https://www.masmforum.com/board/index.php?topic=11674.msg88753#msg88753) where Jeremy clarifies that MOVD does the job for 64-bit registers. However, it seems unintuitive and easy to forget, which is what happened to me. I was confused to see an instruction described in the Intel manual failing to work on an Intel processor.
Maybe it makes sense to add that variant of MOVQ to GoAsm?
Sorry for the delay, I'm still in the process of setting up the 'new' computer, but I shall look into this...