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: [PATCH] Fix PR 13987, compile time slow down on powerpc-apple-darwin


I think that sbitmap could unconditionally use unsigned long.  Where
it is efficient to have 64-bit integers, longs are most likely 64 bit
integers.

I don't really agree with that, since systems often have a programming mode in which longs are 32 bits even on a 64-bit system, just for backward compatibility.

But I do think that the default in Andrew's patch should be to use
'unsigned long' on all systems, and specific systems should change
that default when appropriate.

What would be a good name for this type... HOST_FAST_INT perhaps?


Also, there is this comment in hwint.h:


/* Set HOST_WIDE_INT. This should be the widest efficient host integer type. It can be 32 or 64 bits, except that if we are targeting a machine with 64-bit size_t then it has to be 64 bits.

   With a sane ABI, 'long' is the largest efficient host integer type.
   Thus, we use that unless we have to use 'long long' or '__int64'
   because we're targeting a 64-bit machine from a 32-bit host.  */


I see no way a specific system can currently override this. Should a mechanism for that be added, or should the comment be changed?


Segher



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