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: simple question


> Date: Fri, 15 Oct 1999 03:34:22 -0500 (EST)
> From: Lynn Winebarger <owinebar@free-expression.org>

> How are 48-bit pointers for the i386 represented in RTL?  If they're
> never generated by gcc, how _would_ they look? (I'm looking at
> disassembled code to translate to RTL)

A simple question, ha!  Say you have:

es = x;
ax = y;
[es:ax] = z;

In RTL this is:

(set (reg 1) (mem (symref x)))
(set (reg 2) (mem (symref y)))
(set (mem (plus (shiftl (reg 1) (const_int <whatever>))
		(reg 2)))
     (mem (symref z)))

and you realize that Pmode is 64 bits now.  You have to crack the rtl
down to valid operands and so forth, but you get the idea.  When you
do analysis on the memory addresses, you should be able to regenerate
the 32 bit values (if the code came from a compiler).

I look forward to seeing the GNU (de)re-compiler!


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