From 40fe18f66e7c94bda22bb3ad5fbef336fffd0f9d Mon Sep 17 00:00:00 2001 From: Kevin Enderby Date: Wed, 10 Feb 2010 00:10:31 +0000 Subject: [PATCH] Fix the encoding of the movntdqa X86 instruction. It was missing the 0x66 prefix which is part of the opcode encoding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95729 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/X86InstrSSE.td | 3 ++- test/MC/AsmParser/X86/x86_32-encoding.s | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/Target/X86/X86InstrSSE.td b/lib/Target/X86/X86InstrSSE.td index bbdaed4116a..e26c9799b6a 100644 --- a/lib/Target/X86/X86InstrSSE.td +++ b/lib/Target/X86/X86InstrSSE.td @@ -3747,7 +3747,8 @@ def PTESTrm : SS48I<0x17, MRMSrcMem, (outs), (ins VR128:$src1, i128mem:$src2), def MOVNTDQArm : SS48I<0x2A, MRMSrcMem, (outs VR128:$dst), (ins i128mem:$src), "movntdqa\t{$src, $dst|$dst, $src}", - [(set VR128:$dst, (int_x86_sse41_movntdqa addr:$src))]>; + [(set VR128:$dst, (int_x86_sse41_movntdqa addr:$src))]>, + OpSize; //===----------------------------------------------------------------------===// diff --git a/test/MC/AsmParser/X86/x86_32-encoding.s b/test/MC/AsmParser/X86/x86_32-encoding.s index e38df9e3b99..e029ded0d1f 100644 --- a/test/MC/AsmParser/X86/x86_32-encoding.s +++ b/test/MC/AsmParser/X86/x86_32-encoding.s @@ -9,3 +9,5 @@ sbbb $0xfe,0xdeadbeef(%ebx,%ecx,8) psllw 69, %mm3 # CHECK: encoding: [0x0f,0xf1,0x1d,0x45,0x00,0x00,0x00] +movntdqa 0xdeadbeef(%ebx,%ecx,8),%xmm5 +# CHECK: encoding: [0x66,0x0f,0x38,0x2a,0xac,0xcb,0xef,0xbe,0xad,0xde] -- 2.34.1