This is the mail archive of the
mailing list for the GCC project.
Re: Modes on CONST_INTs
- To: hans-peter dot nilsson at axis dot com
- Subject: Re: Modes on CONST_INTs
- From: Geoff Keating <geoffk at geoffk dot org>
- Date: Mon, 27 Nov 2000 15:38:38 -0800
- CC: hans-peter dot nilsson at axis dot com, hans-peter dot nilsson at axis dot com, bernds at redhat dot com, gcc at gcc dot gnu dot org
- References: <200011272314.AAA13756@ignucius.axis.se>
- Reply-to: Geoff Keating <geoffk at redhat dot com>
> Date: Tue, 28 Nov 2000 00:14:33 +0100
> From: Hans-Peter Nilsson <email@example.com>
> I mean "we have currently" as in "we have currently because of
> the current implementation of immed_double_const and trunc_int_for_mode".
> I have a feeling that that's deliberately done that way to
> distinguish signed from unsigned uses.
Last I looked, the only reason that trunc_int_for_mode etc. were not
changed is because it broke the PA port. I haven't been able to
find a PA machine to see why this might break it, and therefore
the patch didn't make progress.
> Not that that means the code is correct, of course. Those
> "unsigned" numbers appears *from the beginning* (in 00.rtl) as such,
> not due to the twisty maze in combine.c -- it is actually combine
> that produce the "correct" sign-extended numbers.
This just means that the bug is in the rtl-emitting machinery.
The trees _do_ use non-sign-extended values to represent unsigned
values, but they're supposed to be sign-extended when they are
converted into RTL.
- Geoffrey Keating <firstname.lastname@example.org>