aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKazu Hirata <kazu@cs.umass.edu>2003-03-22 15:22:37 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2003-03-22 15:22:37 +0000
commitc8fcf20ce6259bb102901de9df6c999afb3bc0fe (patch)
tree26d49ee3237b9642987191409917528da8b333b6
parent21c0e624bb893216833cff2469137843ed9e8566 (diff)
downloadgcc-c8fcf20ce6259bb102901de9df6c999afb3bc0fe.zip
gcc-c8fcf20ce6259bb102901de9df6c999afb3bc0fe.tar.gz
gcc-c8fcf20ce6259bb102901de9df6c999afb3bc0fe.tar.bz2
h8300.c (notice_update_cc): Correctly handle the case where the set destination is STRICT_LOW_PART.
* config/h8300/h8300.c (notice_update_cc): Correctly handle the case where the set destination is STRICT_LOW_PART. From-SVN: r64711
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/h8300/h8300.c9
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: