aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorNick Clifton <nickc@cygnus.com>1998-06-18 11:44:52 +0000
committerNick Clifton <nickc@gcc.gnu.org>1998-06-18 11:44:52 +0000
commitbf3ad1397654a3469e8481066d4d7a6b3ac2286e (patch)
treead06d18ca37ee1038b2c2ce9f4ca26eb52b88240 /gcc
parentf9df0a1d520372d709a60b9cc2f8890e38df6e35 (diff)
downloadgcc-bf3ad1397654a3469e8481066d4d7a6b3ac2286e.zip
gcc-bf3ad1397654a3469e8481066d4d7a6b3ac2286e.tar.gz
gcc-bf3ad1397654a3469e8481066d4d7a6b3ac2286e.tar.bz2
Imported fixes for testsuite failures from psion branch.
From-SVN: r20560
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/arm/thumb.h13
-rw-r--r--gcc/config/arm/thumb.md2
3 files changed, 17 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f0127ad..a170d27 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+Thu Jun 18 11:43:54 1998 Nick Clifton <nickc@cygnus.com>
+
+ * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow REG+REG
+ addressing when one register is the frame pointer or stack
+ pointer. Disallow REG+CONST addressing in HI mode.
+
Thu Jun 18 17:30:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
* reload.c (find_reloads): Don't narrow scope of RELOAD_OTHER to
diff --git a/gcc/config/arm/thumb.h b/gcc/config/arm/thumb.h
index 0d3051c..976fe78 100644
--- a/gcc/config/arm/thumb.h
+++ b/gcc/config/arm/thumb.h
@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler, for ARM/Thumb.
- Copyright (C) 19996, 1997, 1998 Free Software Foundation, Inc.
+ Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
The basis of this contribution was generated by
Richard Earnshaw, Advanced RISC Machines Ltd
@@ -900,8 +900,12 @@ int thumb_shiftable_const ();
if (GET_MODE_SIZE (MODE) <= 4 \
&& GET_CODE (XEXP (X, 0)) == REG \
&& GET_CODE (XEXP (X, 1)) == REG \
- && XEXP (X, 0) != frame_pointer_rtx \
- && XEXP (X, 1) != frame_pointer_rtx \
+ && XEXP (X, 0) != frame_pointer_rtx \
+ && XEXP (X, 1) != frame_pointer_rtx \
+ /* CYGNUS LOCAL nickc */ \
+ && XEXP (X, 0) != virtual_stack_vars_rtx \
+ && XEXP (X, 1) != virtual_stack_vars_rtx \
+ /* END CYGNUS LOCAL */ \
&& REG_OK_FOR_INDEX_P (XEXP (X, 0)) \
&& REG_OK_FOR_INDEX_P (XEXP (X, 1))) \
goto WIN; \
@@ -909,6 +913,9 @@ int thumb_shiftable_const ();
else if (GET_CODE (XEXP (X, 0)) == REG \
&& (REG_OK_FOR_INDEX_P (XEXP (X, 0)) \
|| XEXP (X, 0) == arg_pointer_rtx) \
+ /* CYGNUS LOCAL nickc */ \
+ && GET_MODE_SIZE (MODE) != 2 \
+ /* END CYGNUS LOCAL */ \
&& GET_CODE (XEXP (X, 1)) == CONST_INT \
&& LEGITIMATE_OFFSET (MODE, INTVAL (XEXP (X, 1)))) \
goto WIN; \
diff --git a/gcc/config/arm/thumb.md b/gcc/config/arm/thumb.md
index 2334aa1..65b92ce 100644
--- a/gcc/config/arm/thumb.md
+++ b/gcc/config/arm/thumb.md
@@ -1,5 +1,5 @@
;; thumb.md Machine description for ARM/Thumb processors
-;; Copyright (C) 19996, 1997, 1998 Free Software Foundation, Inc.
+;; Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
;; The basis of this contribution was generated by
;; Richard Earnshaw, Advanced RISC Machines Ltd