Index: gcc-4.6.4/gcc/df-problems.c
===================================================================
--- gcc-4.6.4.orig/gcc/df-problems.c	2014-05-09 14:57:26.589493212 -0400
+++ gcc-4.6.4/gcc/df-problems.c	2014-05-09 14:57:26.589493212 -0400
@@ -4037,6 +4037,9 @@
 	  if (bitmap_intersect_p (merge_set, test_use)
 	      || bitmap_intersect_p (merge_use, test_set))
 	    break;
+#ifdef HAVE_cc0
+   if (!sets_cc0_p (insn))
+#endif
 	  max_to = insn;
 	}
       next = NEXT_INSN (insn);
@@ -4074,7 +4077,11 @@
     {
       if (NONDEBUG_INSN_P (insn))
 	{
-	  if (!bitmap_intersect_p (test_set, local_merge_live))
+   if (!bitmap_intersect_p (test_set, local_merge_live)
+#ifdef HAVE_cc0
+       && !sets_cc0_p (insn)
+#endif
+       )
 	    {
 	      max_to = insn;
 	      break;
