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