c/4134: inline assembly - gcc fails to work around register pressure
rth@gcc.gnu.org
rth@gcc.gnu.org
Tue Apr 23 01:30:00 GMT 2002
Synopsis: inline assembly - gcc fails to work around register pressure
State-Changed-From-To: open->closed
State-Changed-By: rth
State-Changed-When: Tue Apr 23 01:18:11 2002
State-Changed-Why:
Not a bug. You really have run out of registers.
Your ifdef BUG example requires 7 registers: 3 for
each of the "r" inputs, 1 for the address of the
input memory parameter, and 3 are clobbered and thus
cannot be used.
The i386 has 8 registers one is reserved for the stack pointer, and one is reserved for the frame pointer (at least
without -fomit-frame-pointer), leaving only 6, one short
of the required 7.
As a guess, egcs failed to properly not use one of the
registers marked clobbered.
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=4134
More information about the Gcc-bugs
mailing list