[llvm] r323469 - [X86] Teach Intel syntax InstPrinter to print lock prefixes that have been parsed from the asm parser.

Hans Wennborg via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 30 07:24:12 PST 2018


Merged to 6.0 in r323770.

On Thu, Jan 25, 2018 at 10:23 PM, Craig Topper via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

> Author: ctopper
> Date: Thu Jan 25 13:23:57 2018
> New Revision: 323469
>
> URL: http://llvm.org/viewvc/llvm-project?rev=323469&view=rev
> Log:
> [X86] Teach Intel syntax InstPrinter to print lock prefixes that have been
> parsed from the asm parser.
>
> The asm parser puts the lock prefix in the MCInst flags so we need to
> check that in addition to TSFlags. This matches what the ATT printer does.
>
> Modified:
>     llvm/trunk/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp
>     llvm/trunk/test/MC/X86/x86-32-coverage.s
>
> Modified: llvm/trunk/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/
> X86/InstPrinter/X86IntelInstPrinter.cpp?rev=323469&r1=323468&r2=323469&
> view=diff
> ============================================================
> ==================
> --- llvm/trunk/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp
> (original)
> +++ llvm/trunk/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp Thu Jan
> 25 13:23:57 2018
> @@ -39,11 +39,11 @@ void X86IntelInstPrinter::printInst(cons
>                                      const MCSubtargetInfo &STI) {
>    const MCInstrDesc &Desc = MII.get(MI->getOpcode());
>    uint64_t TSFlags = Desc.TSFlags;
> +  unsigned Flags = MI->getFlags();
>
> -  if (TSFlags & X86II::LOCK)
> +  if ((TSFlags & X86II::LOCK) || (Flags & X86::IP_HAS_LOCK))
>      OS << "\tlock\t";
>
> -  unsigned Flags = MI->getFlags();
>    if (Flags & X86::IP_HAS_REPEAT_NE)
>      OS << "\trepne\t";
>    else if (Flags & X86::IP_HAS_REPEAT)
>
> Modified: llvm/trunk/test/MC/X86/x86-32-coverage.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/
> X86/x86-32-coverage.s?rev=323469&r1=323468&r2=323469&view=diff
> ============================================================
> ==================
> --- llvm/trunk/test/MC/X86/x86-32-coverage.s (original)
> +++ llvm/trunk/test/MC/X86/x86-32-coverage.s Thu Jan 25 13:23:57 2018
> @@ -10774,3 +10774,9 @@ btcl $4, (%eax)
>  // CHECK:      clzero
>  // CHECK:  encoding: [0x0f,0x01,0xfc]
>                 clzero
> +
> +// CHECK: lock addl %esi, (%edi)
> +// INTEL: lock add dword ptr [edi], esi
> +// CHECK:  encoding: [0xf0,0x01,0x37]
> +               lock add %esi, (%edi)
> +
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180130/9511d684/attachment.html>


More information about the llvm-commits mailing list