This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]