#define TARGET_SECONDARY_RELOAD xtensa_secondary_reload
#undef TARGET_HAVE_TLS
-#define TARGET_HAVE_TLS (TARGET_THREADPTR && HAVE_AS_TLS)
+#define TARGET_HAVE_TLS HAVE_AS_TLS
#undef TARGET_CANNOT_FORCE_CONST_MEM
#define TARGET_CANNOT_FORCE_CONST_MEM xtensa_cannot_force_const_mem
static bool
xtensa_tls_symbol_p (rtx x)
{
- if (! TARGET_HAVE_TLS)
+ if (! targetm.have_tls)
return false;
return GET_CODE (x) == SYMBOL_REF && SYMBOL_REF_TLS_MODEL (x) != 0;
bool
xtensa_tls_referenced_p (rtx x)
{
- if (! TARGET_HAVE_TLS)
+ if (! targetm.have_tls)
return false;
subrtx_iterator::array_type array;
if (xtensa_windowed_abi == -1)
xtensa_windowed_abi = TARGET_WINDOWED_ABI_DEFAULT;
+ if (! TARGET_THREADPTR)
+ targetm.have_tls = false;
+
/* Use CONST16 in the absence of L32R.
Set it in the TARGET_OPTION_OVERRIDE to avoid dependency on xtensa
configuration in the xtensa-common.c */