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: NEC 78400 (78K.IV)


On Monday, 12 October 1998, Jeffrey A Law writes:

> Pre-history.  GCC has been dealling with 16bit machines for a while
> now.  The h8 and mn102 are still active (unlike the pdp11, 1750a and dsp16xx)
    + .
> 
> Usually the biggest problem with supporting 16bit ports is a lack of register
    + s,
> segmented addresses, and 16bit targets with 24bit addresses.
> 
>   > Eh, how much work?  Let's say a couple of months for starters;
>   > it "depends".
> It "depends" is about as precise as anyone can get :-)  The closer any new
> chip resembles an existing port the faster one can get a port going.

Thanks for all your comments.  I was getting curious and would like 
to find out for myself what a 78400 port would be like.  What's more,
there's a fair chance my employer is going to donate a slice of my time 
to investigate further and start this port.  Although it won't be much,
i'll be able to put in a bit of time myself.  If more people would want
to do so... who knows.

Anyway, this morning i had a look at the backend config files for the h8 
and mn102 ports.  I don't really know where to start off, but it seemed
logical to start looking at the hardware registers, how they're used,
and what processor would bare the most resemblance.

At that time, i was already getting a bit confused: how many registers
does the K4 have?  It has three ways of register access: it has 16 simple
8bit registers r0..r15.  Then there are eight 16bit register pairs: 
rp0..rp7, and four 24bit register groups, rg4..rg7.  Most operations are 
16bit or 8bit, and some are 24bit.

The approach in the i386 backend seems to be to 'define' the register
pairs as the true registers (ax,dx,cx), and have aliases for the higher
and lower words, ({"ah", 0}, {"al", 0} or something similar).  Something
like this doesn't seem fit for the K4, because the 24bit register groups
do not cover all registers; and in fact, most operations will be 16 bit
anyway.  Therefore, it seems logical to define the K4 as having 8 16bit
registers; but how to define the 24bit register groups?

Where can i find more to read on the subject; the md.tex doesn't 
seem to address this problem?

Greetings,

Jan.

Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond - The music typesetter
http://www.xs4all.nl/~jantien       | http://www.xs4all.nl/~jantien/lilypond



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