Re: [PATCH] Fix PR81082

2018-01-26 Thread Christophe Lyon
On 26 January 2018 at 16:13, Richard Biener wrote: > On Fri, Jan 26, 2018 at 3:57 PM, Christophe Lyon > wrote: >> On 26 January 2018 at 11:25, Richard Biener wrote: >>> On Thu, 25 Jan 2018, Richard Biener wrote: >>>

Re: [PATCH] Fix PR81082

2018-01-26 Thread Richard Biener
On Fri, Jan 26, 2018 at 3:57 PM, Christophe Lyon wrote: > On 26 January 2018 at 11:25, Richard Biener wrote: >> On Thu, 25 Jan 2018, Richard Biener wrote: >> >>> On Thu, 25 Jan 2018, Marc Glisse wrote: >>> >>> > On Thu, 25 Jan 2018, Richard Biener

Re: [PATCH] Fix PR81082

2018-01-26 Thread Christophe Lyon
On 26 January 2018 at 11:25, Richard Biener wrote: > On Thu, 25 Jan 2018, Richard Biener wrote: > >> On Thu, 25 Jan 2018, Marc Glisse wrote: >> >> > On Thu, 25 Jan 2018, Richard Biener wrote: >> > >> > > --- gcc/match.pd (revision 257047) >> > > +++ gcc/match.pd (working

Re: [PATCH] Fix PR81082

2018-01-26 Thread Richard Biener
On Thu, 25 Jan 2018, Richard Biener wrote: > On Thu, 25 Jan 2018, Marc Glisse wrote: > > > On Thu, 25 Jan 2018, Richard Biener wrote: > > > > > --- gcc/match.pd (revision 257047) > > > +++ gcc/match.pd (working copy) > > > @@ -1939,6 +1939,37 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) > > >

Re: [PATCH] Fix PR81082

2018-01-25 Thread Richard Biener
On Thu, 25 Jan 2018, Marc Glisse wrote: > On Thu, 25 Jan 2018, Richard Biener wrote: > > > --- gcc/match.pd(revision 257047) > > +++ gcc/match.pd(working copy) > > @@ -1939,6 +1939,37 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) > > (minus (convert (view_convert:stype @1)) > >

Re: [PATCH] Fix PR81082

2018-01-25 Thread Marc Glisse
On Thu, 25 Jan 2018, Richard Biener wrote: --- gcc/match.pd(revision 257047) +++ gcc/match.pd(working copy) @@ -1939,6 +1939,37 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) (minus (convert (view_convert:stype @1)) (convert (view_convert:stype @2))) +/* (A * C)

[PATCH] Fix PR81082

2018-01-25 Thread Richard Biener
The mitigation for PR66313 (bogus re-association causing undefined overflow) causes missed optimizations because the fix was to perform possibly dangerous transforms in unsigned arithmetic. Unfortunately this loses knowledge of no-overflow which means SCEV analysis when facing the unsigned