aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@cygnus.co.uk>2000-01-22 19:42:34 +0000
committerNick Clifton <nickc@gcc.gnu.org>2000-01-22 19:42:34 +0000
commit37b80d2e0220b802ff4c122f700711dfad634bb6 (patch)
tree42e76b40d6e089b13662bc396f693d76d4495d7c
parent5787d8dadf6e244afc1d3e734f08f73af068dcfb (diff)
downloadgcc-37b80d2e0220b802ff4c122f700711dfad634bb6.zip
gcc-37b80d2e0220b802ff4c122f700711dfad634bb6.tar.gz
gcc-37b80d2e0220b802ff4c122f700711dfad634bb6.tar.bz2
catch a SUBREG containing a constant.
From-SVN: r31562
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/arm/arm.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a19dd4d..1b58f09 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2000-01-22 Bernd Schmidt <bernds@cygnus.co.uk>
+
+ * config/arm/arm.c (soft_df_operand): Reject SUBREGs containing a
+ constant.
+
2000-01-21 Jim Wilson <wilson@cygnus.com>
* fixinc/inclhack.tpl: Test for directory before trying to cd into it.
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index aa4801e..c3c5360 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -2307,6 +2307,9 @@ soft_df_operand (op, mode)
if (mode != VOIDmode && GET_MODE (op) != mode)
return FALSE;
+ if (GET_CODE (op) == SUBREG && CONSTANT_P (SUBREG_REG (op)))
+ return FALSE;
+
if (GET_CODE (op) == SUBREG)
op = SUBREG_REG (op);