------- 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

Reply via email to