From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12698 invoked by alias); 29 Oct 2014 13:07:35 -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 12623 invoked by uid 48); 29 Oct 2014 13:07:30 -0000 From: "rguenth at gcc dot 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 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: cc 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: 2014-10/txt/msg02237.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D63666 Richard Biener changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |glisse at gcc dot gnu.org --- Comment #10 from Richard Biener --- (In reply to Andreas Schwab from comment #2) > Also breaks gcc.dg/vect/vect-strided-a-u8-i2-gap.c >=20 > $ 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 =E2= =80=98main1=E2=80=99: > ../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 =3D ptr->a; > ^ > 0x400000000059052f expand_expr_real_2(separate_ops*, rtx_def*, machine_mo= de, > 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 =3D VEC_PERM_EXPR ; vect_perm_odd_78 =3D VEC_PERM_EXPR ; vect_inter_high_82 =3D VEC_PERM_EXPR ; vect_inter_low_83 =3D VEC_PERM_EXPR ; then we unroll the loop and forwprop4 comes along changing vect_perm_even_145 =3D VEC_PERM_EXPR ; vect_inter_high_146 =3D VEC_PERM_EXPR ; to vect_perm_even_145 =3D VEC_PERM_EXPR ; vect_inter_high_146 =3D VEC_PERM_EXPR ; 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: 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: List-Archive: List-Post: List-Help: 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" To: gcc-bugs@gcc.gnu.org Subject: [Bug ada/63675] New:=?UTF-8?Q?=20Non=2Dconfirming=20aspect=20doesn=E2=80=99t=20fail?= 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: 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=3D63675 Bug ID: 63675 Summary: Non-confirming aspect doesn=E2=80=99t 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=3D33840&action=3Dedit Reproducer This arises from checking the status of PR/56196 (which is, itself, now fix= ed). There is an untagged base type with aspects Unchecked_Union and C_Pass_By_C= opy, 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=E2=80=99t 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 =E2=80=9Cdubious= =E2=80=9D derived type is declared. The first derived type has no aspects. The second derived type has aspect Unchecked_Union =3D> False, which confli= cts with that of the base type, and *is not rejected*. The third derived type has aspect Unchecked_Union =3D> 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: 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: List-Archive: List-Post: List-Help: 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" 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: In-Reply-To: References: 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?id=63666 --- Comment #11 from Richard Biener --- 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.