This is the mail archive of the
mailing list for the GCC project.
Re: patch to canonize small wide-ints.
- From: Kenneth Zadeck <zadeck at naturalbridge dot com>
- To: Richard Biener <rguenther at suse dot de>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>, Richard Sandiford <rdsandiford at googlemail dot com>, Mike Stump <mikestump at comcast dot net>
- Date: Tue, 24 Sep 2013 09:55:42 -0400
- Subject: Re: patch to canonize small wide-ints.
- Authentication-results: sourceware.org; auth=none
- References: <5238B585 dot 2020703 at naturalbridge dot com> <alpine dot LNX dot 2 dot 00 dot 1309241539100 dot 29411 at zhemvz dot fhfr dot qr> <5241986B dot 7040306 at naturalbridge dot com> <alpine dot LNX dot 2 dot 00 dot 1309241550270 dot 29411 at zhemvz dot fhfr dot qr>
On 09/24/2013 09:51 AM, Richard Biener wrote:
it only sort of does. anyway it seems to be mostly consistent. As i
said on irc, i am pleasantly surprised at the lack of damage to the
ports by assuming that the values are always canonized. Two large
public ports and my private port required no changes.
On Tue, 24 Sep 2013, Kenneth Zadeck wrote:
On 09/24/2013 09:39 AM, Richard Biener wrote:
On Tue, 17 Sep 2013, Kenneth Zadeck wrote:
This patch canonizes the bits above the precision for wide ints with types
modes that are not a perfect multiple of HOST_BITS_PER_WIDE_INT.
I expect that most of the changes in rtl.h will go away. in particular,
we decide that we can depend on richard's patch to clean up rtl constants,
then the only thing that will be left will be the addition of the
I do believe that there is one more conserved force in the universe than
physicist's generally consider: it is uglyness. There is a lot of truth
beauty in the patch but in truth there is a lot of places where the
is just moved someplace else.
in the pushing the ugly around dept, trees and wide-ints are not canonized
same way. I spent several days going down the road where it tried to
them be the same, but it got very ugly having 32 bit unsigned int csts
the upper 32 bits set. So now wide_int_to_tree and the wide-int
from tree-cst are now more complex.
i think that i am in favor of this patch, especially in conjunction with
richards cleanup, but only mildly.
There is also some cleanup where richard wanted the long lines addressed.
Ok to commit to the wide-int branch?
Looks good to me.
I'll be doing a separate review of the to/from tree parts when I
find time to do that, but that's unrelated to this patch.
as i said on irc, after i check in a cleaned up version of this (for ppc) i
will change the rep for unsiged tree-csts so that they have an extra block of
zeros if their top bit is set. this will clean that up somewhat.
Yes, this will give wide-ints a sign (as I originally proposed). For
RTL constants we're going to "lie" and make all constants negative
that have their MSB set.