Fixed or forbidden register 3 (bx) was spilled
Jean-Marc Valin
jean-marc.valin@infospace.com
Wed Sep 12 14:29:00 GMT 2001
I know this has been discussed before, but I think my case is different.
I get the error "fixed or forbidden register 3 (bx) was spilled for
class BREG.", but I DO NOT clobber an input/output register. Actually,
I'm not clobbering any register. My code is:
__asm__ __volatile__ ("
prefetchnta (%%eax)
prefetchnta (%%ebx)
prefetchnta 32(%%eax)
prefetchnta 32(%%ebx)
prefetchnta 64(%%eax)
prefetchnta 64(%%ebx)
prefetchnta 96(%%eax)
prefetchnta 96(%%ebx)
prefetchnta 128(%%eax)
prefetchnta 128(%%ebx)
"
: : "a" (means), "b" (vars)
);
AFAIK, I'm doing everything OK. Why am I getting an error? Could that be
a bug or am I doing something wrong?
% gcc -v
Reading specs from /usr/lib/gcc-lib/i586-mandrake-linux/2.95.3/specs
gcc version 2.95.3 19991030 (prerelease)
Regards,
Jean-Marc
P.S. Please also reply directly to me, as I am not subscribed to the
list.
More information about the Gcc-bugs
mailing list