From patchwork Fri Jan 15 12:32:35 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Biener X-Patchwork-Id: 1426962 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=gcc-patches-bounces@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=suse.de Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DHLDX1Md2z9sCq for ; Fri, 15 Jan 2021 23:32:43 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1D73D3973060; Fri, 15 Jan 2021 12:32:40 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) by sourceware.org (Postfix) with ESMTPS id 61530385800D for ; Fri, 15 Jan 2021 12:32:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 61530385800D Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=suse.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rguenther@suse.de X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id 349BFB90B for ; Fri, 15 Jan 2021 12:32:36 +0000 (UTC) Date: Fri, 15 Jan 2021 13:32:35 +0100 (CET) From: Richard Biener To: gcc-patches@gcc.gnu.org Subject: [PATCH] testsuite/96098 - remove redundant testcase Message-ID: User-Agent: Alpine 2.21 (LSU 202 2017-01-01) MIME-Version: 1.0 X-Spam-Status: No, score=-11.5 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces@gcc.gnu.org Sender: "Gcc-patches" The testcase morphed in a way no longer testing what it was originally supposed to do and slightly altering it shows the original issue isn't fixed (anymore). The limit as set as result of PR91403 (and dups) prevents the issue for larger arrays but the testcase has double a[128][128]; which results in a group size of "just" 512 (the limit is 4096). Avoiding the 'BB vectorization with gaps at the end of a load is not supported' by altering it to do void foo(void) { b[0] = a[0][0]; b[1] = a[1][0]; b[2] = a[2][0]; b[3] = a[3][127]; } shows that costing has improved further to not account the dead loads making the previous test inefficient. In fact the underlying issue isn't fixed (we do code-generate dead loads). In fact the vector permute load is even profitable, just the excessive code-generation issue exists (and is "fixed" by capping it a constant boundary, just too high for this particular testcase). The testcase now has "dups", so I'll simply remove it. 2021-01-15 Richard Biener PR testsuite/96098 * gcc.dg/vect/bb-slp-pr68892.c: Remove. --- gcc/testsuite/gcc.dg/vect/bb-slp-pr68892.c | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100644 gcc/testsuite/gcc.dg/vect/bb-slp-pr68892.c diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-pr68892.c b/gcc/testsuite/gcc.dg/vect/bb-slp-pr68892.c deleted file mode 100644 index e9909cf0dfa..00000000000 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-pr68892.c +++ /dev/null @@ -1,20 +0,0 @@ -/* { dg-do compile } */ -/* { dg-additional-options "-fvect-cost-model=dynamic" } */ -/* { dg-require-effective-target vect_double } */ - -double a[128][128]; -double b[128]; - -void foo(void) -{ - b[0] = a[0][0]; - b[1] = a[1][0]; - b[2] = a[2][0]; - b[3] = a[3][0]; -} - -/* ??? Due to the gaps we fall back to scalar loads which makes the - vectorization profitable. */ -/* { dg-final { scan-tree-dump "not profitable" "slp2" { xfail { ! aarch64*-*-* } } } } */ -/* { dg-final { scan-tree-dump "BB vectorization with gaps at the end of a load is not supported" "slp2" } } */ -/* { dg-final { scan-tree-dump-times "Basic block will be vectorized" 1 "slp2" { xfail aarch64*-*-* } } } */