public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/66119] New: Regression in optimization of avx-code
@ 2015-05-12 10:00 joachim.schoeberl at tuwien dot ac.at
  2015-05-12 10:08 ` [Bug c++/66119] [5/6 Regression] " jakub at gcc dot gnu.org
                   ` (12 more replies)
  0 siblings, 13 replies; 14+ messages in thread
From: joachim.schoeberl at tuwien dot ac.at @ 2015-05-12 10:00 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 66119
           Summary: Regression in optimization of avx-code
           Product: gcc
           Version: 5.1.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: joachim.schoeberl at tuwien dot ac.at
  Target Milestone: ---

Created attachment 35525
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35525&action=edit
testcode

gcc 5.1 produces a lot of scalar moves for the attached vector-class code. 
gcc 4.9 generates compact code (see below).

compiled using:
gcc -O3 -mavx -S -std=c++11 testgcc.cpp

compiler version:
gcc (GCC) 5.1.1 20150505



gcc 5.1 works fine in any of the cases:

- we use a manual copy constructor instead of '= default' (line 37):
MyTSIMD (const MyTSIMD & s2) : data(s2.data) { ; } 

- we use the concrete vector-class instead of the template (line 45):
using MyVec = MyAVX;

- we do not use  
  __attribute__ ((__always_inline__)) 
for ComputeSomething  (line 58)



Cheers, Joachim




code generated by gcc5.1:

        .globl  _Z12TestFunction4Vec2S_
        .type   _Z12TestFunction4Vec2S_, @function
_Z12TestFunction4Vec2S_:
.LFB4604:
        .cfi_startproc
        movq    72(%rsp), %rdx
        vmovapd 40(%rsp), %ymm0
        movq    %rdi, %rax
        vmovapd 8(%rsp), %ymm1
        movq    %rdx, -88(%rsp)
        movq    80(%rsp), %rdx
        movq    %rdx, -80(%rsp)
        movq    88(%rsp), %rdx
        movq    %rdx, -72(%rsp)
        movq    96(%rsp), %rdx
        movq    %rdx, -64(%rsp)
        movq    104(%rsp), %rdx
        vaddpd  -88(%rsp), %ymm1, %ymm1
        movq    %rdx, -56(%rsp)
        movq    112(%rsp), %rdx
        movq    %rdx, -48(%rsp)
        movq    120(%rsp), %rdx
        vmovapd %ymm1, (%rdi)
        movq    %rdx, -40(%rsp)
        movq    128(%rsp), %rdx
        movq    %rdx, -32(%rsp)
        vaddpd  -56(%rsp), %ymm0, %ymm0
        vmovapd %ymm0, 32(%rdi)
        vzeroupper
        ret
        .cfi_endproc




code generated by gcc 4.9.2:

        .type   _Z12TestFunction4Vec2S_, @function
_Z12TestFunction4Vec2S_:
.LFB2234:
        .cfi_startproc
        vmovapd 40(%rsp), %ymm0
        movq    %rdi, %rax
        vmovapd 8(%rsp), %ymm1
        vaddpd  104(%rsp), %ymm0, %ymm0
        vaddpd  72(%rsp), %ymm1, %ymm1
        vmovapd %ymm0, 32(%rdi)
        vmovapd %ymm1, (%rdi)
        vzeroupper
        ret
        .cfi_endproc


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

* [Bug c++/66119] [5/6 Regression] in optimization of avx-code
  2015-05-12 10:00 [Bug c++/66119] New: Regression in optimization of avx-code joachim.schoeberl at tuwien dot ac.at
@ 2015-05-12 10:08 ` jakub at gcc dot gnu.org
  2015-05-12 10:11 ` rguenth at gcc dot gnu.org
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-05-12 10:08 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2015-05-12
                 CC|                            |jakub at gcc dot gnu.org,
                   |                            |jgreenhalgh at gcc dot gnu.org
   Target Milestone|---                         |5.2
            Summary|Regression in optimization  |[5/6 Regression] in
                   |of avx-code                 |optimization of avx-code
     Ever confirmed|0                           |1

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Broken by r217191.


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

* [Bug c++/66119] [5/6 Regression] in optimization of avx-code
  2015-05-12 10:00 [Bug c++/66119] New: Regression in optimization of avx-code joachim.schoeberl at tuwien dot ac.at
  2015-05-12 10:08 ` [Bug c++/66119] [5/6 Regression] " jakub at gcc dot gnu.org
@ 2015-05-12 10:11 ` rguenth at gcc dot gnu.org
  2015-05-12 10:15 ` [Bug tree-optimization/66119] " rguenth at gcc dot gnu.org
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-05-12 10:11 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed.  We expand from

  <bb 2>:
  a$data_13 = MEM[(struct Vec2 *)&a];
  a$32$data_14 = MEM[(struct Vec2 *)&a + 32B];
  b = b;
  v2_15 = MEM[(struct Vec2 *)&b];
  v2$32_16 = MEM[(struct Vec2 *)&b + 32B];
  _7 = a$32$data_14 + v2$32_16;
  _10 = a$data_13 + v2_15;
  MEM[(struct Vec2 *)&<retval>] = _10;
  MEM[(struct Vec2 *)&<retval> + 32B] = _7;
  return <retval>;

in GCC 5 (note the b = b assignment) while 4.9 sees

  <bb 2>:
  a$data_4 = MEM[(struct Vec2 *)&a];
  a$32$data_13 = MEM[(struct Vec2 *)&a + 32B];
  v2_14 = MEM[(struct Vec2 *)&b];
  v2$32_15 = MEM[(struct Vec2 *)&b + 32B];
  _7 = a$32$data_13 + v2$32_15;
  _10 = a$data_4 + v2_14;
  MEM[(struct Vec2 *)&<retval>] = _10;
  MEM[(struct Vec2 *)&<retval> + 32B] = _7;
  return <retval>;


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

* [Bug tree-optimization/66119] [5/6 Regression] in optimization of avx-code
  2015-05-12 10:00 [Bug c++/66119] New: Regression in optimization of avx-code joachim.schoeberl at tuwien dot ac.at
  2015-05-12 10:08 ` [Bug c++/66119] [5/6 Regression] " jakub at gcc dot gnu.org
  2015-05-12 10:11 ` rguenth at gcc dot gnu.org
@ 2015-05-12 10:15 ` rguenth at gcc dot gnu.org
  2015-05-12 10:16 ` rguenth at gcc dot gnu.org
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-05-12 10:15 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
Ah, it's parameter b assigned to local decl b.


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

* [Bug tree-optimization/66119] [5/6 Regression] in optimization of avx-code
  2015-05-12 10:00 [Bug c++/66119] New: Regression in optimization of avx-code joachim.schoeberl at tuwien dot ac.at
                   ` (2 preceding siblings ...)
  2015-05-12 10:15 ` [Bug tree-optimization/66119] " rguenth at gcc dot gnu.org
@ 2015-05-12 10:16 ` rguenth at gcc dot gnu.org
  2015-05-12 10:27 ` rguenth at gcc dot gnu.org
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-05-12 10:16 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
And we indeed rely on SRA to copy propagate aggregates.


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

* [Bug tree-optimization/66119] [5/6 Regression] in optimization of avx-code
  2015-05-12 10:00 [Bug c++/66119] New: Regression in optimization of avx-code joachim.schoeberl at tuwien dot ac.at
                   ` (3 preceding siblings ...)
  2015-05-12 10:16 ` rguenth at gcc dot gnu.org
@ 2015-05-12 10:27 ` rguenth at gcc dot gnu.org
  2015-05-12 10:43 ` jgreenhalgh at gcc dot gnu.org
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-05-12 10:27 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed by

Index: toplev.c
===================================================================
--- toplev.c    (revision 223044)
+++ toplev.c    (working copy)
@@ -1311,6 +1311,9 @@ process_options (void)
      so we can correctly initialize debug output.  */
   no_backend = lang_hooks.post_options (&main_input_filename);

+  /* Some machines may reject certain combinations of options.  */
+  targetm.target_option.override ();
+
   /* Set default values for parameters relation to the Scalar Reduction
      of Aggregates passes (SRA and IP-SRA).  We must do this here, rather
      than in opts.c:default_options_optimization as historically these
@@ -1325,9 +1328,6 @@ process_options (void)
      get_move_ratio (false) * UNITS_PER_WORD,
      global_options.x_param_values, global_options_set.x_param_values);

-  /* Some machines may reject certain combinations of options.  */
-  targetm.target_option.override ();
-
   /* Avoid any informative notes in the second run of -fcompare-debug.  */
   if (flag_compare_debug) 
     diagnostic_inhibit_notes (global_dc);

though not sure whether a 2nd maybe_set_param_value will still allow the
target to adjust this default...


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

* [Bug tree-optimization/66119] [5/6 Regression] in optimization of avx-code
  2015-05-12 10:00 [Bug c++/66119] New: Regression in optimization of avx-code joachim.schoeberl at tuwien dot ac.at
                   ` (4 preceding siblings ...)
  2015-05-12 10:27 ` rguenth at gcc dot gnu.org
@ 2015-05-12 10:43 ` jgreenhalgh at gcc dot gnu.org
  2015-05-13 10:59 ` rguenth at gcc dot gnu.org
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: jgreenhalgh at gcc dot gnu.org @ 2015-05-12 10:43 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from James Greenhalgh <jgreenhalgh at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #5)
> DEFPARAM (PARAM_SRA_MAX_SCALARIZATION_SIZE_SPEED,
>           "sra-max-scalarization-size-Ospeed",
>           "Maximum size, in storage units, 
> 
> storage units!  But the value seems to be in bits?  It gets used as
> 
>             if (tree_to_uhwi (TYPE_SIZE (TREE_TYPE (var)))
>                 <= max_scalarization_size)
> 

Well, that part should have been covered by:

+  unsigned max_scalarization_size
+    = (optimize_function_for_size_p (cfun)
+       ? PARAM_VALUE (PARAM_SRA_MAX_SCALARIZATION_SIZE_SIZE)
+       : PARAM_VALUE (PARAM_SRA_MAX_SCALARIZATION_SIZE_SPEED))
+      * BITS_PER_UNIT;

>From the original patch, 

> Looks like get_move_ratio returns different things at SRA time (if I re-call
> it)
> and the time it gets invoked in toplev.c.

But, yes these parameters will cause a difference in code generation if
previously MOVE_RATIO could return different values at different times, as it
might well have if target_option_override set up a structure used by
MOVE_RATIO.

The patch I applied carries the hidden assumption that MOVE_RATIO is constant.
Clearly there are a number of situations we might not want that to be true
(say, for switchable targets - which I don't think your patch will help).


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

* [Bug tree-optimization/66119] [5/6 Regression] in optimization of avx-code
  2015-05-12 10:00 [Bug c++/66119] New: Regression in optimization of avx-code joachim.schoeberl at tuwien dot ac.at
                   ` (5 preceding siblings ...)
  2015-05-12 10:43 ` jgreenhalgh at gcc dot gnu.org
@ 2015-05-13 10:59 ` rguenth at gcc dot gnu.org
  2015-06-22 12:11 ` rguenth at gcc dot gnu.org
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-05-13 10:59 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to James Greenhalgh from comment #7)
> (In reply to Richard Biener from comment #5)
> > DEFPARAM (PARAM_SRA_MAX_SCALARIZATION_SIZE_SPEED,
> >           "sra-max-scalarization-size-Ospeed",
> >           "Maximum size, in storage units, 
> > 
> > storage units!  But the value seems to be in bits?  It gets used as
> > 
> >             if (tree_to_uhwi (TYPE_SIZE (TREE_TYPE (var)))
> >                 <= max_scalarization_size)
> > 
> 
> Well, that part should have been covered by:
> 
> +  unsigned max_scalarization_size
> +    = (optimize_function_for_size_p (cfun)
> +	? PARAM_VALUE (PARAM_SRA_MAX_SCALARIZATION_SIZE_SIZE)
> +	: PARAM_VALUE (PARAM_SRA_MAX_SCALARIZATION_SIZE_SPEED))
> +      * BITS_PER_UNIT;
> 
> From the original patch, 
> 
> > Looks like get_move_ratio returns different things at SRA time (if I re-call
> > it)
> > and the time it gets invoked in toplev.c.
> 
> But, yes these parameters will cause a difference in code generation if
> previously MOVE_RATIO could return different values at different times, as
> it might well have if target_option_override set up a structure used by
> MOVE_RATIO.
> 
> The patch I applied carries the hidden assumption that MOVE_RATIO is
> constant. Clearly there are a number of situations we might not want that to
> be true (say, for switchable targets - which I don't think your patch will
> help).

So maybe instead compute that "default" in SRA itself?
>From gcc-bugs-return-486204-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Wed May 13 11:00:34 2015
Return-Path: <gcc-bugs-return-486204-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 107648 invoked by alias); 13 May 2015 11:00:34 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 106983 invoked by uid 55); 13 May 2015 11:00:22 -0000
From: "rguenth at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug tree-optimization/66123] Array of labels as values + ternary operator + pointer arithmetic = internal compiler error
Date: Wed, 13 May 2015 11:00:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: tree-optimization
X-Bugzilla-Version: unknown
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: rguenth at gcc dot gnu.org
X-Bugzilla-Status: ASSIGNED
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: rguenth at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-66123-4-j7vE63bFs9@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-66123-4@http.gcc.gnu.org/bugzilla/>
References: <bug-66123-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-05/txt/msg01044.txt.bz2
Content-length: 637

https://gcc.gnu.org/bugzilla/show_bug.cgi?idf123

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Wed May 13 10:59:49 2015
New Revision: 223130

URL: https://gcc.gnu.org/viewcvs?rev"3130&root=gcc&view=rev
Log:
2015-05-13  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/66123
        * tree-ssa-dom.c (propagate_rhs_into_lhs): Check if we found
        a taken edge.

        * gcc.dg/torture/pr66123.c: New testcase.

Added:
    trunk/gcc/testsuite/gcc.dg/torture/pr66123.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-ssa-dom.c


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

* [Bug tree-optimization/66119] [5/6 Regression] in optimization of avx-code
  2015-05-12 10:00 [Bug c++/66119] New: Regression in optimization of avx-code joachim.schoeberl at tuwien dot ac.at
                   ` (6 preceding siblings ...)
  2015-05-13 10:59 ` rguenth at gcc dot gnu.org
@ 2015-06-22 12:11 ` rguenth at gcc dot gnu.org
  2015-06-22 12:48 ` jgreenhalgh at gcc dot gnu.org
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-06-22 12:11 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P1

--- Comment #9 from Richard Biener <rguenth at gcc dot gnu.org> ---
James, can you please address this regression for 5.2.0?


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

* [Bug tree-optimization/66119] [5/6 Regression] in optimization of avx-code
  2015-05-12 10:00 [Bug c++/66119] New: Regression in optimization of avx-code joachim.schoeberl at tuwien dot ac.at
                   ` (7 preceding siblings ...)
  2015-06-22 12:11 ` rguenth at gcc dot gnu.org
@ 2015-06-22 12:48 ` jgreenhalgh at gcc dot gnu.org
  2015-07-02 16:27 ` jgreenhalgh at gcc dot gnu.org
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: jgreenhalgh at gcc dot gnu.org @ 2015-06-22 12:48 UTC (permalink / raw)
  To: gcc-bugs

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

James Greenhalgh <jgreenhalgh at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |jgreenhalgh at gcc dot gnu.org

--- Comment #10 from James Greenhalgh <jgreenhalgh at gcc dot gnu.org> ---
Yes, sorry for the delay - this completely slipped my mind. I'll start working
on it today.

I think I'm going to go back to the design in some of the earlier proposals for
r217191 and move the call to the hookized MOVE_RATIO in to SRA. It makes the
logic a little messier, as we have to check for parameters, then call off to
the target if they are not set. But that will be the only way we can permit
modifying MOVE_RATIO on a per-function basis. The end result should look
something like
https://gcc.gnu.org/ml/gcc-patches/2014-09/msg02267.html


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

* [Bug tree-optimization/66119] [5/6 Regression] in optimization of avx-code
  2015-05-12 10:00 [Bug c++/66119] New: Regression in optimization of avx-code joachim.schoeberl at tuwien dot ac.at
                   ` (8 preceding siblings ...)
  2015-06-22 12:48 ` jgreenhalgh at gcc dot gnu.org
@ 2015-07-02 16:27 ` jgreenhalgh at gcc dot gnu.org
  2015-07-03  9:15 ` rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: jgreenhalgh at gcc dot gnu.org @ 2015-07-02 16:27 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #11 from James Greenhalgh <jgreenhalgh at gcc dot gnu.org> ---
There is a patch for this on the Mailing List. Jeff has approved the
code-changes and I need an Ack for the test-case (ping:
https://gcc.gnu.org/ml/gcc-patches/2015-06/msg02216.html ).

After that I'll backport it to GCC 5.1.1. Hopefully in time to not block the
release.


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

* [Bug tree-optimization/66119] [5/6 Regression] in optimization of avx-code
  2015-05-12 10:00 [Bug c++/66119] New: Regression in optimization of avx-code joachim.schoeberl at tuwien dot ac.at
                   ` (9 preceding siblings ...)
  2015-07-02 16:27 ` jgreenhalgh at gcc dot gnu.org
@ 2015-07-03  9:15 ` rguenth at gcc dot gnu.org
  2015-07-03  9:26 ` jgreenhalgh at gcc dot gnu.org
  2015-07-03  9:54 ` jgreenhalgh at gcc dot gnu.org
  12 siblings, 0 replies; 14+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-07-03  9:15 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P1                          |P2
      Known to work|                            |4.9.2
      Known to fail|                            |5.1.0


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

* [Bug tree-optimization/66119] [5/6 Regression] in optimization of avx-code
  2015-05-12 10:00 [Bug c++/66119] New: Regression in optimization of avx-code joachim.schoeberl at tuwien dot ac.at
                   ` (10 preceding siblings ...)
  2015-07-03  9:15 ` rguenth at gcc dot gnu.org
@ 2015-07-03  9:26 ` jgreenhalgh at gcc dot gnu.org
  2015-07-03  9:54 ` jgreenhalgh at gcc dot gnu.org
  12 siblings, 0 replies; 14+ messages in thread
From: jgreenhalgh at gcc dot gnu.org @ 2015-07-03  9:26 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #12 from James Greenhalgh <jgreenhalgh at gcc dot gnu.org> ---
Author: jgreenhalgh
Date: Fri Jul  3 09:25:54 2015
New Revision: 225369

URL: https://gcc.gnu.org/viewcvs?rev=225369&root=gcc&view=rev
Log:
[Patch SRA] Fix PR66119 by calling get_move_ratio in SRA

gcc/

        PR tree-optimization/66119
        * toplev.c (process_options): Don't set up default values for
        the sra_max_scalarization_size_{speed,size} parameters.
        * tree-sra (analyze_all_variable_accesses): If no values
        have been set for the sra_max_scalarization_size_{speed,size}
        parameters, call get_move_ratio to get target defaults.

gcc/testsuite/

        PR tree-optimization/66119
        * g++.dg/opt/pr66119.C: New.


Added:
    trunk/gcc/testsuite/g++.dg/opt/pr66119.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/toplev.c
    trunk/gcc/tree-sra.c


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

* [Bug tree-optimization/66119] [5/6 Regression] in optimization of avx-code
  2015-05-12 10:00 [Bug c++/66119] New: Regression in optimization of avx-code joachim.schoeberl at tuwien dot ac.at
                   ` (11 preceding siblings ...)
  2015-07-03  9:26 ` jgreenhalgh at gcc dot gnu.org
@ 2015-07-03  9:54 ` jgreenhalgh at gcc dot gnu.org
  12 siblings, 0 replies; 14+ messages in thread
From: jgreenhalgh at gcc dot gnu.org @ 2015-07-03  9:54 UTC (permalink / raw)
  To: gcc-bugs

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

James Greenhalgh <jgreenhalgh at gcc dot gnu.org> changed:

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

--- Comment #14 from James Greenhalgh <jgreenhalgh at gcc dot gnu.org> ---
Should now be fixed on trunk and gcc-5-branch.


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

end of thread, other threads:[~2015-07-03  9:54 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-12 10:00 [Bug c++/66119] New: Regression in optimization of avx-code joachim.schoeberl at tuwien dot ac.at
2015-05-12 10:08 ` [Bug c++/66119] [5/6 Regression] " jakub at gcc dot gnu.org
2015-05-12 10:11 ` rguenth at gcc dot gnu.org
2015-05-12 10:15 ` [Bug tree-optimization/66119] " rguenth at gcc dot gnu.org
2015-05-12 10:16 ` rguenth at gcc dot gnu.org
2015-05-12 10:27 ` rguenth at gcc dot gnu.org
2015-05-12 10:43 ` jgreenhalgh at gcc dot gnu.org
2015-05-13 10:59 ` rguenth at gcc dot gnu.org
2015-06-22 12:11 ` rguenth at gcc dot gnu.org
2015-06-22 12:48 ` jgreenhalgh at gcc dot gnu.org
2015-07-02 16:27 ` jgreenhalgh at gcc dot gnu.org
2015-07-03  9:15 ` rguenth at gcc dot gnu.org
2015-07-03  9:26 ` jgreenhalgh at gcc dot gnu.org
2015-07-03  9:54 ` jgreenhalgh 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).