[patch] config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Accept H8/S.
Jeffrey A Law
Thu Aug 3 08:15:00 GMT 2000
In message <200008030851.BAA18632@cygnus.com>you write:
> Hi Jeff,
> Well, it's hard to say if the issue is specification or
> implementation. In either case, I don't think Hitachi gurantees that
> they won't change those special absolute address areas.
It's not hard at all. You look at the H8/S architecture manual and see
that it says addresses are 32 bits, then you look at a specific chip in
the family and realize that it's only implementing a 24bit address space.
I did the former last night.
> Regarding the switch, would you like something that specifies the
> width of address bus? On any H8, the 8-bit area is "last 256 bytes"
> of the address space. On H8/300H and H8/S, the 16-bit area is "first
> 32768 bytes and last 32768 bytes" of the entire address space. I
> think specifying a bus width like -maddrbus=24 would do the job. This
> is not only necessary but also useful in that, on H8/300H and H8/S,
> one can choose 16-bit, 20-bit, or 24-bit address space. (Amazingly,
> they all exist.)
I would much rather it be a switch for a particular implementation in
the H8/S family of chips. ie, the developer will know what kind of H8
chip he has, but he may not necessarily know its address width.
Let's pretend there's an implementation of the H8/S architecture called the
H8/S 9876. We would want a flag like -m9867 or something like that to indicate
that we're compiling for the H8/S 9876 chip in the H8/S family.
> By the way, we already have a need for another switch. H8/S2600
> series support mac (multiply and accumlate) stuff (both register and
> instructions) whereas H8/S2000 series do not. All we say to gcc is
> -ms, meaning H8/S. I'll try to come up with a patch for this. What
> would you name this kind of switch? The default is -mno-mac. To
> enable mac stuff, -mmac?
No, I'd rather have switches on the chip's name. ie -m2600 or -m2000 and
use them to control whether or not we generate MAC instructions.
More information about the Gcc-patches