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. Uros.