OSDN Git Service

8
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 28 May 1998 11:59:30 +0000 (11:59 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 28 May 1998 11:59:30 +0000 (11:59 +0000)
        * reload.c (find_reloads): Do not force a reloads of match_operators.

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

gcc/reload.c

index 8bfcbed..694c236 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