Re: Fold pointer range checks with equal spans

2018-08-01 Thread Marc Glisse
On Wed, 1 Aug 2018, Richard Sandiford wrote: +/* For pointers @0 and @2 and nonnegative constant offset @1, look for + expressions like: + + A: (@0 + @1 < @2) | (@2 + @1 < @0) + B: (@0 + @1 <= @2) | (@2 + @1 <= @0) Once this is in, we may want to consider the opposite: (@0 + @1 > @2) &

Re: Fold pointer range checks with equal spans

2018-08-01 Thread Richard Biener
On Wed, Aug 1, 2018 at 12:25 PM Richard Sandiford wrote: > > Richard Biener writes: > > On Mon, Jul 30, 2018 at 7:47 PM Richard Sandiford > > wrote: > >> > >> [Sorry, somehow missed this till now] > >> > >> Richard Biener writes: > >> > On Mon, Jul 23, 2018 at 5:05 PM Richard Sandiford > >> >

Re: Fold pointer range checks with equal spans

2018-08-01 Thread Richard Sandiford
Marc Glisse writes: > On Tue, 31 Jul 2018, Richard Biener wrote: > Also, when @2 == @0 + (@1+1) then the original condition is true but ((sizetype) @0 - (sizetype) @2 + @1) > (@1 * 2) is not? (sizetype) @0 - (sizetype) (@0 + @1 + 1) + @1 > @1 * 2 -> -1 > @1 * 2

Re: Fold pointer range checks with equal spans

2018-08-01 Thread Richard Sandiford
Richard Biener writes: > On Mon, Jul 30, 2018 at 7:47 PM Richard Sandiford > wrote: >> >> [Sorry, somehow missed this till now] >> >> Richard Biener writes: >> > On Mon, Jul 23, 2018 at 5:05 PM Richard Sandiford >> > wrote: >> >> >> >> Marc Glisse writes: >> >> > On Fri, 20 Jul 2018, Richard

Re: Fold pointer range checks with equal spans

2018-07-31 Thread Marc Glisse
On Tue, 31 Jul 2018, Richard Biener wrote: Also, when @2 == @0 + (@1+1) then the original condition is true but ((sizetype) @0 - (sizetype) @2 + @1) > (@1 * 2) is not? (sizetype) @0 - (sizetype) (@0 + @1 + 1) + @1 > @1 * 2 -> -1 > @1 * 2 which is false. So I can't really see how you can

Re: Fold pointer range checks with equal spans

2018-07-31 Thread Richard Biener
On Mon, Jul 30, 2018 at 7:47 PM Richard Sandiford wrote: > > [Sorry, somehow missed this till now] > > Richard Biener writes: > > On Mon, Jul 23, 2018 at 5:05 PM Richard Sandiford > > wrote: > >> > >> Marc Glisse writes: > >> > On Fri, 20 Jul 2018, Richard Sandiford wrote: > >> > > >> >> ---

Re: Fold pointer range checks with equal spans

2018-07-30 Thread Richard Sandiford
[Sorry, somehow missed this till now] Richard Biener writes: > On Mon, Jul 23, 2018 at 5:05 PM Richard Sandiford > wrote: >> >> Marc Glisse writes: >> > On Fri, 20 Jul 2018, Richard Sandiford wrote: >> > >> >> --- gcc/match.pd 2018-07-18 18:44:22.565914281 +0100 >> >> +++ gcc/match.pd

Re: Fold pointer range checks with equal spans

2018-07-25 Thread Richard Biener
On Mon, Jul 23, 2018 at 5:05 PM Richard Sandiford wrote: > > Marc Glisse writes: > > On Fri, 20 Jul 2018, Richard Sandiford wrote: > > > >> --- gcc/match.pd 2018-07-18 18:44:22.565914281 +0100 > >> +++ gcc/match.pd 2018-07-20 11:24:33.692045585 +0100 > >> @@ -4924,3 +4924,37 @@

Re: Fold pointer range checks with equal spans

2018-07-23 Thread Richard Sandiford
Marc Glisse writes: > On Fri, 20 Jul 2018, Richard Sandiford wrote: > >> --- gcc/match.pd 2018-07-18 18:44:22.565914281 +0100 >> +++ gcc/match.pd 2018-07-20 11:24:33.692045585 +0100 >> @@ -4924,3 +4924,37 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) >>(if (inverse_conditions_p (@0, @2) >>

Re: Fold pointer range checks with equal spans

2018-07-20 Thread Marc Glisse
On Fri, 20 Jul 2018, Richard Sandiford wrote: --- gcc/match.pd2018-07-18 18:44:22.565914281 +0100 +++ gcc/match.pd2018-07-20 11:24:33.692045585 +0100 @@ -4924,3 +4924,37 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) (if (inverse_conditions_p (@0, @2) && element_precision