reload.c (find_reloads): Do not force a reloads of match_operators.
authorJeff Law <law@gcc.gnu.org>
Thu, 28 May 1998 11:59:30 +0000 (05:59 -0600)
committerJeff Law <law@gcc.gnu.org>
Thu, 28 May 1998 11:59:30 +0000 (05:59 -0600)
8
        * reload.c (find_reloads): Do not force a reloads of match_operators.

From-SVN: r20122

gcc/reload.c

index 8bfcbedd0a7c2b83338de907e12f9804863dc9df..694c23601b62f7119a2cc2f9c544c607a948cc4c 100644 (file)
@@ -2763,8 +2763,9 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p)
          int earlyclobber = 0;
 
          /* If the predicate accepts a unary operator, it means that
-             we need to reload the operand.  */
-         if (GET_RTX_CLASS (GET_CODE (operand)) == '1')
+             we need to reload the operand, but do not do this for
+            match_operator and friends.  */
+         if (GET_RTX_CLASS (GET_CODE (operand)) == '1' && *p != 0)
            operand = XEXP (operand, 0);
 
          /* If the operand is a SUBREG, extract