aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/arm/arm.h12
2 files changed, 12 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4ca5d51..47ba745 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Thu Jun 25 09:54:55 1998 Nick Clifton <nickc@cygnus.com>
+
+ * config/arm/arm.h (REG_ALLOC_ORDER): Add ARG_POINTER_REGNUM,
+ noticed by grahams@rcp.co.uk.
+
Thu Jun 25 11:12:29 1998 Dave Brolley <brolley@cygnus.com>
* gcc.c (default_compilers): Use new | syntax to eliminate
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
index 4aeca61..2ac9a3a 100644
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -759,12 +759,12 @@ extern int arm_arch4;
least likely to contain a function parameter; in addition results are
returned in r0.
*/
-#define REG_ALLOC_ORDER \
+#define REG_ALLOC_ORDER \
{ \
- 3, 2, 1, 0, 12, 14, 4, 5, \
- 6, 7, 8, 10, 9, 11, 13, 15, \
+ 3, 2, 1, 0, 12, 14, 4, 5, \
+ 6, 7, 8, 10, 9, 11, 13, 15, \
16, 17, 18, 19, 20, 21, 22, 23, \
- 24, 25 \
+ 24, 25, 26 \
}
/* Register and constant classes. */
@@ -1408,7 +1408,9 @@ do \
&& INTVAL (op) <= 31) \
goto LABEL; \
} \
- range = (MODE) == HImode ? (arm_arch4 ? 256 : 4095) : 4096; \
+ /* NASTY: Since this limits the addressing of unsigned byte loads */ \
+ range = ((MODE) == HImode || (MODE) == QImode) \
+ ? (arm_arch4 ? 256 : 4095) : 4096; \
if (code == CONST_INT && INTVAL (INDEX) < range \
&& INTVAL (INDEX) > -range) \
goto LABEL; \