From ff73fb53083105400e8c5bac8cee17e2580c9e3c Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Thu, 25 Jun 1998 09:55:35 +0000 Subject: [PATCH] Add ARG_POINTER_REGNUM to REG_ALLOC_ORDER From-SVN: r20713 --- gcc/ChangeLog | 5 +++++ gcc/config/arm/arm.h | 12 +++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4ca5d514abf..47ba7452b32 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Thu Jun 25 09:54:55 1998 Nick Clifton + + * 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 * gcc.c (default_compilers): Use new | syntax to eliminate diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h index 4aeca61d058..2ac9a3ad115 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; \