diff --git a/modules/arch/x86/tests/Makefile.inc b/modules/arch/x86/tests/Makefile.inc index aa5d59db..0aae20c5 100644 --- a/modules/arch/x86/tests/Makefile.inc +++ b/modules/arch/x86/tests/Makefile.inc @@ -104,3 +104,6 @@ EXTRA_DIST += modules/arch/x86/tests/twobytemem.hex EXTRA_DIST += modules/arch/x86/tests/x86label.asm EXTRA_DIST += modules/arch/x86/tests/x86label.errwarn EXTRA_DIST += modules/arch/x86/tests/x86label.hex +EXTRA_DIST += modules/arch/x86/tests/xmm64.asm +EXTRA_DIST += modules/arch/x86/tests/xmm64.errwarn +EXTRA_DIST += modules/arch/x86/tests/xmm64.hex diff --git a/modules/arch/x86/tests/xmm64.asm b/modules/arch/x86/tests/xmm64.asm new file mode 100644 index 00000000..4a963f53 --- /dev/null +++ b/modules/arch/x86/tests/xmm64.asm @@ -0,0 +1,3 @@ +[bits 64] +xorps xmm2, xmm2 +xorps xmm10, xmm10 diff --git a/modules/arch/x86/tests/xmm64.errwarn b/modules/arch/x86/tests/xmm64.errwarn new file mode 100644 index 00000000..e69de29b diff --git a/modules/arch/x86/tests/xmm64.hex b/modules/arch/x86/tests/xmm64.hex new file mode 100644 index 00000000..c387aa22 --- /dev/null +++ b/modules/arch/x86/tests/xmm64.hex @@ -0,0 +1,7 @@ +0f +57 +d2 +45 +0f +57 +d2 diff --git a/modules/arch/x86/x86id.re b/modules/arch/x86/x86id.re index 1724c5a5..7f5cbe64 100644 --- a/modules/arch/x86/x86id.re +++ b/modules/arch/x86/x86id.re @@ -2453,7 +2453,7 @@ yasm_x86__parse_check_id(yasm_arch *arch, unsigned long data[4], N_("`%s' is a register in 64-bit mode"), oid); return YASM_ARCH_CHECK_ID_NONE; } - data[0] = X86_REG64 | (10+oid[4]-'0'); + data[0] = X86_XMMREG | (10+oid[4]-'0'); return YASM_ARCH_CHECK_ID_REG; }