This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 10/13] x86: fold EsSeg into IsString


On 31.10.2019 20:39, H.J. Lu wrote:
> On Wed, Oct 30, 2019 at 1:27 AM Jan Beulich <jbeulich@suse.com> wrote:
>> --- a/opcodes/i386-opc.tbl
>> +++ b/opcodes/i386-opc.tbl
>> @@ -60,6 +60,9 @@
>>  // RegMem implies a ModR/M byte
>>  #define RegMem Modrm|RegMem
>>
>> +#define EsSegOp0 IsString=IS_STRING_ES_OP0
>> +#define EsSegOp1 IsString=IS_STRING_ES_OP1
>> +
>>  #define VexW0 VexW=VEXW0
>>  #define VexW1 VexW=VEXW1
>>  #define VexWIG VexW=VEXWIG
>> @@ -488,11 +491,11 @@ setg, 1, 0xf9f, 0x0, 2, Cpu386, Modrm|No
>>
>>  // String manipulation.
>>  cmps, 0, 0xa6, None, 1, 0, W|No_sSuf|No_ldSuf|IsString|RepPrefixOk, { 0 }
>> -cmps, 2, 0xa6, None, 1, 0, W|No_sSuf|No_ldSuf|IsString|RepPrefixOk, { Byte|Word|Dword|Qword|Unspecified|BaseIndex|EsSeg, Byte|Word|Dword|Qword|Unspecified|BaseIndex }
>> +cmps, 2, 0xa6, None, 1, 0, W|No_sSuf|No_ldSuf|EsSegOp0|RepPrefixOk, { Byte|Word|Dword|Qword|Unspecified|BaseIndex, Byte|Word|Dword|Qword|Unspecified|BaseIndex }
>>  scmp, 0, 0xa6, None, 1, 0, W|No_sSuf|No_ldSuf|IsString|RepPrefixOk, { 0 }
>> -scmp, 2, 0xa6, None, 1, 0, W|No_sSuf|No_ldSuf|IsString|RepPrefixOk, { Byte|Word|Dword|Qword|Unspecified|BaseIndex|EsSeg, Byte|Word|Dword|Qword|Unspecified|BaseIndex }
>> +scmp, 2, 0xa6, None, 1, 0, W|No_sSuf|No_ldSuf|EsSegOp0|RepPrefixOk, { Byte|Word|Dword|Qword|Unspecified|BaseIndex, Byte|Word|Dword|Qword|Unspecified|BaseIndex }
> 
> Please use
> 
> #define IsStringEsSegOp0 IsString=IS_STRING_ES_OP0
> #define IsStringEsSegOp1 IsString=IS_STRING_ES_OP1
> 
> so that we can tell it a string instruction.

Would IsStringEsOp0 or even IsStringEs0 also be okay with you?

Jan


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]