+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
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
;;
;; 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")
"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))]