From patchwork Mon Feb 26 06:56:22 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "juzhe.zhong@rivai.ai" X-Patchwork-Id: 206278 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:a81b:b0:108:e6aa:91d0 with SMTP id bq27csp1906013dyb; Sun, 25 Feb 2024 22:57:17 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVjpNDZgQngT7K6zFxUWYxtwiChTa+6jjspIsf/a5IfcmF0hVa29M3cFzcZczEoot4btWefl40hdQLOhujMG/MPpA7Cpg== X-Google-Smtp-Source: AGHT+IG8j8GI15P6uWJLt7l9JhOwa/LT8McJslWuGiE7wiF2oDkWJjNsyh2iPSm7+X8IFIq2N1dD X-Received: by 2002:a67:fa03:0:b0:471:e212:8f6e with SMTP id i3-20020a67fa03000000b00471e2128f6emr2471357vsq.16.1708930637164; Sun, 25 Feb 2024 22:57:17 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708930637; cv=pass; d=google.com; s=arc-20160816; b=x5jKNR9SnoExg++V3UrCWqAMtj9mHfDjmEtUUFTexm6F/OAq1nJ440rS6g0VUqj4IS mn2DjOxRorP7Z5XsfRt5bal0MOg9xDrRV4lNXaUhXo9u8enMv9+rzDr0aVck+eQi5nVp BRDfVsSzJJdbhMfY4b16nHyzGe60FfLUedSlcXzLy6cylM5Sl2DW7VGLThhNuEYMd8el 5IXUYp9D2Vl3b7t84or0Gi/nyE+ksaVDupjFn2Xi4Nz9qL6Lalukf/JYZ8nyhzBJ6lHy NTykXs5fMlgxB8kIEOGev5ZXeVC//qmqVfVPjC2VC92ZD1p6y/kLmqJkKgQ+Pc/FWr4F AtqA== ARC-Message-Signature: i=2; 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:message-id :mime-version:subject:cc:to:from:date:arc-filter:dmarc-filter :delivered-to; bh=aKNPpkn7wffN8gK0Gn4/zF2nGvihncIPiP4f/lS8vYI=; fh=ZCo/toU/bU+aX8G+cLzKu3+NfMc1ZbcI4G3hTmBULYI=; b=dTo9/EIuTF4qiqGeOgg44Tks6qoOnDZVeONqDTFIfi4zztVBh+GpVy7+tOWIsQW8UJ p63DYEh6khfsQFmzf2PUmSPxvFw3yrr+RcU7WQZsevFCLeThdyGh+JqAbU4riknM5k1R EZ+ZaGsuwHVagTEeWPzV5G4JcolwJy4qFfkLxs81nESNoPETpUGRmoWKOBycsAKvt/BW mKF7qZlEnLBKB5EqCHTKF6nH/8vnKuLTivpuo1/VTviuO4v0kOof3MnRvAjld4zhyvTE Mnd1G51p3hgt0GIbzZdx3ZoX49KQkNfNeTV0eqgV2xv0KhShiky62csZGsoaZR/FhuW5 cCCA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org" Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id wj14-20020a05620a574e00b00787804868d7si4414960qkn.494.2024.02.25.22.57.17 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 25 Feb 2024 22:57:17 -0800 (PST) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; arc=pass (i=1); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 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 DD2173858C62 for ; Mon, 26 Feb 2024 06:57:16 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from smtpbgau2.qq.com (smtpbgau2.qq.com [54.206.34.216]) by sourceware.org (Postfix) with ESMTPS id 53C753858D3C for ; Mon, 26 Feb 2024 06:56:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 53C753858D3C Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivai.ai Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivai.ai ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 53C753858D3C Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=54.206.34.216 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1708930596; cv=none; b=AX2B5QZa/7DqyQHFym3lFg1h79zLXp6Iy8VJlrGpHQ1NyXhez6Ccdu+OWfB/X06EYEEXrWEZ09XJ5xCk6gRhK2kftjoVDV+tTEaZRQl/eiLWDsqPjXyw8TM0lGpZsn43ElRCBHU5Us7bAB+ZbGPLDFNoJFT/NS2M3wmQhWxx9iw= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1708930596; c=relaxed/simple; bh=ad6zR2UikJEQUl/7Eyk4hQw34OTxacCaBgdsE+g+rAA=; h=Date:From:To:Subject:Mime-Version:Message-ID; b=EQe1f84hBdlj/1gzdvcHE4lymrTYOXZHhQ96+SBf7f6hXOvW+amTzS8FyFCbUpgbzNnATqxwBhsVGzTjclGSwMu7i2xln41/XN31lQvCVk1yFtXVz8GnfMEXTGNWZD+8x9VvvBQsBMAG3PDxT6FUhuxsRMDuU//w+3tNYrMB6lY= ARC-Authentication-Results: i=1; server2.sourceware.org X-QQ-mid: bizesmtp65t1708930582tw7p1hr0 X-QQ-Originating-IP: +akE92RqkHUNmGuW8BmAgPAPXdh/OBexHKIlkGKN73Y= Received: from LAPTOP-EPITNQBU ( [113.104.210.141]) by bizesmtp.qq.com (ESMTP) with id ; Mon, 26 Feb 2024 14:56:21 +0800 (CST) X-QQ-SSF: 00400000000000G0V000000A0000000 X-QQ-FEAT: UJd4nZbM1CeELpNv1gZtjAflUKDpGr5R/4a6SZPhG/+CZ1XWzk+qYj52pnPTn fLgQSP0knqo80c4FUDRUmg5sTu6DoU+0DfCayxZG/rtPz0r5HpVVwMgHRBzhANpHODmwzM9 dndYDOTRHO3qQyjCzAdFAWpVXXZ6tgd1tIAEdp240CFyETfQFDWQBgBP15dL32q2Py+oB+B Vru9cqVLopVTVnWQvbDV2j16jCjo6Pc6CkoWumq+qq00pHcwpA8GAOTgxDEr8DV58N1itU+ VUybkDlKjnpn5VIqRGIFIgKDQVzLJCcRZKqv+Bw5uxOO0aa5AwDK/7P6t/44OhI0v9nAMRL vIT7bKq4StCQXXYcbWzL6E860AVQX6G9jfs8DbHtYc65hk8c/IooseHqgLDkKfJkYMrHdAD X-QQ-GoodBg: 2 X-BIZMAIL-ID: 368499645127065598 Date: Mon, 26 Feb 2024 14:56:22 +0800 From: "juzhe.zhong@rivai.ai" To: gcc-patches Cc: "Robin Dapp" , richard.sandiford , "Richard Biener" , kito.cheng Subject: [PATCH] RISC-V: add option -m(no-)autovec-segment X-Priority: 3 X-GUID: 52520B6E-B6C4-43B5-98F4-C2A45D99F343 X-Has-Attach: no X-Mailer: Foxmail 7.2.16.188[cn] Mime-Version: 1.0 Message-ID: <66C3107A4A476C91+202402261456221099863@rivai.ai> X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-9.8 required=5.0 tests=BAYES_00, GIT_PATCH_0, HTML_MESSAGE, KAM_DMARC_STATUS, MIME_CHARSET_FARAWAY, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE 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: 1791943651932838388 X-GMAIL-MSGID: 1791943651932838388 with this recognition like aarch64: /* Return true if an access of kind KIND for STMT_INFO represents one vector of an LD[234] or ST[234] operation. Return the total number of vectors (2, 3 or 4) if so, otherwise return a value outside that range. */ static int aarch64_ld234_st234_vectors (vect_cost_for_stmt kind, stmt_vec_info stmt_info) { if ((kind == vector_load || kind == unaligned_load || kind == vector_store || kind == unaligned_store) && STMT_VINFO_DATA_REF (stmt_info)) { stmt_info = DR_GROUP_FIRST_ELEMENT (stmt_info); if (stmt_info && STMT_VINFO_MEMORY_ACCESS_TYPE (stmt_info) == VMAT_LOAD_STORE_LANES) return DR_GROUP_SIZE (stmt_info); } return 0; } juzhe.zhong@rivai.ai diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc index 1dbe1115da4..6303d82d959 100644 --- a/gcc/tree-vect-stmts.cc +++ b/gcc/tree-vect-stmts.cc @@ -11521,7 +11521,8 @@ vectorizable_load (vec_info *vinfo, - (vec_num * j + i) * nunits); /* remain should now be > 0 and < nunits. */ unsigned num; - if (constant_multiple_p (nunits, remain, &num)) + if (known_gt (remain, 0) + && constant_multiple_p (nunits, remain, &num)) Why do you change loop vectorize code here ? Ideally, we should add cost model for segment load/store instead of disable segment load/store autovectorization with compile option.