This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug optimization/12630] [3.4 regression] Various unrecognizable insns and ICEs at -O3
- From: "dave at hiauly1 dot hia dot nrc dot ca" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 16 Oct 2003 22:29:24 -0000
- Subject: [Bug optimization/12630] [3.4 regression] Various unrecognizable insns and ICEs at -O3
- References: <20031015232442.12630.danglin@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12630
------- Additional Comments From dave at hiauly1 dot hia dot nrc dot ca 2003-10-16 22:29 -------
Subject: Re: [3.4 regression] Various unrecognizable
> Before reload this does not matter. As long as clobber mentions other
> register, 94 does not die.
Ah, I think I understand the subtle reason to use match_scratch.
> I am attaching the patch to use match_scratch instead so we don't end up
> with insane clobber of the pseudo, but I don't even have time to compile it
> right now. I am not sure whether the use of match_scratch in expander
> is valid. If not, it will be necessary to expand it by hand...
This patch seems to work. I will install if the check completes
successfully with no regressions.
There needs to be a documentation update. rtl.texi states
There is one other known use for clobbering a pseudo register in a
@code{parallel}: when one of the input operands of the insn is also
clobbered by the insn. In this case, using the same pseudo register in
the clobber and elsewhere in the insn produces the expected results.
Thanks for all your help,
Dave