[patch] sh: Move predicates to predicates.md.

Kaz Kojima kkojima@rr.iij4u.or.jp
Tue Apr 5 13:28:00 GMT 2005


Joern RENNECKE <joern.rennecke@st.com> wrote:
> Kazu Hirata wrote:
> 
>>Hi,
>>
>>Attached is a patch to move predicates to predicates.md.
>>
> Please hold off on this one, I need to make substantial changes to the 
> set of predicates.

FYI, I've got a failure with Kazu's patch when building libjava on
sh4-unknown-linux-gnu:

 /exp/ldroot/dodes/xsh-gcc-tmp2/./gcc/gcj -B/exp/ldroot/dodes/xsh-gcc-tmp2/./gcc/ -B/usr/local/sh4-unknown-linux-gnu/bin/ -B/usr/local/sh4-unknown-linux-gnu/lib/ -isystem /usr/local/sh4-unknown-linux-gnu/include -isystem /usr/local/sh4-unknown-linux-gnu/sys-include -findirect-dispatch -B../.. -mieee -fclasspath= -fbootclasspath=/exp/ldroot/dodes/xsh-gcc-tmp2/sh4-unknown-linux-gnu/libjava:../../../../../TMP/gcc/libjava/external/sax:../../../../../TMP/gcc/libjava:../.. --encoding=UTF-8 -Wno-deprecated -g -O2 -c sax.jar -o libsax_gcj_la-sax.o
org/xml/sax/helpers/ParserAdapter.java: In class 'org.xml.sax.helpers.ParserAdapter':
org/xml/sax/helpers/ParserAdapter.java: In method 'org.xml.sax.helpers.ParserAdapter.parse(org.xml.sax.InputSource)':
org/xml/sax/helpers/ParserAdapter.java:0: error: unrecognizable insn:
(insn 103 101 102 13 org/xml/sax/helpers/NamespaceSupport.java:405 (set (reg/f:SI 160 [ #ref#2#19 ])
        (label_ref:SI 106)) -1 (nil)
    (insn_list:REG_LABEL 106 (nil)))
org/xml/sax/helpers/ParserAdapter.java:0: internal compiler error: in extract_insn, at recog.c:2042

It seems an another "tighter check" problem.  The patch below fixes
it and bootstrapped with no new regressions on sh4-unknown-linux-gnu.

Regards,
	kaz
--
diff -uprN ORIG/gcc/gcc/config/sh/predicates.md TMP/gcc/gcc/config/sh/predicates.md
--- ORIG/gcc/gcc/config/sh/predicates.md	2005-04-05 11:10:27.000000000 +0900
+++ TMP/gcc/gcc/config/sh/predicates.md	2005-04-05 10:22:18.000000000 +0900
@@ -281,7 +281,8 @@
 ;; are subregs of system registers.
 
 (define_predicate "general_movsrc_operand"
-  (match_code "subreg,reg,const_int,const_double,mem,symbol_ref,const")
+  (match_code "subreg,reg,const_int,const_double,mem,symbol_ref,label_ref,
+	       const")
 {
   if (GET_CODE (op) == MEM)
     {



More information about the Gcc-patches mailing list