https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84010
--- Comment #15 from Eric Botcazou <ebotcazou at gcc dot gnu.org> --- Author: ebotcazou Date: Wed Jan 9 14:39:18 2019 New Revision: 267772 URL: https://gcc.gnu.org/viewcvs?rev=267772&root=gcc&view=rev Log: PR target/84010 * config/sparc/sparc.c (sparc_legitimize_tls_address): Only use Pmode consistently in TLS address generation and adjust code to the renaming of patterns. Mark calls to __tls_get_addr as const. * config/sparc/sparc.md (tgd_hi22): Turn into... (tgd_hi22<P:mode>): ...this and use Pmode throughout. (tgd_lo10): Turn into... (tgd_lo10<P:mode>): ...this and use Pmode throughout. (tgd_add32): Merge into... (tgd_add64): Likewise. (tgd_add<P:mode>): ...this and use Pmode throughout. (tldm_hi22): Turn into... (tldm_hi22<P:mode>): ...this and use Pmode throughout. (tldm_lo10): Turn into... (tldm_lo10<P:mode>): ...this and use Pmode throughout. (tldm_add32): Merge into... (tldm_add64): Likewise. (tldm_add<P:mode>): ...this and use Pmode throughout. (tldm_call32): Merge into... (tldm_call64): Likewise. (tldm_call<P:mode>): ...this and use Pmode throughout. (tldo_hix22): Turn into... (tldo_hix22<P:mode>): ...this and use Pmode throughout. (tldo_lox10): Turn into... (tldo_lox10<P:mode>): ...this and use Pmode throughout. (tldo_add32): Merge into... (tldo_add64): Likewise. (tldo_add<P:mode>): ...this and use Pmode throughout. (tie_hi22): Turn into... (tie_hi22<P:mode>): ...this and use Pmode throughout. (tie_lo10): Turn into... (tie_lo10<P:mode>): ...this and use Pmode throughout. (tie_ld64): Use DImode throughout. (tie_add32): Merge into... (tie_add64): Likewise. (tie_add<P:mode>): ...this and use Pmode throughout. (tle_hix22_sp32): Merge into... (tle_hix22_sp64): Likewise. (tle_hix22<P:mode>): ...this and use Pmode throughout. (tle_lox22_sp32): Merge into... (tle_lox22_sp64): Likewise. (tle_lox22<P:mode>): ...this and use Pmode throughout. (*tldo_ldub_sp32): Merge into... (*tldo_ldub_sp64): Likewise. (*tldo_ldub<P:mode>): ...this and use Pmode throughout. (*tldo_ldub1_sp32): Merge into... (*tldo_ldub1_sp64): Likewise. (*tldo_ldub1<P:mode>): ...this and use Pmode throughout. (*tldo_ldub2_sp32): Merge into... (*tldo_ldub2_sp64): Likewise. (*tldo_ldub2<P:mode>): ...this and use Pmode throughout. (*tldo_ldsb1_sp32): Merge into... (*tldo_ldsb1_sp64): Likewise. (*tldo_ldsb1<P:mode>): ...this and use Pmode throughout. (*tldo_ldsb2_sp32): Merge into... (*tldo_ldsb2_sp64): Likewise. (*tldo_ldsb2<P:mode>): ...this and use Pmode throughout. (*tldo_ldub3_sp64): Use DImode throughout. (*tldo_ldsb3_sp64): Likewise. (*tldo_lduh_sp32): Merge into... (*tldo_lduh_sp64): Likewise. (*tldo_lduh<P:mode>): ...this and use Pmode throughout. (*tldo_lduh1_sp32): Merge into... (*tldo_lduh1_sp64): Likewise. (*tldo_lduh1<P:mode>): ...this and use Pmode throughout. (*tldo_ldsh1_sp32): Merge into... (*tldo_ldsh1_sp64): Likewise. (*tldo_ldsh1<P:mode>): ...this and use Pmode throughout. (*tldo_lduh2_sp64): Use DImode throughout. (*tldo_ldsh2_sp64): Likewise. (*tldo_lduw_sp32): Merge into... (*tldo_lduw_sp64): Likewise. (*tldo_lduw<P:mode>): ...this and use Pmode throughout. (*tldo_lduw1_sp64): Use DImode throughout. (*tldo_ldsw1_sp64): Likewise. (*tldo_ldx_sp64): Likewise. (*tldo_stb_sp32): Merge into... (*tldo_stb_sp64): Likewise. (*tldo_stb<P:mode>): ...this and use Pmode throughout. (*tldo_sth_sp32): Merge into... (*tldo_sth_sp64): Likewise. (*tldo_sth<P:mode>): ...this and use Pmode throughout. (*tldo_stw_sp32): Merge into... (*tldo_stw_sp64): Likewise. (*tldo_stw<P:mode>): ...this and use Pmode throughout. (*tldo_stx_sp64): Use DImode throughout. Added: branches/gcc-8-branch/gcc/testsuite/gcc.target/sparc/tls-ld-int16.c - copied unchanged from r267771, trunk/gcc/testsuite/gcc.target/sparc/tls-ld-int16.c branches/gcc-8-branch/gcc/testsuite/gcc.target/sparc/tls-ld-int32.c - copied unchanged from r267771, trunk/gcc/testsuite/gcc.target/sparc/tls-ld-int32.c branches/gcc-8-branch/gcc/testsuite/gcc.target/sparc/tls-ld-int64.c - copied unchanged from r267771, trunk/gcc/testsuite/gcc.target/sparc/tls-ld-int64.c branches/gcc-8-branch/gcc/testsuite/gcc.target/sparc/tls-ld-int8.c - copied unchanged from r267771, trunk/gcc/testsuite/gcc.target/sparc/tls-ld-int8.c branches/gcc-8-branch/gcc/testsuite/gcc.target/sparc/tls-ld-uint16.c - copied unchanged from r267771, trunk/gcc/testsuite/gcc.target/sparc/tls-ld-uint16.c branches/gcc-8-branch/gcc/testsuite/gcc.target/sparc/tls-ld-uint32.c - copied unchanged from r267771, trunk/gcc/testsuite/gcc.target/sparc/tls-ld-uint32.c branches/gcc-8-branch/gcc/testsuite/gcc.target/sparc/tls-ld-uint8.c - copied unchanged from r267771, trunk/gcc/testsuite/gcc.target/sparc/tls-ld-uint8.c Modified: branches/gcc-8-branch/gcc/ChangeLog branches/gcc-8-branch/gcc/config/sparc/sparc.c branches/gcc-8-branch/gcc/config/sparc/sparc.md branches/gcc-8-branch/gcc/testsuite/ChangeLog