[llvm-commits] [llvm] r140997 - in /llvm/trunk: lib/Target/X86/Disassembler/X86DisassemblerDecoder.c test/MC/Disassembler/X86/simple-tests.txt test/MC/Disassembler/X86/x86-32.txt

Craig Topper craig.topper at gmail.com
Mon Oct 3 01:14:31 PDT 2011


Author: ctopper
Date: Mon Oct  3 03:14:29 2011
New Revision: 140997

URL: http://llvm.org/viewvc/llvm-project?rev=140997&view=rev
Log:
Treat VEX.vvvv as a 3-bit field outside of 64-bit mode. Prevents access to registers xmm8-xmm15 outside 64-bit mode.

Modified:
    llvm/trunk/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c
    llvm/trunk/test/MC/Disassembler/X86/simple-tests.txt
    llvm/trunk/test/MC/Disassembler/X86/x86-32.txt

Modified: llvm/trunk/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c?rev=140997&r1=140996&r2=140997&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c (original)
+++ llvm/trunk/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c Mon Oct  3 03:14:29 2011
@@ -1491,6 +1491,9 @@
   else
     return -1;
 
+  if (insn->mode != MODE_64BIT)
+    insn->vvvv &= 0x7;
+
   return 0;
 }
 

Modified: llvm/trunk/test/MC/Disassembler/X86/simple-tests.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Disassembler/X86/simple-tests.txt?rev=140997&r1=140996&r2=140997&view=diff
==============================================================================
--- llvm/trunk/test/MC/Disassembler/X86/simple-tests.txt (original)
+++ llvm/trunk/test/MC/Disassembler/X86/simple-tests.txt Mon Oct  3 03:14:29 2011
@@ -365,3 +365,6 @@
 
 # CHECK: testq $0, %rax
 0x48 0xa9 0x00 0x00 0x00 0x00
+
+# CHECK: vaddps	%xmm3, %xmm15, %xmm0
+0xc4 0xe1 0x00 0x58 0xc3

Modified: llvm/trunk/test/MC/Disassembler/X86/x86-32.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Disassembler/X86/x86-32.txt?rev=140997&r1=140996&r2=140997&view=diff
==============================================================================
--- llvm/trunk/test/MC/Disassembler/X86/x86-32.txt (original)
+++ llvm/trunk/test/MC/Disassembler/X86/x86-32.txt Mon Oct  3 03:14:29 2011
@@ -384,3 +384,6 @@
 
 # CHECK: movl %eax, 0
 0xa3 0x00 0x00 0x00 0x00
+
+# CHECK: vaddps	%xmm3, %xmm7, %xmm0
+0xc4 0xe1 0x00 0x58 0xc3





More information about the llvm-commits mailing list