This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
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.