From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pl1-x634.google.com (mail-pl1-x634.google.com [IPv6:2607:f8b0:4864:20::634]) by sourceware.org (Postfix) with ESMTPS id C96BF3858D39 for ; Sat, 6 May 2023 15:58:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C96BF3858D39 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-pl1-x634.google.com with SMTP id d9443c01a7336-1ab267e3528so20351975ad.0 for ; Sat, 06 May 2023 08:58:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1683388701; x=1685980701; 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=Sp2GgJHCNTN1SPG2hheY2+hFCmhyJqqnimj6NdlY5uE=; b=d0ATJzdoa4e1McoolLVofW58CM9FXRbYw3/y9DG5uvLsDUWF5MVisG3Q0DDGSVTXLS Dk/qpRmxnx4F8l5EFSb8UREHIcScviCIGhbndc5C5xmgUS5aEsTc4Tjrohh2HS/negqd 1MbpvIQnbvOsGZc/FAP+KtnqUxA+ATnNZMpK7oy8inrZCulCCUMkjYW9N0sAReis1Flb PMeKdDidJ6v0KjWsiXOImmL72BChPtU0upsUmuR9VJFTK8R1TvcdHT9bvKz11SvlXmrC RYX+7taQLkC/dVyzh+CQkY0tlczafmCu5N1s/SKNJZZr1K2zDzbTbzXfEvTz8vlMNRt4 EGSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683388701; x=1685980701; 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=Sp2GgJHCNTN1SPG2hheY2+hFCmhyJqqnimj6NdlY5uE=; b=cQVF4o1234x5TJX3AhZCBsoh26xivwjfsOgZfwYu8S2K7Q57HX4bMY84KBShCZL4ot EQ17mK/NG4JeYamzUqNSSeQyYFg/sUS/EIf4KoxLmNtH+AFAZjmCHRXuq6vqtxmRk1xa ZFkbhMPva9lU7Lkmb+sMDFAl2VVZEjUwWPRAmQpZRBN4G0dn2uYtdfdrhd4EuG31cQ4N rHU7Om7QMy8kleeSVyi2BqlaaRJhz6rfniDja4CMVmiqmbUta7Hr2dTnC/h1QdDjJzEW e6ie2UAmxSdaMzypQZAkdj/dT8PLtOpa9xzl36awLJlK4dGjaExktI957yIxZpvfBRnl ah/Q== X-Gm-Message-State: AC+VfDytAmrE68ohHlxlUw8rFx22SGrCSSTVl3pLJE8Im6Z71+gv7S7j A11lVCGtl0yPg5qZ0ZhkJFo= X-Google-Smtp-Source: ACHHUZ523IipO1XavXUY5DxEPuYwpQOYl/8+QCoz+7q532zvUn7QbiPn7P98dR0nv9RzfTEM6xF+CA== X-Received: by 2002:a17:902:e810:b0:1a6:7ed0:147e with SMTP id u16-20020a170902e81000b001a67ed0147emr6880632plg.33.1683388700734; Sat, 06 May 2023 08:58:20 -0700 (PDT) Received: from ?IPV6:2601:681:8600:13d0::99f? ([2601:681:8600:13d0::99f]) by smtp.gmail.com with ESMTPSA id l6-20020a17090270c600b0019e5fc21663sm3772902plt.218.2023.05.06.08.58.19 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 06 May 2023 08:58:20 -0700 (PDT) Message-ID: <09baa209-6682-098a-c0d5-b58eeababd56@gmail.com> Date: Sat, 6 May 2023 09:58:18 -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 V7] RISC-V: Enable basic RVV auto-vectorization support. Content-Language: en-US To: juzhe.zhong@rivai.ai, gcc-patches@gcc.gnu.org Cc: kito.cheng@gmail.com, palmer@dabbelt.com, rdapp.gcc@gmail.com References: <20230506034340.1717760-1-juzhe.zhong@rivai.ai> From: Jeff Law In-Reply-To: <20230506034340.1717760-1-juzhe.zhong@rivai.ai> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-4.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,KAM_SHORT,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE,URIBL_BLACK autolearn=ham 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/5/23 21:43, juzhe.zhong@rivai.ai wrote: > From: Juzhe-Zhong > > gcc/ChangeLog: > > * config/riscv/riscv-protos.h (preferred_simd_mode): New function. > * config/riscv/riscv-v.cc (autovec_use_vlmax_p): Ditto. > (preferred_simd_mode): Ditto. > * config/riscv/riscv.cc (riscv_get_arg_info): Handle RVV type in function arg. > (riscv_convert_vector_bits): Adjust for RVV auto-vectorization. > (riscv_preferred_simd_mode): New function. > (TARGET_VECTORIZE_PREFERRED_SIMD_MODE): New target hook support. > * config/riscv/vector.md: Add autovec.md. > * config/riscv/autovec.md: New file. > > gcc/testsuite/ChangeLog: > > * gcc.target/riscv/rvv/rvv.exp: Add testcases for RVV auto-vectorization. > * gcc.target/riscv/rvv/autovec/fixed-vlmax-1.c: New test. > * gcc.target/riscv/rvv/autovec/partial/single_rgroup-1.c: New test. > * gcc.target/riscv/rvv/autovec/partial/single_rgroup-1.h: New test. > * gcc.target/riscv/rvv/autovec/partial/single_rgroup_run-1.c: New test. > * gcc.target/riscv/rvv/autovec/scalable-1.c: New test. > * gcc.target/riscv/rvv/autovec/template-1.h: New test. > * gcc.target/riscv/rvv/autovec/v-1.c: New test. > * gcc.target/riscv/rvv/autovec/v-2.c: New test. > * gcc.target/riscv/rvv/autovec/zve32f-1.c: New test. > * gcc.target/riscv/rvv/autovec/zve32f-2.c: New test. > * gcc.target/riscv/rvv/autovec/zve32f-3.c: New test. > * gcc.target/riscv/rvv/autovec/zve32f_zvl128b-1.c: New test. > * gcc.target/riscv/rvv/autovec/zve32f_zvl128b-2.c: New test. > * gcc.target/riscv/rvv/autovec/zve32x-1.c: New test. > * gcc.target/riscv/rvv/autovec/zve32x-2.c: New test. > * gcc.target/riscv/rvv/autovec/zve32x-3.c: New test. > * gcc.target/riscv/rvv/autovec/zve32x_zvl128b-1.c: New test. > * gcc.target/riscv/rvv/autovec/zve32x_zvl128b-2.c: New test. > * gcc.target/riscv/rvv/autovec/zve64d-1.c: New test. > * gcc.target/riscv/rvv/autovec/zve64d-2.c: New test. > * gcc.target/riscv/rvv/autovec/zve64d-3.c: New test. > * gcc.target/riscv/rvv/autovec/zve64d_zvl128b-1.c: New test. > * gcc.target/riscv/rvv/autovec/zve64d_zvl128b-2.c: New test. > * gcc.target/riscv/rvv/autovec/zve64f-1.c: New test. > * gcc.target/riscv/rvv/autovec/zve64f-2.c: New test. > * gcc.target/riscv/rvv/autovec/zve64f-3.c: New test. > * gcc.target/riscv/rvv/autovec/zve64f_zvl128b-1.c: New test. > * gcc.target/riscv/rvv/autovec/zve64f_zvl128b-2.c: New test. > * gcc.target/riscv/rvv/autovec/zve64x-1.c: New test. > * gcc.target/riscv/rvv/autovec/zve64x-2.c: New test. > * gcc.target/riscv/rvv/autovec/zve64x-3.c: New test. > * gcc.target/riscv/rvv/autovec/zve64x_zvl128b-1.c: New test. > * gcc.target/riscv/rvv/autovec/zve64x_zvl128b-2.c: New test. I went ahead and committed this. Hopefully we can get things unblocked for everyone this weekend :-) jeff