aboutsummaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2020-01-21 14:09:53 -0800
committerH.J. Lu <hjl.tools@gmail.com>2020-01-21 14:10:02 -0800
commit8e0efc10335bf9bb447f2188254609dcfad7de8a (patch)
treec75b0405936dbf46d5100ebd622e8b1b98d22236 /libgcc
parentad09440a09597c34e0b93498aad9d6ef0b8ca9ae (diff)
downloadgcc-8e0efc10335bf9bb447f2188254609dcfad7de8a.zip
gcc-8e0efc10335bf9bb447f2188254609dcfad7de8a.tar.gz
gcc-8e0efc10335bf9bb447f2188254609dcfad7de8a.tar.bz2
i386: Do GNU2 TLS address computation in ptr_mode
Since GNU2 TLS address from glibc run-time is in ptr_mode, we should do GNU2 TLS address computation in ptr_mode and zero-extend result to Pmode. gcc/ PR target/93319 * config/i386/i386.c (ix86_tls_module_base): Replace Pmode with ptr_mode. (legitimize_tls_address): Do GNU2 TLS address computation in ptr_mode and zero-extend result to Pmode. * config/i386/i386.md (@tls_dynamic_gnu2_64_<mode>): Replace :P with :PTR and Pmode with ptr_mode. (*tls_dynamic_gnu2_lea_64_<mode>): Likewise. (*tls_dynamic_gnu2_call_64_<mode>): Likewise. (*tls_dynamic_gnu2_combine_64_<mode>): Likewise. gcc/testsuite/ PR target/93319 * gcc.target/i386/pr93319-1a.c: Don't include <stdio.h>. (test1): Replace printf with __builtin_printf.
Diffstat (limited to 'libgcc')
0 files changed, 0 insertions, 0 deletions