Re: 8086 register allocation

gah4 <gah4@u.washington.edu>
Mon, 10 May 2021 21:19:27 -0700 (PDT)

          From comp.compilers

Related articles
8086 register allocation alexfrunews@gmail.com (Alexei A. Frounze) (2021-05-09)
Re: 8086 register allocation pronesto@gmail.com (Fernando) (2021-05-10)
Re: 8086 register allocation gah4@u.washington.edu (gah4) (2021-05-10)
Re: 8086 register allocation DrDiettrich1@netscape.net (Hans-Peter Diettrich) (2021-05-11)
Re: 8086 register allocation gah4@u.washington.edu (gah4) (2021-05-10)
Re: 8086 register allocation tkoenig@netcologne.de (Thomas Koenig) (2021-05-11)
Re: 8086 register allocation DrDiettrich1@netscape.net (Hans-Peter Diettrich) (2021-05-11)
| List of all articles for this month |

From: gah4 <gah4@u.washington.edu>
Newsgroups: comp.compilers
Date: Mon, 10 May 2021 21:19:27 -0700 (PDT)
Organization: Compilers Central
References: 21-05-005 21-05-007 21-05-008
Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="7709"; mail-complaints-to="abuse@iecc.com"
Keywords: architecture, history
Posted-Date: 12 May 2021 23:55:52 EDT
In-Reply-To: 21-05-008

(Snip on x87 register allocation)


> [Normal stack machines have the top few entries in registers and do the
> spilling to memory in hardware. The x87 stack has 8 registers, which is
> a lot for a stack machine, but the spilling was broken. You can address
> into the stack but you can't really use it as a register machine. -John]


It was some years ago, but I read the story about the gcc code generator,
which is designed for register machines. So, they don't quite treat it
as a register machine, but not a stack machine, either.


At any point in the code, there should be a known (constant) number
of items on the stack, so you can address the registers using that number.
I think that is what Intel expected, when they wrote that you can use
it as a register machine. It would be less fun in assembly, though.


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.