+Sun Feb 21 13:15:40 1999 Richard Henderson <rth@cygnus.com>
+
+ * regmove.c (discover_flags_reg): Remove cc0 code.
+ (mark_flags_life_zones) [HAVE_cc0]: Force use of cc0; bail if
+ a potential flags register was identified.
+
Sat Feb 20 16:16:07 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* rs6000.md (scc plus ltu): Fix typo in last change.
return pc_rtx;
found = (GET_CODE (tmp) == REG && REGNO (tmp) < FIRST_PSEUDO_REGISTER);
-#ifdef HAVE_cc0
- /* If we're cc0, and we found a potential flags reg, bail. */
- return (found ? pc_rtx : cc0_rtx);
-#else
return (found ? tmp : NULL_RTX);
-#endif
}
return pc_rtx;
int flags_nregs;
int block;
+#ifdef HAVE_cc0
+ /* If we found a flags register on a cc0 host, bail. */
+ if (flags == NULL_RTX)
+ flags = cc0_rtx;
+ else if (flags != cc0_rtx)
+ flags = pc_rtx;
+#endif
+
/* Simple cases first: if no flags, clear all modes. If confusing,
mark the entire function as being in a flags shadow. */
if (flags == NULL_RTX || flags == pc_rtx)