From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 86507 invoked by alias); 11 Jun 2015 09:26:16 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 86434 invoked by uid 48); 11 Jun 2015 09:26:13 -0000 From: "ubizjak at gmail dot com" 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:26: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: In-Reply-To: References: 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/msg01053.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D56766 --- Comment #5 from Uro=C5=A1 Bizjak --- Created attachment 35753 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=3D35753&action=3Dedit 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: 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: List-Archive: List-Post: List-Help: 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" 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: In-Reply-To: References: 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=3D56766 --- Comment #6 from Uro=C5=A1 Bizjak --- (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: 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: List-Archive: List-Post: List-Help: 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" 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: 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?id=66503 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?id=35754&action=edit 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 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.