This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: c/6543: Internal compiler error in extract_insn, at recog.c:2132
- From: Franz Sirl <Franz dot Sirl-kernel at lauterbach dot com>
- To: David Edelsohn <dje at watson dot ibm dot com>
- Cc: sirl at gcc dot gnu dot org,blofeldus at yahoo dot com,gcc-bugs at gcc dot gnu dot org,Geoff Keating <geoffk at redhat dot com>,mark at codesourcery dot com
- Date: Fri, 03 May 2002 17:36:45 +0200
- Subject: Re: c/6543: Internal compiler error in extract_insn, at recog.c:2132
- References: <Message from sirl@gcc.gnu.org of "03 May 2002 13:53:36 -0000." <20020503135336.27165.qmail@sources.redhat.com>
At 17:26 03.05.2002, David Edelsohn wrote:
> >>>>> sirl writes:
>
>Franz> Actually another incarnation of the CLOBBER problem, but harder to
>fix this time. This pattern around line 10730 in rs6000.md is the culprit:
>
>Franz> (define_insn ""
>Franz> [(set (match_operand:SI 0 "gpc_reg_operand" "=r,r,r,r,r")
>Franz> (eq:SI (match_operand:SI 1 "gpc_reg_operand" "%r,r,r,r,r")
>Franz> (match_operand:SI 2 "reg_or_cint_operand" "r,O,K,L,I")))
>Franz> (clobber (match_scratch:SI 3 "=r,&r,r,r,r"))]
>Franz> "! TARGET_POWERPC64"
>Franz> "@
>Franz> xor %0,%1,%2\;{sfi|subfic} %3,%0,0\;{ae|adde} %0,%3,%0
>Franz> {sfi|subfic} %3,%1,0\;{ae|adde} %0,%3,%1
>Franz> {xoril|xori} %0,%1,%b2\;{sfi|subfic} %3,%0,0\;{ae|adde} %0,%3,%0
>Franz> {xoriu|xoris} %0,%1,%u2\;{sfi|subfic} %3,%0,0\;{ae|adde} %0,%3,%0
>Franz> {sfi|subfic} %0,%1,%2\;{sfi|subfic} %3,%0,0\;{ae|adde} %0,%3,%0"
>Franz> [(set_attr "length" "12,8,12,12,12")])
>
>Franz>
>http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=6543
>
> This is another splitter that used the pattern we changed to fix
>the earlier splitter. Why can't we simply recognize the clobber but then
>never use it when we split the instruction?
Yeah, and this is actually something that changed during the last few
weeks, I successfully compiled libtool with gcc-3.1 on Apr 11.
Franz.