On Sat, Mar 17, 2012 at 7:18 PM, H.J. Lu <hjl.to...@gmail.com> wrote:

>>> Since we must use reg64 in %fs:(%reg) memory operand like
>>>
>>> movq x@gottpoff(%rip),%reg64;
>>> mov %fs:(%reg64),%reg
>>>
>>> this patch optimizes x32 TLS IE load and store by wrapping
>>> %reg64 inside of UNSPEC when Pmode == SImode.  OK for
>>> trunk?
>>>
>>> Thanks.
>>>
>>> --
>>> H.J.
>>> ---
>>> 2012-03-11  H.J. Lu  <hongjiu...@intel.com>
>>>
>>>        * config/i386/i386.md (*tls_initial_exec_x32_load): New.
>>>        (*tls_initial_exec_x32_store): Likewise.
>>
>> Can you implement this with define_insn_and_split, like i.e.
>> *tls_dynamic_gnu2_combine_32 ?
>>
>
> I will give it a try again.  Last time when I tried it, GCC didn't
> like memory operand in DImode when Pmode == SImode.

You should remove mode for tls_symbolic_operand predicate.

Uros.

Reply via email to