h8300.c (notice_update_cc): Correctly handle the case where the set destination is...
authorKazu Hirata <kazu@cs.umass.edu>
Sat, 22 Mar 2003 15:22:37 +0000 (15:22 +0000)
committerKazu Hirata <kazu@gcc.gnu.org>
Sat, 22 Mar 2003 15:22:37 +0000 (15:22 +0000)
* config/h8300/h8300.c (notice_update_cc): Correctly handle
the case where the set destination is STRICT_LOW_PART.

From-SVN: r64711

gcc/ChangeLog
gcc/config/h8300/h8300.c

index 593e4cfe648d1ad301e0f1669df581dd59866aa2..2c52441eacc6902ca0d8d7837f1df8894e506cbd 100644 (file)
@@ -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
index 057d2ae2b2b0d03a779f871603c7fc2e42655857..191bccc27711d26f39504df604c49634152a6ba9 100644 (file)
@@ -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: