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]
Other format: [Raw text]

Re: [PATCH] ICE with uninitialized CDImode (of subreg of TImode)


Ian Lance Taylor <iant@google.com> wrote on 05/29/2007 10:38:30 AM:
> Andrew_Pinski@PlayStation.Sony.Com writes:
> 
> > +      for (mode = GET_CLASS_NARROWEST_MODE (MODE_COMPLEX_INT);
> > +      mode != VOIDmode;
> > +      mode = GET_MODE_WIDER_MODE (mode))
> > +        {
> > +     rtx inner = const_tiny_rtx[i][(int)GET_MODE_INNER (mode)];
> > +     const_tiny_rtx[i][(int) mode] = gen_rtx_CONCAT (mode, inner, 
inner);
> > +   }
> 
> It seems that that will generate (1, 1) for
> const_tiny_rtx[1][CDImode].  Is that really what we want?  Wouldn't
> (1, 0) make more sense?  Or, should this be ambiguous, in which case
> shouldn't it indeed be an error to refer to
> const_tiny_rtx[1][CDImode]?
> 
> I would support a patch to set const_tiny_rtx[0][CDImode].

And here is a patch which sets only const_tiny_rtx[0] for the complex 
types.

OK? Built and tested on spu-elf without any regressions.

Thanks,
Andrew Pinski

ChangeLog:

        * emit-rtl.c (init_emit_once): Intilize const_tiny_rtx[0]
        for complex modes (both int and real).

Attachment: fixuninit.diff.txt
Description: Text document


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