c/6543: Internal compiler error in extract_insn, at recog.c:2132
David Edelsohn
dje@watson.ibm.com
Fri May 3 08:26:00 GMT 2002
>>>>> 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
More information about the Gcc-bugs
mailing list