public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "rguenth at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/63666] [5.0 regression] FAIL: gcc.dg/vect/pr45752.c (internal compiler error) Date: Wed, 29 Oct 2014 13:18:00 -0000 [thread overview] Message-ID: <bug-63666-4-0SD9ylLMTz@http.gcc.gnu.org/bugzilla/> (raw) In-Reply-To: <bug-63666-4@http.gcc.gnu.org/bugzilla/> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63666 Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |glisse at gcc dot gnu.org --- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Andreas Schwab from comment #2) > Also breaks gcc.dg/vect/vect-strided-a-u8-i2-gap.c > > $ gcc/xgcc -Bgcc/ ../gcc/testsuite/gcc.dg/vect/vect-strided-a-u8-i2-gap.c > -ftree-vectorize -fno-vect-cost-model -fno-common -O2 > -fdump-tree-vect-details -lm -o ./vect-strided-a-u8-i2-gap.exe > ../gcc/testsuite/gcc.dg/vect/vect-strided-a-u8-i2-gap.c: In function ‘main1’: > ../gcc/testsuite/gcc.dg/vect/vect-strided-a-u8-i2-gap.c:34:16: internal > compiler error: in expand_expr_real_2, at expr.c:9156 > res[i].b = ptr->a; > ^ > 0x400000000059052f expand_expr_real_2(separate_ops*, rtx_def*, machine_mode, > expand_modifier) > ../../gcc/expr.c:9156 > 0x4000000000579c1f expand_expr_real_1(tree_node*, rtx_def*, machine_mode, > expand_modifier, rtx_def**, bool) > ../../gcc/expr.c:9463 > 0x400000000058b71f store_expr(tree_node*, rtx_def*, int, bool) > ../../gcc/expr.c:5344 > 0x400000000059701f expand_assignment(tree_node*, tree_node*, bool) > ../../gcc/expr.c:5130 > 0x4000000000381b7f expand_gimple_stmt_1 > ../../gcc/cfgexpand.c:3285 > 0x4000000000381b7f expand_gimple_stmt > ../../gcc/cfgexpand.c:3381 > 0x400000000038d89f expand_gimple_basic_block > ../../gcc/cfgexpand.c:5216 > 0x40000000003916ef execute > ../../gcc/cfgexpand.c:5822 This also still happens. The vectorizer generates (and verified) vect_perm_even_77 = VEC_PERM_EXPR <vect__22.9_74, vect__22.10_76, { 0, 2, 4, 6, 8, 10, 12, 14 }>; vect_perm_odd_78 = VEC_PERM_EXPR <vect__22.9_74, vect__22.10_76, { 1, 3, 5, 7, 9, 11, 13, 15 }>; vect_inter_high_82 = VEC_PERM_EXPR <vect_perm_even_77, vect_perm_even_77, { 0, 8, 1, 9, 2, 10, 3, 11 }>; vect_inter_low_83 = VEC_PERM_EXPR <vect_perm_even_77, vect_perm_even_77, { 4, 12, 5, 13, 6, 14, 7, 15 }>; then we unroll the loop and forwprop4 comes along changing vect_perm_even_145 = VEC_PERM_EXPR <vect__22.9_142, vect__22.10_144, { 0, 2, 4, 6, 8, 10, 12, 14 }>; vect_inter_high_146 = VEC_PERM_EXPR <vect_perm_even_145, vect_perm_even_145, { 0, 8, 1, 9, 2, 10, 3, 11 }>; to vect_perm_even_145 = VEC_PERM_EXPR <vect__22.9_142, vect__22.10_144, { 0, 2, 4, 6, 8, 10, 12, 14 }>; vect_inter_high_146 = VEC_PERM_EXPR <vect_perm_even_145, vect_perm_even_145, { 0, 0, 1, 1, 2, 2, 3, 3 }>; which isn't a supported permutation. It looks like fold-const.c:fold_ternary_loc doesn't care about only generating supported permutations and the fallback code in expand_vec_perm doesn't cover all cases. >From gcc-bugs-return-465217-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Wed Oct 29 13:18:05 2014 Return-Path: <gcc-bugs-return-465217-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org> Delivered-To: listarch-gcc-bugs@gcc.gnu.org Received: (qmail 19925 invoked by alias); 29 Oct 2014 13:18:05 -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 19831 invoked by uid 48); 29 Oct 2014 13:18:00 -0000 From: "simon at pushface dot org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug ada/63675] New:=?UTF-8?Q? Non-confirming aspect doesn’t fail?Date: Wed, 29 Oct 2014 13:19:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: ada X-Bugzilla-Version: 4.9.1 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: simon at pushface dot org X-Bugzilla-Status: UNCONFIRMED 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 attachments.created Message-ID: <bug-63675-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: 2014-10/txt/msg02238.txt.bz2 Content-length: 1899 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63675 Bug ID: 63675 Summary: Non-confirming aspect doesn’t fail Product: gcc Version: 4.9.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: ada Assignee: unassigned at gcc dot gnu.org Reporter: simon at pushface dot org Created attachment 33840 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33840&action=edit Reproducer This arises from checking the status of PR/56196 (which is, itself, now fixed). There is an untagged base type with aspects Unchecked_Union and C_Pass_By_Copy, a primitive subprogram of the base type, and three derived types. All derived types result in warnings union.ads:15:06: warning: variant record has no direct equivalent in C union.ads:15:06: warning: use of convention for type "Derived_1" is dubious union.ads:15:06: warning: variant record has no direct equivalent in C union.ads:15:06: warning: use of convention for type "Derived_2" is dubious union.ads:15:06: warning: variant record has no direct equivalent in C union.ads:15:06: warning: use of convention for type "Derived_3" is dubious which (a) shouldn’t be a problem, I think, and (b) are on the line at which the base type is declared, rather than on the line where the “dubious” derived type is declared. The first derived type has no aspects. The second derived type has aspect Unchecked_Union => False, which conflicts with that of the base type, and *is not rejected*. The third derived type has aspect Unchecked_Union => True, which confirms that of the base type, and *is* rejected. union.ads:29:36: representation item appears too late union.ads:29:36: primitive operations already defined for "Base" I think both of derived types with aspects should be rejected. >From gcc-bugs-return-465218-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Wed Oct 29 13:19:27 2014 Return-Path: <gcc-bugs-return-465218-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org> Delivered-To: listarch-gcc-bugs@gcc.gnu.org Received: (qmail 20928 invoked by alias); 29 Oct 2014 13:19:26 -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 20864 invoked by uid 48); 29 Oct 2014 13:19:23 -0000 From: "rguenth at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/63666] [5.0 regression] FAIL: gcc.dg/vect/pr45752.c (internal compiler error) Date: Wed, 29 Oct 2014 13:32:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Version: 5.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: rguenth at gcc dot gnu.org X-Bugzilla-Status: RESOLVED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: rguenth at gcc dot gnu.org X-Bugzilla-Target-Milestone: 5.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: <bug-63666-4-0hj03CnWs3@http.gcc.gnu.org/bugzilla/> In-Reply-To: <bug-63666-4@http.gcc.gnu.org/bugzilla/> References: <bug-63666-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: 2014-10/txt/msg02239.txt.bz2 Content-length: 969 https://gcc.gnu.org/bugzilla/show_bug.cgi?idc666 --- Comment #11 from Richard Biener <rguenth at gcc dot gnu.org> --- Index: gcc/fold-const.c ==================================================================--- gcc/fold-const.c (revision 216834) +++ gcc/fold-const.c (working copy) @@ -82,6 +82,7 @@ along with GCC; see the file COPYING3. #include "ipa-ref.h" #include "cgraph.h" #include "generic-match.h" +#include "optabs.h" /* Nonzero if we are folding constants inside an initializer; zero otherwise. */ @@ -14311,7 +14331,8 @@ fold_ternary_loc (location_t loc, enum t if (op0 == op1 && !single_arg) changed = true; - if (need_mask_canon && arg2 == op2) + if (need_mask_canon && arg2 == op2 + && can_vec_perm_p (TYPE_MODE (type), false, sel)) { tree *tsel = XALLOCAVEC (tree, nelts); tree eltype = TREE_TYPE (TREE_TYPE (arg2)); fixes the IA64 case.
next prev parent reply other threads:[~2014-10-29 13:07 UTC|newest] Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-10-28 10:27 [Bug tree-optimization/63666] New: " schwab@linux-m68k.org 2014-10-28 11:01 ` [Bug tree-optimization/63666] " schwab@linux-m68k.org 2014-10-28 11:37 ` rguenth at gcc dot gnu.org 2014-10-28 11:41 ` jiwang at gcc dot gnu.org 2014-10-28 11:43 ` rguenth at gcc dot gnu.org 2014-10-29 9:23 ` rguenth at gcc dot gnu.org 2014-10-29 9:25 ` rguenth at gcc dot gnu.org 2014-10-29 12:36 ` jiwang at gcc dot gnu.org 2014-10-29 13:07 ` rguenther at suse dot de 2014-10-29 13:18 ` rguenth at gcc dot gnu.org [this message] 2014-10-29 22:07 ` glisse at gcc dot gnu.org
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-63666-4-0SD9ylLMTz@http.gcc.gnu.org/bugzilla/ \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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).