This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: aarch64_opcode_table changes for BZ 19722
- From: Nick Clifton <nickc at redhat dot com>
- To: Szabolcs Nagy <szabolcs dot nagy at arm dot com>, Binutils <binutils at sourceware dot org>
- Cc: nd at arm dot com, Marcus Shawcroft <Marcus dot Shawcroft at arm dot com>, Ramana Radhakrishnan <Ramana dot Radhakrishnan at arm dot com>
- Date: Fri, 29 Apr 2016 12:28:37 +0100
- Subject: Re: aarch64_opcode_table changes for BZ 19722
- Authentication-results: sourceware.org; auth=none
- References: <57234022 dot 3040609 at arm dot com>
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