1): New.
> > > > > > (maybe_expand_mult_copysign): Likewise.
> > > > > > (expand_expr_real_2): Expand copysign.
> > > > > > * optabs.def (xorsign_optab): New.
> > > > > >
> > > > > > ___
opysign.
> > > > > * optabs.def (xorsign_optab): New.
> > > > >
> > > > >
> > > > > From: Andrew Pinski
> > > > > Sent: Monday, July 10, 2017 12:21:29 AM
> > > &g
n): Likewise.
> > > > (expand_expr_real_2): Expand copysign.
> > > > * optabs.def (xorsign_optab): New.
> > > >
> > > > ____________________________
> > > > From: Andrew Pinski
> > > > Sent: Monday,
call_with_1): New.
> > > (maybe_expand_mult_copysign): Likewise.
> > > (expand_expr_real_2): Expand copysign.
> > > * optabs.def (xorsign_optab): New.
> > >
> > > ____
> > > From: Andrew Pinski
> >
ki
> > Sent: Monday, July 10, 2017 12:21:29 AM
> > To: Tamar Christina
> > Cc: GCC Patches; nd; l...@redhat.com; i...@airs.com; rguent...@suse.de
> > Subject: Re: [GCC][PATCH][mid-end] Optimize x * copysign (1.0, y)
> > [Patch (1/2)]
> >
> > On Mon, Jun 12, 2017 at
(xorsign_optab): New.
>
>
> From: Andrew Pinski
> Sent: Monday, July 10, 2017 12:21:29 AM
> To: Tamar Christina
> Cc: GCC Patches; nd; l...@redhat.com; i...@airs.com; rguent...@suse.de
> Subject: Re: [GCC][PATCH][mid-end] Optimize x
Ping.
From: Tamar Christina
Sent: Monday, July 10, 2017 4:47 PM
To: Andrew Pinski
Cc: GCC Patches; nd; l...@redhat.com; i...@airs.com; rguent...@suse.de
Subject: Re: [GCC][PATCH][mid-end] Optimize x * copysign (1.0, y) [Patch (1/2)]
Hi All,
I've re
bject: Re: [GCC][PATCH][mid-end] Optimize x * copysign (1.0, y) [Patch (1/2)]
On Mon, Jun 12, 2017 at 12:56 AM, Tamar Christina
wrote:
> Hi All,
>
> this patch implements a optimization rewriting
>
> x * copysign (1.0, y) and
> x * copysign (-1.0, y)
>
> to:
>
> x ^ (y &a
On Mon, Jun 12, 2017 at 12:56 AM, Tamar Christina
wrote:
> Hi All,
>
> this patch implements a optimization rewriting
>
> x * copysign (1.0, y) and
> x * copysign (-1.0, y)
>
> to:
>
> x ^ (y & (1 << sign_bit_position))
>
> This is done by creating a special builtin during matching and generate th
guent...@suse.de
Subject: Re: [GCC][PATCH][mid-end] Optimize x * copysign (1.0, y) [Patch (1/2)]
On Sat, Jun 24, 2017 at 4:53 PM, Andrew Pinski wrote:
> On Mon, Jun 12, 2017 at 12:56 AM, Tamar Christina
> wrote:
>> Hi All,
>>
>> this patch implements a optimization rewriti
On Sat, 24 Jun 2017, Andrew Pinski wrote:
> On Mon, Jun 12, 2017 at 12:56 AM, Tamar Christina
> wrote:
> > Hi All,
> >
> > this patch implements a optimization rewriting
> >
> > x * copysign (1.0, y) and
> > x * copysign (-1.0, y)
>
>
> This reminds me:
> copysign(-1.0, y) can be just optimized
On Sat, Jun 24, 2017 at 4:53 PM, Andrew Pinski wrote:
> On Mon, Jun 12, 2017 at 12:56 AM, Tamar Christina
> wrote:
>> Hi All,
>>
>> this patch implements a optimization rewriting
>>
>> x * copysign (1.0, y) and
>> x * copysign (-1.0, y)
>
>
> This reminds me:
> copysign(-1.0, y) can be just optim
On Mon, Jun 12, 2017 at 12:56 AM, Tamar Christina
wrote:
> Hi All,
>
> this patch implements a optimization rewriting
>
> x * copysign (1.0, y) and
> x * copysign (-1.0, y)
This reminds me:
copysign(-1.0, y) can be just optimized to:
copysign(1.0, y)
I did that in my patch here:
https://gcc.gnu
Hi Richard,
> > First, nowadays please add an internal function instead of builtins.
> > You can even take advantage of Richards work to directly tie those to
> > optabs (he might want to chime in to tell you how). You don't need
> > the fortran FE changes in that case.
>
> Yeah, it should just
Hi Richard,
Thanks for the feedback, I'll update the patch accordingly.
> What does
>
> > (copysigns @0 (negate @1)): Likewise.
>
> do?
>
Sorry this slipped through my clean-up. The patch doesn't actually contain this
definition anymore.
> Third, new IL that is present throughout the
>
> Please only enable this if you have XORSIGN and XORSIGNF.
>
> On the PowerPC this would involve moving the value from the
> vector/floating point registers to the general purpose registers to do the XOR
> operation and then back to the vector/floating point registers.
>
Fair enough, I thi
On Mon, Jun 12, 2017 at 07:56:54AM +, Tamar Christina wrote:
> Hi All,
>
> this patch implements a optimization rewriting
>
> x * copysign (1.0, y) and
> x * copysign (-1.0, y)
>
> to:
>
> x ^ (y & (1 << sign_bit_position))
>
> This is done by creating a special builtin during matching a
On Mon, 12 Jun 2017, Tamar Christina wrote:
> x * copysign (1.0, y) and
> x * copysign (-1.0, y)
>
> to:
>
> x ^ (y & (1 << sign_bit_position))
Note that this needs to be disabled for -fsignaling-nans, as if x is a
signaling NaN, the multiplication converts it to a quiet NaN and raises
"inv
Richard Biener writes:
> On Mon, 12 Jun 2017, Tamar Christina wrote:
>> Hi All,
>>
>> this patch implements a optimization rewriting
>>
>> x * copysign (1.0, y) and
>> x * copysign (-1.0, y)
>>
>> to:
>>
>> x ^ (y & (1 << sign_bit_position))
>>
>> This is done by creating a special builtin
On Mon, 12 Jun 2017, Tamar Christina wrote:
> Hi All,
>
> this patch implements a optimization rewriting
>
> x * copysign (1.0, y) and
> x * copysign (-1.0, y)
>
> to:
>
> x ^ (y & (1 << sign_bit_position))
>
> This is done by creating a special builtin during matching and generate the
> ap
Hi All,
this patch implements a optimization rewriting
x * copysign (1.0, y) and
x * copysign (-1.0, y)
to:
x ^ (y & (1 << sign_bit_position))
This is done by creating a special builtin during matching and generate the
appropriate instructions during expand. This new builtin is called XORSIG
21 matches
Mail list logo