aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2003-11-07 10:26:06 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2003-11-07 09:26:06 +0000
commitd7222e384ab020a74190788f60e1b5622a8c63ea (patch)
tree55278da46ec9131c12087b8b142eb1a534d1bdca
parent235d0d663cb41ec10f6946352a9ad827e851334e (diff)
downloadgcc-d7222e384ab020a74190788f60e1b5622a8c63ea.zip
gcc-d7222e384ab020a74190788f60e1b5622a8c63ea.tar.gz
gcc-d7222e384ab020a74190788f60e1b5622a8c63ea.tar.bz2
i386.c (x86_64_sign_extended_value): Return false from tls variables.
* i386.c (x86_64_sign_extended_value): Return false from tls variables. (x86_64_zero_extended_value): likewise. From-SVN: r73334
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/i386/i386.c6
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 565c30a..b990bc5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2003-11-07 Jan Hubicka <jh@suse.cz>
+
+ * i386.c (x86_64_sign_extended_value): Return false from tls variables.
+ (x86_64_zero_extended_value): likewise.
+
2003-11-07 Richard Sandiford <rsandifo@redhat.com>
* config/mips/mips.md (loadgp): Take $25 as a second operand.
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 8e8785a..744f521 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -4473,6 +4473,9 @@ x86_64_sign_extended_value (rtx value)
library. Don't count TLS SYMBOL_REFs here, since they should fit
only if inside of UNSPEC handled below. */
case SYMBOL_REF:
+ /* TLS symbols are not constant. */
+ if (tls_symbolic_operand (value, Pmode))
+ return false;
return (ix86_cmodel == CM_SMALL || ix86_cmodel == CM_KERNEL);
/* For certain code models, the code is near as well. */
@@ -4578,6 +4581,9 @@ x86_64_zero_extended_value (rtx value)
/* For certain code models, the symbolic references are known to fit. */
case SYMBOL_REF:
+ /* TLS symbols are not constant. */
+ if (tls_symbolic_operand (value, Pmode))
+ return false;
return ix86_cmodel == CM_SMALL;
/* For certain code models, the code is near as well. */