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: [ip2k port] bugfix


Zack Weinberg <zack@codesourcery.com> writes:

> On Mon, Aug 26, 2002 at 10:07:39PM +0400, Denis Chertykov wrote:
> > Zack Weinberg <zack@codesourcery.com> writes:
> > > ip2k_set_compare is still constructing its own CONST_DOUBLEs, which is
> > > verboten.  CONST_DOUBLEs are opaque entities and may be manipulated
> > > *only* by the interfaces exposed in real.h and rtl.h.
> > 
> > Will be fixed.
> 
> Thanks.
> 
> I imagine it is as simple as changing the body of ip2k_set_compare to
> 
> {
>   ip2k_compare_operands[0] = x;
>   ip2k_compare_operands[1] = y;
>   return "";
> }
> 
> and then finding out what breaks, and fixing it.
> 
> > > Looking at the function, it appears to be forcing the creation of
> > > non-canonical RTL, which is also a no-no.  What are you actually
> > > trying to achieve here?
> > 
> > It was not me :-(
> 
> You will probably find it easier to locate the real problem and fix
> it, though.  (It should be a case of some code somewhere expecting
> DImode compares against an immediate value to come with a CONST_DOUBLE
> second operand, even if the sign-extended quantity fits in a
> CONST_INT.)

Thanks for suggestion. I just havn't time to fix this bug right now.
Will be fixed in one/two days.

Denis.


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