This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH] Lexra support in binutils
Thiemo Seufer writes:
> Adam Nemet wrote:
> [snip]
> > @@ -539,7 +541,10 @@ struct mips_opcode
> > (mips_isa_table[(Y & INSN_ISA_MASK) - 1] >> ((X & INSN_ISA_MASK) - 1)) & 1
> > is non-zero. */
> > static const unsigned int mips_isa_table[] =
> > - { 0x0001, 0x0003, 0x0607, 0x1e0f, 0x3e1f, 0x0a23, 0x3e63, 0x3ebf, 0x3fff };
> > + { 0x0001, 0x0003, 0x0607, 0x1e0f, 0x3e1f, 0x0a23, 0x3e63, 0x3ebf,
> > + /* Add INSN_ISA64R2_0_9 here: INSN_ISA0_8 + INSN_ISA2 ... + INSN_ISA64R2 */
> > + 0x....,
> > + 0x3fff };
>
> Oh I see. I always had the vague feeling this clever trick would bite
> use some day. :-) Yes, it should be something like that, probably with
> applying Maciej's namespace observation: {ISA,INSN}_ISA63R2 instead of
> the unwieldy {ISA,INSN}_ISA64_0_9.
OK. I actually think that we should experiment with extending the
mips_isa_table idea to the ASEs. ASEs should be orthogonal so it should be
rare for two ASEs to provide the same insn. Then we'd have more bits for
pseudo-ISAs and processors.
This is of course no concern for Lexra. There is still one more spot
available among the ISAs.
Adam