From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jim Wilson To: Richard Henderson Cc: Donn Terry , "egcs@egcs.cygnus.com" , egcs-bugs@egcs.cygnus.com, Richard Kenner Subject: Re: Pointers Extend Unsigned Question Date: Fri, 30 Apr 1999 23:15:00 -0000 Message-ID: <199904292317.QAA27419@rtl.cygnus.com> References: <19990429133715.C4270@cygnus.com> X-SW-Source: 1999-04n/msg01069.html Message-ID: <19990430231500.c2yi8ck8C4XI7UjMXIwy0yVJYuPJK7OusiS3S3TMzyE@z> 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