This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] sh: Move predicates to predicates.md. (take 2)


Kazu Hirata wrote:

Hi Joern,



dp-bit.c:952: error: unrecognizable insn:
(insn 506 505 511 16 dp-bit.c:863 (set (reg:DI 3 r3)
(mult:DI (zero_extend:DI (truncate:SI (reg:DI 7 r7 [orig:177 D.2362 ] [177])))
(zero_extend:DI (truncate:SI (reg:DI 2 r2 [orig:176 D.2363 ] [176]))))) -1 (nil)
(nil))
dp-bit.c:952: internal compiler error: in extract_insn, at recog.c:2082



This turned out to be because "truncate" was missing from match_code of arith_operand. In other words, we needed

(define_predicate "arith_operand"
-  (match_code "subreg,reg,const_int")
+  (match_code "subreg,reg,const_int,truncate")

Here is the updated patch. With this patch, I was able to build
sh64-elf completely. Should I build a few more variants? Or OK to
apply?


I think it is probably OK, but I want to see some sh64 regression test results first.
I understand that Kaz Kojima has already tested x86 cross sh4-unknown-linux-gnu.
Kaz, did this include execution tests?


On one of our machines I'm currently generating an sh64-elf sim baseline with the
code from CVS today 12:00 UTC and regtesting Richard Sandiford's option
reorganization patch set. I expect the baseline to be finised in about an hour,
then I can start a regtest of your patch without slowing down the other test;
but the result is not expected before tomorrow.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]