From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ua1-x936.google.com (mail-ua1-x936.google.com [IPv6:2607:f8b0:4864:20::936]) by sourceware.org (Postfix) with ESMTPS id 66A2B3858CDB for ; Fri, 14 Jul 2023 07:11:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 66A2B3858CDB 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-ua1-x936.google.com with SMTP id a1e0cc1a2514c-79969c14964so496022241.2 for ; Fri, 14 Jul 2023 00:11:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1689318708; x=1691910708; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=R5jr6dXhqO0Rq6K8C9dWbnFBKnpKuJNgigPWLsYFEkE=; b=TNBO20h8vjkrQ8UPx02Wgr7E8fs5W/osVdEo/MXN6qn5SoeMB7RHLw80oyT7xPiYbv hDDFi0rEZsFhFtmgIZJLb/lXVwsQD+FmRVOwupZeuTCy7wJz2ODD0cQkiYKufzLPgMHs NLtiMknv31lkVdyQ+0xd8xXyzbwjbmGcOqm5gyFadkfDgChQKC65vmIxufC0SAfIgtlB hK6ZFRjhiqYTGAIzmShUJv0HPelsFICafXB+JMI0SsmUaOkbPaGDoPt6I0pCp6HhMmqN dsKOPVUSh/mbMXNLpEY2mEO0Umwh5MQzU9DnJHfeGMp0rpsD8k5Nf9K2l348gR2YThMc yGTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1689318708; x=1691910708; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=R5jr6dXhqO0Rq6K8C9dWbnFBKnpKuJNgigPWLsYFEkE=; b=Ntp7160vNLSInJdCZ/GY/hfLL36X4KNFZocquQODaky9a1d9FuzT1o10s9ZXfq8+PZ 5evp8YXDlbkNg2ihqUYF9zxdLGnDY6kiCaHtxg6OxmuDIRL/hxHsEIxK33dTtcWpfWTz QAAo68VaRSuXjrfamazyixo/bYc7xiixPpxaYmedguwkKIldrmE382Sxgzigy84LxoF6 4Psuprt6a20ECp8d6FUveCoQgwGOgibwkftoChKBKd/wdOvr+HDWFvZ9WmEA28CIT8ra XSOM6LT4e46u0fG31JCxIy+6I1Jj7k3n48E5J+hsjfQDeJb5F0Uf/h8zEVxhmQmRblBT Mn7Q== X-Gm-Message-State: ABy/qLZMqGxiSAIJAH06qG5zpYPS25m5dOc+ROObsHwkcQPC80yRwyia H7VxhgEBr8qh8UMJf5tNDV5Ub4wN4kRsIHsTwT6WK0dA X-Google-Smtp-Source: APBJJlFAJeZw8v3ssEzSXaoFFFChqL1UqmIFcsg0b3lNevGiaZh92tEhYFiutd8zuDQqTlUPbLEkKygU3VBCWqy2E9Y= X-Received: by 2002:a67:f6c2:0:b0:443:f072:4eea with SMTP id v2-20020a67f6c2000000b00443f0724eeamr2429829vso.25.1689318707688; Fri, 14 Jul 2023 00:11:47 -0700 (PDT) MIME-Version: 1.0 References: <20230713053856.101950-1-monk.chiang@sifive.com> In-Reply-To: <20230713053856.101950-1-monk.chiang@sifive.com> From: Kito Cheng Date: Fri, 14 Jul 2023 15:11:36 +0800 Message-ID: Subject: Re: [PATCH 1/2] RISC-V: Recognized zihintntl extensions To: Monk Chiang Cc: gcc-patches@gcc.gnu.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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,KAM_SHORT,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 List-Id: Committed, thanks :) On Thu, Jul 13, 2023 at 1:39=E2=80=AFPM Monk Chiang via Gcc-patches wrote: > > gcc/ChangeLog: > > * common/config/riscv/riscv-common.cc: > (riscv_implied_info): Add zihintntl item. > (riscv_ext_version_table): Ditto. > (riscv_ext_flag_table): Ditto. > * config/riscv/riscv-opts.h (MASK_ZIHINTNTL): New macro. > (TARGET_ZIHINTNTL): Ditto. > > gcc/testsuite/ChangeLog: > > * gcc.target/riscv/arch-22.c: New test. > * gcc.target/riscv/predef-28.c: New test. > --- > gcc/common/config/riscv/riscv-common.cc | 4 ++ > gcc/config/riscv/riscv-opts.h | 2 + > gcc/testsuite/gcc.target/riscv/arch-22.c | 5 +++ > gcc/testsuite/gcc.target/riscv/predef-28.c | 47 ++++++++++++++++++++++ > 4 files changed, 58 insertions(+) > create mode 100644 gcc/testsuite/gcc.target/riscv/arch-22.c > create mode 100644 gcc/testsuite/gcc.target/riscv/predef-28.c > > diff --git a/gcc/common/config/riscv/riscv-common.cc b/gcc/common/config/= riscv/riscv-common.cc > index 6091d8f281b..28c8f0c1489 100644 > --- a/gcc/common/config/riscv/riscv-common.cc > +++ b/gcc/common/config/riscv/riscv-common.cc > @@ -206,6 +206,8 @@ static const struct riscv_ext_version riscv_ext_versi= on_table[] =3D > {"zksh", ISA_SPEC_CLASS_NONE, 1, 0}, > {"zkt", ISA_SPEC_CLASS_NONE, 1, 0}, > > + {"zihintntl", ISA_SPEC_CLASS_NONE, 1, 0}, > + > {"zicboz",ISA_SPEC_CLASS_NONE, 1, 0}, > {"zicbom",ISA_SPEC_CLASS_NONE, 1, 0}, > {"zicbop",ISA_SPEC_CLASS_NONE, 1, 0}, > @@ -1267,6 +1269,8 @@ static const riscv_ext_flag_table_t riscv_ext_flag_= table[] =3D > {"zksh", &gcc_options::x_riscv_zk_subext, MASK_ZKSH}, > {"zkt", &gcc_options::x_riscv_zk_subext, MASK_ZKT}, > > + {"zihintntl", &gcc_options::x_riscv_zi_subext, MASK_ZIHINTNTL}, > + > {"zicboz", &gcc_options::x_riscv_zicmo_subext, MASK_ZICBOZ}, > {"zicbom", &gcc_options::x_riscv_zicmo_subext, MASK_ZICBOM}, > {"zicbop", &gcc_options::x_riscv_zicmo_subext, MASK_ZICBOP}, > diff --git a/gcc/config/riscv/riscv-opts.h b/gcc/config/riscv/riscv-opts.= h > index cfcf608ea62..beee241aa1b 100644 > --- a/gcc/config/riscv/riscv-opts.h > +++ b/gcc/config/riscv/riscv-opts.h > @@ -101,9 +101,11 @@ enum riscv_entity > > #define MASK_ZICSR (1 << 0) > #define MASK_ZIFENCEI (1 << 1) > +#define MASK_ZIHINTNTL (1 << 2) > > #define TARGET_ZICSR ((riscv_zi_subext & MASK_ZICSR) !=3D 0) > #define TARGET_ZIFENCEI ((riscv_zi_subext & MASK_ZIFENCEI) !=3D 0) > +#define TARGET_ZIHINTNTL ((riscv_zi_subext & MASK_ZIHINTNTL) !=3D 0) > > #define MASK_ZAWRS (1 << 0) > #define TARGET_ZAWRS ((riscv_za_subext & MASK_ZAWRS) !=3D 0) > diff --git a/gcc/testsuite/gcc.target/riscv/arch-22.c b/gcc/testsuite/gcc= .target/riscv/arch-22.c > new file mode 100644 > index 00000000000..cdc18e13d0f > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/arch-22.c > @@ -0,0 +1,5 @@ > +/* { dg-do compile } */ > +/* { dg-options "-O2 -march=3Drv64gc_zihintntl -mabi=3Dlp64 -mcmodel=3Dm= edlow" } */ > +int foo() > +{ > +} > diff --git a/gcc/testsuite/gcc.target/riscv/predef-28.c b/gcc/testsuite/g= cc.target/riscv/predef-28.c > new file mode 100644 > index 00000000000..81fdad571e7 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/predef-28.c > @@ -0,0 +1,47 @@ > +/* { dg-do compile } */ > +/* { dg-options "-march=3Drv64gc_zihintntl -mabi=3Dlp64 -mcmodel=3Dmedlo= w" } */ > + > +int main () { > + > +#ifndef __riscv_arch_test > +#error "__riscv_arch_test" > +#endif > + > +#if __riscv_xlen !=3D 64 > +#error "__riscv_xlen" > +#endif > + > +#if !defined(__riscv_i) > +#error "__riscv_i" > +#endif > + > +#if !defined(__riscv_c) > +#error "__riscv_c" > +#endif > + > +#if defined(__riscv_e) > +#error "__riscv_e" > +#endif > + > +#if !defined(__riscv_a) > +#error "__riscv_a" > +#endif > + > +#if !defined(__riscv_m) > +#error "__riscv_m" > +#endif > + > +#if !defined(__riscv_f) > +#error "__riscv_f" > +#endif > + > +#if !defined(__riscv_d) > +#error "__riscv_d" > +#endif > + > +#if !defined(__riscv_zihintntl) > +#error "__riscv_zihintntl" > +#endif > + > + return 0; > +} > -- > 2.40.1 >