From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id F3430383F84C; Tue, 12 May 2020 12:28:52 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org F3430383F84C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1589286533; bh=dsAI6T1QUnUGttqoZKDhk6KQNgYCofAWPApZ6oeGtKU=; h=From:To:Subject:Date:In-Reply-To:References:From; b=o9CMiHT58Jy7o5jhD6/nIuiTVYAx4nkpJ++NrMsyEyERer1wOVpJvCru9bTicSBn4 pEY7eZqb7op8/DTC9HBwpj43SX5zxypih1kp4F53v96xJ4ykNuW7A08WTESFI+xM6o MMLcn73oWKftjQo/sGuazT9ZU66mJXnKI3lVdFt8= From: "rguenth at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/95058] [11 regression] vector test case failures starting with r11-205 Date: Tue, 12 May 2020 12:28:52 +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: 11.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: rguenth at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: rguenth at gcc dot gnu.org X-Bugzilla-Target-Milestone: 11.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: assigned_to bug_status everconfirmed cf_reconfirmed_on 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-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 May 2020 12:28:53 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D95058 Richard Biener changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot = gnu.org Status|UNCONFIRMED |ASSIGNED Ever confirmed|0 |1 Last reconfirmed| |2020-05-12 --- Comment #6 from Richard Biener --- OK, so for non 7 BE we end up not vectorizing because it doesn't look profitable which IMHO is good. It would be nice to also see dumps before the respecti= ve rev. because in theory (well...) the cost computation should be the same. Ah! OK, so we now have 0x10002001470 _1 1 times vec_construct costs 2 in prologue 0x10002001470 _1 1 times vec_construct costs 2 in prologue 0x10002001470 _1 2 times vector_store costs 2 in body 0x10001ecfcc0 _1 1 times scalar_store costs 1 in body 0x10001ecfcc0 _2 1 times scalar_store costs 1 in body 0x10001ecfcc0 _3 1 times scalar_store costs 1 in body 0x10001ecfcc0 _4 1 times scalar_store costs 1 in body that is, the SLP graph has the expected cost. Originally we likely had costed against 4 scalar stores and 4 scalar loads (but the scalar loads will still be there). On x86_64 we get 0x3975280 _1 1 times vec_construct costs 8 in prologue 0x3975280 _1 1 times vec_construct costs 8 in prologue 0x3975280 _1 2 times vector_store costs 24 in body 0x3942cb0 _1 1 times scalar_store costs 12 in body 0x3942cb0 _2 1 times scalar_store costs 12 in body 0x3942cb0 _3 1 times scalar_store costs 12 in body 0x3942cb0 _4 1 times scalar_store costs 12 in body so it's still profitable there. Note I suggest to leave the FAILs in place for now since in my dev tree I see the vec_construct gone again so it would start passing again on ppc as well. Sorry for the intermediate breakage.=