From patchwork Sat May 6 19:52:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeff Law X-Patchwork-Id: 90799 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp1227191vqo; Sat, 6 May 2023 12:53:46 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6O/M8lH9bagzp8VZwIoRHWaT3HT/yIa9xI2bzbWgKcix/LroTmOOA593kkZOLmtMJRL9YJ X-Received: by 2002:a05:6402:202a:b0:506:7c86:1fd with SMTP id ay10-20020a056402202a00b005067c8601fdmr3801405edb.37.1683402825991; Sat, 06 May 2023 12:53:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683402825; cv=none; d=google.com; s=arc-20160816; b=WxuOEKe04hOT7Z7q4j7sXaJc704BZ2BOvowl7e9xXJyrIlPIpll/qEM37qi0kBt+WN 4gz5PwMGGm5yTzqa0n9SfUVH5PYMbTDsaQG4wumoHoFwZCGEG7cb0E8UWD+JMq1i4eqf drIrm1uWgOJw8UQ1YEEMYqIDyR2ymaE8zHLKNrcbLiexAyZGUQou/wTGSRRyaIBshuZQ xJvs88R+rGNOKNcIArdOVfWt/G4aEsyIL0BZD2jKCFtdHFOVCSbcLgw98wtqUHU7Bv7F m/q7O+diS/vnOr7WuHg1cQW4usi9gelqBLzVg7SU2mwAyP8OaTl0klXwKBod4x7vY64T hB4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:from:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:subject:to :content-language:user-agent:mime-version:date:message-id :dmarc-filter:delivered-to:dkim-signature:dkim-filter; bh=VBZvMyEFIsohrdo7Ie94/r3FKSD9AEjcDCSrD1k6VSY=; b=mZrRIVOPb3vk4hHIEju2wsXSYs6p2L0jorMjvdtmQ0/wok46mbltWJ0RAJ/JDBr08F dkz9bxsy40EH0lCloHDZs9GiXyHrFNBEI6n4cKGYqelVPd2xXH9ySMCYZ1Glg9IweEtE g4Ciii9VgmGTRFBZEy+GWN667o6QFdwRAOuTFjl9CQ7qyms+I2vtBcYDnQcrBJumKeRy 5yCbbCCLt84Y/2WI5h3zzIhRkOPZQN9Uhk1DoWqVLDCEAISJb6PdnP0p5TvZ2TbWQBu5 x4A1Fsz2HV52Sa7PFduHUB5rXEbTvut4x87BjdePJtqhtbUCWdrozbVr4E0airIrawlC cgEg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b="ZMxTHR/r"; 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"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from sourceware.org (ip-8-43-85-97.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id r18-20020aa7da12000000b0050bc357148bsi6203786eds.23.2023.05.06.12.53.45 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 06 May 2023 12:53:45 -0700 (PDT) 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; dkim=pass header.i=@gcc.gnu.org header.s=default header.b="ZMxTHR/r"; 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"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B66C3385771E for ; Sat, 6 May 2023 19:53:44 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B66C3385771E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1683402824; bh=VBZvMyEFIsohrdo7Ie94/r3FKSD9AEjcDCSrD1k6VSY=; h=Date:To:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=ZMxTHR/rtAGcGdJA2pbZ/204hMyStZWePyJMNHorXZAe/qehVv4/yLZrMxeQYhD2U 0u2WUR9F9fYm8/1YbonHrXXGKI2dvqrGdEWad8+PoEZ0lctXhOlkw61bFAj2mmbFq0 9X69MxDDn869aGM2lFbFNM2XCtnVmGyAYvm3pP/Q= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-pl1-x635.google.com (mail-pl1-x635.google.com [IPv6:2607:f8b0:4864:20::635]) by sourceware.org (Postfix) with ESMTPS id C59D63858D35 for ; Sat, 6 May 2023 19:52:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C59D63858D35 Received: by mail-pl1-x635.google.com with SMTP id d9443c01a7336-1ab14cb3aaeso21305465ad.2 for ; Sat, 06 May 2023 12:52:59 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683402778; x=1685994778; h=subject:from:to:content-language:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=VBZvMyEFIsohrdo7Ie94/r3FKSD9AEjcDCSrD1k6VSY=; b=iHHJHwvr6VhmL+WRA9zgqtcuC5OrrIyCevCHzyvH4Bweui02U+rDIMvFmH9G7JsU2v uoqbJDuhbCTq/HVTOfHb+MeNifyydqGd/vqSOMpONTGCN54l7qYGkBIClP8qPo4HjBnV 4FNoaLqnbQOMWiT+dmijx/wI/XP8ida6ubMLvxdFpBleA5DEPHI48zd+74SbMaEE+N3a YTAlbWXBrlHUpF3wrsTVRoiFo9PKDEADxyZIFYoPxIjy/ia6IUy3pAsDoJzJnu7W8ifY /zPWrNjmnsfYsW1gNaYmwITMRoVzqiIANu6AC4H7bTHTP+Tm7gWMbPIJwgDd4yEL4LcT gPxw== X-Gm-Message-State: AC+VfDz6dXytmb2HpZOmEV/KTvxcbzf4F5vo+gQOalc2bwvaizwq8ZV7 rBWDJLypiAS8AdYCQYzslVMOlxucovU= X-Received: by 2002:a17:902:db01:b0:1a6:9f09:866d with SMTP id m1-20020a170902db0100b001a69f09866dmr7110958plx.61.1683402778107; Sat, 06 May 2023 12:52:58 -0700 (PDT) Received: from ?IPV6:2601:681:8600:13d0::99f? ([2601:681:8600:13d0::99f]) by smtp.gmail.com with ESMTPSA id n7-20020a6546c7000000b0051b7bcb6162sm3352588pgr.81.2023.05.06.12.52.57 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 06 May 2023 12:52:57 -0700 (PDT) Message-ID: Date: Sat, 6 May 2023 13:52:56 -0600 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.1 Content-Language: en-US To: "gcc-patches@gcc.gnu.org" Subject: [committed] Partial revert of recent changes X-Spam-Status: No, score=-8.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, 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.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Jeff Law via Gcc-patches From: Jeff Law Reply-To: Jeff Law Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org Sender: "Gcc-patches" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765175801422839005?= X-GMAIL-MSGID: =?utf-8?q?1765175801422839005?= It turns out a couple of bits submitted by Michael had already been pushed to the trunk. These two patches removes the duplicated bits. Jeff commit b9b7981f3d6919518372daf4c7e8c40dfc58f49d Author: Jeff Law Date: Sat May 6 11:36:37 2023 -0600 Remove duplicated definition in risc-v vector support. gcc/ * config/riscv/riscv-v.cc (autovec_use_vlmax_p): Remove duplicate definition. commit 4c05f966a098744db9fa1e73074d7c08ace446fd Author: Jeff Law Date: Sat May 6 13:28:33 2023 -0600 Delete duplicated riscv definition. gcc/ * config/riscv/riscv-v.cc (riscv_vector_preferred_simd_mode): Delete. diff --git a/gcc/config/riscv/riscv-v.cc b/gcc/config/riscv/riscv-v.cc index 9d699d455b0..8c7f3206771 100644 --- a/gcc/config/riscv/riscv-v.cc +++ b/gcc/config/riscv/riscv-v.cc @@ -190,44 +190,6 @@ autovec_use_vlmax_p (void) || riscv_autovec_preference == RVV_FIXED_VLMAX); } -/* Return the vectorization machine mode for RVV according to LMUL. */ -machine_mode -riscv_vector_preferred_simd_mode (scalar_mode mode) -{ - /* We only enable auto-vectorization when TARGET_MIN_VLEN >= 128 && - riscv_autovec_lmul < RVV_M2. Since GCC loop vectorizer report ICE - when we enable -march=rv64gc_zve32* and -march=rv32gc_zve64*. - in the 'can_duplicate_and_interleave_p' of tree-vect-slp.cc. Since we have - VNx1SImode in -march=*zve32* and VNx1DImode in -march=*zve64*, they are - enabled in targetm. vector_mode_supported_p and SLP vectorizer will try to - use them. Currently, we can support auto-vectorization in - -march=rv32_zve32x_zvl128b. Wheras, -march=rv32_zve32x_zvl32b or - -march=rv32_zve32x_zvl64b are disabled. */ - if (autovec_use_vlmax_p ()) - { - /* If TARGET_MIN_VLEN < 128, we don't allow LMUL < 2 - auto-vectorization since Loop Vectorizer may use VNx1SImode or - VNx1DImode to vectorize which will create ICE in the - 'can_duplicate_and_interleave_p' of tree-vect-slp.cc. */ - if (TARGET_MIN_VLEN < 128 && riscv_autovec_lmul < RVV_M2) - return word_mode; - /* We use LMUL = 1 as base bytesize which is BYTES_PER_RISCV_VECTOR and - riscv_autovec_lmul as multiply factor to calculate the the NUNITS to - get the auto-vectorization mode. */ - poly_uint64 nunits; - poly_uint64 vector_size - = BYTES_PER_RISCV_VECTOR * ((int) riscv_autovec_lmul); - poly_uint64 scalar_size = GET_MODE_SIZE (mode); - gcc_assert (multiple_p (vector_size, scalar_size, &nunits)); - machine_mode rvv_mode; - if (get_vector_mode (mode, nunits).exists (&rvv_mode)) - return rvv_mode; - } - /* TODO: We will support minimum length VLS auto-vectorization in the future. - */ - return word_mode; -} - /* Emit an RVV unmask && vl mov from SRC to DEST. */ static void emit_pred_op (unsigned icode, rtx mask, rtx dest, rtx src, rtx len, diff --git a/gcc/config/riscv/riscv-v.cc b/gcc/config/riscv/riscv-v.cc index 6f8b4abf46d..9d699d455b0 100644 --- a/gcc/config/riscv/riscv-v.cc +++ b/gcc/config/riscv/riscv-v.cc @@ -1015,17 +1015,6 @@ expand_tuple_move (machine_mode mask_mode, rtx *ops) } } -/* SCALABLE means that the vector-length is agnostic (run-time invariant and - compile-time unknown). FIXED meands that the vector-length is specific - (compile-time known). Both RVV_SCALABLE and RVV_FIXED_VLMAX are doing - auto-vectorization using VLMAX vsetvl configuration. */ -static bool -autovec_use_vlmax_p (void) -{ - return riscv_autovec_preference == RVV_SCALABLE - || riscv_autovec_preference == RVV_FIXED_VLMAX; -} - /* Return the vectorization machine mode for RVV according to LMUL. */ machine_mode preferred_simd_mode (scalar_mode mode)