diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2020-01-21 14:09:53 -0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2020-01-21 14:10:02 -0800 |
commit | 8e0efc10335bf9bb447f2188254609dcfad7de8a (patch) | |
tree | c75b0405936dbf46d5100ebd622e8b1b98d22236 /libgcc | |
parent | ad09440a09597c34e0b93498aad9d6ef0b8ca9ae (diff) | |
download | gcc-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