Segment register support for the i386

Richard Henderson rth@cygnus.com
Thu Dec 30 12:41:00 GMT 1999


On Mon, Dec 27, 1999 at 05:55:06AM -0700, Jeffrey A Law wrote:
> Yes CSE and other passes would all have to know about this kind of
> stuff.  Though I don't think it would be that nasty since a seg + offset
> pointer would have a different mode than just an offset pointer.
> 
> The tougher problem is the general infrastructure to have pointers of
> differing sizes, supporting partial mode arithmetic, and ABI issues with
> segment/space registers.

As pointed out in other mail, Mark wasn't looking for 48-bit pointers,
rather different address spaces.  Conceptually, this is actually much
more like the `__X' and `__Y' address spaces from DSP-land, and I have
proposed in the past treating them similarly.

I believe my original thought was to do this with extra modes, so that
you'd have P_Xmode and P_Ymode (P_GSmode and P_FSmode in the x86 case)
to disambiguate the different address spaces.

In any case, that sort of infrastructure is something we'll eventually
need if we want to support DSPs properly, since in that case X and Y
memory accesses are important to scheduling.



r~


More information about the Gcc mailing list