https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84010

--- Comment #16 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
Author: ebotcazou
Date: Wed Jan  9 14:41:55 2019
New Revision: 267773

URL: https://gcc.gnu.org/viewcvs?rev=267773&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-7-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-7-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-7-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-7-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-7-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-7-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-7-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-7-branch/gcc/ChangeLog
    branches/gcc-7-branch/gcc/config/sparc/sparc.c
    branches/gcc-7-branch/gcc/config/sparc/sparc.md
    branches/gcc-7-branch/gcc/testsuite/ChangeLog

Reply via email to