diff options
| author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-11-07 09:26:06 +0000 |
|---|---|---|
| committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-11-07 09:26:06 +0000 |
| commit | 0b9fdffbf54dd8295fb056ca507722f2419b2f60 (patch) | |
| tree | 55278da46ec9131c12087b8b142eb1a534d1bdca | |
| parent | b5d812b8cde254ba04e97ebe84243ebd9762bfe5 (diff) | |
| download | ppe42-gcc-0b9fdffbf54dd8295fb056ca507722f2419b2f60.tar.gz ppe42-gcc-0b9fdffbf54dd8295fb056ca507722f2419b2f60.zip | |
* i386.c (x86_64_sign_extended_value): Return false from tls variables.
(x86_64_zero_extended_value): likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73334 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/config/i386/i386.c | 6 |
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 565c30a472f..b990bc5c0a5 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 8e8785a2ac1..744f5213c9a 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. */ |

