On Tuesday, June 08, 1999 2:22 PM, Eric J. Korpela [SMTP:[EMAIL PROTECTED]] 
wrote:
: > :                                                  Spilled registers are not
: > : necessarily reloaded to the same type of register they were spilled from.
: > : For example if you have an address in bx, and it gets spilled, it may
: > : get reloaded to ax, which cannot be used for indexing. 
: > 
: >     Interesting.  Well, can't spilling get turned off so that the compiler
: > emits push instructions and working from memory when registers run out,
: > so that the spill problem doesn't exhibit itself?
: 
: Nope, push instructions are just another form of register spilling (meaning
: a "push bx" can get reloaded via a "pop ax").  It looked like fixing the 
: problem would have meant major changes to the register allocator.  I don't 
: have that much time on my hands.
: 
: Eric
: 
: 
I think I get it now.  Basically, as you said in your first email, LCC is completely
buggy for processors sporting instruction sets with non-orthogonal register sets.  
(most
CISC processors).

Now for the dumb question: does the 80386 allow eax, ebx, ecx, and edx as
base registers?  Is this why lcc works for 32 bit intel?

Greg

Greg

Reply via email to