[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