public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug rtl-optimization/56766] New: Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...)
@ 2013-03-28 14:52 rguenth at gcc dot gnu.org
  2013-04-02  8:08 ` [Bug rtl-optimization/56766] " rguenth at gcc dot gnu.org
                   ` (18 more replies)
  0 siblings, 19 replies; 20+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-03-28 14:52 UTC (permalink / raw)
  To: gcc-bugs


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

             Bug #: 56766
           Summary: Fails to combine (vec_select (vec_concat ...)) to
                    (vec_merge ...)
    Classification: Unclassified
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Keywords: missed-optimization
          Severity: normal
          Priority: P3
         Component: rtl-optimization
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: rguenth@gcc.gnu.org
                CC: rth@gcc.gnu.org
            Target: x86_64-*-*


With a patch to vectorize the pattern that should lead to the use of

(define_insn "sse3_addsubv2df3"
  [(set (match_operand:V2DF 0 "register_operand" "=x,x")
        (vec_merge:V2DF
          (plus:V2DF
            (match_operand:V2DF 1 "register_operand" "0,x")
            (match_operand:V2DF 2 "nonimmediate_operand" "xm,xm"))
          (minus:V2DF (match_dup 1) (match_dup 2))
          (const_int 2)))]
  "TARGET_SSE3"

this instruction fails to be generated because the GIMPLE

  vect_var_.9_15 = vect_var_.5_22 + vect_var_.8_18;
  vect_var_.10_14 = vect_var_.5_22 - vect_var_.8_18;
  _2 = VEC_PERM_EXPR <vect_var_.9_15, vect_var_.10_14, { 0, 3 }>;

is expanded to

(insn 24 23 25 (set (reg:V2DF 80 [ vect_var_.9 ])
        (plus:V2DF (reg:V2DF 76 [ vect_var_.5 ])
            (reg:V2DF 75 [ vect_var_.8 ]))) t.c:7 -1
     (nil))

(insn 25 24 27 (set (reg:V2DF 81 [ vect_var_.10 ])
        (minus:V2DF (reg:V2DF 76 [ vect_var_.5 ])
            (reg:V2DF 75 [ vect_var_.8 ]))) t.c:7 -1
     (nil))

(insn 27 25 28 (set (reg:V2DF 82 [ D.1768 ])
        (vec_select:V2DF (vec_concat:V4DF (reg:V2DF 80 [ vect_var_.9 ])
                (reg:V2DF 81 [ vect_var_.10 ]))
            (parallel [
                    (const_int 0 [0])
                    (const_int 3 [0x3])
                ]))) t.c:7 -1
     (nil))

which does not match the pattern in the i386 backend.

The question is what should be the canonical form?  Definitely vec_merge
is redundant and can always be replaced with (vec_select (vec_concat ...)).

Testcase w/o my vectorizer hack (compile with -O -msse3):

typedef double v2df __attribute__((vector_size(16)));
typedef long long v2di __attribute__((vector_size(16)));
v2df foo (v2df x, v2df y)
{
  v2df tem1 = x + y;
  v2df tem2 = x - y;
  return __builtin_shuffle (tem1, tem2, (v2di) { 0, 3 });
}

VEC_MERGE is not used very often ...


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

* [Bug rtl-optimization/56766] Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...)
  2013-03-28 14:52 [Bug rtl-optimization/56766] New: Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...) rguenth at gcc dot gnu.org
@ 2013-04-02  8:08 ` rguenth at gcc dot gnu.org
  2013-05-09 12:41 ` glisse at gcc dot gnu.org
                   ` (17 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-04-02  8:08 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> 2013-04-02 08:08:34 UTC ---
Btw, vec_merge is a special-case of a non-existing vec_shuffle2.
vec_merge (and a vec_suffle2) as opposed to a vec_select (vec_concat (...))
combination has the advantage that we don't need intermediate vector
modes of double size.

So in the long run it might be most profitable to remove vec_merge
and instead introduce vec_shuffle to catch almost all vec_select (vec_concat
())
cases.


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

* [Bug rtl-optimization/56766] Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...)
  2013-03-28 14:52 [Bug rtl-optimization/56766] New: Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...) rguenth at gcc dot gnu.org
  2013-04-02  8:08 ` [Bug rtl-optimization/56766] " rguenth at gcc dot gnu.org
@ 2013-05-09 12:41 ` glisse at gcc dot gnu.org
  2015-05-12 14:20 ` rguenth at gcc dot gnu.org
                   ` (16 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: glisse at gcc dot gnu.org @ 2013-05-09 12:41 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Marc Glisse <glisse at gcc dot gnu.org> ---
Created attachment 30073
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30073&action=edit
patch to recognize vec_merge

This passes bootstrap+testsuite. I had to swap tem1 and tem2 in the example,
which I think is in the wrong direction. I also had to change the addsub
pattern because it was always canonicalized to this form. I don't know if
that's what we want...


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

* [Bug rtl-optimization/56766] Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...)
  2013-03-28 14:52 [Bug rtl-optimization/56766] New: Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...) rguenth at gcc dot gnu.org
  2013-04-02  8:08 ` [Bug rtl-optimization/56766] " rguenth at gcc dot gnu.org
  2013-05-09 12:41 ` glisse at gcc dot gnu.org
@ 2015-05-12 14:20 ` rguenth at gcc dot gnu.org
  2015-06-10 11:21 ` rguenth at gcc dot gnu.org
                   ` (15 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-05-12 14:20 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2015-05-12
                 CC|                            |uros at gcc dot gnu.org
     Ever confirmed|0                           |1

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
The vectorizer patch is now in (I added a testcase for addsubps because for
that
it happens to work).

We still need to fixup the sse3_addsubv2df3 pattern or fix combine to try
multiple "canonical" forms of vec_merge vs. (vec_select (vec_concat ...)).
Or decide which one is canonical (I'd prefer simply dropping vec_merge - with
AVX512 we've run out of bits for the CONST_INT selector....)

One issue with the vec_select form is that it requires an intermediate mode of
double-size while vec_merge avoids this.

Eventually one can also teach combine that certain (vec_select (vec_concat ..))
can be treated as (vec_merge ...).

void testd (double * __restrict__ p, double * __restrict q)
{
  p[0] = p[0] - q[0];
  p[1] = p[1] + q[1];
}

should vectorize to addsubpd with -msse3.


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

* [Bug rtl-optimization/56766] Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...)
  2013-03-28 14:52 [Bug rtl-optimization/56766] New: Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...) rguenth at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2015-05-12 14:20 ` rguenth at gcc dot gnu.org
@ 2015-06-10 11:21 ` rguenth at gcc dot gnu.org
  2015-06-11  9:26 ` ubizjak at gmail dot com
                   ` (14 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-06-10 11:21 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
This can be now seen in gfortran.dg/vect/fast-math-pr37021.f90 as well which
produces

.L14:
        movupd  (%r11), %xmm3
        addl    $1, %ecx
        addq    %rax, %r11
        movupd  (%r8), %xmm0
        addq    %rax, %r8
        unpckhpd        %xmm3, %xmm3
        movupd  (%rdi), %xmm2
        unpcklpd        %xmm0, %xmm0
        addq    %rsi, %rdi
        movupd  (%rbx), %xmm1
        mulpd   %xmm3, %xmm2
        addq    %rsi, %rbx
        cmpl    %ecx, %ebp
        palignr $8, %xmm1, %xmm1
        mulpd   %xmm1, %xmm0
        movapd  %xmm2, %xmm1
        addpd   %xmm0, %xmm1
        subpd   %xmm2, %xmm0
        shufpd  $2, %xmm0, %xmm1
        addpd   %xmm1, %xmm4
        jne     .L14

note the

        addpd   %xmm0, %xmm1
        subpd   %xmm2, %xmm0
        shufpd  $2, %xmm0, %xmm1

which should be

        addsubpd %xmm2, %xmm1

it happens to work for v4sf mode.

I think the vec_merge RTX code should either go away or we should canonicalize
the other variants to vec_merge properly.

For a target specific fix a 2nd addsubv2df3 pattern catching the
(vec_select:V2DF (vec_merge:V4DF ...)) case could be added.


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

* [Bug rtl-optimization/56766] Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...)
  2013-03-28 14:52 [Bug rtl-optimization/56766] New: Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...) rguenth at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2015-06-10 11:21 ` rguenth at gcc dot gnu.org
@ 2015-06-11  9:26 ` ubizjak at gmail dot com
  2015-06-11  9:39 ` ubizjak at gmail dot com
                   ` (13 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: ubizjak at gmail dot com @ 2015-06-11  9:26 UTC (permalink / raw)
  To: gcc-bugs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="UTF-8", Size: 6216 bytes --]

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

--- Comment #5 from Uroš Bizjak <ubizjak at gmail dot com> ---
Created attachment 35753
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35753&action=edit
Patch to implement ADDSUB patterns using vec_select/vec_concat
>From gcc-bugs-return-488722-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Jun 11 09:27:50 2015
Return-Path: <gcc-bugs-return-488722-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 88738 invoked by alias); 11 Jun 2015 09:27:50 -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 88655 invoked by uid 48); 11 Jun 2015 09:27:46 -0000
From: "ubizjak at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug rtl-optimization/56766] Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...)
Date: Thu, 11 Jun 2015 09:27:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: rtl-optimization
X-Bugzilla-Version: 4.9.0
X-Bugzilla-Keywords: missed-optimization
X-Bugzilla-Severity: normal
X-Bugzilla-Who: ubizjak at gmail dot com
X-Bugzilla-Status: NEW
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-56766-4-3qxsK745rc@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-56766-4@http.gcc.gnu.org/bugzilla/>
References: <bug-56766-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-06/txt/msg01054.txt.bz2
Content-length: 572

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

--- Comment #6 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Richard Biener from comment #3)

> We still need to fixup the sse3_addsubv2df3 pattern or fix combine to try
> multiple "canonical" forms of vec_merge vs. (vec_select (vec_concat ...)).
> Or decide which one is canonical (I'd prefer simply dropping vec_merge - with
> AVX512 we've run out of bits for the CONST_INT selector....)

Does the attached patch work for you?

(Please note, that AVX512 does not implement 512bit ADDSUB insn.)
>From gcc-bugs-return-488723-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Jun 11 09:28:43 2015
Return-Path: <gcc-bugs-return-488723-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 92171 invoked by alias); 11 Jun 2015 09:28:43 -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 92141 invoked by uid 48); 11 Jun 2015 09:28:39 -0000
From: "derodat at adacore dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug debug/66503] New: missing DW_AT_abstract_origin for cross-unit call sites
Date: Thu, 11 Jun 2015 09:28:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: new
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: debug
X-Bugzilla-Version: 5.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: derodat at adacore dot com
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter target_milestone attachments.created
Message-ID: <bug-66503-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-06/txt/msg01055.txt.bz2
Content-length: 1653

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

            Bug ID: 66503
           Summary: missing DW_AT_abstract_origin for cross-unit call
                    sites
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: debug
          Assignee: unassigned at gcc dot gnu.org
          Reporter: derodat at adacore dot com
  Target Milestone: ---

Created attachment 35754
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id5754&actioníit
C reproducer

With the recent work for PR debug/65549, we observed a regression in the
generated debugging information. Take the attached reproducer, build it and
look at the output DWARF:

     $ gcc -c -O1 -g foo.c
     $ objdump --dwarf=info foo.o
     [...]
      <2><4e>: Abbrev Number: 3 (DW_TAG_GNU_call_site)
         <4f>   DW_AT_low_pc      : 0x9
      <2><57>: Abbrev Number: 0

There is no DW_AT_abstract_origin attribute anymore, whereas there used to be
one.

On PowerPC with -mlongcall, for instance, call instructions are indirect and we
(at AdaCore) rely on this attribute to determine what function is actually
called (it's easier this way than interpreting machine code...). The DWARF
proposal for call sites also say debuggers should be able to use this attribute
(to build virtual call stacks in the presence of tail calls), but I could not
observe this in practice with GDB.

(Excepts from the <https://gcc.gnu.org/ml/gcc-patches/2015-06/msg00712.html>
thread)

As discussed on the corresponding thread on gcc-patches@, I am about to commit
a fix on mainline and on the 5.0 branch.


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

* [Bug rtl-optimization/56766] Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...)
  2013-03-28 14:52 [Bug rtl-optimization/56766] New: Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...) rguenth at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2015-06-11  9:26 ` ubizjak at gmail dot com
@ 2015-06-11  9:39 ` ubizjak at gmail dot com
  2015-06-11 10:28 ` rguenth at gcc dot gnu.org
                   ` (12 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: ubizjak at gmail dot com @ 2015-06-11  9:39 UTC (permalink / raw)
  To: gcc-bugs

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

Uroš Bizjak <ubizjak at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #35753|0                           |1
        is obsolete|                            |

--- Comment #7 from Uroš Bizjak <ubizjak at gmail dot com> ---
Created attachment 35755
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35755&action=edit
Patch to implement ADDSUB patterns using vec_select/vec_concat

Patch with unwanted part removed.
>From gcc-bugs-return-488725-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Jun 11 10:12:56 2015
Return-Path: <gcc-bugs-return-488725-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 77968 invoked by alias); 11 Jun 2015 10:12:56 -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 72877 invoked by uid 48); 11 Jun 2015 10:12:52 -0000
From: "rguenth at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug debug/66503] [4.9/5/6 Regression] missing DW_AT_abstract_origin for cross-unit call sites
Date: Thu, 11 Jun 2015 10:12:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: debug
X-Bugzilla-Version: 5.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: rguenth at gcc dot gnu.org
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 4.9.3
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: target_milestone short_desc
Message-ID: <bug-66503-4-vdCZVSA9nv@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-66503-4@http.gcc.gnu.org/bugzilla/>
References: <bug-66503-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-06/txt/msg01057.txt.bz2
Content-length: 668

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |4.9.3
            Summary|missing                     |[4.9/5/6 Regression]
                   |DW_AT_abstract_origin for   |missing
                   |cross-unit call sites       |DW_AT_abstract_origin for
                   |                            |cross-unit call sites

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
And I'm fixing 4.9 differently.


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

* [Bug rtl-optimization/56766] Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...)
  2013-03-28 14:52 [Bug rtl-optimization/56766] New: Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...) rguenth at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2015-06-11  9:39 ` ubizjak at gmail dot com
@ 2015-06-11 10:28 ` rguenth at gcc dot gnu.org
  2015-06-11 10:30 ` rguenth at gcc dot gnu.org
                   ` (11 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-06-11 10:28 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> ---
No.

Failed to match this instruction:
(set (reg:V2DF 213 [ D.3605 ])
    (vec_select:V2DF (vec_concat:V4DF (plus:V2DF (reg:V2DF 161 [ vect__69.31 ])
                (reg:V2DF 167 [ vect__68.29 ]))
            (minus:V2DF (reg:V2DF 167 [ vect__68.29 ])
                (reg:V2DF 161 [ vect__69.31 ])))
        (parallel [
                (const_int 0 [0])
                (const_int 3 [0x3])
            ])))

RTL:

(insn 171 170 172 17 (set (reg:V2DF 211 [ vect__64.32 ])
        (plus:V2DF (reg:V2DF 161 [ vect__69.31 ])
            (reg:V2DF 167 [ vect__68.29 ]))) t.f90:9 1387 {*addv2df3}
     (nil))
(insn 172 171 173 17 (set (reg:V2DF 212 [ vect__64.33 ])
        (minus:V2DF (reg:V2DF 167 [ vect__68.29 ])
            (reg:V2DF 161 [ vect__69.31 ]))) t.f90:9 1391 {*subv2df3}
     (expr_list:REG_DEAD (reg:V2DF 167 [ vect__68.29 ])
        (expr_list:REG_DEAD (reg:V2DF 161 [ vect__69.31 ])
            (nil))))
(insn 173 172 174 17 (set (reg:V2DF 213 [ D.3605 ])
        (vec_select:V2DF (vec_concat:V4DF (reg:V2DF 211 [ vect__64.32 ])
                (reg:V2DF 212 [ vect__64.33 ]))
            (parallel [
                    (const_int 0 [0])
                    (const_int 3 [0x3])
                ]))) t.f90:9 2719 {sse2_shufpd_v2df}

looks like you need to allow plus to commutate (not sure if combine has
that ability or if it is just missing for vector modes or if you need to
adjust the pattern itself)

I remember that doing this regresses some of the
i386.exp builtin tests because the backend builds vec_merge in i386.c for them.
Also when using V4SF the middle-end somehow ends up using vec_merge in the
end (and thus it works there already and would break due to your patch).
IIRC the root-cause for that is vec_merge being used by some of the permutation
generation code in i386.c.

That was why I was suggesting to add additional patterns rather than
replacing the existing ones...


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

* [Bug rtl-optimization/56766] Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...)
  2013-03-28 14:52 [Bug rtl-optimization/56766] New: Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...) rguenth at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2015-06-11 10:28 ` rguenth at gcc dot gnu.org
@ 2015-06-11 10:30 ` rguenth at gcc dot gnu.org
  2015-06-11 10:33 ` rguenth at gcc dot gnu.org
                   ` (10 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-06-11 10:30 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |segher at gcc dot gnu.org

--- Comment #9 from Richard Biener <rguenth at gcc dot gnu.org> ---
Segher - I suppose combine doesn't try to match with swapped (but
non-canonical) operand order.  In this case it's unfortunate as targets would
effectively
need to duplicate the patterns containing matching operands but one commutative
and one non-commutative operation...


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

* [Bug rtl-optimization/56766] Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...)
  2013-03-28 14:52 [Bug rtl-optimization/56766] New: Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...) rguenth at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2015-06-11 10:30 ` rguenth at gcc dot gnu.org
@ 2015-06-11 10:33 ` rguenth at gcc dot gnu.org
  2015-06-11 11:12 ` ubizjak at gmail dot com
                   ` (9 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-06-11 10:33 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> ---
So it works with

(define_insn "sse3_addsubv2df3"
  [(set (match_operand:V2DF 0 "register_operand" "=x,x")
        (vec_select:V2DF
          (vec_concat:V4DF
            (plus:V2DF
              (match_operand:V2DF 1 "register_operand" "0,x")
              (match_operand:V2DF 2 "nonimmediate_operand" "xm,xm"))
            (minus:V2DF (match_dup 2) (match_dup 1)))
          (parallel [(const_int 0) (const_int 3)])))]

but not with

(define_insn "sse3_addsubv2df3"
  [(set (match_operand:V2DF 0 "register_operand" "=x,x")
        (vec_select:V2DF
          (vec_concat:V4DF
            (plus:V2DF
              (match_operand:V2DF 1 "register_operand" "0,x")
              (match_operand:V2DF 2 "nonimmediate_operand" "xm,xm"))
            (minus:V2DF (match_dup 1) (match_dup 2)))
          (parallel [(const_int 0) (const_int 3)])))]


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

* [Bug rtl-optimization/56766] Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...)
  2013-03-28 14:52 [Bug rtl-optimization/56766] New: Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...) rguenth at gcc dot gnu.org
                   ` (8 preceding siblings ...)
  2015-06-11 10:33 ` rguenth at gcc dot gnu.org
@ 2015-06-11 11:12 ` ubizjak at gmail dot com
  2015-06-11 12:03 ` ubizjak at gmail dot com
                   ` (8 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: ubizjak at gmail dot com @ 2015-06-11 11:12 UTC (permalink / raw)
  To: gcc-bugs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="UTF-8", Size: 7400 bytes --]

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

--- Comment #11 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Richard Biener from comment #10)
> So it works with
> 
> (define_insn "sse3_addsubv2df3"
>   [(set (match_operand:V2DF 0 "register_operand" "=x,x")
>         (vec_select:V2DF
>           (vec_concat:V4DF
>             (plus:V2DF
>               (match_operand:V2DF 1 "register_operand" "0,x")
>               (match_operand:V2DF 2 "nonimmediate_operand" "xm,xm"))
>             (minus:V2DF (match_dup 2) (match_dup 1)))
>           (parallel [(const_int 0) (const_int 3)])))]

You swapped non-commutative part of the insn. This should be:

(define_insn "*sse3_addsubv2df3_1"
  [(set (match_operand:V2DF 0 "register_operand" "=x,x")
        (vec_select:V2DF
          (vec_concat:V4DF
            (plus:V2DF
              (match_operand:V2DF 2 "nonimmediate_operand" "xm,xm")
              (match_operand:V2DF 1 "register_operand" "0,x"))
            (minus:V2DF (match_dup 1) (match_dup 2)))
          (parallel [(const_int 0) (const_int 3)])))]
  "TARGET_SSE3"
>From gcc-bugs-return-488732-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Jun 11 11:14:27 2015
Return-Path: <gcc-bugs-return-488732-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 29950 invoked by alias); 11 Jun 2015 11:14:27 -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 29622 invoked by uid 55); 11 Jun 2015 11:14:23 -0000
From: "rguenther at suse dot de" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug rtl-optimization/56766] Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...)
Date: Thu, 11 Jun 2015 11:14:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: rtl-optimization
X-Bugzilla-Version: 4.9.0
X-Bugzilla-Keywords: missed-optimization
X-Bugzilla-Severity: normal
X-Bugzilla-Who: rguenther at suse dot de
X-Bugzilla-Status: NEW
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-56766-4-O17xsmyGnM@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-56766-4@http.gcc.gnu.org/bugzilla/>
References: <bug-56766-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-06/txt/msg01064.txt.bz2
Content-length: 1400

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

--- Comment #12 from rguenther at suse dot de <rguenther at suse dot de> ---
On Thu, 11 Jun 2015, ubizjak at gmail dot com wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56766
> 
> --- Comment #11 from Uroš Bizjak <ubizjak at gmail dot com> ---
> (In reply to Richard Biener from comment #10)
> > So it works with
> > 
> > (define_insn "sse3_addsubv2df3"
> >   [(set (match_operand:V2DF 0 "register_operand" "=x,x")
> >         (vec_select:V2DF
> >           (vec_concat:V4DF
> >             (plus:V2DF
> >               (match_operand:V2DF 1 "register_operand" "0,x")
> >               (match_operand:V2DF 2 "nonimmediate_operand" "xm,xm"))
> >             (minus:V2DF (match_dup 2) (match_dup 1)))
> >           (parallel [(const_int 0) (const_int 3)])))]
> 
> You swapped non-commutative part of the insn. This should be:
> 
> (define_insn "*sse3_addsubv2df3_1"
>   [(set (match_operand:V2DF 0 "register_operand" "=x,x")
>         (vec_select:V2DF
>           (vec_concat:V4DF
>             (plus:V2DF
>               (match_operand:V2DF 2 "nonimmediate_operand" "xm,xm")
>               (match_operand:V2DF 1 "register_operand" "0,x"))
>             (minus:V2DF (match_dup 1) (match_dup 2)))
>           (parallel [(const_int 0) (const_int 3)])))]
>   "TARGET_SSE3"

As it is just 'naming' it shouldn't matter, no?
>From gcc-bugs-return-488733-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Jun 11 11:14:51 2015
Return-Path: <gcc-bugs-return-488733-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 30842 invoked by alias); 11 Jun 2015 11:14:51 -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 30809 invoked by uid 48); 11 Jun 2015 11:14:46 -0000
From: "admin at maniacsvault dot net" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug objc++/66504] New: ICE using C++ exceptions in Objective-C++
Date: Thu, 11 Jun 2015 11:14:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: new
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: objc++
X-Bugzilla-Version: 5.1.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: major
X-Bugzilla-Who: admin at maniacsvault dot net
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter target_milestone attachments.created
Message-ID: <bug-66504-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-06/txt/msg01065.txt.bz2
Content-length: 1172

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

            Bug ID: 66504
           Summary: ICE using C++ exceptions in Objective-C++
           Product: gcc
           Version: 5.1.0
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: objc++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: admin at maniacsvault dot net
  Target Milestone: ---

Created attachment 35756
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id5756&actioníit
Minimal example

A rather simple program using C++ exceptions in Objective-C++ can generate an
ICE.

exceptionice.mm: In function 'void Problem()':
exceptionice.mm:1:6: internal compiler error: in objc_eh_runtime_type, at
objc/objc-next-runtime-abi-01.c:2804
 void Problem()
      ^

Compiled on Mac OS X 10.4 on a PowerMac G4 with the following configuration:

CC=gcc-4.2 CXX=g++-4.2 AS=/opt/cctools/usr/bin/as
AS_FOR_TARGET=/opt/cctools/usr/bin/as ../GCC/configure --prefix=/opt/gcc/5
--disable-nls --enable-languages=c,c++,objc,obj-c++,lto --disable-multilib
--with-dwarf2

Command line used to get the error is:

/opt/gcc/5/bin/g++ exceptionice.mm


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

* [Bug rtl-optimization/56766] Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...)
  2013-03-28 14:52 [Bug rtl-optimization/56766] New: Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...) rguenth at gcc dot gnu.org
                   ` (9 preceding siblings ...)
  2015-06-11 11:12 ` ubizjak at gmail dot com
@ 2015-06-11 12:03 ` ubizjak at gmail dot com
  2015-06-11 12:32 ` rguenther at suse dot de
                   ` (7 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: ubizjak at gmail dot com @ 2015-06-11 12:03 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #13 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to rguenther@suse.de from comment #12)
> On Thu, 11 Jun 2015, ubizjak at gmail dot com wrote:

> As it is just 'naming' it shouldn't matter, no?

Well, the operand is used in the assembly, and now "the other" operand matches.
>From gcc-bugs-return-488739-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Jun 11 12:17:28 2015
Return-Path: <gcc-bugs-return-488739-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 28324 invoked by alias); 11 Jun 2015 12:17:28 -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 28019 invoked by uid 48); 11 Jun 2015 12:17:24 -0000
From: "cbaylis at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/63870] [Aarch64] [ARM] Errors in use of NEON intrinsics are reported incorrectly
Date: Thu, 11 Jun 2015 12:17:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: target
X-Bugzilla-Version: 4.7.0
X-Bugzilla-Keywords: diagnostic
X-Bugzilla-Severity: normal
X-Bugzilla-Who: cbaylis at gcc dot gnu.org
X-Bugzilla-Status: NEW
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: cbaylis at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-63870-4-aJtd4HLeE0@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-63870-4@http.gcc.gnu.org/bugzilla/>
References: <bug-63870-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-06/txt/msg01071.txt.bz2
Content-length: 195

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

--- Comment #8 from cbaylis at gcc dot gnu.org ---
Patch posted to the mailing list

https://gcc.gnu.org/ml/gcc-patches/2015-06/msg00799.html


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

* [Bug rtl-optimization/56766] Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...)
  2013-03-28 14:52 [Bug rtl-optimization/56766] New: Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...) rguenth at gcc dot gnu.org
                   ` (10 preceding siblings ...)
  2015-06-11 12:03 ` ubizjak at gmail dot com
@ 2015-06-11 12:32 ` rguenther at suse dot de
  2015-06-11 13:03 ` ubizjak at gmail dot com
                   ` (6 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: rguenther at suse dot de @ 2015-06-11 12:32 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #14 from rguenther at suse dot de <rguenther at suse dot de> ---
On Thu, 11 Jun 2015, ubizjak at gmail dot com wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56766
> 
> --- Comment #13 from Uroš Bizjak <ubizjak at gmail dot com> ---
> (In reply to rguenther@suse.de from comment #12)
> > On Thu, 11 Jun 2015, ubizjak at gmail dot com wrote:
> 
> > As it is just 'naming' it shouldn't matter, no?
> 
> Well, the operand is used in the assembly, and now "the other" operand matches.

Oh, ok...
>From gcc-bugs-return-488744-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Jun 11 12:39:34 2015
Return-Path: <gcc-bugs-return-488744-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 130202 invoked by alias); 11 Jun 2015 12:39: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 130140 invoked by uid 48); 11 Jun 2015 12:39:28 -0000
From: "john.lindgren at aol dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c++/66501] [4.9/5/6 Regression] Default move assignment does not move array members
Date: Thu, 11 Jun 2015 12:39:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: c++
X-Bugzilla-Version: 5.1.0
X-Bugzilla-Keywords: wrong-code
X-Bugzilla-Severity: normal
X-Bugzilla-Who: john.lindgren at aol dot com
X-Bugzilla-Status: NEW
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-66501-4-dJihXnN82U@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-66501-4@http.gcc.gnu.org/bugzilla/>
References: <bug-66501-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-06/txt/msg01076.txt.bz2
Content-length: 247

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

--- Comment #1 from John Lindgren <john.lindgren at aol dot com> ---
For what it's worth, the default move *constructor* works correctly; it is only
the assignment operator that is the problem.


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

* [Bug rtl-optimization/56766] Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...)
  2013-03-28 14:52 [Bug rtl-optimization/56766] New: Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...) rguenth at gcc dot gnu.org
                   ` (11 preceding siblings ...)
  2015-06-11 12:32 ` rguenther at suse dot de
@ 2015-06-11 13:03 ` ubizjak at gmail dot com
  2015-06-11 13:47 ` rguenther at suse dot de
                   ` (5 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: ubizjak at gmail dot com @ 2015-06-11 13:03 UTC (permalink / raw)
  To: gcc-bugs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="UTF-8", Size: 7498 bytes --]

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

--- Comment #15 from Uroš Bizjak <ubizjak at gmail dot com> ---
Created attachment 35758
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35758&action=edit
Patch that adds additional ADDSUB patterns using vec_select/vec_concat
>From gcc-bugs-return-488751-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Jun 11 13:05:52 2015
Return-Path: <gcc-bugs-return-488751-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 125584 invoked by alias); 11 Jun 2015 13:05:51 -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 125484 invoked by uid 48); 11 Jun 2015 13:05:43 -0000
From: "ubizjak at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug rtl-optimization/56766] Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...)
Date: Thu, 11 Jun 2015 13:05:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: rtl-optimization
X-Bugzilla-Version: 4.9.0
X-Bugzilla-Keywords: missed-optimization
X-Bugzilla-Severity: normal
X-Bugzilla-Who: ubizjak at gmail dot com
X-Bugzilla-Status: NEW
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-56766-4-pWen79XEIU@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-56766-4@http.gcc.gnu.org/bugzilla/>
References: <bug-56766-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-06/txt/msg01083.txt.bz2
Content-length: 423

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

--- Comment #16 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Richard Biener from comment #8)
> No.

[...]

> That was why I was suggesting to add additional patterns rather than
> replacing the existing ones...

So, there is no other way than using "the ugly" patch that adds missing
patterns.

Please try the patch, attached in the message above.
>From gcc-bugs-return-488752-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Jun 11 13:15:03 2015
Return-Path: <gcc-bugs-return-488752-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 7568 invoked by alias); 11 Jun 2015 13:15:03 -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 7457 invoked by uid 48); 11 Jun 2015 13:14:58 -0000
From: "howarth.at.gcc at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/66509] New: the new clang-based assembler in Xcode 7 on 10.11 fails on the libjava/java/lang/reflect/natArray.cc file from FSF gcc 5.1 at -m32
Date: Thu, 11 Jun 2015 13:15:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: new
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: target
X-Bugzilla-Version: 5.1.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: howarth.at.gcc at gmail dot com
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter target_milestone attachments.created
Message-ID: <bug-66509-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-06/txt/msg01084.txt.bz2
Content-length: 2952

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

            Bug ID: 66509
           Summary: the new clang-based assembler in Xcode 7 on 10.11
                    fails on the libjava/java/lang/reflect/natArray.cc
                    file from FSF gcc 5.1 at -m32
           Product: gcc
           Version: 5.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: howarth.at.gcc at gmail dot com
  Target Milestone: ---

Created attachment 35759
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id5759&actioníit
assembly for ibjava/java/lang/reflect/natArray.cc at -m32 on x86_64 darwin

The public Xcode 7 beta and associated Command Line Tools (available on 10.10
from https://developer.apple.com/xcode/downloads/ and
https://developer.apple.com/downloads/) replace the legacy GNU assembler with a
clang-based assembler. The new clang-based assembler fails to compile
libjava/java/lang/reflect/natArray.cc at -m32 in the multilib build of libjava
due to the assembler errors...

natArray.s:1110:2: error: ambiguous instructions require an explicit suffix
(could be 'filds', or 'fildl')
        fild    8(%esi,%edi,2)
        ^
natArray.s:1120:2: error: ambiguous instructions require an explicit suffix
(could be 'filds', or 'fildl')
        fild    10(%esp)
        ^
natArray.s:1267:2: error: ambiguous instructions require an explicit suffix
(could be 'filds', or 'fildl')
        fild    8(%esi,%edi,2)
        ^
natArray.s:1277:2: error: ambiguous instructions require an explicit suffix
(could be 'filds', or 'fildl')
        fild    14(%esp)
        ^
natArray.s:1830:2: error: ambiguous instructions require an explicit suffix
(could be 'filds', or 'fildl')
        fild    14(%esp)
        ^
natArray.s:1907:2: error: ambiguous instructions require an explicit suffix
(could be 'filds', or 'fildl')
        fild    14(%esp)
        ^
natArray.s:1988:2: error: ambiguous instructions require an explicit suffix
(could be 'filds', or 'fildl')
        fild    14(%esp)
        ^
natArray.s:2047:2: error: ambiguous instructions require an explicit suffix
(could be 'filds', or 'fildl')
        fild    14(%esp)
        ^

This issue can be reproduced with the attached natArray.s assembly file using
the command...

as -arch i386 -force_cpusubtype_ALL -o natArray.o natArray.s

against the new clang-based assembler. The same file is processed without
errors using the legacy GNU-based assembler from Xcode 6.2 on 10.9 or Xcode 6.3
on 10.10.

Can the FSF gcc i386 maintainers comment on whether there is anything in the
Intel/AMD instruction specifications that merits this strict behavior for the
assembler with regard to ambiguous fild instructions?

Note that this compilation failure is limited to -m32 and that the -m64 build
of libjava is processed without errors by the new clang-based assembler.


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

* [Bug rtl-optimization/56766] Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...)
  2013-03-28 14:52 [Bug rtl-optimization/56766] New: Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...) rguenth at gcc dot gnu.org
                   ` (12 preceding siblings ...)
  2015-06-11 13:03 ` ubizjak at gmail dot com
@ 2015-06-11 13:47 ` rguenther at suse dot de
  2015-06-11 15:08 ` segher at gcc dot gnu.org
                   ` (4 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: rguenther at suse dot de @ 2015-06-11 13:47 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #17 from rguenther at suse dot de <rguenther at suse dot de> ---
On Thu, 11 Jun 2015, ubizjak at gmail dot com wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56766
> 
> --- Comment #16 from Uroš Bizjak <ubizjak at gmail dot com> ---
> (In reply to Richard Biener from comment #8)
> > No.
> 
> [...]
> 
> > That was why I was suggesting to add additional patterns rather than
> > replacing the existing ones...
> 
> So, there is no other way than using "the ugly" patch that adds missing
> patterns.
> 
> Please try the patch, attached in the message above.

That works.
>From gcc-bugs-return-488767-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Jun 11 13:52:13 2015
Return-Path: <gcc-bugs-return-488767-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 27447 invoked by alias); 11 Jun 2015 13:52:13 -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 27382 invoked by uid 48); 11 Jun 2015 13:52:09 -0000
From: "marxin at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c++/66487] [6 Regression] Firefox segfault with LTO enabled
Date: Thu, 11 Jun 2015 13:52:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: c++
X-Bugzilla-Version: 6.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: marxin at gcc dot gnu.org
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 6.0
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-66487-4-LWRERwLZsP@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-66487-4@http.gcc.gnu.org/bugzilla/>
References: <bug-66487-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-06/txt/msg01099.txt.bz2
Content-length: 3182

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

--- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> ---
Back trace:

#0  0x0000000000000000 in  ()
#1  0x00007ffff4a5c337 in
nsComponentManagerImpl::CreateInstanceByContractID(char const*, nsISupports*,
nsID const&, void**) [clone .part.32] [clone .constprop.53402] (this=<optimized
out>, aContractID=0x7ffff51a1e60
"@mozilla.org/network/safe-file-output-stream;1", aDelegate=0xc3adb0, aIID=...,
aResult=0x7fffffffbc48) at
/home/marxin/Programming/gecko-dev/xpcom/components/nsComponentManager.cpp:1223
#2  0x00007ffff273fa5b in nsCreateInstanceByContractID::operator()(nsID const&,
void**) const () at
/home/marxin/Programming/gecko-dev/xpcom/glue/nsComponentManagerUtils.cpp:151
#3  0x00007ffff273fa5b in nsCreateInstanceByContractID::operator()(nsID const&,
void**) const (this=0x7fffffffbcb0, aIID=..., aInstancePtr=0x7fffffffbc48) at
/home/marxin/Programming/gecko-dev/xpcom/glue/nsComponentManagerUtils.cpp:197
#4  0x00007ffff27a0a68 in nsCOMPtr_base::assign_from_helper(nsCOMPtr_helper
const&, nsID const&) (this=this@entry=0x7fffffffbca0, aHelper=..., aIID=...) at
/home/marxin/Programming/gecko-dev/xpcom/glue/nsCOMPtr.cpp:125
#5  0x00007ffff4a224e3 in WritePrefFile () at ../../dist/include/nsCOMPtr.h:531
#6  0x00007ffff4a224e3 in WritePrefFile (behaviorFlags=0, perm=384, ioFlags=-1,
file=0xc33970, result=0x7fffffffbc80) at ../../dist/include/nsNetUtil.h:1358
#7  0x00007ffff4a224e3 in WritePrefFile (aFile=0xc33970, this=<optimized out>)
at /home/marxin/Programming/gecko-dev/modules/libpref/Preferences.cpp:952
#8  0x00007ffff4c53c85 in TrackStartupCrashBegin (this=0x87f950,
aIsSafeModeNecessary=0x7fffffffbeaf) at
/home/marxin/Programming/gecko-dev/toolkit/components/startup/nsAppStartup.cpp:910
#9  0x00007ffff459ad8f in nsXREDirProvider::DoStartup() [clone .part.20] [clone
.constprop.4887] (this=0x7fffffffc5f8) at
/home/marxin/Programming/gecko-dev/toolkit/xre/nsXREDirProvider.cpp:831
#10 0x00007ffff4c00225 in nsXREDirProvider::DoStartup()
(this=this@entry=0x7fffffffc5f8) at
/home/marxin/Programming/gecko-dev/toolkit/xre/nsXREDirProvider.cpp:879
#11 0x00007ffff4580697 in XREMain::XRE_mainRun() [clone .constprop.4884]
(this=this@entry=0x7fffffffc5b0) at
/home/marxin/Programming/gecko-dev/toolkit/xre/nsAppRunner.cpp:4140
#12 0x00007ffff4ce1606 in XRE_main (aAppData=<optimized out>, argv=<optimized
out>, argc=<optimized out>, this=0x7fffffffc5b0) at
/home/marxin/Programming/gecko-dev/toolkit/xre/nsAppRunner.cpp:4342
#13 0x00007ffff4ce1606 in XRE_main (argc=<optimized out>, argv=<optimized out>,
aAppData=<optimized out>, aFlags=<optimized out>) at
/home/marxin/Programming/gecko-dev/toolkit/xre/nsAppRunner.cpp:4431
#14 0x000000000040f3c0 in do_main(int, char**, nsIFile*) [clone .constprop.14]
(argc=2, argv=0x7fffffffdea8, xreDirectory=0x456170) at
/home/marxin/Programming/gecko-dev/browser/app/nsBrowserApp.cpp:214
#15 0x00000000004038a8 in main(int, char**) (argc=2, argv=0x7fffffffdea8) at
/home/marxin/Programming/gecko-dev/browser/app/nsBrowserApp.cpp:478
>From gcc-bugs-return-488768-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Jun 11 13:53:32 2015
Return-Path: <gcc-bugs-return-488768-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 32106 invoked by alias); 11 Jun 2015 13:53:32 -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 28861 invoked by uid 48); 11 Jun 2015 13:53:28 -0000
From: "marxin at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c++/66487] [6 Regression] Firefox segfault with LTO enabled
Date: Thu, 11 Jun 2015 13:53:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: c++
X-Bugzilla-Version: 6.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: marxin at gcc dot gnu.org
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 6.0
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-66487-4-ZUR6LTED9x@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-66487-4@http.gcc.gnu.org/bugzilla/>
References: <bug-66487-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-06/txt/msg01100.txt.bz2
Content-length: 510

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

--- Comment #3 from Martin Liška <marxin at gcc dot gnu.org> ---
(In reply to Jason Merrill from comment #1)
> Compiling with -fno-lifetime-dse should make it work again. 
> -fsanitize=undefined doesn't currently catch this issue (relying on the
> value of storage persisting into the lifetime of an object created there).

I see, I will try to contact someone from Firefox about it.
Are there any plans of integration to ubsan sanitizer?

Martin
>From gcc-bugs-return-488769-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Jun 11 13:57:09 2015
Return-Path: <gcc-bugs-return-488769-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 43681 invoked by alias); 11 Jun 2015 13:57:09 -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 41168 invoked by uid 48); 11 Jun 2015 13:57:03 -0000
From: "filbranden at google dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c/66425] (void) cast doesn't suppress __attribute__((warn_unused_result))
Date: Thu, 11 Jun 2015 13:57:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: c
X-Bugzilla-Version: 4.9.2
X-Bugzilla-Keywords:
X-Bugzilla-Severity: enhancement
X-Bugzilla-Who: filbranden at google dot com
X-Bugzilla-Status: RESOLVED
X-Bugzilla-Resolution: INVALID
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-66425-4-OILsEqVCnY@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-66425-4@http.gcc.gnu.org/bugzilla/>
References: <bug-66425-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-06/txt/msg01101.txt.bz2
Content-length: 3556

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

--- Comment #12 from Filipe Brandenburger <filbranden at google dot com> ---
(In reply to Manuel López-Ibáñez from comment #11)
> Neither Andrew nor me nor other people that may comment here have the power
> to approve or reject this change.

Great, so please don't preemptively dismiss it as invalid.

Can I have this issue reopened please?

> The people you need to convince are the
> C/C++ FE maintainers listed in the MAINTAINERS file. Some of them are also
> GNU libc maintainers, thus actual users of the _wur attribute. We are just
> trying to make you understand the context in which the decision *made by
> others* has been made.

Ok, how can we assign this bug to the appropriate team then?

> This cannot be true, because the most heavy users of _wur are the kernel and
> glibc, and the de-facto standard to compile those is GCC. 
> 
> How can "(void) foo(x)" be clearer than "ignore_unused_result(foo(x))" ?

Maybe it's not *clearer* but the void cast is already a valid construct which
is part of the language and will work regardless of which compiler and libc you
use.

I don't really see why the trouble making the mental connection from the void
cast with the coder's intent do discard that result. Could it mean anything
else really?

> Perhaps you could ask GNU libc to provide such non-standard macro
> "ignore_unused_result" to avoid every project inventing their own.

The world doesn't really revolve around glibc you know? There are other libc's
around as well...

> Instead of '(void)', a patch that provides a __no_warn__ keyword as a
> short-hand might be more acceptable (again, you don't have to convince us,
> just the FE maintainers).

Yeah maybe if we could go back in time 10 years that would have been sweet...
But it seems the world has moved on and decided that the void cast is good
enough, as code that uses it will work with any C compiler and any libc and the
coder's intent is clear enough.

> > So maybe after 10 years it's time to revisit that decision?  It's not that
> > the behavior of when warnings are emitted are really set in stone and never
> > changed. It pretty much did all this time and we kept adapting to it.
> 
> That is not so true, believe me. As someone that has been contributing to
> GCC diagnostics for the last 10 years, changing GCC diagnostics ALWAYS
> breaks someone's setup and they will be unhappy about it
> (https://xkcd.com/1172/).
> 
> That said, the best strategy to change the defaults is not to argue here in
> this PR. The best strategy would be to collect the opinion from the most
> heavy users of _wur (that is, GNU libc and the kernel maintainers, not their
> users nor random people in their mailing lists), present a patch and argue
> convincingly to the FE maintainers that this should change (not because
> Clang is using it, but because the people using GCC want it).

Please explain to me how changing this behavior could possibly break someone's
code.

If someone is already using -Wunused-result and using a void cast to try to
silent the warning, they're failing to silent it on gcc, so if they're keeping
the void cast around they're basically living with the warning and ignoring
it...

I can't really think of a situation in the Linux kernel source code where I'd
find a __must_check function with a void cast, exactly for that reason, right
now it would generate a warning.

So I don't understand what is the big deal about this one...

Cheers,
Filipe
>From gcc-bugs-return-488770-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Jun 11 13:58:11 2015
Return-Path: <gcc-bugs-return-488770-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 45354 invoked by alias); 11 Jun 2015 13:58:10 -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 45296 invoked by uid 48); 11 Jun 2015 13:58:06 -0000
From: "howarth.at.gcc at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/66509] the new clang-based assembler in Xcode 7 on 10.11 fails on the libjava/java/lang/reflect/natArray.cc file from FSF gcc 5.1 at -m32
Date: Thu, 11 Jun 2015 13:58:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: target
X-Bugzilla-Version: 5.1.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: howarth.at.gcc at gmail dot com
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-66509-4-FCXIp2x1oa@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-66509-4@http.gcc.gnu.org/bugzilla/>
References: <bug-66509-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-06/txt/msg01102.txt.bz2
Content-length: 315

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

--- Comment #8 from Jack Howarth <howarth.at.gcc at gmail dot com> ---
Note that configure test does succeed if the '-arch i386' option is also passed
to the assembler. Perhaps the tests aren't fine-grained enough as they are only
done for x86_64 in config.log.


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

* [Bug rtl-optimization/56766] Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...)
  2013-03-28 14:52 [Bug rtl-optimization/56766] New: Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...) rguenth at gcc dot gnu.org
                   ` (13 preceding siblings ...)
  2015-06-11 13:47 ` rguenther at suse dot de
@ 2015-06-11 15:08 ` segher at gcc dot gnu.org
  2015-06-12  6:24 ` ubizjak at gmail dot com
                   ` (3 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: segher at gcc dot gnu.org @ 2015-06-11 15:08 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #18 from Segher Boessenkool <segher at gcc dot gnu.org> ---
(in reply to c#9)

Yes, this is a generic problem.  recog will not recognise patterns
where regs are swapped in some places but not others.  This can of
course be worked around in combine, but that will be expensive (and
not solve the real problem).


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

* [Bug rtl-optimization/56766] Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...)
  2013-03-28 14:52 [Bug rtl-optimization/56766] New: Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...) rguenth at gcc dot gnu.org
                   ` (14 preceding siblings ...)
  2015-06-11 15:08 ` segher at gcc dot gnu.org
@ 2015-06-12  6:24 ` ubizjak at gmail dot com
  2015-06-16 10:43 ` rguenther at suse dot de
                   ` (2 subsequent siblings)
  18 siblings, 0 replies; 20+ messages in thread
From: ubizjak at gmail dot com @ 2015-06-12  6:24 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #21 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Richard Biener from comment #0)

> typedef double v2df __attribute__((vector_size(16)));
> typedef long long v2di __attribute__((vector_size(16)));
> v2df foo (v2df x, v2df y)
> {
>   v2df tem1 = x + y;
>   v2df tem2 = x - y;
>   return __builtin_shuffle (tem1, tem2, (v2di) { 0, 3 });
> }

This testcase is wrong, it doesn't describe addsubpd insn. Since the element 0
is at the left, the above describes

__builtin_shuffle ({ x0 + y0, x1 + y1 }, { x0 - y0, x1 - y1 }, { 0, 3 })

==>

{ x0 + y0, x1 - y1 }

addsubpd insn however does:

{ x0 - y0, x1 + y1 }

I will attach the testcase I'm using here, and updated patch.
>From gcc-bugs-return-488840-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Fri Jun 12 06:28:40 2015
Return-Path: <gcc-bugs-return-488840-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 11502 invoked by alias); 12 Jun 2015 06:28:40 -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 11423 invoked by uid 48); 12 Jun 2015 06:28:36 -0000
From: "ubizjak at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug rtl-optimization/56766] Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...)
Date: Fri, 12 Jun 2015 06:28:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: rtl-optimization
X-Bugzilla-Version: 4.9.0
X-Bugzilla-Keywords: missed-optimization
X-Bugzilla-Severity: normal
X-Bugzilla-Who: ubizjak at gmail dot com
X-Bugzilla-Status: NEW
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: attachments.isobsolete attachments.created
Message-ID: <bug-56766-4-bg7q7qKFW6@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-56766-4@http.gcc.gnu.org/bugzilla/>
References: <bug-56766-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-06/txt/msg01172.txt.bz2
Content-length: 693

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

Uroš Bizjak <ubizjak at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #35755|0                           |1
        is obsolete|                            |
  Attachment #35758|0                           |1
        is obsolete|                            |

--- Comment #22 from Uroš Bizjak <ubizjak at gmail dot com> ---
Created attachment 35767
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35767&action=edit
Updated patch that adds additional ADDSUB patterns using vec_select/vec_concat
>From gcc-bugs-return-488841-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Fri Jun 12 06:32:52 2015
Return-Path: <gcc-bugs-return-488841-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 66502 invoked by alias); 12 Jun 2015 06:32:52 -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 66443 invoked by uid 48); 12 Jun 2015 06:32:48 -0000
From: "ubizjak at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug rtl-optimization/56766] Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...)
Date: Fri, 12 Jun 2015 06:32:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: rtl-optimization
X-Bugzilla-Version: 4.9.0
X-Bugzilla-Keywords: missed-optimization
X-Bugzilla-Severity: normal
X-Bugzilla-Who: ubizjak at gmail dot com
X-Bugzilla-Status: NEW
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: attachments.created
Message-ID: <bug-56766-4-gdVEoNkRpt@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-56766-4@http.gcc.gnu.org/bugzilla/>
References: <bug-56766-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-06/txt/msg01173.txt.bz2
Content-length: 287

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

--- Comment #23 from Uroš Bizjak <ubizjak at gmail dot com> ---
Created attachment 35768
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35768&action=edit
Testcase

Testcases, compile with "-O2 -ftree-vectorize -mavx".
>From gcc-bugs-return-488842-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Fri Jun 12 06:41:01 2015
Return-Path: <gcc-bugs-return-488842-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 89613 invoked by alias); 12 Jun 2015 06:41:01 -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 89550 invoked by uid 48); 12 Jun 2015 06:40:57 -0000
From: "ubizjak at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug rtl-optimization/56766] Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...)
Date: Fri, 12 Jun 2015 06:41:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: rtl-optimization
X-Bugzilla-Version: 4.9.0
X-Bugzilla-Keywords: missed-optimization
X-Bugzilla-Severity: normal
X-Bugzilla-Who: ubizjak at gmail dot com
X-Bugzilla-Status: NEW
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-56766-4-Gvs6bQq9Xg@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-56766-4@http.gcc.gnu.org/bugzilla/>
References: <bug-56766-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-06/txt/msg01174.txt.bz2
Content-length: 997

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

--- Comment #24 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Uroš Bizjak from comment #23)

> Testcases, compile with "-O2 -ftree-vectorize -mavx".

Richi, please note that tree-vectorizer doesn't vectorize bar_v2df, at least
there is no VEC_PERM_EXPR in the .optimized dump:

void bar_v2df (double * __restrict__ p, double * __restrict q)
{
  p[0] = p[0] - q[0];
  p[1] = p[1] + q[1];
}

Another question w.r.t. to foo_* testcases that use __builtin_shuffle:

v4sf foo_v4sf (v4sf x, v4sf y)
{
  v4sf tem0 = x - y;
  v4sf tem1 = x + y;
  return __builtin_shuffle (tem0, tem1, (v4si) { 0, 5, 2, 7 });
}

is functionaly equivalent to:

v4sf foo_v4sf (v4sf x, v4sf y)
{
  v4sf tem0 = x + y;
  v4sf tem1 = x - y;
  return __builtin_shuffle (tem0, tem1, (v4si) { 4, 1, 6, 3 });
}

But the later construct isn't simplified. Should we declare canonical form as
the one with "element 0 from the first operand"?
>From gcc-bugs-return-488843-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Fri Jun 12 07:50:16 2015
Return-Path: <gcc-bugs-return-488843-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 61241 invoked by alias); 12 Jun 2015 07:50:15 -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 61208 invoked by uid 48); 12 Jun 2015 07:50:12 -0000
From: "manu at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug fortran/66495] [5 Regression] Issue with same name for embedded function
Date: Fri, 12 Jun 2015 07:50:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: fortran
X-Bugzilla-Version: 5.1.1
X-Bugzilla-Keywords: error-recovery, ice-on-invalid-code
X-Bugzilla-Severity: normal
X-Bugzilla-Who: manu at gcc dot gnu.org
X-Bugzilla-Status: NEW
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P4
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 5.2
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-66495-4-nW68zsyK4p@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-66495-4@http.gcc.gnu.org/bugzilla/>
References: <bug-66495-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-06/txt/msg01175.txt.bz2
Content-length: 819

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

--- Comment #2 from Manuel López-Ibáñez <manu at gcc dot gnu.org> ---
(In reply to Dominique d'Humieres from comment #1)
> The ICE appeared between revisions r218570 (2014-12-10, no ICE) and r218658
> (2014-12-12, ICE), likely r218627 (pr44054) or a related commit.
> 
> This has been fixed between r223447 (2015-05-20, ICE) and r224148
> (2015-06-05, no ICE), likely r223614.

I don't have much free time to work on GCC. It would extremely useful if you
could tell me what exactly is causing the ICE. I may then figure out how it got
fixed in GCC 6 and whether it is possible to backport the fix. Unfortunately,
the changes in GCC 6 required some changes in the common diagnostics part that
I doubt are suited for backporting wholesale.
>From gcc-bugs-return-488844-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Fri Jun 12 07:52:46 2015
Return-Path: <gcc-bugs-return-488844-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 63514 invoked by alias); 12 Jun 2015 07:52:45 -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 63454 invoked by uid 48); 12 Jun 2015 07:52:42 -0000
From: "manu at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug fortran/66495] [5 Regression] Issue with same name for embedded function
Date: Fri, 12 Jun 2015 07:52:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: fortran
X-Bugzilla-Version: 5.1.1
X-Bugzilla-Keywords: error-recovery, ice-on-invalid-code
X-Bugzilla-Severity: normal
X-Bugzilla-Who: manu at gcc dot gnu.org
X-Bugzilla-Status: NEW
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P4
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 5.2
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-66495-4-Faf2qcf1cO@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-66495-4@http.gcc.gnu.org/bugzilla/>
References: <bug-66495-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-06/txt/msg01176.txt.bz2
Content-length: 402

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

--- Comment #3 from Manuel López-Ibáñez <manu at gcc dot gnu.org> ---
Actually, looking at the output, it is surprising that this is caused by my
changes, since GCC 5 did not change errors that generate two locations. Perhaps
that is precisely the problem: The error "Procedure..." should use gfc_error_1
instead of gfc_error?
>From gcc-bugs-return-488845-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Fri Jun 12 07:55:37 2015
Return-Path: <gcc-bugs-return-488845-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 68873 invoked by alias); 12 Jun 2015 07:55:37 -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 68779 invoked by uid 48); 12 Jun 2015 07:55:34 -0000
From: "jakub at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug pch/65550] [4.8/4.9 Regression] ICE (segfault) with pch
Date: Fri, 12 Jun 2015 07:55:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: pch
X-Bugzilla-Version: 5.0
X-Bugzilla-Keywords: ice-on-invalid-code
X-Bugzilla-Severity: normal
X-Bugzilla-Who: jakub at gcc dot gnu.org
X-Bugzilla-Status: NEW
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P2
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 4.8.5
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: cc
Message-ID: <bug-65550-4-sqXI2ZFsiZ@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-65550-4@http.gcc.gnu.org/bugzilla/>
References: <bug-65550-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-06/txt/msg01177.txt.bz2
Content-length: 428

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I suppose this is backportable to both 4.8 and 4.9.


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

* [Bug rtl-optimization/56766] Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...)
  2013-03-28 14:52 [Bug rtl-optimization/56766] New: Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...) rguenth at gcc dot gnu.org
                   ` (15 preceding siblings ...)
  2015-06-12  6:24 ` ubizjak at gmail dot com
@ 2015-06-16 10:43 ` rguenther at suse dot de
  2015-06-16 15:33 ` ubizjak at gmail dot com
  2015-06-16 17:41 ` ubizjak at gmail dot com
  18 siblings, 0 replies; 20+ messages in thread
From: rguenther at suse dot de @ 2015-06-16 10:43 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #25 from rguenther at suse dot de <rguenther at suse dot de> ---
On Fri, 12 Jun 2015, ubizjak at gmail dot com wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56766
> 
> --- Comment #24 from Uroš Bizjak <ubizjak at gmail dot com> ---
> (In reply to Uroš Bizjak from comment #23)
> 
> > Testcases, compile with "-O2 -ftree-vectorize -mavx".
> 
> Richi, please note that tree-vectorizer doesn't vectorize bar_v2df, at least
> there is no VEC_PERM_EXPR in the .optimized dump:
> 
> void bar_v2df (double * __restrict__ p, double * __restrict q)
> {
>   p[0] = p[0] - q[0];
>   p[1] = p[1] + q[1];
> }

That's because of (unless you specify -fno-vect-cost-model):

t.c:3:11: note: Cost model analysis:
  Vector inside of basic block cost: 9
  Vector prologue cost: 0
  Vector epilogue cost: 0
  Scalar cost of basic block: 8
t.c:3:11: note: not vectorized: vectorization is not profitable.

so it computes a too high vectorized cost.  This is because the
target unspecific code handling this is estimating the cost as
needing both the add and the subtract and the shuffle.  The
target vectorizer cost hook could adjust this to a more sensible
value if addsubpd is available.

> Another question w.r.t. to foo_* testcases that use __builtin_shuffle:
> 
> v4sf foo_v4sf (v4sf x, v4sf y)
> {
>   v4sf tem0 = x - y;
>   v4sf tem1 = x + y;
>   return __builtin_shuffle (tem0, tem1, (v4si) { 0, 5, 2, 7 });
> }
> 
> is functionaly equivalent to:
> 
> v4sf foo_v4sf (v4sf x, v4sf y)
> {
>   v4sf tem0 = x + y;
>   v4sf tem1 = x - y;
>   return __builtin_shuffle (tem0, tem1, (v4si) { 4, 1, 6, 3 });
> }
> 
> But the later construct isn't simplified. Should we declare canonical form as
> the one with "element 0 from the first operand"?

That one is interesting.  I'd say we'd need to define a total ordering
here.  Note that a canonical form is only accepted when the target accepts
it (see the VEC_PERM_EXPR case in fold-const.c).

So, if we can write a function compare_perm_for_canonical (unsigned char 
*sel1, unsigned char *sel2, unsigned n) we could use that to determine
if swapping arg0 and arg1 makes the permute mask more canonical.

So yes, we should have a canonical form for the above and yes, we
could say that we order after element0 and if that is equal after
element1, and so on.
>From gcc-bugs-return-489073-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Tue Jun 16 10:45:54 2015
Return-Path: <gcc-bugs-return-489073-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 97806 invoked by alias); 16 Jun 2015 10:45:54 -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 97753 invoked by uid 48); 16 Jun 2015 10:45:50 -0000
From: "rguenth at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c++/66536] [5/6 Regression] ICE in build_ctor_subob_ref, at cp/tree.c:2534
Date: Tue, 16 Jun 2015 10:45:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: c++
X-Bugzilla-Version: 6.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: rguenth at gcc dot gnu.org
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 5.2
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: target_milestone
Message-ID: <bug-66536-4-WuXSFX5szA@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-66536-4@http.gcc.gnu.org/bugzilla/>
References: <bug-66536-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-06/txt/msg01405.txt.bz2
Content-length: 292

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |5.2


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

* [Bug rtl-optimization/56766] Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...)
  2013-03-28 14:52 [Bug rtl-optimization/56766] New: Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...) rguenth at gcc dot gnu.org
                   ` (16 preceding siblings ...)
  2015-06-16 10:43 ` rguenther at suse dot de
@ 2015-06-16 15:33 ` ubizjak at gmail dot com
  2015-06-16 17:41 ` ubizjak at gmail dot com
  18 siblings, 0 replies; 20+ messages in thread
From: ubizjak at gmail dot com @ 2015-06-16 15:33 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #26 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to rguenther@suse.de from comment #25)

> > Richi, please note that tree-vectorizer doesn't vectorize bar_v2df, at least
> > there is no VEC_PERM_EXPR in the .optimized dump:
> > 
> > void bar_v2df (double * __restrict__ p, double * __restrict q)
> > {
> >   p[0] = p[0] - q[0];
> >   p[1] = p[1] + q[1];
> > }
> 
> That's because of (unless you specify -fno-vect-cost-model):
> 
> t.c:3:11: note: Cost model analysis:
>   Vector inside of basic block cost: 9
>   Vector prologue cost: 0
>   Vector epilogue cost: 0
>   Scalar cost of basic block: 8
> t.c:3:11: note: not vectorized: vectorization is not profitable.
> 
> so it computes a too high vectorized cost.  This is because the
> target unspecific code handling this is estimating the cost as
> needing both the add and the subtract and the shuffle.  The
> target vectorizer cost hook could adjust this to a more sensible
> value if addsubpd is available.

Thanks, -fno-vec-cost-model did the trick here.

> > Another question w.r.t. to foo_* testcases that use __builtin_shuffle:
> > 
> > v4sf foo_v4sf (v4sf x, v4sf y)
> > {
> >   v4sf tem0 = x - y;
> >   v4sf tem1 = x + y;
> >   return __builtin_shuffle (tem0, tem1, (v4si) { 0, 5, 2, 7 });
> > }
> > 
> > is functionaly equivalent to:
> > 
> > v4sf foo_v4sf (v4sf x, v4sf y)
> > {
> >   v4sf tem0 = x + y;
> >   v4sf tem1 = x - y;
> >   return __builtin_shuffle (tem0, tem1, (v4si) { 4, 1, 6, 3 });
> > }
> > 
> > But the later construct isn't simplified. Should we declare canonical form as
> > the one with "element 0 from the first operand"?
> 
> That one is interesting.  I'd say we'd need to define a total ordering
> here.  Note that a canonical form is only accepted when the target accepts
> it (see the VEC_PERM_EXPR case in fold-const.c).
> 
> So, if we can write a function compare_perm_for_canonical (unsigned char 
> *sel1, unsigned char *sel2, unsigned n) we could use that to determine
> if swapping arg0 and arg1 makes the permute mask more canonical.
> 
> So yes, we should have a canonical form for the above and yes, we
> could say that we order after element0 and if that is equal after
> element1, and so on.

I will open a new PR for this, I think that the proposed patch fixes this one.
>From gcc-bugs-return-489108-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Tue Jun 16 15:35:59 2015
Return-Path: <gcc-bugs-return-489108-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 55453 invoked by alias); 16 Jun 2015 15:35:59 -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 55365 invoked by uid 55); 16 Jun 2015 15:35:55 -0000
From: "jim.wilson at linaro dot org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug rtl-optimization/65932] [5 Regression] Linux-3.10.75 on arm926ej-s does not boot due to wrong code generation
Date: Tue, 16 Jun 2015 15:35:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: rtl-optimization
X-Bugzilla-Version: 5.1.1
X-Bugzilla-Keywords: wrong-code
X-Bugzilla-Severity: critical
X-Bugzilla-Who: jim.wilson at linaro dot org
X-Bugzilla-Status: NEW
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 5.2
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-65932-4-F8ZQ1Dzxul@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-65932-4@http.gcc.gnu.org/bugzilla/>
References: <bug-65932-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-06/txt/msg01440.txt.bz2
Content-length: 326

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

--- Comment #16 from jim.wilson at linaro dot org ---
On Tue, Jun 16, 2015 at 8:03 AM, christian.eggers at kathrein dot de
<gcc-bugzilla@gcc.gnu.org> wrote:
> Shall I also test the other patch?

The out-of-ssa patch is unfinished, and won't work without more changes.

Jim


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

* [Bug rtl-optimization/56766] Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...)
  2013-03-28 14:52 [Bug rtl-optimization/56766] New: Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...) rguenth at gcc dot gnu.org
                   ` (17 preceding siblings ...)
  2015-06-16 15:33 ` ubizjak at gmail dot com
@ 2015-06-16 17:41 ` ubizjak at gmail dot com
  18 siblings, 0 replies; 20+ messages in thread
From: ubizjak at gmail dot com @ 2015-06-16 17:41 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #27 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Uroš Bizjak from comment #26)

> I will open a new PR for this ...

PR 66560
>From gcc-bugs-return-489126-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Tue Jun 16 17:44:38 2015
Return-Path: <gcc-bugs-return-489126-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 27888 invoked by alias); 16 Jun 2015 17:44:38 -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 27819 invoked by uid 48); 16 Jun 2015 17:44:34 -0000
From: "ubizjak at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug rtl-optimization/56776] [4.8/4.9 Regression] valgrind errors within ira
Date: Tue, 16 Jun 2015 17:44:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: rtl-optimization
X-Bugzilla-Version: 4.9.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: ubizjak at gmail dot com
X-Bugzilla-Status: RESOLVED
X-Bugzilla-Resolution: INVALID
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 4.8.1
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-56776-4-jWiylttJhT@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-56776-4@http.gcc.gnu.org/bugzilla/>
References: <bug-56776-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-06/txt/msg01458.txt.bz2
Content-length: 145

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

--- Comment #4 from Uroš Bizjak <ubizjak at gmail dot com> ---
Oops, wrong PR nubmer.
>From gcc-bugs-return-489127-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Tue Jun 16 17:45:32 2015
Return-Path: <gcc-bugs-return-489127-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 29051 invoked by alias); 16 Jun 2015 17:45:31 -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 28957 invoked by uid 48); 16 Jun 2015 17:45:28 -0000
From: "ubizjak at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug rtl-optimization/56766] Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...)
Date: Tue, 16 Jun 2015 17:45:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: rtl-optimization
X-Bugzilla-Version: 4.9.0
X-Bugzilla-Keywords: missed-optimization
X-Bugzilla-Severity: normal
X-Bugzilla-Who: ubizjak at gmail dot com
X-Bugzilla-Status: NEW
X-Bugzilla-Resolution:
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-56766-4-BUPeRUY376@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-56766-4@http.gcc.gnu.org/bugzilla/>
References: <bug-56766-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-06/txt/msg01459.txt.bz2
Content-length: 920

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

--- Comment #28 from Uroš Bizjak <ubizjak at gmail dot com> ---
Author: uros
Date: Tue Jun 16 17:14:00 2015
New Revision: 224527

URL: https://gcc.gnu.org/viewcvs?rev=224527&root=gcc&view=rev
Log:
        PR target/56766
        * config/i386/sse.md (*avx_addsubv4df3_1): New insn pattern.
        (*avx_addsubv4df3_1s): Ditto.
        (*sse3_addsubv2df3_1): Ditto.
        (*sse3_addsubv2df3_1s): Ditto.
        (*avx_addsubv8sf3_1): Ditto.
        (*avx_addsubv8sf3_1s): Ditto.
        (*sse3_addsubv4sf3_1): Ditto.
        (*sse3_addsubv4sf3_1s): Ditto.

testsuite/ChangeLog:

        PR target/56766
        * gcc.target/i386/pr56766-1.c: New test.
        * gcc.target/i386/pr56766-2.c: Ditto.


Added:
    trunk/gcc/testsuite/gcc.target/i386/pr56766-1.c
    trunk/gcc/testsuite/gcc.target/i386/pr56766-2.c
Modified:
    trunk/gcc/config/i386/sse.md
>From gcc-bugs-return-489128-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Tue Jun 16 17:47:55 2015
Return-Path: <gcc-bugs-return-489128-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 33959 invoked by alias); 16 Jun 2015 17:47:55 -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 33839 invoked by uid 48); 16 Jun 2015 17:47:51 -0000
From: "ubizjak at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/56766] Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...)
Date: Tue, 16 Jun 2015 17:47:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: target
X-Bugzilla-Version: 4.9.0
X-Bugzilla-Keywords: missed-optimization
X-Bugzilla-Severity: normal
X-Bugzilla-Who: ubizjak at gmail dot com
X-Bugzilla-Status: RESOLVED
X-Bugzilla-Resolution: FIXED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 6.0
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: bug_status component resolution target_milestone
Message-ID: <bug-56766-4-XcWYaUaXF4@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-56766-4@http.gcc.gnu.org/bugzilla/>
References: <bug-56766-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-06/txt/msg01460.txt.bz2
Content-length: 586

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

Uroš Bizjak <ubizjak at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
          Component|rtl-optimization            |target
         Resolution|---                         |FIXED
   Target Milestone|---                         |6.0

--- Comment #29 from Uroš Bizjak <ubizjak at gmail dot com> ---
According to Comment #20, this is target bug.

Fixed.
>From gcc-bugs-return-489129-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Tue Jun 16 17:47:56 2015
Return-Path: <gcc-bugs-return-489129-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 34123 invoked by alias); 16 Jun 2015 17:47:56 -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 33902 invoked by uid 48); 16 Jun 2015 17:47:52 -0000
From: "ubizjak at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug tree-optimization/37021] Fortran Complex reduction / multiplication not vectorized
Date: Tue, 16 Jun 2015 17:47:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: dep_changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: tree-optimization
X-Bugzilla-Version: 4.4.0
X-Bugzilla-Keywords: alias, missed-optimization
X-Bugzilla-Severity: enhancement
X-Bugzilla-Who: ubizjak at gmail dot com
X-Bugzilla-Status: RESOLVED
X-Bugzilla-Resolution: FIXED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: rguenth at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 6.0
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: bug_status resolution
Message-ID: <bug-37021-4-OChTXhMas6@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-37021-4@http.gcc.gnu.org/bugzilla/>
References: <bug-37021-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-06/txt/msg01461.txt.bz2
Content-length: 488

https://gcc.gnu.org/bugzilla/show_bug.cgi?id7021
Bug 37021 depends on bug 56766, which changed state.

Bug 56766 Summary: Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...)
https://gcc.gnu.org/bugzilla/show_bug.cgi?idV766

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


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

end of thread, other threads:[~2015-06-16 17:41 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-03-28 14:52 [Bug rtl-optimization/56766] New: Fails to combine (vec_select (vec_concat ...)) to (vec_merge ...) rguenth at gcc dot gnu.org
2013-04-02  8:08 ` [Bug rtl-optimization/56766] " rguenth at gcc dot gnu.org
2013-05-09 12:41 ` glisse at gcc dot gnu.org
2015-05-12 14:20 ` rguenth at gcc dot gnu.org
2015-06-10 11:21 ` rguenth at gcc dot gnu.org
2015-06-11  9:26 ` ubizjak at gmail dot com
2015-06-11  9:39 ` ubizjak at gmail dot com
2015-06-11 10:28 ` rguenth at gcc dot gnu.org
2015-06-11 10:30 ` rguenth at gcc dot gnu.org
2015-06-11 10:33 ` rguenth at gcc dot gnu.org
2015-06-11 11:12 ` ubizjak at gmail dot com
2015-06-11 12:03 ` ubizjak at gmail dot com
2015-06-11 12:32 ` rguenther at suse dot de
2015-06-11 13:03 ` ubizjak at gmail dot com
2015-06-11 13:47 ` rguenther at suse dot de
2015-06-11 15:08 ` segher at gcc dot gnu.org
2015-06-12  6:24 ` ubizjak at gmail dot com
2015-06-16 10:43 ` rguenther at suse dot de
2015-06-16 15:33 ` ubizjak at gmail dot com
2015-06-16 17:41 ` ubizjak 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).