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: David Edelsohn <dje at watson dot ibm dot com>
- To: 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>
- Cc: mark at codesourcery dot com
- Date: Fri, 03 May 2002 11:26:05 -0400
- Subject: Re: c/6543: Internal compiler error in extract_insn, at recog.c:2132
>>>>> 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?
David