diff --git a/insns.dat b/insns.dat index 6b28dca6..e9bdb9ad 100644 --- a/insns.dat +++ b/insns.dat @@ -834,14 +834,14 @@ MOV rm64,imm32 [mi: hlexr o64 c7 /0 idx] X64 MOV mem,imm8 [mi: hlexr c6 /0 ib] 8086,SM MOV mem,imm16 [mi: hlexr o16 c7 /0 iw] 8086,SM MOV mem,imm32 [mi: hlexr o32 c7 /0 id] 386,SM -MOVD mmxreg,rm32 [rm: np 0f 6e /r] PENT,MMX -MOVD rm32,mmxreg [mr: np 0f 7e /r] PENT,MMX -MOVD xmmreg,rm32 [rm: np o16 0f 6e /r] SSE2 -MOVD rm32,xmmreg [mr: np o16 0f 7e /r] SSE2 -MOVQ mmxreg,mmxrm [rm: np o64nw 0f 6f /r] PENT,MMX,SQ -MOVQ mmxrm,mmxreg [mr: np o64nw 0f 7f /r] PENT,MMX,SQ -MOVQ mmxreg,rm64 [rm: np 0f 6e /r] X64,MMX -MOVQ rm64,mmxreg [mr: np 0f 7e /r] X64,MMX +MOVD mmxreg,rm32 [rm: np 0f 6e /r] PENT,MMX,SD +MOVD rm32,mmxreg [mr: np 0f 7e /r] PENT,MMX,SD +MOVD mmxreg,rm64 [rm: np o64 0f 6e /r] X64,MMX,SX,ND +MOVD rm64,mmxreg [mr: np o64 0f 7e /r] X64,MMX,SX,ND +MOVQ mmxreg,mmxrm [rm: np 0f 6f /r] PENT,MMX,SQ +MOVQ mmxrm,mmxreg [mr: np 0f 7f /r] PENT,MMX,SQ +MOVQ mmxreg,rm64 [rm: np o64 0f 6e /r] X64,MMX +MOVQ rm64,mmxreg [mr: np o64 0f 7e /r] X64,MMX MOVSB void [ a4] 8086 MOVSD void [ o32 a5] 386 MOVSQ void [ o64 a5] X64 diff --git a/test/movd64.asm b/test/movd64.asm new file mode 100644 index 00000000..b328c349 --- /dev/null +++ b/test/movd64.asm @@ -0,0 +1,15 @@ + bits 64 + + movd r8d, mm1 + movd r8, mm1 + movq r8, mm1 + + movd [rax], mm1 + movq [rax], mm1 + movd dword [rax], mm1 +; movq dword [rax], mm1 + movd qword [rax], mm1 + movq qword [rax], mm1 + +; movd mm2, mm1 + movq mm2, mm1