Re: [tip: x86/cpu] x86/cpu: Use INVPCID mnemonic in invpcid.h

From: Uros Bizjak
Date: Tue May 12 2020 - 10:26:51 EST


On Tue, May 12, 2020 at 4:10 PM tip-bot2 for Uros Bizjak
<tip-bot2@xxxxxxxxxxxxx> wrote:
>
> The following commit has been merged into the x86/cpu branch of tip:
>
> Commit-ID: 7e32a9dac9926241d56851e1517c9391d39fb48e
> Gitweb: https://git.kernel.org/tip/7e32a9dac9926241d56851e1517c9391d39fb48e
> Author: Uros Bizjak <ubizjak@xxxxxxxxx>
> AuthorDate: Fri, 08 May 2020 11:22:47 +02:00
> Committer: Borislav Petkov <bp@xxxxxxx>
> CommitterDate: Tue, 12 May 2020 16:05:30 +02:00
>
> x86/cpu: Use INVPCID mnemonic in invpcid.h
>
> The current minimum required version of binutils is 2.23, which supports
> the INVPCID instruction mnemonic. Replace the byte-wise specification of
> INVPCID with the proper mnemonic.
>
> [ bp: Add symbolic operand names for increased readability and flip
> their order like the insn expects them for the AT&T syntax. ]

Actually, the order was correct for AT&T syntax in the original patch.

The insn template for AT&T syntax goes:

insn arg2, arg1, arg0

where rightmost arguments are output operands.

The operands in asm template go

asm ("insn template" : output0, output1 : input0, input1 : clobbers)

so, in effect:

asm ("insn template" : arg0, arg1 : arg2, arg3: clobbers)

As you can see, the operand order in insn tempate is reversed for AT&T
syntax. I didn't notice the reversal of operands in your improvement.

Uros.


Uros.