This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Segment registers support for i386
- From: "RÃmy Saissy" <remy dot saissy at gmail dot com>
- To: gcc at gcc dot gnu dot org
- Date: Fri, 26 May 2006 14:38:02 +0800
- Subject: Re: Segment registers support for i386
You won't be able to. You're going to need to write your own code that,
during the conversion of the tree to RTL, creates RTL expressions which
indicate that the memory references use segment registers. This probably
won't be easy since there are a lot of contexts where your "far" pointer
can be used. I suspect this is where you're going to give up on your
project, but if you do then RTL expressions you'll need to create should
probably look like:
(mem:SI (plus:SI (unspec:SI [(reg:HI fs)] SEGREF) (reg:SI var)))
After getting GCC to generate expressions like these, then it's a
realtively simple case of modifying ix86_decompose_address() to handle
the unspec. You might also need to change other backend code for
handling addresses.
Ross Ridge
Thanks for your precisions.
--
RÃmy Saissy JabberID: remy.saissy@jabber.fr
Web: http://remysaissy.free.fr
"L'homme qui a le plus vÃcu n'est pas celui qui a comptà le plus d'annÃes,
mais celui qui a le plus senti la vie."
J.-J. Rousseau, Emile.