From patchwork Tue Oct 10 01:39:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "juzhe.zhong@rivai.ai" X-Patchwork-Id: 150439 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a888:0:b0:403:3b70:6f57 with SMTP id x8csp2220545vqo; Mon, 9 Oct 2023 18:39:59 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFGvpTtQUcDv6CDCu3CUusnbPzYJ9us293/ohnIlN8D0Uq4KkCSHDZSI+Uj/xpAehQWCoGO X-Received: by 2002:a05:6000:1f0a:b0:32c:a930:fe0d with SMTP id bv10-20020a0560001f0a00b0032ca930fe0dmr702126wrb.4.1696901999402; Mon, 09 Oct 2023 18:39:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696901999; cv=none; d=google.com; s=arc-20160816; b=p0AxiNi5v2qBZSZPQArtNV+vTroddIXqRLhF/SmHXEsVwnyn4CrjypKuHTCw6llGFm /lFMBXelhJ4aZF7lfmaAM9bq/2GyV6YQXyrPfQQzGHetQ4y4Q8qUb3vm5FiArK67baMD gfeoLs1fhk0tBOIdL8rZ/hjF/iwuq7tyEQhCLD/fVV9pREWQ0A3AzIqOoBBnnVShPOCZ rwo45XsGqAt+rYgEmcFiRcPf1IpM0c9bpD9bR5UlCFPLRLSF8LktI5ZW7VnmqKu9X3Vh 95SQd9azJkG4I81RGG0j5eKFMpGkoxUEHC+jXaL44FyAIFDdUGl3+ZtSzfxiB1s6/F03 S+tA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:feedback-id :content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:dmarc-filter:delivered-to; bh=Reom4nMujyW5W6E/ONR77jbi7qeA+bwzBM03DavZw2Y=; fh=ZcTBIs+c0xlyhNE4ZOm3CMHK4AeKKF8d9BorC2zb5sY=; b=uY/YWM5J3eVYf8PU3eH07hcLD0pqLChztdrk917RdTcxMFCMaJ/g0ZrgqhlqMo5FOB El2o666KzMgUOMFII2I9tlktkwvAA2YJc8iJ1ukogkR0pT+B00vwGtQByewcvIYKUU2N tLh80MnNsBADWbu0WKuwXJrDBUgLxxoYw8CSiPPPsaTVrQWUnf7Gvmc0SboLaHhqo+Df qdHOSVGXWZeM/1ZcJKvjRkUutE3X8v1BwBRK+JrM8ThvSNT/Ffvy101c5vValq1ThWec T7rYHFE58++RXVcHEB5Dxq+IC7YtLleM5nhimc991aUfRZ4XbSB2rLD64RAy30wPoy0M QB0Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org" Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id w21-20020a1709064a1500b009ae4e1743f6si5153517eju.641.2023.10.09.18.39.59 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Oct 2023 18:39:59 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org" Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id BED0E385800A for ; Tue, 10 Oct 2023 01:39:54 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from smtpbgeu1.qq.com (smtpbgeu1.qq.com [52.59.177.22]) by sourceware.org (Postfix) with ESMTPS id 754D13858D32 for ; Tue, 10 Oct 2023 01:39:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 754D13858D32 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivai.ai Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivai.ai X-QQ-mid: bizesmtp67t1696901948t1n8zoys Received: from rios-cad122.hadoop.rioslab.org ( [58.60.1.26]) by bizesmtp.qq.com (ESMTP) with id ; Tue, 10 Oct 2023 09:39:06 +0800 (CST) X-QQ-SSF: 01400000000000G0V000000B0000000 X-QQ-FEAT: 3M0okmaRx3jYjwXt26ouSvbALhBxpE3FEH79PGJoNOhJ2MSUjwJRKkt+X4oAB eo0PZ7ijrluUg+r1CaIyk9bw6to3EHbf7OBkQnfxll5yYMMwlcwYNWIwv6mM5WggZV1lmNa /saYtQrR11SkOUmrNt/IJAfBglCEIhYw2NnbMthHykzt/+mIjCkSdieIZiVPiP4LYCXqC6E 1+0MXNIAVxXtEdRKI35IOXEbkzXRHVJ5J0BWeSlFsd6HsGvvfpz35ysRfsiZrI8L2ovCR6B oaBGFOBuuP9lZo5VsJSiIHAK6g/Cp5WEocYPDUAPeb+oPiNrQ97mZ7KEHUGXdrl5X6QEK16 0SazcsoIgxRbBcy/z4eP+1XZzS1tlG9HQpX4NI0UkxbdZu1ttj7dHoLclNeFl6r3oBMdJla X-QQ-GoodBg: 2 X-BIZMAIL-ID: 9958557082206625165 From: Juzhe-Zhong To: gcc-patches@gcc.gnu.org Cc: rguenther@suse.de, jeffreyalaw@gmail.com, ams@codesourcery.com, Juzhe-Zhong Subject: [PATCH] RISC-V Regression: Fix FAIL of bb-slp-pr65935.c for RVV Date: Tue, 10 Oct 2023 09:39:04 +0800 Message-Id: <20231010013904.105336-1-juzhe.zhong@rivai.ai> X-Mailer: git-send-email 2.36.3 MIME-Version: 1.0 X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-10.3 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_PASS, TXREP, T_SPF_HELO_TEMPERROR autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1779330710902920830 X-GMAIL-MSGID: 1779330710902920830 Here is the reference comparing dump IR between ARM SVE and RVV. https://godbolt.org/z/zqess8Gss We can see RVV has one more dump IR: optimized: basic block part vectorized using 128 byte vectors since RVV has 1024 bit vectors. The codegen is reasonable good. However, I saw GCN also has 1024 bit vector. This patch may cause this case FAIL in GCN port ? Hi, GCN folk, could you check this patch in GCN port for me ? gcc/testsuite/ChangeLog: * gcc.dg/vect/bb-slp-pr65935.c: Add vect1024 variant. * lib/target-supports.exp: Ditto. --- gcc/testsuite/gcc.dg/vect/bb-slp-pr65935.c | 3 ++- gcc/testsuite/lib/target-supports.exp | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-pr65935.c b/gcc/testsuite/gcc.dg/vect/bb-slp-pr65935.c index 8df35327e7a..9ef1330b47c 100644 --- a/gcc/testsuite/gcc.dg/vect/bb-slp-pr65935.c +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-pr65935.c @@ -67,7 +67,8 @@ int main() /* We should also be able to use 2-lane SLP to initialize the real and imaginary components in the first loop of main. */ -/* { dg-final { scan-tree-dump-times "optimized: basic block" 10 "slp1" } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 10 "slp1" { target {! { vect1024 } } } } } */ +/* { dg-final { scan-tree-dump-times "optimized: basic block" 11 "slp1" { target { { vect1024 } } } } } */ /* We should see the s->phase[dir] operand splatted and no other operand built from scalars. See PR97334. */ /* { dg-final { scan-tree-dump "Using a splat" "slp1" } } */ diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index dc366d35a0a..95c489d7f76 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -8903,6 +8903,12 @@ proc check_effective_target_vect_variable_length { } { return [expr { [lindex [available_vector_sizes] 0] == 0 }] } +# Return 1 if the target supports vectors of 1024 bits. + +proc check_effective_target_vect1024 { } { + return [expr { [lsearch -exact [available_vector_sizes] 1024] >= 0 }] +} + # Return 1 if the target supports vectors of 512 bits. proc check_effective_target_vect512 { } {