re PR target/54760 ([SH] Add __builtin_thread_pointer, __builtin_set_thread_pointer)
authorOleg Endo <olegendo@gcc.gnu.org>
Sat, 6 Oct 2012 11:20:11 +0000 (11:20 +0000)
committerOleg Endo <olegendo@gcc.gnu.org>
Sat, 6 Oct 2012 11:20:11 +0000 (11:20 +0000)
commit7d11d29699c11ca758857a52003dcb016203eaef
tree42bb03df06926f4752add2e251b0fb87c82692e8
parentd6a5e81d74f9c17f0de3f5ab1a9c817381eec7e8
re PR target/54760 ([SH] Add __builtin_thread_pointer, __builtin_set_thread_pointer)

PR target/54760
* config/sh/sh.md (define_constants): Add UNSPECV_GBR.
(get_thread_pointer, set_thread_pointer): New expanders.
(load_gbr): Rename to store_gbr.  Remove GBR_REG use.
(store_gbr): New insn.
* config/sh/sh.c (prepare_move_operands): Use gen_store_gbr instead of
gen_load_gbr in TLS_MODEL_LOCAL_EXEC case.
(sh1_builtin_p): New function.
(signature_args): Add SH_BLTIN_VP.
(bdesc): Add __builtin_thread_pointer and __builtin_set_thread_pointer.

PR target/54760
* gcc.target/sh/pr54760-1.c: New.

From-SVN: r192155
gcc/ChangeLog
gcc/config/sh/sh.c
gcc/config/sh/sh.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/sh/pr54760-1.c [new file with mode: 0644]