This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Allow MIPS call-saved-{4-6}.c tests to correctly run for micromips
- From: Richard Sandiford <rdsandiford at googlemail dot com>
- To: "Maciej W. Rozycki" <macro at linux-mips dot org>
- Cc: Matthew Fortune <Matthew dot Fortune at imgtec dot com>, Andrew Bennett <Andrew dot Bennett at imgtec dot com>, "gcc-patches\ at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 14 Jan 2015 07:21:25 +0000
- Subject: Re: [PATCH] Allow MIPS call-saved-{4-6}.c tests to correctly run for micromips
- Authentication-results: sourceware.org; auth=none
- References: <0DA23CC379F5F945ACB41CF394B9827720F4BF02 at LEMAIL01 dot le dot imgtec dot org> <alpine dot LFD dot 2 dot 11 dot 1501131820010 dot 23937 at eddie dot linux-mips dot org> <878uh68nrf dot fsf at googlemail dot com> <6D39441BF12EF246A7ABCE6654B0235320FA2789 at LEMAIL01 dot le dot imgtec dot org> <alpine dot LFD dot 2 dot 11 dot 1501132008340 dot 23937 at eddie dot linux-mips dot org>
"Maciej W. Rozycki" <macro@linux-mips.org> writes:
> On Tue, 13 Jan 2015, Matthew Fortune wrote:
>
>> > >> I have tested this for both mips and micromips, and the tests now
>> > >> pass successfully.
>> > >> The ChangeLog and patch are below.
>> > >
>> > > Hmm, instead of trying to avoid testing microMIPS code generation
>> > > just to satisfy the test suite I'd rather see the test cases updated
>> > > so that LWM/SWM register ranges are expected and accepted whenever
>> > > microMIPS code is produced. These scan patterns can be made
>> > conditional.
>> >
>> > FWIW I think Andrew's patch is correct. If we want to test microMIPS
>> > output against micromips-specific regexps, we should add a separate test
>> > that forces micromips, so that it gets tested regardless of people's
>> > RUNTESTFLAGS. Doing that shouldn't hold up Andrew's patch though.
>
> Taking care that the default compilation mode does not conflict (e.g.
> MIPS16, incompatible) and taking any exceptions into account (e.g. n64,
> unsupported) I presume, right?
mips.exp sorts that out for you. Adding "-mmicromips" or "(-micromips)"
to dg-options forces (or at least is supposed to force) the overall flags
to be compatible with microMIPS.
The aim of mips.exp is avoid skipping tests whereever possible. If
someone runs the testsuite with -mips16 and we have a -micromips test,
it's better to remove -mips16 for that test than to skip the test entirely.
>> I was going to suggest a follow up patch to add copies of the three tests
>> as Richard suggests. I haven't yet done a micromips run of the testsuite
>> to check for any other issues like this but I suspect problems are limited
>> to the tests that I recently added.
>
> Please always try to test changes reasonably, i.e. at least o32,
> o32/MIPS16, o32/microMIPS, n32, n64, and then Linux and ELF if applicable,
> plus any options that may be relevant, unless it is absolutely clear
> ABI/ISA variations do not matter for a change proposed.
TBH this seems a bit much. On the one hand it's more testing than you'd
get for almost any other target, but on the other it leaves out important
differences like MIPS I vs MIPS II vs MIPS 32, MIPS III vs MIPS IV vs MIPS64,
r1 vs. r2 vs. r6, Octeon vs. Loongson vs. vanilla, DSP vs. no DSP, etc.
I think we just have to accept that there are so many possible
combinations that we can't test everything that's potentially relevant.
I think it's more useful to be flexible than prescribe a particular list.
Having everyone test the same multilib combinations on the same target
isn't necessarily a good thing anyway. Diversity in testing (between
developers) is useful too.
Thanks,
Richard