RE: [GCC][PATCH][mid-end][Version 3] Optimize x * copysign (1.0, y) [Patch (1/2)]

2017-08-08 Thread Richard Biener
On Mon, 7 Aug 2017, Tamar Christina wrote: > Hi Richard, > > > switch (code) > > { > > case MULT_EXPR: > > if (!convert_mult_to_widen (stmt, ) > > && !convert_expand_mult_copysign (stmt, ) > >

RE: [GCC][PATCH][mid-end][Version 3] Optimize x * copysign (1.0, y) [Patch (1/2)]

2017-08-07 Thread Tamar Christina
Hi Richard, > switch (code) > { > case MULT_EXPR: > if (!convert_mult_to_widen (stmt, ) > && !convert_expand_mult_copysign (stmt, ) > && convert_mult_to_fma (stmt, >

Re: [GCC][PATCH][mid-end][Version 3] Optimize x * copysign (1.0, y) [Patch (1/2)]

2017-08-04 Thread Richard Biener
On Thu, 3 Aug 2017, Tamar Christina wrote: > Hi All, > > this patch implements a optimization rewriting > > x * copysign (1.0, y) > > to: > > x ^ (y & (1 << sign_bit_position)) > > > This is only done when not honoring signaling NaNs. > This transormation is done at ssa mult widening time

[GCC][PATCH][mid-end][Version 3] Optimize x * copysign (1.0, y) [Patch (1/2)]

2017-08-03 Thread Tamar Christina
Hi All, this patch implements a optimization rewriting x * copysign (1.0, y) to: x ^ (y & (1 << sign_bit_position)) This is only done when not honoring signaling NaNs. This transormation is done at ssa mult widening time and is gated on the a check for the optab "xorsign". If the optab is