public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/46728] New: GCC no longer generates fmadd for pow (x, 0.75)+y on powerpc
@ 2010-11-30 18:49 meissner at gcc dot gnu.org
  2010-12-01 13:47 ` [Bug tree-optimization/46728] " rguenth at gcc dot gnu.org
                   ` (20 more replies)
  0 siblings, 21 replies; 22+ messages in thread
From: meissner at gcc dot gnu.org @ 2010-11-30 18:49 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46728

           Summary: GCC no longer generates fmadd for pow (x, 0.75)+y on
                    powerpc
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: meissner@gcc.gnu.org
              Host: powerpc64-linux
            Target: powerpc64-linux
             Build: powerpc64-linux


Created attachment 22582
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22582
Test file that when compiled with -ffast-math -mcpu=power6 shows the bug

With Richard Henderson's change on 2010-11-16 to move the FMA generation to the
gimple level, and remove all of the combiners in the backend for fma, the
compiler now does not generate a fma for the __builtin_pow (x, 0.75)
optimization if the result of the pow is added to another value.  Now, the
actual benchmark that prompted adding the __builtin_pow (x, 0.75) optimization
does not combine the pow with an add, other people might run into it.

This is due to the fact that the pow transformation is done at the rtl level,
and not the tree level, and with the combiners removed, the compiler does not
do the transformation.  The right solution is to move this optimization to the
tree level.


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug tree-optimization/46728] GCC no longer generates fmadd for pow (x, 0.75)+y on powerpc
  2010-11-30 18:49 [Bug tree-optimization/46728] New: GCC no longer generates fmadd for pow (x, 0.75)+y on powerpc meissner at gcc dot gnu.org
@ 2010-12-01 13:47 ` rguenth at gcc dot gnu.org
  2010-12-01 15:48 ` [Bug tree-optimization/46728] [4.6 Regression] " pinskia at gcc dot gnu.org
                   ` (19 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: rguenth at gcc dot gnu.org @ 2010-12-01 13:47 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46728

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2010.12.01 13:47:04
     Ever Confirmed|0                           |1

--- Comment #1 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-12-01 13:47:04 UTC ---
Confirmed.


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug tree-optimization/46728] [4.6 Regression] GCC no longer generates fmadd for pow (x, 0.75)+y on powerpc
  2010-11-30 18:49 [Bug tree-optimization/46728] New: GCC no longer generates fmadd for pow (x, 0.75)+y on powerpc meissner at gcc dot gnu.org
  2010-12-01 13:47 ` [Bug tree-optimization/46728] " rguenth at gcc dot gnu.org
@ 2010-12-01 15:48 ` pinskia at gcc dot gnu.org
  2011-01-03 20:29 ` rguenth at gcc dot gnu.org
                   ` (18 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: pinskia at gcc dot gnu.org @ 2010-12-01 15:48 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46728

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |4.6.0
            Summary|GCC no longer generates     |[4.6 Regression] GCC no
                   |fmadd for pow (x, 0.75)+y   |longer generates fmadd for
                   |on powerpc                  |pow (x, 0.75)+y on powerpc


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug tree-optimization/46728] [4.6 Regression] GCC no longer generates fmadd for pow (x, 0.75)+y on powerpc
  2010-11-30 18:49 [Bug tree-optimization/46728] New: GCC no longer generates fmadd for pow (x, 0.75)+y on powerpc meissner at gcc dot gnu.org
  2010-12-01 13:47 ` [Bug tree-optimization/46728] " rguenth at gcc dot gnu.org
  2010-12-01 15:48 ` [Bug tree-optimization/46728] [4.6 Regression] " pinskia at gcc dot gnu.org
@ 2011-01-03 20:29 ` rguenth at gcc dot gnu.org
  2011-02-04 18:11 ` meissner at gcc dot gnu.org
                   ` (17 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: rguenth at gcc dot gnu.org @ 2011-01-03 20:29 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46728

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|enhancement                 |normal


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug tree-optimization/46728] [4.6 Regression] GCC no longer generates fmadd for pow (x, 0.75)+y on powerpc
  2010-11-30 18:49 [Bug tree-optimization/46728] New: GCC no longer generates fmadd for pow (x, 0.75)+y on powerpc meissner at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2011-01-03 20:29 ` rguenth at gcc dot gnu.org
@ 2011-02-04 18:11 ` meissner at gcc dot gnu.org
  2011-02-08 13:49 ` [Bug tree-optimization/46728] GCC does not generate " rguenth at gcc dot gnu.org
                   ` (16 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: meissner at gcc dot gnu.org @ 2011-02-04 18:11 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46728

--- Comment #2 from Michael Meissner <meissner at gcc dot gnu.org> 2011-02-04 18:11:09 UTC ---
When the initial changes for bug 42694 was added that optimizes pow (x, 0.75)
into sqrt(sqrt(x))*sqrt(x) under fast math, there was a desire to move this RTL
optimization into the tree level.  Ideally it should before the vectorization
of math functions and FMA (floating point multiplication and add) passes.

Here is the discussion about the changes in April 2010:
http://gcc.gnu.org/ml/gcc-patches/2010-04/msg00788.html

Presumably most of the optimizations done in expand_builtin_pow,
expand_builtin_powi and expand_builtin_pow_root in the builtins.c file should
be moved to a tree pass.


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug tree-optimization/46728] GCC does not generate fmadd for pow (x, 0.75)+y on powerpc
  2010-11-30 18:49 [Bug tree-optimization/46728] New: GCC no longer generates fmadd for pow (x, 0.75)+y on powerpc meissner at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2011-02-04 18:11 ` meissner at gcc dot gnu.org
@ 2011-02-08 13:49 ` rguenth at gcc dot gnu.org
  2011-04-01 19:17 ` meissner at gcc dot gnu.org
                   ` (15 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: rguenth at gcc dot gnu.org @ 2011-02-08 13:49 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46728

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |missed-optimization
   Target Milestone|4.6.0                       |---
            Summary|[4.6 Regression] GCC no     |GCC does not generate fmadd
                   |longer generates fmadd for  |for pow (x, 0.75)+y on
                   |pow (x, 0.75)+y on powerpc  |powerpc
           Severity|normal                      |enhancement

--- Comment #3 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-02-08 13:44:51 UTC ---
I had patches for powi expansion I think 6 years ago but they were rejected
(fortunately I can now approve them myself).  We should expose most of this
lowering to the vectorizer as it can vectorize sqrt and multiplication series
while it cannot vectorize pow or powi in general (it tries for some special
cases via the sucky pattern recognition).

Not a regression, no compiler was released with the fancy pow (x, 0.75) + y
handling.


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug tree-optimization/46728] GCC does not generate fmadd for pow (x, 0.75)+y on powerpc
  2010-11-30 18:49 [Bug tree-optimization/46728] New: GCC no longer generates fmadd for pow (x, 0.75)+y on powerpc meissner at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2011-02-08 13:49 ` [Bug tree-optimization/46728] GCC does not generate " rguenth at gcc dot gnu.org
@ 2011-04-01 19:17 ` meissner at gcc dot gnu.org
  2011-05-24 18:23 ` wschmidt at gcc dot gnu.org
                   ` (14 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: meissner at gcc dot gnu.org @ 2011-04-01 19:17 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46728

Michael Meissner <meissner at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
            Version|4.6.0                       |4.7.0
         AssignedTo|unassigned at gcc dot       |wschmidt at gcc dot gnu.org
                   |gnu.org                     |


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug tree-optimization/46728] GCC does not generate fmadd for pow (x, 0.75)+y on powerpc
  2010-11-30 18:49 [Bug tree-optimization/46728] New: GCC no longer generates fmadd for pow (x, 0.75)+y on powerpc meissner at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2011-04-01 19:17 ` meissner at gcc dot gnu.org
@ 2011-05-24 18:23 ` wschmidt at gcc dot gnu.org
  2011-05-24 18:35 ` wschmidt at gcc dot gnu.org
                   ` (13 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2011-05-24 18:23 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46728

--- Comment #4 from William J. Schmidt <wschmidt at gcc dot gnu.org> 2011-05-24 18:02:27 UTC ---
Author: wschmidt
Date: Tue May 24 18:02:22 2011
New Revision: 174129

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174129
Log:
2011-05-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

    PR tree-optimization/46728
    * tree-ssa-math-opts.c (powi_table): New.
    (powi_lookup_cost): New.
    (powi_cost): New.
    (powi_as_mults_1): New.
    (powi_as_mults): New.
    (gimple_expand_builtin_powi): New.
    (execute_cse_sincos): Add switch case for BUILT_IN_POWI.
    (gate_cse_sincos): Remove sincos/cexp restriction.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/tree-ssa-math-opts.c


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug tree-optimization/46728] GCC does not generate fmadd for pow (x, 0.75)+y on powerpc
  2010-11-30 18:49 [Bug tree-optimization/46728] New: GCC no longer generates fmadd for pow (x, 0.75)+y on powerpc meissner at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2011-05-24 18:23 ` wschmidt at gcc dot gnu.org
@ 2011-05-24 18:35 ` wschmidt at gcc dot gnu.org
  2011-05-25 13:51 ` wschmidt at gcc dot gnu.org
                   ` (12 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2011-05-24 18:35 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46728

--- Comment #5 from William J. Schmidt <wschmidt at gcc dot gnu.org> 2011-05-24 18:06:04 UTC ---
Above is first of a series of patches.  It handles converting __builtin_powi to
a sequence of multiplies in the cse_sincos gimple pass.  More to come.


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug tree-optimization/46728] GCC does not generate fmadd for pow (x, 0.75)+y on powerpc
  2010-11-30 18:49 [Bug tree-optimization/46728] New: GCC no longer generates fmadd for pow (x, 0.75)+y on powerpc meissner at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2011-05-24 18:35 ` wschmidt at gcc dot gnu.org
@ 2011-05-25 13:51 ` wschmidt at gcc dot gnu.org
  2011-05-25 13:53 ` wschmidt at gcc dot gnu.org
                   ` (11 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2011-05-25 13:51 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46728

--- Comment #6 from William J. Schmidt <wschmidt at gcc dot gnu.org> 2011-05-25 13:35:58 UTC ---
Author: wschmidt
Date: Wed May 25 13:35:53 2011
New Revision: 174196

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174196
Log:
2011-05-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

    PR tree-optimization/46728
    * tree-ssa-math-opts.c (gimple_expand_builtin_pow): New.
    (execute_cse_sincos): Add switch case for BUILT_IN_POW.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/tree-ssa-math-opts.c


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug tree-optimization/46728] GCC does not generate fmadd for pow (x, 0.75)+y on powerpc
  2010-11-30 18:49 [Bug tree-optimization/46728] New: GCC no longer generates fmadd for pow (x, 0.75)+y on powerpc meissner at gcc dot gnu.org
                   ` (8 preceding siblings ...)
  2011-05-25 13:51 ` wschmidt at gcc dot gnu.org
@ 2011-05-25 13:53 ` wschmidt at gcc dot gnu.org
  2011-05-27 19:20 ` wschmidt at gcc dot gnu.org
                   ` (10 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2011-05-25 13:53 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46728

--- Comment #7 from William J. Schmidt <wschmidt at gcc dot gnu.org> 2011-05-25 13:42:14 UTC ---
Patch 2 transforms pow(x,n) to multiplies for integer n, similar to patch 1 for
powi(x,n).


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug tree-optimization/46728] GCC does not generate fmadd for pow (x, 0.75)+y on powerpc
  2010-11-30 18:49 [Bug tree-optimization/46728] New: GCC no longer generates fmadd for pow (x, 0.75)+y on powerpc meissner at gcc dot gnu.org
                   ` (9 preceding siblings ...)
  2011-05-25 13:53 ` wschmidt at gcc dot gnu.org
@ 2011-05-27 19:20 ` wschmidt at gcc dot gnu.org
  2011-05-27 19:52 ` wschmidt at gcc dot gnu.org
                   ` (9 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2011-05-27 19:20 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46728

--- Comment #8 from William J. Schmidt <wschmidt at gcc dot gnu.org> 2011-05-27 19:11:22 UTC ---
Author: wschmidt
Date: Fri May 27 19:11:19 2011
New Revision: 174349

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174349
Log:
2011-05-27  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

    PR tree-optimization/46728
    * tree-ssa-math-opts.c (powi_as_mults_1): Add gimple_set_location.
    (powi_as_mults): Add gimple_set_location.
    (build_and_insert_call): New.
    (gimple_expand_builtin_pow): Add handling for pow(x,y) when y is
    0.5, 0.25, 0.75, 1./3., or 1./6.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/tree-ssa-math-opts.c


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug tree-optimization/46728] GCC does not generate fmadd for pow (x, 0.75)+y on powerpc
  2010-11-30 18:49 [Bug tree-optimization/46728] New: GCC no longer generates fmadd for pow (x, 0.75)+y on powerpc meissner at gcc dot gnu.org
                   ` (10 preceding siblings ...)
  2011-05-27 19:20 ` wschmidt at gcc dot gnu.org
@ 2011-05-27 19:52 ` wschmidt at gcc dot gnu.org
  2011-05-30 17:42 ` wschmidt at gcc dot gnu.org
                   ` (8 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2011-05-27 19:52 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46728

--- Comment #9 from William J. Schmidt <wschmidt at gcc dot gnu.org> 2011-05-27 19:39:11 UTC ---
Author: wschmidt
Date: Fri May 27 19:39:07 2011
New Revision: 174358

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174358
Log:
2011-05-27  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

    PR tree-optimization/46728
    * gcc.target/powerpc/pr46728-1.c: New.
    * gcc.target/powerpc/pr46728-2.c: New.
    * gcc.target/powerpc/pr46728-3.c: New.
    * gcc.target/powerpc/pr46728-4.c: New.
    * gcc.target/powerpc/pr46728-5.c: New.
    * gcc.dg/pr46728-6.c: New.
    * gcc.target/powerpc/pr46728-7.c: New.
    * gcc.target/powerpc/pr46728-8.c: New.
    * gcc.dg/pr46728-9.c: New.
    * gcc.target/powerpc/pr46728-10.c: New.
    * gcc.target/powerpc/pr46728-11.c: New.
    * gcc.dg/pr46728-12.c: New.
    * gcc.target/powerpc/pr46728-13.c: New.
    * gcc.target/powerpc/pr46728-14.c: New.
    * gcc.target/powerpc/pr46728-15.c: New.
    * gcc.target/powerpc/pr46728-16.c: New.


Added:
    trunk/gcc/testsuite/gcc.dg/pr46728-12.c
    trunk/gcc/testsuite/gcc.dg/pr46728-6.c
    trunk/gcc/testsuite/gcc.dg/pr46728-9.c
    trunk/gcc/testsuite/gcc.target/powerpc/pr46728-1.c
    trunk/gcc/testsuite/gcc.target/powerpc/pr46728-10.c
    trunk/gcc/testsuite/gcc.target/powerpc/pr46728-11.c
    trunk/gcc/testsuite/gcc.target/powerpc/pr46728-13.c
    trunk/gcc/testsuite/gcc.target/powerpc/pr46728-14.c
    trunk/gcc/testsuite/gcc.target/powerpc/pr46728-15.c
    trunk/gcc/testsuite/gcc.target/powerpc/pr46728-16.c
    trunk/gcc/testsuite/gcc.target/powerpc/pr46728-2.c
    trunk/gcc/testsuite/gcc.target/powerpc/pr46728-3.c
    trunk/gcc/testsuite/gcc.target/powerpc/pr46728-4.c
    trunk/gcc/testsuite/gcc.target/powerpc/pr46728-5.c
    trunk/gcc/testsuite/gcc.target/powerpc/pr46728-7.c
    trunk/gcc/testsuite/gcc.target/powerpc/pr46728-8.c
Modified:
    trunk/gcc/testsuite/ChangeLog


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug tree-optimization/46728] GCC does not generate fmadd for pow (x, 0.75)+y on powerpc
  2010-11-30 18:49 [Bug tree-optimization/46728] New: GCC no longer generates fmadd for pow (x, 0.75)+y on powerpc meissner at gcc dot gnu.org
                   ` (11 preceding siblings ...)
  2011-05-27 19:52 ` wschmidt at gcc dot gnu.org
@ 2011-05-30 17:42 ` wschmidt at gcc dot gnu.org
  2011-06-06 14:28 ` wschmidt at gcc dot gnu.org
                   ` (7 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2011-05-30 17:42 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46728

--- Comment #10 from William J. Schmidt <wschmidt at gcc dot gnu.org> 2011-05-30 17:12:58 UTC ---
Author: wschmidt
Date: Mon May 30 17:12:53 2011
New Revision: 174446

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174446
Log:
2011-05-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

    PR tree-optimization/46728
    * tree-ssa-math-opts.c (build_and_insert_call): Reorder parms.
    (build_and_insert_binop): New.
    (gimple_expand_builtin_pow): Reorder args for
    build_and_insert_call; use build_and_insert_binop; add more
    optimizations for fractional exponents.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/tree-ssa-math-opts.c


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug tree-optimization/46728] GCC does not generate fmadd for pow (x, 0.75)+y on powerpc
  2010-11-30 18:49 [Bug tree-optimization/46728] New: GCC no longer generates fmadd for pow (x, 0.75)+y on powerpc meissner at gcc dot gnu.org
                   ` (12 preceding siblings ...)
  2011-05-30 17:42 ` wschmidt at gcc dot gnu.org
@ 2011-06-06 14:28 ` wschmidt at gcc dot gnu.org
  2011-06-07 15:13 ` wschmidt at gcc dot gnu.org
                   ` (6 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2011-06-06 14:28 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46728

--- Comment #11 from William J. Schmidt <wschmidt at gcc dot gnu.org> 2011-06-06 14:27:44 UTC ---
Author: wschmidt
Date: Mon Jun  6 14:27:41 2011
New Revision: 174701

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174701
Log:
2011-06-06  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

    PR tree-optimization/46728
    * builtins.c (powi_table): Remove.
    (powi_lookup_cost): Remove.
    (powi_cost): Remove.
    (expand_powi_1): Remove.
    (expand_powi): Remove.
    (expand_builtin_pow_root): Remove.
    (expand_builtin_pow): Remove.
    (expand_builtin_powi): Eliminate handling of constant exponent.
    (expand_builtin): Use expand_builtin_mathfn_2 for BUILT_IN_POW.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/builtins.c


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug tree-optimization/46728] GCC does not generate fmadd for pow (x, 0.75)+y on powerpc
  2010-11-30 18:49 [Bug tree-optimization/46728] New: GCC no longer generates fmadd for pow (x, 0.75)+y on powerpc meissner at gcc dot gnu.org
                   ` (13 preceding siblings ...)
  2011-06-06 14:28 ` wschmidt at gcc dot gnu.org
@ 2011-06-07 15:13 ` wschmidt at gcc dot gnu.org
  2011-06-07 15:24 ` wschmidt at gcc dot gnu.org
                   ` (5 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2011-06-07 15:13 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46728

--- Comment #12 from William J. Schmidt <wschmidt at gcc dot gnu.org> 2011-06-07 15:12:07 UTC ---
Author: wschmidt
Date: Tue Jun  7 15:12:04 2011
New Revision: 174752

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174752
Log:
2011-06-07  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

    PR tree-optimization/46728
    * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Change FIXME
    to use gimple_val_nonnegative_real_p.
    * gimple-fold.c (gimple_val_nonnegative_real_p): New function.
    * gimple.h (gimple_val_nonnegative_real_p): New declaration.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/gimple-fold.c
    trunk/gcc/gimple.h
    trunk/gcc/tree-ssa-math-opts.c


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug tree-optimization/46728] GCC does not generate fmadd for pow (x, 0.75)+y on powerpc
  2010-11-30 18:49 [Bug tree-optimization/46728] New: GCC no longer generates fmadd for pow (x, 0.75)+y on powerpc meissner at gcc dot gnu.org
                   ` (14 preceding siblings ...)
  2011-06-07 15:13 ` wschmidt at gcc dot gnu.org
@ 2011-06-07 15:24 ` wschmidt at gcc dot gnu.org
  2011-11-11 19:25 ` wschmidt at gcc dot gnu.org
                   ` (4 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2011-06-07 15:24 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46728

--- Comment #13 from William J. Schmidt <wschmidt at gcc dot gnu.org> 2011-06-07 15:24:29 UTC ---
Work is complete on the planned changes.  Note there is an open regression
PR49302 that has yet to be addressed.


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug tree-optimization/46728] GCC does not generate fmadd for pow (x, 0.75)+y on powerpc
  2010-11-30 18:49 [Bug tree-optimization/46728] New: GCC no longer generates fmadd for pow (x, 0.75)+y on powerpc meissner at gcc dot gnu.org
                   ` (15 preceding siblings ...)
  2011-06-07 15:24 ` wschmidt at gcc dot gnu.org
@ 2011-11-11 19:25 ` wschmidt at gcc dot gnu.org
  2012-03-12  2:27 ` fang at csl dot cornell.edu
                   ` (3 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2011-11-11 19:25 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46728

William J. Schmidt <wschmidt at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED

--- Comment #14 from William J. Schmidt <wschmidt at gcc dot gnu.org> 2011-11-11 17:11:18 UTC ---
Fixed.


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug tree-optimization/46728] GCC does not generate fmadd for pow (x, 0.75)+y on powerpc
  2010-11-30 18:49 [Bug tree-optimization/46728] New: GCC no longer generates fmadd for pow (x, 0.75)+y on powerpc meissner at gcc dot gnu.org
                   ` (16 preceding siblings ...)
  2011-11-11 19:25 ` wschmidt at gcc dot gnu.org
@ 2012-03-12  2:27 ` fang at csl dot cornell.edu
  2012-03-12 12:37 ` wschmidt at gcc dot gnu.org
                   ` (2 subsequent siblings)
  20 siblings, 0 replies; 22+ messages in thread
From: fang at csl dot cornell.edu @ 2012-03-12  2:27 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46728

--- Comment #15 from David Fang <fang at csl dot cornell.edu> 2012-03-12 02:26:40 UTC ---
I see this test failing on powerpc-apple-darwin8 (32b G4, ppc7400):
http://gcc.gnu.org/ml/gcc-testresults/2012-03/msg01296.html
Is this specific to 64b, or should it also work for 32b ppc?


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug tree-optimization/46728] GCC does not generate fmadd for pow (x, 0.75)+y on powerpc
  2010-11-30 18:49 [Bug tree-optimization/46728] New: GCC no longer generates fmadd for pow (x, 0.75)+y on powerpc meissner at gcc dot gnu.org
                   ` (17 preceding siblings ...)
  2012-03-12  2:27 ` fang at csl dot cornell.edu
@ 2012-03-12 12:37 ` wschmidt at gcc dot gnu.org
  2012-03-12 18:28 ` wschmidt at gcc dot gnu.org
  2012-03-12 19:46 ` wschmidt at gcc dot gnu.org
  20 siblings, 0 replies; 22+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2012-03-12 12:37 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46728

--- Comment #16 from William J. Schmidt <wschmidt at gcc dot gnu.org> 2012-03-12 12:37:11 UTC ---
(In reply to comment #15)
> I see this test failing on powerpc-apple-darwin8 (32b G4, ppc7400):
> http://gcc.gnu.org/ml/gcc-testresults/2012-03/msg01296.html
> Is this specific to 64b, or should it also work for 32b ppc?

It looks like these tests should be skipped for darwin.  The last three
failures are due to a lack of __builtin_cbrt for that target.  The execution
failures are due to -fpowerpc-gpopt which apparently generates an illegal
instruction for that target.  I'll modify these tests to add skips for
powerpc*-*-darwin*.


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug tree-optimization/46728] GCC does not generate fmadd for pow (x, 0.75)+y on powerpc
  2010-11-30 18:49 [Bug tree-optimization/46728] New: GCC no longer generates fmadd for pow (x, 0.75)+y on powerpc meissner at gcc dot gnu.org
                   ` (18 preceding siblings ...)
  2012-03-12 12:37 ` wschmidt at gcc dot gnu.org
@ 2012-03-12 18:28 ` wschmidt at gcc dot gnu.org
  2012-03-12 19:46 ` wschmidt at gcc dot gnu.org
  20 siblings, 0 replies; 22+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2012-03-12 18:28 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46728

--- Comment #17 from William J. Schmidt <wschmidt at gcc dot gnu.org> 2012-03-12 18:26:52 UTC ---
Author: wschmidt
Date: Mon Mar 12 18:26:48 2012
New Revision: 185260

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=185260
Log:
2012-03-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

    PR tree-optimization/46728
    * gcc.target/powerpc/pr46728-4.c: Skip for powerpc*-*-darwin*.
    * gcc.target/powerpc/pr46728-5.c: Likewise.
    * gcc.target/powerpc/pr46728-8.c: Likewise.
    * gcc.target/powerpc/pr46728-10.c: Likewise.
    * gcc.target/powerpc/pr46728-11.c: Likewise.
    * gcc.target/powerpc/pr46728-13.c: Likewise.
    * gcc.target/powerpc/pr46728-14.c: Likewise.
    * gcc.target/powerpc/pr46728-15.c: Likewise.

Modified:
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.target/powerpc/pr46728-10.c
    trunk/gcc/testsuite/gcc.target/powerpc/pr46728-11.c
    trunk/gcc/testsuite/gcc.target/powerpc/pr46728-13.c
    trunk/gcc/testsuite/gcc.target/powerpc/pr46728-14.c
    trunk/gcc/testsuite/gcc.target/powerpc/pr46728-15.c
    trunk/gcc/testsuite/gcc.target/powerpc/pr46728-4.c
    trunk/gcc/testsuite/gcc.target/powerpc/pr46728-5.c
    trunk/gcc/testsuite/gcc.target/powerpc/pr46728-8.c


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Bug tree-optimization/46728] GCC does not generate fmadd for pow (x, 0.75)+y on powerpc
  2010-11-30 18:49 [Bug tree-optimization/46728] New: GCC no longer generates fmadd for pow (x, 0.75)+y on powerpc meissner at gcc dot gnu.org
                   ` (19 preceding siblings ...)
  2012-03-12 18:28 ` wschmidt at gcc dot gnu.org
@ 2012-03-12 19:46 ` wschmidt at gcc dot gnu.org
  20 siblings, 0 replies; 22+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2012-03-12 19:46 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46728

--- Comment #18 from William J. Schmidt <wschmidt at gcc dot gnu.org> 2012-03-12 19:45:49 UTC ---
Author: wschmidt
Date: Mon Mar 12 19:45:43 2012
New Revision: 185265

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=185265
Log:
2012-03-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

    PR tree-optimization/46728
    * gcc.target/powerpc/pr46728-4.c: Use preferred syntax.
    * gcc.target/powerpc/pr46728-5.c: Likewise.
    * gcc.target/powerpc/pr46728-8.c: Likewise.
    * gcc.target/powerpc/pr46728-10.c: Likewise.
    * gcc.target/powerpc/pr46728-11.c: Likewise.
    * gcc.target/powerpc/pr46728-13.c: Likewise.
    * gcc.target/powerpc/pr46728-14.c: Likewise.
    * gcc.target/powerpc/pr46728-15.c: Likewise.

Modified:
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.target/powerpc/pr46728-10.c
    trunk/gcc/testsuite/gcc.target/powerpc/pr46728-11.c
    trunk/gcc/testsuite/gcc.target/powerpc/pr46728-13.c
    trunk/gcc/testsuite/gcc.target/powerpc/pr46728-14.c
    trunk/gcc/testsuite/gcc.target/powerpc/pr46728-15.c
    trunk/gcc/testsuite/gcc.target/powerpc/pr46728-4.c
    trunk/gcc/testsuite/gcc.target/powerpc/pr46728-5.c
    trunk/gcc/testsuite/gcc.target/powerpc/pr46728-8.c


^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2012-03-12 19:46 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-11-30 18:49 [Bug tree-optimization/46728] New: GCC no longer generates fmadd for pow (x, 0.75)+y on powerpc meissner at gcc dot gnu.org
2010-12-01 13:47 ` [Bug tree-optimization/46728] " rguenth at gcc dot gnu.org
2010-12-01 15:48 ` [Bug tree-optimization/46728] [4.6 Regression] " pinskia at gcc dot gnu.org
2011-01-03 20:29 ` rguenth at gcc dot gnu.org
2011-02-04 18:11 ` meissner at gcc dot gnu.org
2011-02-08 13:49 ` [Bug tree-optimization/46728] GCC does not generate " rguenth at gcc dot gnu.org
2011-04-01 19:17 ` meissner at gcc dot gnu.org
2011-05-24 18:23 ` wschmidt at gcc dot gnu.org
2011-05-24 18:35 ` wschmidt at gcc dot gnu.org
2011-05-25 13:51 ` wschmidt at gcc dot gnu.org
2011-05-25 13:53 ` wschmidt at gcc dot gnu.org
2011-05-27 19:20 ` wschmidt at gcc dot gnu.org
2011-05-27 19:52 ` wschmidt at gcc dot gnu.org
2011-05-30 17:42 ` wschmidt at gcc dot gnu.org
2011-06-06 14:28 ` wschmidt at gcc dot gnu.org
2011-06-07 15:13 ` wschmidt at gcc dot gnu.org
2011-06-07 15:24 ` wschmidt at gcc dot gnu.org
2011-11-11 19:25 ` wschmidt at gcc dot gnu.org
2012-03-12  2:27 ` fang at csl dot cornell.edu
2012-03-12 12:37 ` wschmidt at gcc dot gnu.org
2012-03-12 18:28 ` wschmidt at gcc dot gnu.org
2012-03-12 19:46 ` wschmidt at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).