This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Commit: FR30: Fix building libgcc
- From: Nick Clifton <nickc at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Fri, 17 Aug 2012 11:19:55 +0100
- Subject: Commit: FR30: Fix building libgcc
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.
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 "" ""))))]
""