diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/h8300/h8300.c | 9 |
2 files changed, 13 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 593e4cf..2c52441 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2003-03-22 Kazu Hirata <kazu@cs.umass.edu> + + * config/h8300/h8300.c (notice_update_cc): Correctly handle + the case where the set destination is STRICT_LOW_PART. + 2003-03-22 Svein E. Seldal <Svein.Seldal@solidas.com> * config/c4x/t-c4x (INSTALL_LIBGCC): Make gcc recognize a c33 as a diff --git a/gcc/config/h8300/h8300.c b/gcc/config/h8300/h8300.c index 057d2ae..191bccc 100644 --- a/gcc/config/h8300/h8300.c +++ b/gcc/config/h8300/h8300.c @@ -1809,7 +1809,14 @@ notice_update_cc (body, insn) set = single_set (insn); cc_status.value1 = SET_SRC (set); if (SET_DEST (set) != cc0_rtx) - cc_status.value2 = SET_DEST (set); + { + /* If the destination is STRICT_LOW_PART, strip off + STRICT_LOW_PART. */ + if (GET_CODE (SET_DEST (set)) == STRICT_LOW_PART) + cc_status.value2 = XEXP (SET_DEST (set), 0); + else + cc_status.value2 = SET_DEST (set); + } break; case CC_COMPARE: |