aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/mips/mips.c14
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.target/mips/pr26765.c13
4 files changed, 31 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index cc1c2ef..710e414 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2006-05-04 Richard Sandiford <richard@codesourcery.com>
+
+ PR target/26765
+ * config/mips/mips.c (mips_symbolic_address_p): Return true
+ for SYMBOL_TLSGD, SYMBOL_TLSLDM, SYMBOL_DTPREL, SYMBOL_TPREL,
+ SYMBOL_GOTTPREL, and SYMBOL_TLS.
+
2006-05-04 Richard Guenther <rguenther@suse.de>
PR tree-optimization/14287
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index f66cdc2..600d512 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -1463,18 +1463,16 @@ mips_symbolic_address_p (enum mips_symbol_type symbol_type,
/* The address will have to be loaded from the GOT first. */
return false;
- case SYMBOL_TLSGD:
- case SYMBOL_TLSLDM:
- case SYMBOL_DTPREL:
- case SYMBOL_TPREL:
- case SYMBOL_GOTTPREL:
- case SYMBOL_TLS:
- return false;
-
case SYMBOL_GOTOFF_PAGE:
case SYMBOL_GOTOFF_GLOBAL:
case SYMBOL_GOTOFF_CALL:
case SYMBOL_GOTOFF_LOADGP:
+ case SYMBOL_TLS:
+ case SYMBOL_TLSGD:
+ case SYMBOL_TLSLDM:
+ case SYMBOL_DTPREL:
+ case SYMBOL_GOTTPREL:
+ case SYMBOL_TPREL:
case SYMBOL_64_HIGH:
case SYMBOL_64_MID:
case SYMBOL_64_LOW:
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 798df54..abc3b7d 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2006-05-04 Kazu Hirata <kazu@codesourcery.com>
+
+ PR target/26765
+ * gcc.target/mips/pr26765.c: New.
+
2005-05-04 Bernd Schmidt <bernd.schmidt@analog.com>
* gcc.target/bfin: New directory.
diff --git a/gcc/testsuite/gcc.target/mips/pr26765.c b/gcc/testsuite/gcc.target/mips/pr26765.c
new file mode 100644
index 0000000..0b70b56
--- /dev/null
+++ b/gcc/testsuite/gcc.target/mips/pr26765.c
@@ -0,0 +1,13 @@
+/* PR target/pr26765
+ This testcase used to trigger an unrecognizable insn. */
+
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+
+__thread int *a = 0;
+
+void foo (void)
+{
+ extern int *b;
+ b = (int *) ((*a));
+}