On Tue, Jul 26, 2011 at 7:50 PM, H.J. Lu <hjl.to...@gmail.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...@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? >> >> Please, can you test it on x32 first? I will commit it after >> bootstrap/regtest finish. >> > > It may need other changes for TLS support. I can update it > after your change is checked in. Committed with following ChangeLog: 2011-07-26 Uros Bizjak <ubiz...@gmail.com> H.J. Lu <hongjiu...@intel.com> PR target/47369 PR target/49853 * config/i386/i386.c (ix86_expand_move): Call convert_to_mode if legitimize_tls_address returned operand in wrong mode. Allow SImode and DImode symbolic operand for PIC. Call convert_to_mode if legitimize_pic_address returned operand in wrong mode. Tested on x86_64-pc-linux-gnu {,-m32}. Uros.