This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: casesi pattern failure
- From: Jim Wilson <wilson at tuliptree dot org>
- To: Alexandre Courbot <Alexandre dot Courbot at lifl dot fr>
- Cc: gcc at gcc dot gnu dot org
- Date: Sun, 07 Sep 2003 12:23:28 -0700
- Subject: Re: casesi pattern failure
- References: <200309071243.06255.Alexandre.Courbot@lifl.fr>
Alexandre Courbot wrote:
../../testsuite/functions.c:77: internal compiler error: in insn_extract, at
insn-extract.c:123
insn-extract.c is generated from the md file by genextract.c. Try
stepping through it in gdb to see why you aren't getting a case label
for your casesi pattern.
I see one obvious problem with your pattern. Using (parallel ...) in a
define_insn isn't valid. That is only valid in an expander. This is
because expanders can emit multiple instructions, so in order to
differentiate between two sets that indicate two instructions, and two
sets that indicate one instruction, we wrap the two sets in a parallel
to indicate that it is one instruction. A define_insn can only match
one instruction, so you never use a parallel there.
--
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com