summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4>2004-06-23 10:39:50 +0000
committerrearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4>2004-06-23 10:39:50 +0000
commit42da0a294213ba2fd637f5302c450db756e0f9ce (patch)
treeca9e926d7ce307ef13d78ece0fb0fa473380de14
parent1e6242a4a89f1f17082e7d3316c243a8cbb33dbb (diff)
downloadppe42-gcc-42da0a294213ba2fd637f5302c450db756e0f9ce.tar.gz
ppe42-gcc-42da0a294213ba2fd637f5302c450db756e0f9ce.zip
PR target/15927
* arm.h (THUMB_SECONDARY_OUTPUT_RELOAD_CLASS): Don't need a secondary reload if CLASS is BASE_REGS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83548 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/arm/arm.h2
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8bcc51ea9cb..534cfae2cae 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2004-06-23 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/15927
+ * arm.h (THUMB_SECONDARY_OUTPUT_RELOAD_CLASS): Don't need a secondary
+ reload if CLASS is BASE_REGS.
+
2004-06-23 Richard Sandiford <rsandifo@redhat.com>
* gengtype-yacc.y (option): Avoid use of non-constant struct
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
index 21a5d60d8c1..736934b35a4 100644
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -1322,7 +1322,7 @@ enum reg_class
: NO_REGS)
#define THUMB_SECONDARY_OUTPUT_RELOAD_CLASS(CLASS, MODE, X) \
- ((CLASS) != LO_REGS \
+ ((CLASS) != LO_REGS && (CLASS) != BASE_REGS \
? ((true_regnum (X) == -1 ? LO_REGS \
: (true_regnum (X) + HARD_REGNO_NREGS (0, MODE) > 8) ? LO_REGS \
: NO_REGS)) \
OpenPOWER on IntegriCloud