This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Patch for incorrect execute/divconst-2.c)
- To: rearnsha at arm dot com
- Subject: Re: Patch for incorrect execute/divconst-2.c)
- From: Geoff Keating <geoffk at cygnus dot com>
- Date: Tue, 30 May 2000 09:11:29 -0700
- CC: hp at bitrange dot com, gcc-patches at gcc dot gnu dot org, rearnsha at arm dot com
- References: <200005301054.LAA23604@cam-mail2.cambridge.arm.com>
> Date: Tue, 30 May 2000 11:54:54 +0100
> From: Richard Earnshaw <rearnsha@arm.com>
>
>
> geoffk@cygnus.com said:
> > Sure. Assuming that DImode is 2*HOST_BITS_PER_WIDE_INT wide, - (1 <<
> > (HOST_BITS_PER_WIDE_INT - 1) is a CONST_INT, and (1 <<
> > (HOST_BITS_PER_WIDE_INT - 1) is a CONST_DOUBLE. CONST_INTs are
> > sign-extended, so that -1 has the same representation in all modes.
>
>
> I've never seen anything like this written down before (not that I'm
> disputing what you are saying). Can you add something like this to
> rtl.texi (under const_double) to make this explicit.
It is already pretty explicit:
@item (const_double:@var{m} @var{addr} @var{i0} @var{i1} @dots{})
Represents ... an integer constant too large to fit into
@code{HOST_BITS_PER_WIDE_INT} bits ...
However, it could probably be made clearer in the description of
CONST_INT that it is sign-extended. I don't suppose you could propose
wording?
--
- Geoffrey Keating <geoffk@cygnus.com>