This is the mail archive of the
mailing list for the GCC project.
Re: Determine more IVs to be non-overflowing
> > Yeah, I think the other comment should be adjusted accordingly. I
> > didn't remember we have that one extra bit either ... ;) (given wide-ints
> > have unsigned variants of ops I wonder if it is really necessary, but who
> > knows - the wide-int rep w/o a sign is really sth odd and I blame RTL
> > for it).
Given that actual instructions do not have signed/unsigned types on them, and
RTL is an abstract model of target machine language, signedless operations do
make sense to me. At Gimple level we could probably wrap this further and
make sign part of the type and also have signed/unsigned types so one
can write normal C expressions rather than looking up wi:: api to do operations
where sign matters.
The consequences of the lack of sign was definitely dragging me away from wide
ints for a while. After finally giving it some tought this weekend it makes
sense, but it is not obvoius.
> Hmm, yeah. We definitely need the extra bit for widest_int, but I'm
> not sure why we need it for wide_int.
Yep, extra bit in wide int seems useless at least from highlevel POV :)