public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug driver/56244] New: -O3 should imply -funroll-loops
@ 2013-02-07 16:27 Joost.VandeVondele at mat dot ethz.ch
  2013-02-07 17:02 ` [Bug driver/56244] " pinskia at gcc dot gnu.org
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Joost.VandeVondele at mat dot ethz.ch @ 2013-02-07 16:27 UTC (permalink / raw)
  To: gcc-bugs


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

             Bug #: 56244
           Summary: -O3 should imply -funroll-loops
    Classification: Unclassified
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: driver
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: Joost.VandeVondele@mat.ethz.ch


As suggested by Richard, -O3 should imply -funroll-loops

http://gcc.gnu.org/ml/gcc/2013-02/msg00073.html

I think this makes a lot of sense. For our simulation codes, we essentially add
it 'by default' yielding small but measurable speedups (1%?).

Having it on by default (like vectorization), will likely improve the
heuristics, and the interaction with e.g. vectorization will improve.


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

* [Bug driver/56244] -O3 should imply -funroll-loops
  2013-02-07 16:27 [Bug driver/56244] New: -O3 should imply -funroll-loops Joost.VandeVondele at mat dot ethz.ch
@ 2013-02-07 17:02 ` pinskia at gcc dot gnu.org
  2013-02-08  8:30 ` rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: pinskia at gcc dot gnu.org @ 2013-02-07 17:02 UTC (permalink / raw)
  To: gcc-bugs


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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2013-02-07
            Version|unknown                     |4.8.0
         AssignedTo|unassigned at gcc dot       |pinskia at gcc dot gnu.org
                   |gnu.org                     |
     Ever Confirmed|0                           |1

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> 2013-02-07 17:01:58 UTC ---
Cavium also adds it by default to -O3 for the Octeon toolchains.  For 4.9, I
will dig up the patch and post it.


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

* [Bug driver/56244] -O3 should imply -funroll-loops
  2013-02-07 16:27 [Bug driver/56244] New: -O3 should imply -funroll-loops Joost.VandeVondele at mat dot ethz.ch
  2013-02-07 17:02 ` [Bug driver/56244] " pinskia at gcc dot gnu.org
@ 2013-02-08  8:30 ` rguenth at gcc dot gnu.org
  2013-02-08  8:37 ` Joost.VandeVondele at mat dot ethz.ch
  2014-05-21 12:14 ` wbrana at gmail dot com
  3 siblings, 0 replies; 5+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-02-08  8:30 UTC (permalink / raw)
  To: gcc-bugs


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

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

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

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> 2013-02-08 08:29:44 UTC ---
As noted elsewhere the RTL unroller is too agressive to be enabled by default.
Only the -funroll-loops/ -fpeel-loops effect of the tree level unroller should
be enabled by default.


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

* [Bug driver/56244] -O3 should imply -funroll-loops
  2013-02-07 16:27 [Bug driver/56244] New: -O3 should imply -funroll-loops Joost.VandeVondele at mat dot ethz.ch
  2013-02-07 17:02 ` [Bug driver/56244] " pinskia at gcc dot gnu.org
  2013-02-08  8:30 ` rguenth at gcc dot gnu.org
@ 2013-02-08  8:37 ` Joost.VandeVondele at mat dot ethz.ch
  2014-05-21 12:14 ` wbrana at gmail dot com
  3 siblings, 0 replies; 5+ messages in thread
From: Joost.VandeVondele at mat dot ethz.ch @ 2013-02-08  8:37 UTC (permalink / raw)
  To: gcc-bugs


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

Joost VandeVondele <Joost.VandeVondele at mat dot ethz.ch> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |Joost.VandeVondele at mat
                   |                            |dot ethz.ch

--- Comment #3 from Joost VandeVondele <Joost.VandeVondele at mat dot ethz.ch> 2013-02-08 08:36:44 UTC ---
(In reply to comment #2)
> As noted elsewhere the RTL unroller is too agressive to be enabled by default.
> Only the -funroll-loops/ -fpeel-loops effect of the tree level unroller should
> be enabled by default.

Or should one instead consider having parameters for the RTL unroller to tune
it if needed ?  

Are there currently command line options that allow for just enabling this on
the tree level, that would allow for some testing ?


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

* [Bug driver/56244] -O3 should imply -funroll-loops
  2013-02-07 16:27 [Bug driver/56244] New: -O3 should imply -funroll-loops Joost.VandeVondele at mat dot ethz.ch
                   ` (2 preceding siblings ...)
  2013-02-08  8:37 ` Joost.VandeVondele at mat dot ethz.ch
@ 2014-05-21 12:14 ` wbrana at gmail dot com
  3 siblings, 0 replies; 5+ messages in thread
From: wbrana at gmail dot com @ 2014-05-21 12:14 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56244

wbrana <wbrana at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |wbrana at gmail dot com

--- Comment #4 from wbrana <wbrana at gmail dot com> ---
It should be enabled with sane default parameters like --param
max-unrolled-insns=32, which can cause up to 75% speedup in nbench benchmark
with 4.8.3

-fno-builtin-memcmp -O2  -g0 -march=native -mtune=native -fomit-frame-pointer
NUMERIC SORT        :          1530.8  :      39.26  :      12.89
STRING SORT         :          734.73  :     328.30  :      50.81
BITFIELD            :      5.4495e+08  :      93.48  :      19.53
FP EMULATION        :          304.53  :     146.13  :      33.72
FOURIER             :           39030  :      44.39  :      24.93
ASSIGNMENT          :          52.865  :     201.16  :      52.18
IDEA                :          6828.3  :     104.44  :      31.01
HUFFMAN             :          4641.2  :     128.70  :      41.10
NEURAL NET          :          72.618  :     116.66  :      49.07
LU DECOMPOSITION    :            2360  :     122.26  :      88.28

-fno-builtin-memcmp -O2  -g0 -march=native -mtune=native -fomit-frame-pointer
-funroll-loops --param max-unrolled-insns=32
NUMERIC SORT        :          1485.9  :      38.11  :      12.52
STRING SORT         :          767.45  :     342.92  :      53.08
BITFIELD            :      4.9745e+08  :      85.33  :      17.82
FP EMULATION        :          532.92  :     255.72  :      59.01
FOURIER             :           38853  :      44.19  :      24.82
ASSIGNMENT          :          57.971  :     220.59  :      57.22
IDEA                :          6866.9  :     105.03  :      31.18
HUFFMAN             :            4648  :     128.89  :      41.16
NEURAL NET          :          87.502  :     140.56  :      59.13
LU DECOMPOSITION    :          3348.2  :     173.45  :     125.25


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

end of thread, other threads:[~2014-05-21 12:14 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-02-07 16:27 [Bug driver/56244] New: -O3 should imply -funroll-loops Joost.VandeVondele at mat dot ethz.ch
2013-02-07 17:02 ` [Bug driver/56244] " pinskia at gcc dot gnu.org
2013-02-08  8:30 ` rguenth at gcc dot gnu.org
2013-02-08  8:37 ` Joost.VandeVondele at mat dot ethz.ch
2014-05-21 12:14 ` wbrana at gmail dot com

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).