[Bug target/18630] can't find a register in class `GENERAL_REGS' when trying to make Firefox 1.0
uweigand at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Wed Nov 24 13:27:00 GMT 2004
------- 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
More information about the Gcc-bugs
mailing list