|New datatype addition to gcc firstname.lastname@example.org (Sriharsha Vedurmudi) (2004-12-11)|
|Re: New datatype addition to gcc email@example.com (Michael Meissner) (2004-12-16)|
|Re: New datatype addition to gcc firstname.lastname@example.org (Sriharsha) (2004-12-16)|
|Re: New datatype addition to gcc email@example.com (George Neuner) (2004-12-17)|
|Re: New datatype addition to gcc firstname.lastname@example.org (Michael Meissner) (2004-12-19)|
|Re: New datatype addition to gcc email@example.com (glen herrmannsfeldt) (2004-12-22)|
|Re: New datatype addition to gcc firstname.lastname@example.org (Michael Meissner) (2004-12-23)|
|Re: New datatype addition to gcc email@example.com (2004-12-23)|
|Re: New datatype addition to gcc firstname.lastname@example.org (Nathan Moore) (2005-03-24)|
|From:||Michael Meissner <email@example.com>|
|Date:||19 Dec 2004 23:52:33 -0500|
|References:||04-12-052 04-12-068 04-12-069|
|Posted-Date:||19 Dec 2004 23:52:33 EST|
Sriharsha <firstname.lastname@example.org> writes:
> My h/w personnel says that there will be TWO RAMs in the processor,
> one is 8-bit addressible while the other is 16-bit addressible. If
> the compiler has to do 8-bit data load/store, it uses the 8-bit RAM
> and if it has something to do with 16-bit, it uses that RAM. This
> sounded bizzare to me but, thats what they say (or atleast I've
> never come across such stuff).
My sympathies, that sounds like it is going to be a very tough slog.
I think we have a new entrant in the category "Hardware designers who
make it difficult or impossible to write a decent compiler for their
machine, and then wonder why nobody is using it".
I did a google search on "GCC multiple memory space" and found the
following article by Svein E. Seldal. You might want to read the
thread, and contact Svein directly, because it looks like you have
My take is you can't expect an ISO standard C implementation on such a
machine using two address spaces, one for byte accesses and one for
word, since structures can contain both types, and structures are
required to have all members adjacent. I suspect the best you can do
is use just one address space, and issue multiple instructions,
possibly adding a sop with attributes to declare static variables in
the other address space. Note, once a pointer has been taken, GCC
historically has lost all of the attribute information.
Return to the
Search the comp.compilers archives again.