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