[PATCH 3/3] x86: Drop using extension_opcode to encode vvvv register
Jan Beulich
jbeulich@suse.com
Wed Apr 24 08:27:53 GMT 2024
On 24.04.2024 10:19, Jan Beulich wrote:
> On 24.04.2024 09:23, Cui, Lili wrote:
>> @@ -3427,9 +3427,9 @@ uwrmsr, 0xf3f8/0, APX_F(USER_MSR), Modrm|Vex128|VexMap7|EVex128|VexW0|NoSuf, { I
>>
>> // APX Push2/Pop2 instructions.
>>
>> -push2, 0xff/6, APX_F, Modrm|VexW0|EVexMap4|Src1VVVV|ImplicitStackOp|No_bSuf|No_wSuf|No_lSuf|No_sSuf, { Reg64, Reg64 }
>> -push2p, 0xff/6, APX_F, Modrm|VexW1|EVexMap4|Src1VVVV|ImplicitStackOp|No_bSuf|No_wSuf|No_lSuf|No_sSuf, { Reg64, Reg64 }
>> -pop2, 0x8f/0, APX_F, Modrm|VexW0|EVexMap4|Src1VVVV|ImplicitStackOp|No_bSuf|No_wSuf|No_lSuf|No_sSuf, { Reg64, Reg64 }
>> -pop2p, 0x8f/0, APX_F, Modrm|VexW1|EVexMap4|Src1VVVV|ImplicitStackOp|No_bSuf|No_wSuf|No_lSuf|No_sSuf, { Reg64, Reg64 }
>> +push2, 0xff/6, APX_F, Modrm|VexW0|EVexMap4|DstVVVV|ImplicitStackOp|No_bSuf|No_wSuf|No_lSuf|No_sSuf, { Reg64, Reg64 }
>> +push2p, 0xff/6, APX_F, Modrm|VexW1|EVexMap4|DstVVVV|ImplicitStackOp|No_bSuf|No_wSuf|No_lSuf|No_sSuf, { Reg64, Reg64 }
>> +pop2, 0x8f/0, APX_F, Modrm|VexW0|EVexMap4|DstVVVV|ImplicitStackOp|No_bSuf|No_wSuf|No_lSuf|No_sSuf, { Reg64, Reg64 }
>> +pop2p, 0x8f/0, APX_F, Modrm|VexW1|EVexMap4|DstVVVV|ImplicitStackOp|No_bSuf|No_wSuf|No_lSuf|No_sSuf, { Reg64, Reg64 }
>>
>> // APX Push2/Pop2 instructions end.
>
> The latest now is the point where a comment wants adding here, owing to
> the fact that PUSH2 has no destination operands, while POP2 has no
> source ones. Following the common pattern "mnem %<src>,%<dst>" DstVVVV is
> indeed appropriate here, but the anomaly for PUSH2 imo wants clarifying.
> Okay with such a comment added.
And then everything touched here also wants leaving alone in patch 1.
There's no reason to touch stuff twice when once suffices. Plus it
eliminates the need to add respective comment for POP2 there, which
you'd then replace by said PUSH2-related comment here.
Jan
More information about the Binutils
mailing list