diff options
author | Oleg Endo <olegendo@gcc.gnu.org> | 2012-10-12 00:45:36 +0000 |
---|---|---|
committer | Oleg Endo <olegendo@gcc.gnu.org> | 2012-10-12 00:45:36 +0000 |
commit | 0b6222533e0a76c09f10d5002717bba1a7136e0b (patch) | |
tree | 9267ba8733ecf30e2555dc1d5a4b13231bb49c6d | |
parent | b4eca9c8df76d36dc7bb909424e0cc5a0d52d095 (diff) | |
download | gcc-0b6222533e0a76c09f10d5002717bba1a7136e0b.zip gcc-0b6222533e0a76c09f10d5002717bba1a7136e0b.tar.gz gcc-0b6222533e0a76c09f10d5002717bba1a7136e0b.tar.bz2 |
re PR target/54760 ([SH] Add __builtin_thread_pointer, __builtin_set_thread_pointer)
PR target/54760
* config/sh/sh.c (bdesc): Remove thread pointer built-ins.
* config/sh/sh.md (get_thread_pointer, set_thread_pointer): Append mode
name 'si'.
From-SVN: r192388
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/sh/sh.c | 6 | ||||
-rw-r--r-- | gcc/config/sh/sh.md | 4 |
3 files changed, 9 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 779c3bb..fec50a2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,12 @@ 2012-10-12 Oleg Endo <olegendo@gcc.gnu.org> + PR target/54760 + * config/sh/sh.c (bdesc): Remove thread pointer built-ins. + * config/sh/sh.md (get_thread_pointer, set_thread_pointer): Append mode + name 'si'. + +2012-10-12 Oleg Endo <olegendo@gcc.gnu.org> + PR target/51244 * config/sh/sh.md (negsi_cond, negdi_cond, stack_protect_test): Remove get_t_reg_rtx when invoking gen_branch_true or gen_branch_false. diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index b4bfa08..3e6fbdc 100644 --- a/gcc/config/sh/sh.c +++ b/gcc/config/sh/sh.c @@ -11815,12 +11815,6 @@ static struct builtin_description bdesc[] = CODE_FOR_byterev, "__builtin_sh_media_BYTEREV", SH_BLTIN_2, 0 }, { shmedia_builtin_p, CODE_FOR_prefetch, "__builtin_sh_media_PREFO", SH_BLTIN_PSSV, 0 }, - - { sh1_builtin_p, - CODE_FOR_get_thread_pointer, "__builtin_thread_pointer", SH_BLTIN_VP, 0 }, - { sh1_builtin_p, - CODE_FOR_set_thread_pointer, "__builtin_set_thread_pointer", - SH_BLTIN_PV, 0 }, }; static void diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md index dacabb7..0ff6aae 100644 --- a/gcc/config/sh/sh.md +++ b/gcc/config/sh/sh.md @@ -10210,7 +10210,7 @@ label: ;; ;; On SH the thread pointer is kept in the GBR. ;; These patterns are usually expanded from the respective built-in functions. -(define_expand "get_thread_pointer" +(define_expand "get_thread_pointersi" [(set (match_operand:SI 0 "register_operand") (reg:SI GBR_REG))] "TARGET_SH1") @@ -10221,7 +10221,7 @@ label: "stc gbr,%0" [(set_attr "type" "tls_load")]) -(define_expand "set_thread_pointer" +(define_expand "set_thread_pointersi" [(set (reg:SI GBR_REG) (unspec_volatile:SI [(match_operand:SI 0 "register_operand")] UNSPECV_GBR))] |