[PATCH] x86: fold special-operand insn attributes into a single enum

Jan Beulich jbeulich@suse.com
Fri Nov 11 08:22:18 GMT 2022


On 11.11.2022 09:00, Jan Beulich via Binutils wrote:
> On 10.11.2022 18:38, H.J. Lu wrote:
>> On Thu, Nov 10, 2022 at 5:45 AM Jan Beulich <jbeulich@suse.com> wrote:
>>>
>>> Attributes which aren't used together in any single insn template can be
>>> converted from individual booleans to a single enum, as was done for a few
>>> other attributes before. This is more space efficient. Collect together
>>> all attributes which express special operand constraints (and which fit
>>> the criteria for folding).
>>
>> These assumptions may not be all true for future new instructions.
> 
> It seems pretty unlikely to me that any of these assumptions would break.
> If one does, converting back to an individual bit is an easy option. I
> think this minor risk is far outweighed by the benefits of the change. We
> really have still some ways to go to reach reasonable data representation
> within the generated opcode table (and of course also in the source table,
> but that's an orthogonal direction of work, where I also have further
> changes pending).

I should probably expand: For most of these I don't expect new uses to appear
at all. Note also that I left alone e.g. ImmExt, for having a bigger risk of
a new conflicting use appearing.

If you have concerns for a specific attribute, please voice it that way. I'm
certainly willing to re-consider for individual attributes (albeit as said
in the earlier reply, the way back for any individual one is easy); I'm not
going to accept a blanket "no".

Jan


More information about the Binutils mailing list