On 26 February 2014 02:25, Andrew Pinski <apin...@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