Hello! > The following patch fixes > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55458 > > The patch was successfully bootstrapped and tested on x86/x86-64. > > Committed as rev. 193871. > > 2012-11-27 Vladimir Makarov <vmaka...@redhat.com> > > PR rtl-optimization/55458 > * lra-assigns.c: Include rtl-error.h. > (assign_by_spills): Report about asm impossible constraints. > * Makefile.in (lra-assigns.c): Add $(RTL_ERROR_H). > > > 2012-11-27 Vladimir Makarov <vmaka...@redhat.com> > > PR rtl-optimization/55458 > * gcc.target/i386/pr55458.c: New test.
Index: testsuite/gcc.target/i386/pr55458.c =================================================================== --- testsuite/gcc.target/i386/pr55458.c (revision 0) +++ testsuite/gcc.target/i386/pr55458.c (working copy) @@ -0,0 +1,11 @@ +/* { dg-do compile } */ +/* { dg-require-effective-target ilp32 } */ Effective target should be ia32 in this case. x32 also matches ilp32, and since it has plenty of registers, doesn't error-out as expected. Fixed by attached patch. 2012-11-28 Uros Bizjak <ubiz...@gmail.com> * gcc.target/i386/pr55458.c: Require ia32 target instead of ilp32. Tested on x86_64-pc-linux-gnu and committed to mainline SVN. Uros. Index: gcc.target/i386/pr55458.c =================================================================== --- gcc.target/i386/pr55458.c (revision 193894) +++ gcc.target/i386/pr55458.c (working copy) @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-require-effective-target ilp32 } */ +/* { dg-require-effective-target ia32 } */ /* { dg-options "-fPIC" } */ int a, b, c;