|x86 register allocation email@example.com (1999-03-23)|
|Re: x86 register allocation firstname.lastname@example.org (1999-03-28)|
|Re: x86 register allocation email@example.com (Robert Sherry) (1999-03-28)|
|x86 register allocation firstname.lastname@example.org (Matt Postiff) (1999-03-28)|
|Re: x86 register allocation email@example.com (1999-03-28)|
|Re: x86 register allocation firstname.lastname@example.org (Sander Vesik) (1999-03-28)|
|Re: x86 register allocation email@example.com (Charles E. Bortle, Jr.) (1999-03-28)|
|From:||firstname.lastname@example.org (Dwight VandenBerghe)|
|Date:||28 Mar 1999 16:59:16 -0500|
On 23 Mar 1999 12:34:27 -0500, email@example.com wrote:
>Can anyone give me a pointer to help me with x86 register allocation?
On a long bus ride to a conference one hot afternoon maybe a decade
ago, I talked with Bill Waite about the 386/486 architecture. He said
that the key to generating good code for it is to to look at it as an
accumulator machine, NOT a register machine. If you look at it as a
register machine, it will drive you crazy, and you'll have endless
spill code cluttering up your output. The reason, he said, for all
the special opcodes, is to make access to the AX register blindingly
fast. And, when a skeptical voice was raised, he said that a couple
of his ex-students had implemented code generators (pascal? at intel
corp?) using this approach that had had wonderful success with it.
Who knows if that advice still holds, in these days of super-scalars
and the almighty cache hit ...
But he's not often far wrong, that ol' codger. Been around the
block a few times.
Return to the
Search the comp.compilers archives again.