Index: vm/port/src/encoder/ia32_em64t/enc_tabl.cpp =================================================================== --- vm/port/src/encoder/ia32_em64t/enc_tabl.cpp (revision 593059) +++ vm/port/src/encoder/ia32_em64t/enc_tabl.cpp (working copy) @@ -1439,6 +1439,12 @@ END_OPCODES() END_MNEMONIC() +BEGIN_MNEMONIC(MOVS64, MF_NONE, DU_DU_DU) +BEGIN_OPCODES() + {OpcodeInfo::em64t, {REX_W,0xA5}, {r64,r64,RCX}, DU_DU_DU }, +END_OPCODES() +END_MNEMONIC() + BEGIN_MNEMONIC(CMPSB, MF_AFFECTS_FLAGS, DU_DU_DU) BEGIN_OPCODES() {OpcodeInfo::ia32, {0xA6}, {ESI,EDI,ECX}, DU_DU_DU }, Index: vm/port/src/encoder/ia32_em64t/enc_defs.h =================================================================== --- vm/port/src/encoder/ia32_em64t/enc_defs.h (revision 593059) +++ vm/port/src/encoder/ia32_em64t/enc_defs.h (working copy) @@ -535,9 +535,9 @@ Mnemonic_MOV, // Move Mnemonic_MOVD, // Move Double word Mnemonic_MOVQ, // Move Quadword -/*Mnemonic_MOVS, // Move Data from String to String*/ -// MOVS is a special case: see encodign table for more details, -Mnemonic_MOVS8, Mnemonic_MOVS16, Mnemonic_MOVS32, +/*Mnemonic_MOVS, // Move Data from String to String*/ +// MOVS is a special case: see encoding table for more details, +Mnemonic_MOVS8, Mnemonic_MOVS16, Mnemonic_MOVS32, Mnemonic_MOVS64, // Mnemonic_MOVSD, // Move Scalar Double-Precision Floating-Point Value Mnemonic_MOVSS, // Move Scalar Single-Precision Floating-Point Values