This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: How to clean up i386 machine description?
- To: Michael Hayes <m dot hayes at elec dot canterbury dot ac dot nz>
- Subject: Re: How to clean up i386 machine description?
- From: Alan Lehotsky <lehotsky at tiac dot net>
- Date: Fri, 20 Nov 1998 15:40:31 -0500
- Cc: law at cygnus dot com, mrs at wrs dot com (Mike Stump), howell at cs dot stanford dot edu, amylaar at cygnus dot co dot uk, egcs at cygnus dot com, hubicka at horac dot ta dot jcu dot cz, pcg at goof dot com, rth at cygnus dot com
- References: <13411.911522531@hurl.cygnus.com><"199811200038.QAA27111"@kankakee.wrs.com><13411.911522531@hurl.cygnus.com>
At 23:14 +1300 11/20/98, Michael Hayes wrote:
> Jeffrey A Law writes:
> >
> > In message <199811200038.QAA27111@kankakee.wrs.com>you write:
> > > I seem to recall reading years ago that someone (rms) wanted the
> > > addressing modes mdized, instead of the #define they are today. This
> > > is an example of the type of thing that might help make things more
> > > regular/descriptive and nice looking.
> > Interestingly enough, we have some work in this area that needs to be
> > evaluated. Michael Hayes did it about a year or so ago.
>
I'd be interested in this too. One of the awful things about
the ADI SHARC dsp port is the dual memory bus architecture
that requires tracking two different memory fetches (kinda
like the old PDP-11 I and D space).
The original port defined PMmode and DMmode in machmode.def
(pretty similar to SImode, but allow you to track which
memory bus needs to be used for the move.) E.g., you'd
see something like:
(set (reg:SI 115) (MEM:SI (REG:DM 116)))
which implies that we're loading 32 bits thru a memory
fetch via the DM bus.
The biggest reason (IMHO) that the SHARC port has never
been submitted back to the general distribution is that
EVERYPLACE where 'Pmode' is used has to be replaced
by a context-sensitive choice of PMmode or DMmode.
To make this all work,
1/ regclass and reload must use mode-sensitive
selection macros for the INDEX and BASE reg class
2/ the Pmode macro must be replaced
3/ the places that default to SImode for memory
accesses have to be fixed.
I'm testing a 2.8 based compiler now. I may have some
down-time soon where I could implement the .md support for
the addressing modes. My eventual goal is to integrate
into the egcs port without the front-end hacks and heavy
#ifdefs in reload.
-- Al Lehotsky
------------------------------------------------------------------------
Quality Software Management
http://www.tiac.net/users/lehotsky
lehotsky@tiac.net
(978)287-0435 Voice
(978)287-0436 Fax/Data
Software Process Improvement and Management Consulting
Language Design and Compiler Implementation