diff options
author | Nick Clifton <nickc@cygnus.com> | 1998-06-18 11:44:52 +0000 |
---|---|---|
committer | Nick Clifton <nickc@gcc.gnu.org> | 1998-06-18 11:44:52 +0000 |
commit | bf3ad1397654a3469e8481066d4d7a6b3ac2286e (patch) | |
tree | ad06d18ca37ee1038b2c2ce9f4ca26eb52b88240 /gcc | |
parent | f9df0a1d520372d709a60b9cc2f8890e38df6e35 (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/arm/thumb.h | 13 | ||||
-rw-r--r-- | gcc/config/arm/thumb.md | 2 |
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 |