* pa.c (emit_move_sequence): Verify operand0 is a hard register
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 1 Mar 2001 16:48:44 +0000 (16:48 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 1 Mar 2001 16:48:44 +0000 (16:48 +0000)
        before determining its register class.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40160 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/pa/pa.c

index 0247ae2..cafcc01 100644 (file)
@@ -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
index a938074..878635f 100644 (file)
@@ -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