aarch64_opcode_table changes for BZ 19722

Nick Clifton nickc@redhat.com
Fri Apr 29 11:28:00 GMT 2016


Hi Szabolcs,

> with the new verifier field some
> 
>  {a,b,c,d},
> 
> table entries were changed to
> 
>  {a,b,c,d,NULL},
> 
> others to
> 
>  c_INS(a,b,d),
> 
> the goal of those c_INS macros is not clear to me,
> is it just to align the opcode table columns?

No - it was to make future changes to the table easier to do and
to make the verifier functions stand out.

My original idea was that I would use macros for every entry, 
since I thought that a lot of the fields we duplicated in every 
entry.  Of course this turned out to be incorrect and I soon
realised that I would need too many macros, and that the macros
would not make anything clearer.  So instead I decided to use
macros just for the common cases - where the fields are 
duplicated - and to use explicit initialisation for the 
"interesting" instructions.  This also meant that it would be
easy to find which instructions had verifiers and which did not.

Cheers
  Nick



More information about the Binutils mailing list