i386.c (ix86_decompose_address): Use DEFAULT_TLS_SEG_REG to access TLS segment register.
* config/i386/i386.c (ix86_decompose_address): Use DEFAULT_TLS_SEG_REG to access TLS segment register. * config/i386/i386.h (DEFAULT_TLS_SEG_REG): New define. * config/i386/rdos.h (DEFAULT_TLS_SEG_REG): Ditto. (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): Ditto. From-SVN: r198948
This commit is contained in:
parent
4722d00530
commit
b8b3f0ca0f
4 changed files with 19 additions and 2 deletions
|
@ -1,3 +1,11 @@
|
|||
2013-05-15 Leif Ekblad <leif@rdos.net>
|
||||
|
||||
* config/i386/i386.c (ix86_decompose_address): Use
|
||||
DEFAULT_TLS_SEG_REG to access TLS segment register.
|
||||
* config/i386/i386.h (DEFAULT_TLS_SEG_REG): New define.
|
||||
* config/i386/rdos.h (DEFAULT_TLS_SEG_REG): Ditto.
|
||||
(TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): Ditto.
|
||||
|
||||
2013-05-15 Richard Sandiford <rdsandiford@googlemail.com>
|
||||
|
||||
PR target/57260
|
||||
|
|
|
@ -11698,7 +11698,7 @@ ix86_decompose_address (rtx addr, struct ix86_address *out)
|
|||
if (XINT (op, 1) == UNSPEC_TP
|
||||
&& TARGET_TLS_DIRECT_SEG_REFS
|
||||
&& seg == SEG_DEFAULT)
|
||||
seg = TARGET_64BIT ? SEG_FS : SEG_GS;
|
||||
seg = DEFAULT_TLS_SEG_REG;
|
||||
else
|
||||
return 0;
|
||||
break;
|
||||
|
@ -13650,7 +13650,7 @@ ix86_delegitimize_tls_address (rtx orig_x)
|
|||
if (GET_CODE (x) != PLUS || GET_MODE (x) != Pmode)
|
||||
return orig_x;
|
||||
if (ix86_decompose_address (x, &addr) == 0
|
||||
|| addr.seg != (TARGET_64BIT ? SEG_FS : SEG_GS)
|
||||
|| addr.seg != DEFAULT_TLS_SEG_REG
|
||||
|| addr.disp == NULL_RTX
|
||||
|| GET_CODE (addr.disp) != CONST)
|
||||
return orig_x;
|
||||
|
|
|
@ -543,6 +543,9 @@ extern tree x86_mfence;
|
|||
/* The default abi used by target. */
|
||||
#define DEFAULT_ABI SYSV_ABI
|
||||
|
||||
/* The default TLS segment register used by target. */
|
||||
#define DEFAULT_TLS_SEG_REG (TARGET_64BIT ? SEG_FS : SEG_GS)
|
||||
|
||||
/* Subtargets may reset this to 1 in order to enable 96-bit long double
|
||||
with the rounding mode forced to 53 bits. */
|
||||
#define TARGET_96_ROUND_53_LONG_DOUBLE 0
|
||||
|
|
|
@ -21,6 +21,12 @@ along with GCC; see the file COPYING3. If not see
|
|||
#undef TARGET_EXECUTABLE_SUFFIX
|
||||
#define TARGET_EXECUTABLE_SUFFIX ".exe"
|
||||
|
||||
#undef TARGET_TLS_DIRECT_SEG_REFS_DEFAULT
|
||||
#define TARGET_TLS_DIRECT_SEG_REFS_DEFAULT MASK_TLS_DIRECT_SEG_REFS
|
||||
|
||||
#undef DEFAULT_TLS_SEG_REG
|
||||
#define DEFAULT_TLS_SEG_REG SEG_GS
|
||||
|
||||
#undef TARGET_RDOS
|
||||
#define TARGET_RDOS 1
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue