This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PATCH: PR target/49860: [x32] Error: cannot represent relocation type BFD_RELOC_64 in x32 mode
On Wed, Jul 27, 2011 at 5:53 AM, Uros Bizjak <ubizjak@gmail.com> wrote:
> On Wed, Jul 27, 2011 at 2:44 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
>> On Wed, Jul 27, 2011 at 1:06 AM, Uros Bizjak <ubizjak@gmail.com> wrote:
>>> On Wed, Jul 27, 2011 at 6:31 AM, H.J. Lu <hongjiu.lu@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.