This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: PR 10540
- From: Richard Sandiford <rsandifo at redhat dot com>
- To: mark at codesourcery dot com
- Cc: rth at redhat dot com, wilson at tuliptree dot org, echristo at redhat dot com, gcc at gcc dot gnu dot org
- Date: 25 Jul 2003 08:18:22 +0100
- Subject: Re: PR 10540
- References: <200307232304.h6NN4UjC029897@doubledemon.codesourcery.com>
Mark Mitchell <mark@codesourcery.com> writes:
> Does anyone understand what is going wrong in PR 10540?
>
> This is a MIPS PR, relating to a crash on invalid code.
Are you sure the code is invalid? I thought it was testing for a
"wrong-code" bug.
> Note that the crash only occurs with --enable-checking. Is the check
> valid?
FWIW, I think it's (correctly) detecting the problem that causes the
execution failure. We're storing a complex float value in a 64-bit
register and referring to its components using subregs. The subregs
that refer to the high part of the register are not correctly reloaded,
so we get the sort of thing you mentioned:
(subreg:SF (reg:DI 3 v1) 0)
This is indeed invalid on big-endian 64-bit MIPS targets like irix6.
So really, it's a good thing that we're detecting this at compile time
rather than silently generating wrong code. ;)
There's a separate PR to track the execution failure (6221) so maybe
we could close 10540 and just keep that?
Richard