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 6:09 AM, Uros Bizjak <ubizjak@gmail.com> wrote:
> On Wed, Jul 27, 2011 at 3:00 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
>
>>> 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?
>
> Unless you can prevent DImode symbols in ix86_legitimate_constant_p, we can't.
>
This
subq $outbuf-4294967295, %rdx
comes from loop unrolling on ptr_mode and works in x32.
--
H.J.