This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: [patches] Re: GCC build failed for powerpc-eabisim with your patch on 2001-06-04T15:31:45Z.


> > 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]