http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55142
--- Comment #17 from H.J. Lu <hjl.tools at gmail dot com> 2012-11-01 23:07:06 UTC --- T(In reply to comment #16) > > I think the bug is in unsigned array index computation as > > shown in Comment 7. dyn->d_tag is signed type and Pmode > > != ptr_mode here. > > Possibly, you must be extra careful with these kinds of awkward setups. We > already had similar issues in the past (MEM_REF expansion on SPARC64, array > indexes on IA-64/VMS) but the bugs were in the RTL expansion. I'll dig. I agree. It is a pain to work with Pmode == DImode and ptr_mode == SImode for x32. On the other hand, it does expose many issues in middle-end as well as in backend.