[PATCH] MIPS/gas: LQC2, LDC3 and SQC2 macro !microMIPS assertions
Maciej W. Rozycki
macro@codesourcery.com
Tue Aug 26 20:00:00 GMT 2014
On Mon, 25 Aug 2014, Richard Sandiford wrote:
> > This adds missing !microMIPS assertions for the LQC2, LDC3 and SQC2
> > macros whose underlying instructions have no microMIPS encoding.
>
> I don't really see the need for these kinds of asserts. If the instruction
> isn't available we're going to assert later anyway. The problem with asserting
> here too is that (as this patch proves) it's very hard to maintain the
> consistent duplication of information without some kind of automatic help.
>
> I'd prefer to go for consistency the other way and remove
> !mips_opts.micromips asserts that are only there because there's no
> underlying microMIPS instruction. This includes the one in the earlier
> SAA(D) patch.
I missed this e-mail from you because unlike the other three it wasn't
delivered to me for some reason, I now only noticed it on the mailing list
(and pulled a copy). So I pushed the SAA(D) patch without seeing your
concern, sorry about that.
I think you're actually right, why didn't I realise that before making
these changes? The thing is these asserts were really needed with the old
INSERT_OPERAND CPP macro that would do something really silly if used for
an unsupported ISA. Now they could have really gone with your removal of
old code:
commit e077a1c8de38e8ad1ce26e127b24ed4ecf77a840
Author: Richard Sandiford <rdsandiford@googlemail.com>
Date: Sun Jul 14 13:37:51 2013 +0000
however I suppose you didn't want to mess with things more than necessary
with that change and then the issue got forgotten somehow.
So I think I can clean this stuff up easily throughout `macro', though
I'll make some checks first as to what happens if some of these synthetic
instruction macros are indeed inserted into an opcode table of the wrong
ISA.
Thanks for your feedback.
Maciej
More information about the Binutils
mailing list