Sep 9 change in gen_lowpart_common causes aborts
Jeffrey A Law
law@cygnus.com
Wed Sep 30 19:53:00 GMT 1998
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
More information about the Gcc
mailing list