Patchwork Commit: FR30: Fix building libgcc

login
register
mail settings
Submitter Nick Clifton
Date Aug. 17, 2012, 10:19 a.m.
Message ID <87ipchstv8.fsf@redhat.com>
Download mbox | patch
Permalink /patch/178184/
State New
Headers show

Comments

Nick Clifton - Aug. 17, 2012, 10:19 a.m.
Hi Guys,

  I am applying the patch below to fix building libgcc for the fr30-elf
  target.  The problem was that the comparison patterns were applying a
  mode to the operator which prevents them from matching rtl generated
  by the middle-end.

Cheers
  Nick

gcc/ChangeLog
2012-08-17  Nick Clifton  <nickc@redhat.com>

	* config/fr30/fr30.md  (cbranchsi4): Remove mode from
	comparison.
	(branch_true): Likewise.
	(branch_false): Likewise.

Patch

Index: gcc/config/fr30/fr30.md
===================================================================
--- gcc/config/fr30/fr30.md	(revision 190466)
+++ gcc/config/fr30/fr30.md	(working copy)
@@ -940,7 +940,7 @@ 
 	(compare:CC (match_operand:SI 1 "register_operand"  "")
 		    (match_operand:SI 2 "nonmemory_operand" "")))
    (set (pc)
-	(if_then_else (match_operator:CC 0 "ordered_comparison_operator"
+	(if_then_else (match_operator 0 "ordered_comparison_operator"
 		       [(reg:CC 16) (const_int 0)])
 		      (label_ref (match_operand 3 "" ""))
 		      (pc)))]
@@ -980,9 +980,9 @@ 
 
 (define_insn "*branch_true"
   [(set (pc)
-	(if_then_else (match_operator:CC 0 "comparison_operator"
-					 [(reg:CC 16)
-					  (const_int 0)])
+	(if_then_else (match_operator 0 "comparison_operator"
+				      [(reg:CC 16)
+				       (const_int 0)])
 		      (label_ref (match_operand 1 "" ""))
 		      (pc)))]
   ""
@@ -1034,9 +1034,9 @@ 
 ;; branch occurs if the test is false, so the %B operator is used.
 (define_insn "*branch_false"
   [(set (pc)
-	(if_then_else (match_operator:CC 0 "comparison_operator"
-					 [(reg:CC 16)
-					  (const_int 0)])
+	(if_then_else (match_operator 0 "comparison_operator"
+				      [(reg:CC 16)
+				       (const_int 0)])
 		      (pc)
 		      (label_ref (match_operand 1 "" ""))))]
   ""