I've committed this patch to trunk to fix a cut-and-paste error in the Nios II backend that we've known about for a while, but we lost track of getting it fixed. Now mainline nios2 builds have started to fail because recent changes to rtl innards have added some extra error-checking that was not there before; previously the failure mode was to quietly generate long conditional branches everywhere instead of an ICE.

-Sandra


2014-05-14  Sandra Loosemore  <san...@codesourcery.com>

        gcc/
        * config/nios2/nios2.md (nios2_cbranch): Fix paste-o in
        length attribute computation.
Index: gcc/config/nios2/nios2.md
===================================================================
--- gcc/config/nios2/nios2.md	(revision 210403)
+++ gcc/config/nios2/nios2.md	(working copy)
@@ -877,8 +877,8 @@
   [(set_attr "type" "control")
    (set (attr "length") 
         (if_then_else
-	    (and (ge (minus (match_dup 1) (pc)) (const_int -32768))
-	         (le (minus (match_dup 1) (pc)) (const_int 32764)))
+	    (and (ge (minus (match_dup 3) (pc)) (const_int -32768))
+	         (le (minus (match_dup 3) (pc)) (const_int 32764)))
 	    (const_int 4) (const_int 8)))])
 
 ;; Floating point comparisons

Reply via email to