This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH 10/13] x86: fold EsSeg into IsString
- From: Jan Beulich <jbeulich at suse dot com>
- To: "H.J. Lu" <hjl dot tools at gmail dot com>
- Cc: "binutils at sourceware dot org" <binutils at sourceware dot org>
- Date: Mon, 4 Nov 2019 17:15:50 +0100
- Subject: Re: [PATCH 10/13] x86: fold EsSeg into IsString
- References: <773baa32-a12c-5da3-32a4-3db5a424d102@suse.com> <bcc29b62-ada4-7951-7d11-441a66697bee@suse.com> <CAMe9rOoboKnCSPJ53ATykg9pOmatDG9cbMPV4q+QHFV-cV9p4Q@mail.gmail.com>
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