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]

Re: Patch for incorrect execute/divconst-2.c)


> 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>

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