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.
![]() |