On Wed, Feb 04, 2009 at 01:49:54PM +0000, Nick Clifton wrote: > You recently added gcc.c-torture/compile/pr35318.c to the gcc > testsuite. This has introduced a new group of failures for the m32c > port because of this error message: > > pr35318.c: In function 'foo': > pr35318.c:7: error: can't find a register in class 'GENERAL_REGS' while > reloading 'asm' > pr35318.c:7: error: 'asm' operand has impossible constraints > > Looking at the test it appears to assume that a double can be put > into register class "r", but this is not true for the m32c (and > probably other 16-bit ports as well), since doubles occupy two > registers. > > I can add an xfail for the m32c, but I was wondering if it would > break the importance of the test if the "double" type was changed to > "float" ? This would allow the test to pass for the m32c as well.
The test needs double, otherwise it wouldn't fail with a buggy cc1 on i?86. I've been initially contemplating putting the testcase into gcc.target/i386/, but then thought it would be good to test this on a couple of other arches too. Guess it can be limited to a couple of targets which are supposed to handle this, or it can have a list of targets which aren't supposed to compile this. Jakub