This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patches] Re: GCC build failed for powerpc-eabisim with your patch on 2001-06-04T15:31:45Z.
- To: Jan Hubicka <jh at suse dot cz>
- Subject: Re: [patches] Re: GCC build failed for powerpc-eabisim with your patch on 2001-06-04T15:31:45Z.
- From: Jan Hubicka <jh at suse dot cz>
- Date: Mon, 4 Jun 2001 19:49:04 +0200
- Cc: gcc-regression at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org, patches at x86-64 dot org, rth at cygnus dot com, kenner at vlsi1 dot ultra dot nyu dot edu
- References: <200106041713.f54HDtD12191@maat.cygnus.com> <20010604194640.J25024@atrey.karlin.mff.cuni.cz>
> > With your recent patch, GCC does not compile on:
> > powerpc-eabisim
> > /maat/heart/tbox/cvs-gcc/gcc/gcc/libgcc2.c: In function `__gcc_bcmp':
> > /maat/heart/tbox/cvs-gcc/gcc/gcc/libgcc2.c:1233: Internal compiler error in gen_lowpart, at emit-rtl.c:1110
> > Please submit a full bug report,
> > with preprocessed source if appropriate.
> > See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
>
> This is latent bug caught by my checking code.
> Basically we do SImode lowpart of (subreg:QI (reg:SI) 3).
> The second is already lowpart of SImode value, so the result should be (reg:SI),
> but most of the code combines offsets by adding the offsets. This is not
> true for paradoxical subregs on big endian machines in our current representation.
Just to clarify, the lowpart subreg converting QI to SI is (subreg:SI (reg:QI) 0),
but it should be (subreg:SI (reg:QI) -3).
So simple adding of offsets don't work. The checking code in simplify_subreg refuses
to construct the bogus subreg, that is why the compiler aborts.
Honza