From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-vs1-xe34.google.com (mail-vs1-xe34.google.com [IPv6:2607:f8b0:4864:20::e34]) by sourceware.org (Postfix) with ESMTPS id 0D47B3858CDA for ; Thu, 30 Mar 2023 06:17:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0D47B3858CDA 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-vs1-xe34.google.com with SMTP id i10so15368314vss.5 for ; Wed, 29 Mar 2023 23:17:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680157078; 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=m90h1Z4zyIVhKBxXKkunhub7UyYrTTacwT/7zvDAc0U=; b=VP8lm4My0m+r5L+hDUlU/tr70R6zIjtya1snKgY3UkT/bnn53Sl7sg0U9tkmNKOnc1 OI6OyHuPfPd954ZICx2gyXoD5nFmjqSxhmyJAdgYsz21/gs8zAySLXw6j9b7xvEBKFOS lFne/eKFrvLP7+j1zSy/7lhjBUDqqmUPBF5SU3Vw/TOX+zgq5Twngwqic4pzbQcQLpmF riMPVKSNj8uaKw8cFxN7c16oitMY0Vv/D4xEfU84LJdWpbp7W24HrIVFOxy1rPBx1oyA qSYwQulRAmjbsMmLmEATvmc39s3znGC6dp7KomdvJDU9HEcTVFugiPMqxkLWp1QxKwvn EWTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680157078; 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=m90h1Z4zyIVhKBxXKkunhub7UyYrTTacwT/7zvDAc0U=; b=5W5TlWBpBxD2I7/RJV2P5Soge1YiK5akv9Gtx+T8nCi/UUpnmbVWxiZlXdKdQRRrX4 hekrEuZy9OYMG9MHxbqbQRPMHdFTWAZMkFy/MlYEp48ZcAXsSp2o/6G2boaYe8jp5XIn 5SP+IreMrVUB0sdufHGNpvcDVq0Qscjvwh1ocXi5d5srNZfuho0CUR4quoh/LhfrPR2U C6esA+LGrIou8zA0PXITLYeFNcv81rkxCrPcoPQgGKFjeSVmA7266PKJ7gw7RCF1ernD nOt62Aj9gnVYKl1tEnzSOl9JIuzUIL3/aQlhmGmHi0QSB0EueLwouFjsqNIJvTSKiZGL EfAw== X-Gm-Message-State: AAQBX9eLY9sZcivMZH6Qw7A3nvi7ZwbIfpLo5cRMBUnY6IL5nCQBP8Mo 8u+jl65R12jMxxxZo00IJAtP2HaofYl/7uk64hU= X-Google-Smtp-Source: AKy350YNJzT439+081ZM9Y6/6jAJYJuMwjEnbHjkj5kk1pnQT3IIi9mhGVezJD0ScBz6/I6+/TGMPlsfrxYcE/9luXo= X-Received: by 2002:a05:6102:4711:b0:425:f1e7:fecf with SMTP id ei17-20020a056102471100b00425f1e7fecfmr11708093vsb.7.1680157078191; Wed, 29 Mar 2023 23:17:58 -0700 (PDT) MIME-Version: 1.0 References: <20230328165515.2300685-1-jiawei@iscas.ac.cn> In-Reply-To: <20230328165515.2300685-1-jiawei@iscas.ac.cn> From: Kito Cheng Date: Thu, 30 Mar 2023 14:17:47 +0800 Message-ID: Subject: Re: [PATCH v3] RISC-V: Add Z*inx imcompatible check in gcc To: Jiawei Cc: gcc-patches@gcc.gnu.org, kito.cheng@sifive.com, palmer@dabbelt.com, christoph.muellner@vrull.eu, wuwei2016@iscas.ac.cn Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-8.8 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 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: Thanks Jiawei, committed to trunk! On Wed, Mar 29, 2023 at 12:55=E2=80=AFAM Jiawei wrote: > > Z*inx is conflict with float extensions, add incompatible check when > z*inx and f extension both enabled. > > Since all float extension imply f extension and all z*inx extension > imply zfinx extension, so we just need to check f with zfinx extension > as the base case. > > Co-Authored by: Kito Cheng > > gcc/ChangeLog: > > * common/config/riscv/riscv-common.cc (riscv_subset_list::parse): > * New check. > > gcc/testsuite/ChangeLog: > > * gcc.target/riscv/arch-19.c: New test. > > --- > gcc/common/config/riscv/riscv-common.cc | 5 +++++ > gcc/testsuite/gcc.target/riscv/arch-19.c | 4 ++++ > 2 files changed, 9 insertions(+) > create mode 100644 gcc/testsuite/gcc.target/riscv/arch-19.c > > diff --git a/gcc/common/config/riscv/riscv-common.cc b/gcc/common/config/= riscv/riscv-common.cc > index ef221be1eb1..b3c6ec97e7a 100644 > --- a/gcc/common/config/riscv/riscv-common.cc > +++ b/gcc/common/config/riscv/riscv-common.cc > @@ -1153,6 +1153,11 @@ riscv_subset_list::parse (const char *arch, locati= on_t loc) > > subset_list->handle_combine_ext (); > > + if (subset_list->lookup("zfinx") && subset_list->lookup("f")) > + error_at (loc, > + "%<-march=3D%s%>: z*inx is conflict with float extensions", > + arch); > + > return subset_list; > > fail: > diff --git a/gcc/testsuite/gcc.target/riscv/arch-19.c b/gcc/testsuite/gcc= .target/riscv/arch-19.c > new file mode 100644 > index 00000000000..83c6e00a755 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/arch-19.c > @@ -0,0 +1,4 @@ > +/* { dg-do compile } */ > +/* { dg-options "-march=3Drv64if_zfinx -mabi=3Dlp64" } */ > +int foo() {} > +/* { dg-error "'-march=3Drv64if_zfinx': z\\*inx is conflict with float e= xtensions" "" { target *-*-* } 0 } */ > -- > 2.25.1 >