On Tue, May 12, 2020 at 4:10 PM tip-bot2 for Uros Bizjak
<[email protected]> 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 <[email protected]>
> AuthorDate: Fri, 08 May 2020 11:22:47 +02:00
> Committer: Borislav Petkov <[email protected]>
> 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.