Re: x86 code generation

mlross@jf.intel.com (Michael L. Ross)
20 Jun 2000 02:29:39 -0400

          From comp.compilers

Related articles
x86 code generation nicks@3drealms.com (Nick Shaffner) (2000-06-14)
Re: x86 code generation mlross@jf.intel.com (2000-06-20)
Re: x86 code generation jkahrs@castor.atlas.de (Juergen Kahrs) (2000-06-20)
Re: x86 code generation napi@col31.mimos.my (2000-06-20)
| List of all articles for this month |

From: mlross@jf.intel.com (Michael L. Ross)
Newsgroups: comp.compilers
Date: 20 Jun 2000 02:29:39 -0400
Organization: Intel Corporation
References: 00-06-057
Keywords: 386, code

John is correct - Intel publishes optimization guides for each of its
processors, that show the best code to generate for each
processor. That won't help you with compiler techniques such as
intermediate representation and register management, of
course. However, the optimization guides provide a starting point for
what you're aiming at. You can also get Intel's compilers, which will
give you a pretty good notion of the best code you can generate for
the processors.


Beyond that, you want some way of representing the IA32's addressing
modes in your intermediate representation, and some notion of modeling
which registers are killed implicitly by various instructions.


A good starting point on the register allocation issue is "Global
Register Allocation Based on Graph Fusion", by Thomas Gross et. al.
at Carnegie-Mellon.


The best intermediate representation is always a matter of opinion.
Since many IA32 instructions are two address form, if you only care
about IA32(Intel Architecture, 32 bit), you might try modeling it that
way, to make the translation in to machine code more natural.


Just some thoughts...
Mike


--
| Michael L. Ross
| michael.l.ross@intel.com
| EY2-03 5350 N.E. Elam Young Pkwy.
| Hillsboro, Or. 97124 Phone: (503)696-3794
| Disclaimer: Not speaking for Motorola


Post a followup to this message

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