Thanks for that about the MIPS and PA. Gosh now I feel rather silly, I remember doing something like this years and years ago in a company I was in at the time with MIPS and PowerPC but it was roll our own rather than gcc. Parameters were passed on stack at the size they were rather than widened to 64 as in N32 but callee save registers had to be saved as 64 bits wide - but it didn't matter much as there were lots of work registers. And we did have 64 bit longs with 32 bit pointers without any special problems with software even then. An interesting thing was we normally tried to separate registers holding pointers from those holding data in the call ABI. Sorry, I really had completely forgotten about it, I just don't know how all that work could have completely slipped my mind.

David McQuillan

On 06/03/2013 14:26, Jeff Law wrote:
On 03/06/2013 07:21 AM, paul_kon...@dell.com wrote:

On Mar 6, 2013, at 7:38 AM, David McQuillan wrote:

Have there been any implementations of gcc for a 32 bit pointer system where the registers are 64 bits long?

MIPS (N32 ABI, and if you want, also O64) is another example.
The PA2.0 chips were commonly used in this manner as well when they were first delivered. It's referred to as "narrow" mode.

jeff


Reply via email to