diff options
Diffstat (limited to 'gcc')
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/config/h8300/h8300.c | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6916ab9eb6d..59fc8beb581 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2002-02-18 Kazu Hirata <kazu@hxi.com> + * config/h8300/h8300.c (notice_update_cc): Use + cc_status.value2. + +2002-02-18 Kazu Hirata <kazu@hxi.com> + * config/h8300/h8300.md (divmod patterns): Change the constraints for operands[1] to register_operand. 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: |

