diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6916ab9eb6d..59fc8beb581 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-02-18 Kazu Hirata + + * config/h8300/h8300.c (notice_update_cc): Use + cc_status.value2. + 2002-02-18 Kazu Hirata * config/h8300/h8300.md (divmod patterns): Change the diff --git a/gcc/config/h8300/h8300.c b/gcc/config/h8300/h8300.c index eb573f38266..629539d2446 100644 --- a/gcc/config/h8300/h8300.c +++ b/gcc/config/h8300/h8300.c @@ -1434,6 +1434,9 @@ notice_update_cc (body, insn) if (cc_status.value1 != 0 && reg_overlap_mentioned_p (recog_data.operand[0], cc_status.value1)) cc_status.value1 = 0; + if (cc_status.value2 != 0 + && reg_overlap_mentioned_p (recog_data.operand[0], cc_status.value2)) + cc_status.value2 = 0; break; case CC_SET_ZN: @@ -1452,6 +1455,8 @@ notice_update_cc (body, insn) CC_STATUS_INIT; cc_status.flags |= CC_NO_CARRY; cc_status.value1 = recog_data.operand[0]; + if (GET_CODE (body) == SET && REG_P (SET_SRC (body))) + cc_status.value2 = SET_SRC (body); break; case CC_COMPARE: