Re: [match.pd] PR83750 - CSE erf/erfc pair

2021-10-25 Thread Richard Biener via Gcc-patches
On Fri, 22 Oct 2021, Prathamesh Kulkarni wrote: > On Fri, 22 Oct 2021 at 14:56, Richard Biener wrote: > > > > On Fri, 22 Oct 2021, Prathamesh Kulkarni wrote: > > > > > On Wed, 20 Oct 2021 at 18:21, Richard Biener wrote: > > > > > > > > On Wed, 20 Oct 2021, Prathamesh Kulkarni wrote: > > > > > >

Re: [match.pd] PR83750 - CSE erf/erfc pair

2021-10-22 Thread Prathamesh Kulkarni via Gcc-patches
On Fri, 22 Oct 2021 at 14:56, Richard Biener wrote: > > On Fri, 22 Oct 2021, Prathamesh Kulkarni wrote: > > > On Wed, 20 Oct 2021 at 18:21, Richard Biener wrote: > > > > > > On Wed, 20 Oct 2021, Prathamesh Kulkarni wrote: > > > > > > > On Tue, 19 Oct 2021 at 16:55, Richard Biener wrote: > > > >

Re: [match.pd] PR83750 - CSE erf/erfc pair

2021-10-22 Thread Richard Biener via Gcc-patches
On Fri, 22 Oct 2021, Prathamesh Kulkarni wrote: > On Wed, 20 Oct 2021 at 18:21, Richard Biener wrote: > > > > On Wed, 20 Oct 2021, Prathamesh Kulkarni wrote: > > > > > On Tue, 19 Oct 2021 at 16:55, Richard Biener wrote: > > > > > > > > On Tue, 19 Oct 2021, Prathamesh Kulkarni wrote: > > > > > >

Re: [match.pd] PR83750 - CSE erf/erfc pair

2021-10-22 Thread Prathamesh Kulkarni via Gcc-patches
On Wed, 20 Oct 2021 at 18:21, Richard Biener wrote: > > On Wed, 20 Oct 2021, Prathamesh Kulkarni wrote: > > > On Tue, 19 Oct 2021 at 16:55, Richard Biener wrote: > > > > > > On Tue, 19 Oct 2021, Prathamesh Kulkarni wrote: > > > > > > > On Tue, 19 Oct 2021 at 13:02, Richard Biener > > > >

Re: [match.pd] PR83750 - CSE erf/erfc pair

2021-10-20 Thread Richard Biener via Gcc-patches
On Wed, 20 Oct 2021, Prathamesh Kulkarni wrote: > On Tue, 19 Oct 2021 at 16:55, Richard Biener wrote: > > > > On Tue, 19 Oct 2021, Prathamesh Kulkarni wrote: > > > > > On Tue, 19 Oct 2021 at 13:02, Richard Biener > > > wrote: > > > > > > > > On Tue, Oct 19, 2021 at 9:03 AM Prathamesh Kulkarni

Re: [match.pd] PR83750 - CSE erf/erfc pair

2021-10-20 Thread Prathamesh Kulkarni via Gcc-patches
On Tue, 19 Oct 2021 at 16:55, Richard Biener wrote: > > On Tue, 19 Oct 2021, Prathamesh Kulkarni wrote: > > > On Tue, 19 Oct 2021 at 13:02, Richard Biener > > wrote: > > > > > > On Tue, Oct 19, 2021 at 9:03 AM Prathamesh Kulkarni via Gcc-patches > > > wrote: > > > > > > > > On Mon, 18 Oct 2021

Re: [match.pd] PR83750 - CSE erf/erfc pair

2021-10-19 Thread Richard Biener via Gcc-patches
On Tue, 19 Oct 2021, Prathamesh Kulkarni wrote: > On Tue, 19 Oct 2021 at 13:02, Richard Biener > wrote: > > > > On Tue, Oct 19, 2021 at 9:03 AM Prathamesh Kulkarni via Gcc-patches > > wrote: > > > > > > On Mon, 18 Oct 2021 at 17:23, Richard Biener wrote: > > > > > > > > On Mon, 18 Oct 2021,

Re: [match.pd] PR83750 - CSE erf/erfc pair

2021-10-19 Thread Prathamesh Kulkarni via Gcc-patches
On Tue, 19 Oct 2021 at 13:02, Richard Biener wrote: > > On Tue, Oct 19, 2021 at 9:03 AM Prathamesh Kulkarni via Gcc-patches > wrote: > > > > On Mon, 18 Oct 2021 at 17:23, Richard Biener wrote: > > > > > > On Mon, 18 Oct 2021, Prathamesh Kulkarni wrote: > > > > > > > On Mon, 18 Oct 2021 at

Re: [match.pd] PR83750 - CSE erf/erfc pair

2021-10-19 Thread Richard Biener via Gcc-patches
On Tue, Oct 19, 2021 at 9:03 AM Prathamesh Kulkarni via Gcc-patches wrote: > > On Mon, 18 Oct 2021 at 17:23, Richard Biener wrote: > > > > On Mon, 18 Oct 2021, Prathamesh Kulkarni wrote: > > > > > On Mon, 18 Oct 2021 at 17:10, Richard Biener wrote: > > > > > > > > On Mon, 18 Oct 2021,

Re: [match.pd] PR83750 - CSE erf/erfc pair

2021-10-19 Thread Prathamesh Kulkarni via Gcc-patches
On Mon, 18 Oct 2021 at 17:23, Richard Biener wrote: > > On Mon, 18 Oct 2021, Prathamesh Kulkarni wrote: > > > On Mon, 18 Oct 2021 at 17:10, Richard Biener wrote: > > > > > > On Mon, 18 Oct 2021, Prathamesh Kulkarni wrote: > > > > > > > On Mon, 18 Oct 2021 at 16:18, Richard Biener wrote: > > > >

Re: [match.pd] PR83750 - CSE erf/erfc pair

2021-10-18 Thread Richard Biener via Gcc-patches
On Mon, 18 Oct 2021, Prathamesh Kulkarni wrote: > On Mon, 18 Oct 2021 at 17:10, Richard Biener wrote: > > > > On Mon, 18 Oct 2021, Prathamesh Kulkarni wrote: > > > > > On Mon, 18 Oct 2021 at 16:18, Richard Biener wrote: > > > > > > > > On Mon, 18 Oct 2021, Prathamesh Kulkarni wrote: > > > > > >

Re: [match.pd] PR83750 - CSE erf/erfc pair

2021-10-18 Thread Prathamesh Kulkarni via Gcc-patches
On Mon, 18 Oct 2021 at 17:10, Richard Biener wrote: > > On Mon, 18 Oct 2021, Prathamesh Kulkarni wrote: > > > On Mon, 18 Oct 2021 at 16:18, Richard Biener wrote: > > > > > > On Mon, 18 Oct 2021, Prathamesh Kulkarni wrote: > > > > > > > Hi Richard, > > > > As suggested in PR, I have attached WIP

Re: [match.pd] PR83750 - CSE erf/erfc pair

2021-10-18 Thread Richard Biener via Gcc-patches
On Mon, 18 Oct 2021, Prathamesh Kulkarni wrote: > On Mon, 18 Oct 2021 at 16:18, Richard Biener wrote: > > > > On Mon, 18 Oct 2021, Prathamesh Kulkarni wrote: > > > > > Hi Richard, > > > As suggested in PR, I have attached WIP patch that adds two patterns > > > to match.pd: > > > erfc(x) --> 1 -

Re: [match.pd] PR83750 - CSE erf/erfc pair

2021-10-18 Thread Prathamesh Kulkarni via Gcc-patches
On Mon, 18 Oct 2021 at 16:18, Richard Biener wrote: > > On Mon, 18 Oct 2021, Prathamesh Kulkarni wrote: > > > Hi Richard, > > As suggested in PR, I have attached WIP patch that adds two patterns > > to match.pd: > > erfc(x) --> 1 - erf(x) if canonicalize_math_p() and, > > 1 - erf(x) --> erfc(x)

Re: [match.pd] PR83750 - CSE erf/erfc pair

2021-10-18 Thread Richard Biener via Gcc-patches
On Mon, 18 Oct 2021, Prathamesh Kulkarni wrote: > Hi Richard, > As suggested in PR, I have attached WIP patch that adds two patterns > to match.pd: > erfc(x) --> 1 - erf(x) if canonicalize_math_p() and, > 1 - erf(x) --> erfc(x) if !canonicalize_math_p(). > > This works to remove call to erfc for

[match.pd] PR83750 - CSE erf/erfc pair

2021-10-18 Thread Prathamesh Kulkarni via Gcc-patches
Hi Richard, As suggested in PR, I have attached WIP patch that adds two patterns to match.pd: erfc(x) --> 1 - erf(x) if canonicalize_math_p() and, 1 - erf(x) --> erfc(x) if !canonicalize_math_p(). This works to remove call to erfc for the following test: double f(double x) { double g(double,

Re: PR83750: CSE erf/erfc pair

2018-11-09 Thread Richard Biener
On Fri, Nov 9, 2018 at 8:11 AM Prathamesh Kulkarni wrote: > > On Tue, 6 Nov 2018 at 16:04, Richard Biener > wrote: > > > > On Mon, Nov 5, 2018 at 3:11 PM Prathamesh Kulkarni > > wrote: > > > > > > On Mon, 5 Nov 2018 at 18:14, Richard Biener > > > wrote: > > > > > > > > On Mon, Nov 5, 2018 at

Re: PR83750: CSE erf/erfc pair

2018-11-08 Thread Prathamesh Kulkarni
On Tue, 6 Nov 2018 at 16:04, Richard Biener wrote: > > On Mon, Nov 5, 2018 at 3:11 PM Prathamesh Kulkarni > wrote: > > > > On Mon, 5 Nov 2018 at 18:14, Richard Biener > > wrote: > > > > > > On Mon, Nov 5, 2018 at 1:11 PM Prathamesh Kulkarni > > > wrote: > > > > > > > > On Mon, 5 Nov 2018 at

Re: PR83750: CSE erf/erfc pair

2018-11-06 Thread Richard Biener
On Mon, Nov 5, 2018 at 3:11 PM Prathamesh Kulkarni wrote: > > On Mon, 5 Nov 2018 at 18:14, Richard Biener > wrote: > > > > On Mon, Nov 5, 2018 at 1:11 PM Prathamesh Kulkarni > > wrote: > > > > > > On Mon, 5 Nov 2018 at 15:10, Richard Biener > > > wrote: > > > > > > > > On Fri, Nov 2, 2018 at

Re: PR83750: CSE erf/erfc pair

2018-11-05 Thread Paul Koning
> On Nov 5, 2018, at 1:48 PM, Michael Matz wrote: > > Hi, > > On Mon, 5 Nov 2018, Jeff Law wrote: > Don't we have a flag specific to honoring nans? Would that be better to use than flag_unsafe_math_optimizations? As Uli mentioned, there's >>> >>> That's only relevant for

Re: PR83750: CSE erf/erfc pair

2018-11-05 Thread Michael Matz
Hi, On Mon, 5 Nov 2018, Jeff Law wrote: > >> Don't we have a flag specific to honoring nans? Would that be better > >> to use than flag_unsafe_math_optimizations? As Uli mentioned, > >> there's > > > > That's only relevant for the comparison optimization, of course. > > > > Converting erfc

Re: PR83750: CSE erf/erfc pair

2018-11-05 Thread Jeff Law
On 11/5/18 11:27 AM, Joseph Myers wrote: > On Sun, 4 Nov 2018, Jeff Law wrote: > >> Don't we have a flag specific to honoring nans? Would that be better to >> use than flag_unsafe_math_optimizations? As Uli mentioned, there's > > That's only relevant for the comparison optimization, of course.

Re: PR83750: CSE erf/erfc pair

2018-11-05 Thread Joseph Myers
On Sun, 4 Nov 2018, Jeff Law wrote: > Don't we have a flag specific to honoring nans? Would that be better to > use than flag_unsafe_math_optimizations? As Uli mentioned, there's That's only relevant for the comparison optimization, of course. Converting erfc to 1-erf is dubious, since the

Re: PR83750: CSE erf/erfc pair

2018-11-05 Thread Prathamesh Kulkarni
On Mon, 5 Nov 2018 at 18:14, Richard Biener wrote: > > On Mon, Nov 5, 2018 at 1:11 PM Prathamesh Kulkarni > wrote: > > > > On Mon, 5 Nov 2018 at 15:10, Richard Biener > > wrote: > > > > > > On Fri, Nov 2, 2018 at 10:37 AM Prathamesh Kulkarni > > > wrote: > > > > > > > > Hi, > > > > This patch

Re: PR83750: CSE erf/erfc pair

2018-11-05 Thread Richard Biener
On Mon, Nov 5, 2018 at 1:11 PM Prathamesh Kulkarni wrote: > > On Mon, 5 Nov 2018 at 15:10, Richard Biener > wrote: > > > > On Fri, Nov 2, 2018 at 10:37 AM Prathamesh Kulkarni > > wrote: > > > > > > Hi, > > > This patch adds two transforms to match.pd to CSE erf/erfc pair. > > > erfc(x) is

Re: PR83750: CSE erf/erfc pair

2018-11-05 Thread Prathamesh Kulkarni
On Mon, 5 Nov 2018 at 15:10, Richard Biener wrote: > > On Fri, Nov 2, 2018 at 10:37 AM Prathamesh Kulkarni > wrote: > > > > Hi, > > This patch adds two transforms to match.pd to CSE erf/erfc pair. > > erfc(x) is canonicalized to 1 - erf(x) and is then reversed to 1 - > > erf(x) when

Re: PR83750: CSE erf/erfc pair

2018-11-05 Thread Richard Biener
On Fri, Nov 2, 2018 at 10:37 AM Prathamesh Kulkarni wrote: > > Hi, > This patch adds two transforms to match.pd to CSE erf/erfc pair. > erfc(x) is canonicalized to 1 - erf(x) and is then reversed to 1 - > erf(x) when canonicalization is disabled and result of erf(x) has > single use within 1 -

Re: PR83750: CSE erf/erfc pair

2018-11-04 Thread Jeff Law
On 11/2/18 3:36 AM, Prathamesh Kulkarni wrote: > Hi, > This patch adds two transforms to match.pd to CSE erf/erfc pair. > erfc(x) is canonicalized to 1 - erf(x) and is then reversed to 1 - > erf(x) when canonicalization is disabled and result of erf(x) has > single use within 1 - erf(x). > > The

Re: PR83750: CSE erf/erfc pair

2018-11-02 Thread Ulrich Drepper
On Fri, Nov 2, 2018 at 10:36 AM Prathamesh Kulkarni wrote: > So, the patch adds another transform erf(x) > 1 -> 0 > which resolves the regression. Why don't you match for any constant with absolute value >= 1.0 instead of just 1.0?

PR83750: CSE erf/erfc pair

2018-11-02 Thread Prathamesh Kulkarni
Hi, This patch adds two transforms to match.pd to CSE erf/erfc pair. erfc(x) is canonicalized to 1 - erf(x) and is then reversed to 1 - erf(x) when canonicalization is disabled and result of erf(x) has single use within 1 - erf(x). The patch regressed builtin-nonneg-1.c. The following test-case