This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PATCH: PR target/49853: [x32] PIC doesn't work with external symbol
On Tue, Jul 26, 2011 at 10:26 AM, Uros Bizjak <ubizjak@gmail.com> wrote:
> On Tue, Jul 26, 2011 at 4:59 PM, H.J. Lu <hongjiu.lu@intel.com> wrote:
>
>> This patch fixes PIC with external symbol and updates
>> x86_64_immediate_operand/x86_64_zext_immediate_operand/x86_64_movabs_operand
>> for x32.
>
>> 2011-07-26 ?H.J. Lu ?<hongjiu.lu@intel.com>
>>
>> ? ? ? ?PR target/49853
>> ? ? ? ?* config/i386/i386.c (ix86_expand_move): Call convert_to_mode
>> ? ? ? ?on legitimize_tls_address return if needed. ?Allow ptr_mode for
>> ? ? ? ?symbolic operand with PIC.
>
> Eh... half of your patch is just an unnecessary rename of a temporary
> variable. See attached patch for a cleaned-up version.
It looks good to me. Can you check it in?
> Also, please use explicit DImode and SImode checks to match what
> ix86_legitimate_address_p does.
>
>> ? ? ? ?* config/i386/predicates.md (x86_64_immediate_operand): Always
>> ? ? ? ?allow the offsetted memory references for TARGET_X32.
>> ? ? ? ?(x86_64_zext_immediate_operand): Likewise.
>> ? ? ? ?(x86_64_movabs_operand): Don't allow nonmemory_operand for
>> ? ? ? ?TARGET_X32.
>
> Why? It is certainly not needed for -fPIC. Please provide a separate
> patch and testcase for predicates.md change.
>
I will submit them separately with some testcases after your patch
is checked in.
Thanks.
--
H.J.