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) &
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
> >> >
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
whi
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 S
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 app
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:
> >> >
> >> >> --- gc
[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 2
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 @@ DEFINE_INT
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)
>>
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 (ty
When checking whether vectorised accesses at A and B are independent,
the vectoriser falls back to tests of the form:
A + size <= B || B + size <= A
But in the common case that "size" is just the constant size of a vector
(or a small multiple), it would be more efficient to do:
((size_t)
11 matches
Mail list logo