This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/18630] can't find a register in class `GENERAL_REGS' when trying to make Firefox 1.0


------- Additional Comments From uweigand at gcc dot gnu dot org  2004-11-24 13:27 -------
The inline assembly statement is impossible to reload under the
given circumstances.  Note that the statement requires 12 general
purpose registers at the same time (6 inputs and 6 clobbers), but
using the options you give, GCC 3.2 has only 11 general purpose
registers available for general use (namely %r0 .. %r10;  %r11 is
the frame pointer, %r12 the GOT pointer, %r13 the literal pool
pointer, %r14 the return address register and %r15 the stack pointer).

You could either
 - rewrite the assembly to require one fewer register
 - build with -O (or -fomit-frame-pointer) to free up %r11
 - build without -fPIC to free up %r12 (probably impossible)
 - use GCC 3.4 (as this makes %r14 available for general use)

I'd recommend to simply use -O2.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18630


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]