On Wed, Jul 27, 2011 at 5:53 AM, Uros Bizjak <ubiz...@gmail.com> wrote: > On Wed, Jul 27, 2011 at 2:44 PM, H.J. Lu <hjl.to...@gmail.com> wrote: >> On Wed, Jul 27, 2011 at 1:06 AM, Uros Bizjak <ubiz...@gmail.com> wrote: >>> On Wed, Jul 27, 2011 at 6:31 AM, H.J. Lu <hongjiu...@intel.com> wrote: >>> >>>> The offsetted memory references always work for x32. OK for trunk? >>> >>> No, this is the same issue as in [1]. Please fix the assembler to >>> zero-extend this relocation. >>> >> >> It is about address range. The offsetted memory references are for x32 >> since they are OK for TARGET_32BIT. There is no difference between >> TARGET_X32 and TARGET_32BIT on this. > > Pmode is still in DImode and DImode addresses are *valid* addresses. > For the testcase from PR, > expand generates SImode symbol that is later extended to DImode and > handled through movabs. > > Your patch just papers over this fact. Please see how > *movdi_internal_rex64 handles immediates. >
For the testcase in: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49860 my goal is to make TARGET_X32 to generate code very similar to TARGET_32BIT, except for r8-r15. How can we achieve that? Thanks. -- H.J.