S/390: Use UNSPEC_GET_TP for thread pointer loads
commit8f4f98f617c117919ccf0abc324eb2e431e8e0b0
authorIlya Leoshkevich <iii@linux.ibm.com>
Thu, 24 Oct 2019 09:00:41 +0000 (24 09:00 +0000)
committerIlya Leoshkevich <iii@gcc.gnu.org>
Thu, 24 Oct 2019 09:00:41 +0000 (24 09:00 +0000)
tree64b72db40707a01c1e287c0ece7f7ba2c7e84cd9
parentd136595df77f75bc6e5132e26f09cad031f38c71
S/390: Use UNSPEC_GET_TP for thread pointer loads

gcc/ChangeLog:

2019-10-24  Ilya Leoshkevich  <iii@linux.ibm.com>

* config/s390/s390.c (s390_get_thread_pointer): Use
gen_get_thread_pointer.
(s390_expand_split_stack_prologue): Likewise.
* config/s390/s390.md (UNSPEC_GET_TP): New UNSPEC.
(*get_tp_31): New 31-bit splitter for UNSPEC_GET_TP.
(*get_tp_64): New 64-bit splitter for UNSPEC_GET_TP.
(get_thread_pointer<mode>): Use UNSPEC_GET_TP, use
parameterized name.

gcc/testsuite/ChangeLog:

2019-10-24  Ilya Leoshkevich  <iii@linux.ibm.com>

* gcc.target/s390/load-thread-pointer-once-2.c: New test.

From-SVN: r277368
gcc/ChangeLog
gcc/config/s390/s390.c
gcc/config/s390/s390.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/s390/load-thread-pointer-once-2.c [new file with mode: 0644]