This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH] x86: remove stray instruction attributes
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Jan Beulich <JBeulich at suse dot com>
- Cc: Binutils <binutils at sourceware dot org>
- Date: Thu, 30 Jun 2016 06:50:36 -0700
- Subject: Re: [PATCH] x86: remove stray instruction attributes
- Authentication-results: sourceware.org; auth=none
- References: <57750F2A02000078000FA05C at prv-mh dot provo dot novell dot com> <577517B102000078000FA09D at prv-mh dot provo dot novell dot com> <CAMe9rOqhLSJkgY=BZUARGLO+hKEWxtEa+MFpWN4vy3NWbE1+cQ at mail dot gmail dot com> <5775217102000078000FA0F0 at prv-mh dot provo dot novell dot com> <CAMe9rOrQq191jfv4gjN6gy731A6wNSt1ykNiLD5hWPbZ_zsnmg at mail dot gmail dot com> <5775303302000078000FA1DD at prv-mh dot provo dot novell dot com>
On Thu, Jun 30, 2016 at 5:44 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>>> On 30.06.16 at 14:29, <hjl.tools@gmail.com> wrote:
>> On Thu, Jun 30, 2016 at 4:41 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>>>>> On 30.06.16 at 13:31, <hjl.tools@gmail.com> wrote:
>>>> On Thu, Jun 30, 2016 at 3:59 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>>>>>>> On 30.06.16 at 12:23, <JBeulich@suse.com> wrote:
>>>>>> - with Cpu64 Disp16 makes no sense for memory operands
>>>>>> - with CpuNo64 Disp32S makes no sense
>>>>>> - non-64-bit lgdt doesn't allow 10-byte operands
>>>>>
>>>>> Another thing I've been thinking of, which I believe would greatly
>>>>> improve readability of opcodes/i386-opc.tbl, is to remove the
>>>>> various No_*Suf specifications when an instruction doesn't allow
>>>>> any suffix: Since no instruction will possibly allow for every one of
>>>>> them, i386-gen could easily be made set all 6 bits when none of
>>>>> them got set by parsing of the input. Thoughts?
>>>>
>>>> I don't mind replacing all those No_*Suf with something close
>>>> to what spec says.
>>>
>>> I don't understand: I was proposing to remove them where they're
>>> pointless (and can be inferred); I don't see how what the spec says
>>> comes into the picture here (namely I didn't mean to effect any
>>> behavioral change).
>>
>> No_*Suf is something we made up. It isn't clear which instructions
>> should have it from spec. Can we replace it with something from spec?
>
> Do you know of a formal specification of AT&T syntax? Intel syntax
I was referring to ISA spec. Some of suffixes are for operand size.
Some aren't.
> really uses only very few suffixes.
>
What happens when you use suffix with Intel syntax?
> But again - my point was merely cleanup, yet you continue to ask for
> more. Am I to take that to mean that the cleanup alone isn't worth it?
>
No_*Suf is fragile. Let's leave it alone unless there is an issue or
significant improvement.
--
H.J.