This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: How to clean up i386 machine description?


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]