This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: GCC build failed with your patch on 2000-09-29T11:50:00Z.
- To: gcc at gcc dot gnu dot org
- Subject: Re: GCC build failed with your patch on 2000-09-29T11:50:00Z.
- From: Jan Hubicka <jh at suse dot cz>
- Date: Fri, 29 Sep 2000 21:15:34 +0200
- References: <200009291223.FAA11371@sloth.cygnus.com>
> /sloth/delay/tbox/cvs-gcc/egcs/gcc/libgcc2.c: In function `__muldi3':
> /sloth/delay/tbox/cvs-gcc/egcs/gcc/libgcc2.c:199: Internal compiler error in single_set_1, at rtlanal.c:881
> Please submit a full bug report.
> See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
The problem seems to be caused by pattern:
[(match_parallel 0 "any_operand"
[(clobber (match_operand:SI 1 "register_operand" "=l"))
(use (match_operand:SI 2 "call_operand" "s"))
(set (match_operand:DF 3 "memory_operand" "=m")
(match_operand:DF 4 "gpc_reg_operand" "f"))])]
That breaks the rule requiring the USEs and CLOBBERs to be last in the
parallel. Is there some elegant way to "fix" such pattern, or is this pattern
good example why I should avoid this requirement at single_set_1?
If so, I will send a patch shortly. It increases the cost of single_set by
factor of 3 on i386.
Honza