Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.compilers > #2659
| From | gah4 <gah4@u.washington.edu> |
|---|---|
| Newsgroups | comp.compilers |
| Subject | Re: 8086 register allocation |
| Date | 2021-05-10 14:49 -0700 |
| Organization | Compilers Central |
| Message-ID | <21-05-007@comp.compilers> (permalink) |
| References | <21-05-005@comp.compilers> |
On Sunday, May 9, 2021 at 5:04:18 PM UTC-7, alexf...@gmail.com wrote: > For the fun of it I've implemented a greedy bottom-up local register > allocator for the intel 8086 CPU, which is known for its non-uniform > use of registers in ALU instructions and memory operands > (https://github.com/alexfru/regal86). Reminds me of what, as far as I know, is also an unsolved problem: register allocation for the x87. First the 8087 was designed not knowing if it should be a stack or register machine, so stack registers are addressable. (Even though the addresses keep changing.) It was also designed to have a virtual stack, which would spill to memory on overflow, and back on underflow. That sounds nice, but it seems that no-one tried to write the interrupt routine before the hardware was built, and that it actually isn't possible. It seems that it isn't possible to get some of the state bits set, such that it all works like a seamless virtual stack. The 80287 is the same processing logic with a different bus interface (and separate clock). As well as I know, things were redesigned later, but it seems that there still is no virtual stack. There are description of some compilers that give up on compiling any code that needs more than eight registers.
Back to comp.compilers | Previous | Next — Previous in thread | Next in thread | Find similar
8086 register allocation "Alexei A. Frounze" <alexfrunews@gmail.com> - 2021-05-09 14:28 -0700
Re: 8086 register allocation Fernando <pronesto@gmail.com> - 2021-05-10 04:46 -0700
Re: 8086 register allocation gah4 <gah4@u.washington.edu> - 2021-05-10 14:49 -0700
Re: 8086 register allocation Hans-Peter Diettrich <DrDiettrich1@netscape.net> - 2021-05-11 03:35 +0200
Re: 8086 register allocation gah4 <gah4@u.washington.edu> - 2021-05-10 21:19 -0700
Re: 8086 register allocation Hans-Peter Diettrich <DrDiettrich1@netscape.net> - 2021-05-11 09:35 +0200
Re: 8086 register allocation Thomas Koenig <tkoenig@netcologne.de> - 2021-05-11 06:44 +0000
csiph-web