This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [ip2k port] bugfix
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.)
zw