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]

Re: c/4134: inline assembly - gcc fails to work around register pressure


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


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