Re: patch to canonize small wide-ints.

2013-10-03 Thread Richard Sandiford
Kenneth Zadeck writes: >> Changing the representation of unsigned constants is only worthwhile >> if we can avoid the force_to_size for some unsigned cases. I think we can >> avoid it for precision >= xprecision && !small_prec. Either we should take >> the hit of doing that comparison (but see b

Re: patch to canonize small wide-ints.

2013-10-03 Thread Kenneth Zadeck
On 10/03/2013 10:29 AM, Richard Sandiford wrote: Kenneth Zadeck writes: + /* Got to be careful of precision 0 values. */ + if (precision) +len = MIN (len, max_len); + if (TYPE_SIGN (TREE_TYPE (x)) == UNSIGNED) { - if (precision < HOST_BITS_PER_WIDE_INT - && TYPE_SIGN

Re: patch to canonize small wide-ints.

2013-10-03 Thread Richard Sandiford
Kenneth Zadeck writes: > + /* Got to be careful of precision 0 values. */ > + if (precision) > +len = MIN (len, max_len); > + if (TYPE_SIGN (TREE_TYPE (x)) == UNSIGNED) > { > - if (precision < HOST_BITS_PER_WIDE_INT > - && TYPE_SIGN (TREE_TYPE (x)) == UNSIGNED) > + un

Re: patch to canonize small wide-ints.

2013-10-03 Thread Kenneth Zadeck
Richard and others, This patch changes the way that unsigned trees are canonicalized. As with the last patch, I think that this patch is not that much of a step forward. While it is still true that the signed tree-csts match the representation of wide-ints, unsigned tree-csts do not and requ

wide-int: Re: patch to canonize small wide-ints.

2013-09-24 Thread Kenneth Zadeck
I just committed the patch to do this as revision 202871. there are two changes from the earlier patch: 1) the addition of frag in loop-doloop.c. This fixes an rtl canonization bug, but it is unique to the branch. it did not cause a problem on x86 but did on ppc. 2) the code in rtl.h for c

Re: patch to canonize small wide-ints.

2013-09-24 Thread Richard Sandiford
Richard Biener writes: > 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: >> > >> > > Richi, >> > > >> > > This patch canonizes the bits above the precision for wide ints with >> > > types >> > > or >> >

Re: patch to canonize small wide-ints.

2013-09-24 Thread Kenneth Zadeck
On 09/24/2013 09:51 AM, Richard Biener wrote: 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: Richi, This patch canonizes the bits above the precision for wide ints with types or modes that are not a perfect

Re: patch to canonize small wide-ints.

2013-09-24 Thread Kenneth Zadeck
On 09/24/2013 09:39 AM, Richard Biener wrote: On Tue, 17 Sep 2013, Kenneth Zadeck wrote: Richi, This patch canonizes the bits above the precision for wide ints with types or 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 awa

Re: patch to canonize small wide-ints.

2013-09-24 Thread Richard Biener
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: > > > > > Richi, > > > > > > This patch canonizes the bits above the precision for wide ints with types > > > or > > > modes that are not a perfect multiple o

Re: patch to canonize small wide-ints.

2013-09-24 Thread Richard Biener
On Tue, 17 Sep 2013, Kenneth Zadeck wrote: > Richi, > > This patch canonizes the bits above the precision for wide ints with types or > 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, when > we decide

patch to canonize small wide-ints.

2013-09-17 Thread Kenneth Zadeck
Richi, This patch canonizes the bits above the precision for wide ints with types or 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, when we decide that we can depend on richard's patch to clean up rtl