This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PATCH: PR target/47715: [x32] TLS doesn't work


On Thu, Jul 28, 2011 at 7:42 AM, Uros Bizjak <ubizjak@gmail.com> wrote:
> On Thu, Jul 28, 2011 at 3:47 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
>
>>>>> TLS on X32 is almost identical to TLS on x86-64. ?The only difference is
>>>>> x32 address space is 32bit. ?That means TLS symbols can be in either
>>>>> SImode or DImode with upper 32bit zero. ?This patch updates
>>>>> tls_global_dynamic_64 to support x32. ?OK for trunk?
>>>
>>> Please also change 64bit GNU2_TLS patterns, so -mtls-dialect=gnu2 will
>>> also work. ?Please see attached patch.
>>>
>>
>> Yes, it works. ?Can you apply it?
>
> This is what I have committed:
>
> 2011-07-28 ?Uros Bizjak ?<ubizjak@gmail.com>
>
> ? ? ? ?PR target/47715
> ? ? ? ?* config/i386/i386.md (*tls_global_dynamic_64): Remove mode from
> ? ? ? ?tls_symbolic_operand check. ?Update code sequence for TARGET_X32.
> ? ? ? ?(tls_global_dynamic_64): Remove mode from tls_symbolic_operand check.
> ? ? ? ?(tls_dynamic_gnu2_64): Ditto.
> ? ? ? ?(*tls_dynamic_gnu2_lea_64): Ditto.
> ? ? ? ?(*tls_dynamic_gnu2_call_64): Ditto.
> ? ? ? ?(*tls_dynamic_gnu2_combine_64): Ditto.
>

It looks good.  I will check in

@@ -12341,15 +12345,16 @@
   return "call\t%P2";
 }
   [(set_attr "type" "multi")
-   (set_attr "length" "16")])
+   (set (attr "length")
+	(symbol_ref "TARGET_X32 ? 15 : 16"))])

since x32 is one byte shorter now.

Thanks.

-- 
H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]