pa.c (emit_move_sequence): Verify operand0 is a hard register before determining...
authorJeffrey A Law <law@cygnus.com>
Thu, 1 Mar 2001 16:48:44 +0000 (16:48 +0000)
committerJeff Law <law@gcc.gnu.org>
Thu, 1 Mar 2001 16:48:44 +0000 (09:48 -0700)
        * pa.c (emit_move_sequence): Verify operand0 is a hard register
        before determining its register class.

From-SVN: r40160

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