[llvm-commits] [llvm] r152414 - in /llvm/trunk: lib/Target/X86/Disassembler/X86DisassemblerDecoder.c test/MC/Disassembler/X86/simple-tests.txt utils/TableGen/X86RecognizableInstr.cpp

Bill Wendling bwendling at apple.com
Fri Mar 9 23:38:44 PST 2012


On Mar 9, 2012, at 9:52 AM, Kevin Enderby <enderby at apple.com> wrote:

> Author: enderby
> Date: Fri Mar  9 11:52:49 2012
> New Revision: 152414
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=152414&view=rev
> Log:
> Fix the x86 disassembler to at least print the lock prefix if it is the first
> prefix.  Added a FIXME to remind us this still does not work when it is not the
> first prefix.
> 
> Modified:
>    llvm/trunk/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c
>    llvm/trunk/test/MC/Disassembler/X86/simple-tests.txt
>    llvm/trunk/utils/TableGen/X86RecognizableInstr.cpp
> 
> 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=152414&r1=152413&r2=152414&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/Disassembler/X86/simple-tests.txt (original)
> +++ llvm/trunk/test/MC/Disassembler/X86/simple-tests.txt Fri Mar  9 11:52:49 2012
> @@ -724,3 +724,8 @@
> 
> # CHECK: vpermil2ps $1, 4(%rax), %xmm2, %xmm3, %xmm0
> 0xc4 0xe3 0xe1 0x48 0x40 0x04 0x21
> +
> +# rdar://8812056 lldb doesn't print the x86 lock prefix when disassembling
> +# CHECK: lock
> +# CHECK: xaddq	%rcx, %rbx

I don't know if it's 100% necessary, but you may want to use "CHECK-NEXT" for the second check here.

-bw

> +0xf0 0x48 0x0f 0xc1 0xcb
> 
> Modified: llvm/trunk/utils/TableGen/X86RecognizableInstr.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/X86RecognizableInstr.cpp?rev=152414&r1=152413&r2=152414&view=diff
> ==============================================================================
> --- llvm/trunk/utils/TableGen/X86RecognizableInstr.cpp (original)
> +++ llvm/trunk/utils/TableGen/X86RecognizableInstr.cpp Fri Mar  9 11:52:49 2012
> @@ -405,13 +405,13 @@
>     return FILTER_STRONG;
> 
> 
> -  // Filter out artificial instructions
> +  // Filter out artificial instructions but leave in the LOCK_PREFIX so it is
> +  // printed as a separate "instruction".
> 
>   if (Name.find("_Int") != Name.npos       ||
>       Name.find("Int_") != Name.npos       ||
>       Name.find("_NOREX") != Name.npos     ||
> -      Name.find("2SDL") != Name.npos       ||
> -      Name == "LOCK_PREFIX")
> +      Name.find("2SDL") != Name.npos)
>     return FILTER_STRONG;
> 
>   // Filter out instructions with segment override prefixes.
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits




More information about the llvm-commits mailing list