(notice_update_cc): Clear cc_status if it references a mem we are modifying.
authorStan Cox <coxs@gnu.org>
Fri, 29 Mar 1996 19:27:45 +0000 (19:27 +0000)
committerStan Cox <coxs@gnu.org>
Fri, 29 Mar 1996 19:27:45 +0000 (19:27 +0000)
From-SVN: r11643

gcc/config/i386/i386.c

index def1722..23882e4 100644 (file)
@@ -2922,9 +2922,11 @@ notice_update_cc (exp)
          && (REG_P (SET_SRC (exp))
              || GET_RTX_CLASS (GET_CODE (SET_SRC (exp))) == '<'))
        {
-         if (cc_status.value1 && GET_CODE (cc_status.value1) == MEM)
+         if (cc_status.value1 && GET_CODE (cc_status.value1) == MEM
+             || reg_mentioned_p (SET_DEST (exp), cc_status.value1))
            cc_status.value1 = 0;
-         if (cc_status.value2 && GET_CODE (cc_status.value2) == MEM)
+         if (cc_status.value2 && GET_CODE (cc_status.value2) == MEM
+             || reg_mentioned_p (SET_DEST (exp), cc_status.value2))
            cc_status.value2 = 0;
          return;
        }