[PATCHv2/AARCH64 2/3] Fix TLS for ILP32.

Marcus Shawcroft marcus.shawcroft@gmail.com
Thu Feb 27 16:53:00 GMT 2014


On 26 February 2014 02:25, Andrew Pinski <apinski@cavium.com> wrote:
> Hi,
>   With ILP32, some simple usage of TLS variables causes an unrecognizable
> instruction due to needing to use SImode for loading pointers from memory.
> This fixes the three (tlsie_small, tlsle_small, tlsdesc_small) patterns to
> support SImode for pointers.  I modified them to be like what was done for
> the GOT patterns.
>
> OK?  Build and tested on aarch64-elf with no regressions.
>
> Thanks,
> Andrew Pinski
>
>         * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
>         Handle TLS for ILP32.
>         * config/aarch64/aarch64.md (tlsie_small): Rename to ...
>         (tlsie_small_<mode>): this and handle PTR.
>         (tlsie_small_sidi): New pattern.
>         (tlsle_small): Change to an expand to handle ILP32.
>         (tlsle_small_<mode>): New pattern.
>         (tlsdesc_small): Rename to ...
>         (tlsdesc_small_<mode>): this and handle PTR.

Thanks Andrew, this is OK for stage-1, but please fix Yufeng's layout nit.
/Marcus



More information about the Gcc-patches mailing list