From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf1-x430.google.com (mail-pf1-x430.google.com [IPv6:2607:f8b0:4864:20::430]) by sourceware.org (Postfix) with ESMTPS id AAA743858421 for ; Thu, 1 Jun 2023 18:48:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org AAA743858421 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-pf1-x430.google.com with SMTP id d2e1a72fcca58-64fbfe0d037so1925799b3a.0 for ; Thu, 01 Jun 2023 11:48:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1685645320; x=1688237320; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=CAeysmtF2iiCg5kBpD/GLCjLki47uKyq1/jX2t+0QHo=; b=caCEoAgXo6Ac7yPr6/mCxgsWuypDoV2XoSSYGEXHV7qy/p3Op2BTDTIcQH/ImsGJFt sUKLI3eqxPY+wL35QeYSHVmd+/vdUiRyr4NxSzeeaqzDmaHPBab3tQZiC/NUYszxPwmi 2hEs9BPIDFpTeEQjrwhSrVgvkQbrqEcD8nR42emId8g7uGmbAN2TDyEdxzSKsfNwz5aO 8Wgn07lWA9XNrtZ1AJApkSx5VCg66RoRduTRQwSMcAevivpvjgq4xb+PPJwVvqSy1G+Q P/NbmYseDWMGu7UHMgSEgsKEFE4MKDcvZxvrGr2enmLwHi/lnesCYRcmkAF1dZ6VcGCu Ogww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685645320; x=1688237320; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=CAeysmtF2iiCg5kBpD/GLCjLki47uKyq1/jX2t+0QHo=; b=GjTYRe8RdrwDMNIO6YXPNAj119MNSD2Hq6NH7aL26dNERzjHiJhteOH9pCJToXbq/f km0peDEuPUzfV4daRX+7dddmN+YPJRfcTwkugsp2gOF52yFHAeL6rdxFqOt8gtQIRn52 hpQQEsGsCHQBlAjE5/aK9/E5dTJbNPkv7yjXEtEqQJ949LtWNY/bYX1WCdQ2YZkdopq4 1q1PA1A0o8h0S6xr5CQjbLfrd2XwTh/Cwsw04IEVRzPXYDG416W3edWUeFeIPg4HR8MV ZEMCb4SAw166fL8CdkrWHI8VhSImvI4s7jKrEWg3FcFIprBH95IYpg+HU0JG6cX9Er9Y 8dIw== X-Gm-Message-State: AC+VfDzhYejkCJpX6eUbH7rVZQM5uciRVN9mr3Gl2Bmcjx3WPXpwUWko Q/TfiCsPXtFTuOU+X+13Q4M= X-Google-Smtp-Source: ACHHUZ60hYiAgJL5k7peg3VNXjD6QKR+SemSpsrHK5h8GgvAdGjQulRnMnBs5fxMIwc7BXhyURMRqg== X-Received: by 2002:a05:6a20:7346:b0:111:5017:8cb8 with SMTP id v6-20020a056a20734600b0011150178cb8mr3074540pzc.4.1685645320450; Thu, 01 Jun 2023 11:48:40 -0700 (PDT) Received: from ?IPV6:2601:681:8d00:265::f0a? ([2601:681:8d00:265::f0a]) by smtp.gmail.com with ESMTPSA id t4-20020a62ea04000000b0065016fffc81sm2629751pfh.216.2023.06.01.11.48.39 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 01 Jun 2023 11:48:39 -0700 (PDT) Message-ID: Date: Thu, 1 Jun 2023 12:48:37 -0600 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.1 Subject: Re: [PATCH V2] RISC-V: Support RVV permutation auto-vectorization Content-Language: en-US To: juzhe.zhong@rivai.ai, gcc-patches@gcc.gnu.org Cc: kito.cheng@gmail.com, kito.cheng@sifive.com, palmer@dabbelt.com, palmer@rivosinc.com, rdapp.gcc@gmail.com References: <20230601023615.89715-1-juzhe.zhong@rivai.ai> From: Jeff Law In-Reply-To: <20230601023615.89715-1-juzhe.zhong@rivai.ai> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,SCC_BODY_URI_ONLY,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On 5/31/23 20:36, juzhe.zhong@rivai.ai wrote: > From: Juzhe-Zhong > > This patch supports vector permutation for VLS only by vec_perm pattern. > We will support TARGET_VECTORIZE_VEC_PERM_CONST to support VLA permutation > in the future. > > Fixed following comments from Robin. > Ok for trunk? > > gcc/ChangeLog: > > * config/riscv/autovec.md (vec_perm): New pattern. > * config/riscv/predicates.md (vector_perm_operand): New predicate. > * config/riscv/riscv-protos.h (enum insn_type): New enum. > (expand_vec_perm): New function. > * config/riscv/riscv-v.cc (const_vec_all_in_range_p): Ditto. > (gen_const_vector_dup): Ditto. > (emit_vlmax_gather_insn): Ditto. > (emit_vlmax_masked_gather_mu_insn): Ditto. > (expand_vec_perm): Ditto. OK. jeff