aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOleg Endo <olegendo@gcc.gnu.org>2012-10-12 00:45:36 +0000
committerOleg Endo <olegendo@gcc.gnu.org>2012-10-12 00:45:36 +0000
commit0b6222533e0a76c09f10d5002717bba1a7136e0b (patch)
tree9267ba8733ecf30e2555dc1d5a4b13231bb49c6d
parentb4eca9c8df76d36dc7bb909424e0cc5a0d52d095 (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--gcc/config/sh/sh.c6
-rw-r--r--gcc/config/sh/sh.md4
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))]