Richard Sandiford <rdsandif...@googlemail.com> writes: > "Maciej W. Rozycki" <ma...@linux-mips.org> writes: > > On Tue, 13 Jan 2015, Andrew Bennett wrote: > > > >> The call-saved-{4-6}.c tests in the mips testsuite fail for > micromips. > >> The reason is > >> that micromips uses the swm and lwm instructions to save/restore the > >> call-saved registers rather than using the sw and lw instructions. > >> The swm and lwm instructions only list the range of registers to use > >> ie. $16-$25 and hence some of the scan-assembler patterns fail. This > >> fix adds the NO_COMPRESSION attribute to the foo function to force > >> the tests to always compile as mips. > >> > >> 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. > > Whereever possible gcc.target/mips should not have conditional dg- > finals.
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. I certainly agree that we shouldn't just ignore micromips expected output given it is pretty easy to test. Please go ahead and commit this patch so we clean up the test results for GCC 5 in case you (or anyone else) doesn't get to submitting the extra test cases before we hit stage 4. Thanks, Matthew