https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91452
--- Comment #2 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> --- Author: rsandifo Date: Tue Oct 1 08:55:28 2019 New Revision: 276392 URL: https://gcc.gnu.org/viewcvs?rev=276392&root=gcc&view=rev Log: [AArch64] Use calls for SVE TLSDESC One (unintended) side effect of the patches to support multiple ABIs is that we can now represent tlsdesc calls as normal calls on SVE targets. This is likely to be handled more efficiently than clobber_high, and for example fixes the long-standing failure in gcc.target/aarch64/sve/tls_preserve_1.c. 2019-10-01 Richard Sandiford <richard.sandif...@arm.com> gcc/ PR target/91452 * config/aarch64/aarch64.h (ARM_PCS_TLSDESC): New arm_pcs. * config/aarch64/aarch64-protos.h (aarch64_tlsdesc_abi_id): Declare. * config/aarch64/aarch64.c (aarch64_hard_regno_call_part_clobbered): Handle ARM_PCS_TLSDESC. (aarch64_tlsdesc_abi_id): New function. * config/aarch64/aarch64.md (tlsdesc_small_sve_<mode>): Use a call rtx instead of a list of clobbers and clobber_highs. (tlsdesc_small_<mode>): Update accordingly. Modified: trunk/gcc/ChangeLog trunk/gcc/config/aarch64/aarch64-protos.h trunk/gcc/config/aarch64/aarch64.c trunk/gcc/config/aarch64/aarch64.h trunk/gcc/config/aarch64/aarch64.md