This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Sep 9 change in gen_lowpart_common causes aborts
- To: Bernd Schmidt <crux at pool dot informatik dot rwth-aachen dot de>
- Subject: Re: Sep 9 change in gen_lowpart_common causes aborts
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Wed, 30 Sep 1998 20:52:00 -0600
- cc: egcs at cygnus dot com, egcs-bugs at cygnus dot com, moshier at world dot std dot com
- Reply-To: law at cygnus dot com
In message <Pine.SOL.3.90.980930155848.18576K-100000@matula.informatik.rwth-aachen.de>you write:
> The following change
>
> Wed Sep 9 23:31:36 1998 (Stephen L Moshier) <moshier@world.std.com>
>
> * emit-rtl.c (gen_lowpart_common): Disable optimization of
> initialized float-int union if the value is a NaN.
>
> causes current egcs snapshots to abort when trying to compile the
> math tests in glibc-2.0.96 (on i586-linux). Below is a small test
> program that demonstrates the problem. Basically, reload encounters
> a SUBREG:SF of a SImode pseudo that is equivalent to a CONST_INT and
> aborts in find_reloads_toplev because gen_lowpart doesn't handle it
> anymore.
> I can't really say what a correct fix would be, since I don't know
> why the above change was necessary.
Bummer. It was a bug & fix from the gcc lists. Stephen, do you still have
the testcase which led to this change?
It's easy to forget that gen_lowpart_common must not fail for integers anymore
due to changes in how reload works.
methinks this problem needs to be fixed elsewhere.
jeff