summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2001-03-01 16:48:44 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2001-03-01 16:48:44 +0000
commit2a170404aa29e06710962dc22a71c7c2a3ef561d (patch)
tree8cba6158f7030191db11d3ad10ec7d90082a11c6
parent8de12924a5ed51ac22986d7748499e8405669ea8 (diff)
downloadppe42-gcc-2a170404aa29e06710962dc22a71c7c2a3ef561d.tar.gz
ppe42-gcc-2a170404aa29e06710962dc22a71c7c2a3ef561d.zip
* pa.c (emit_move_sequence): Verify operand0 is a hard register
before determining its register class. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40160 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/pa/pa.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0247ae2b117..cafcc01b386 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Thu Mar 1 09:49:58 2001 Jeffrey A Law (law@cygnus.com)
+
+ * pa.c (emit_move_sequence): Verify operand0 is a hard register
+ before determining its register class.
+
2001-03-01 Bernd Schmidt <bernds@redhat.com>
* config/ia64/ia64.c (ia64_hard_regno_rename_ok): Disallow renaming
diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c
index a938074397d..878635fa037 100644
--- a/gcc/config/pa/pa.c
+++ b/gcc/config/pa/pa.c
@@ -1336,8 +1336,9 @@ emit_move_sequence (operands, mode, scratch_reg)
return 1;
}
/* Handle secondary reloads for SAR. These occur when trying to load
- the SAR from memory a FP register, or with a constant. */
+ the SAR from memory, FP register, or with a constant. */
else if (GET_CODE (operand0) == REG
+ && REGNO (operand0) < FIRST_PSEUDO_REGISTER
&& REGNO_REG_CLASS (REGNO (operand0)) == SHIFT_REGS
&& (GET_CODE (operand1) == MEM
|| GET_CODE (operand1) == CONST_INT
OpenPOWER on IntegriCloud