Pointers Extend Unsigned Question
Jim Wilson
wilson@cygnus.com
Fri Apr 30 23:15:00 GMT 1999
The only other target I can think of where this should be a problem
is a mips3 target running in 64-bit mode with 32-bit pointers. I
don't know if anyone actually uses such a configuration in practice.
I suspect that normally the chip is simply put into 32-bit mode.
The default irix6 ABI (n32) uses 32-bit pointers in 64-bit mode.
The mips backend however always sign extends 4-byte values, regardless of
type, so we shouldn't see this problem for a mips target. This happens
primarily via TRULY_NOOP_TRUNCATION and the truncate patterns in the md file.
The alpha port doesn't use TRULY_NOOP_TRUNCATION. It uses different
mechanisms to get a similar effect. The alpha way is probably better in some
ways. My recollection though is that the 32-bit alpha port wasn't stable until
after most of the intial irix6 porting work was done, so I ended up using
different methods than what Kenner invented for the 32-bit alpha port.
Jim
More information about the Gcc-bugs
mailing list