Hi Kito, Thanks for your sugestions, I had added the new testcases in the new patch. I feel it's hard to check long string name extension by use riscv_subset_list::parse, Since it just check one char when the pointer moving, So I still keep the implement by check the extenstison with target. Maybe we can add new check function in the new version :)
> -----原始邮件----- > 发件人: "Kito Cheng" <kito.ch...@gmail.com> > 发送时间: 2023-03-27 16:15:00 (星期一) > 收件人: Jiawei <jia...@iscas.ac.cn> > 抄送: gcc-patches@gcc.gnu.org, kito.ch...@sifive.com, pal...@dabbelt.com, christoph.muell...@vrull.eu, wuwei2...@iscas.ac.cn > 主题: Re: [PATCH] RISC-V: Add Z*inx incompatible check in gcc. > > HI Jiawei: > > Thanks for the fix! > > Two comments: > - Could you add testcase like > https://github.com/gcc-mirror/gcc/blob/master/gcc/testsuite/gcc.target/riscv/arch-12.c > - And I would prefer those check happened in riscv_subset_list::parse > @gcc/common/config/riscv/riscv-common.cc > > On Sun, Mar 26, 2023 at 4:36 PM Jiawei <jia...@iscas.ac.cn> wrote: > > > > Z*inx is conflict with float extensions, add incompatible check when > > z*inx and hard_float both enabled. > > > > gcc/ChangeLog: > > > > * config/riscv/riscv.cc (riscv_option_override): New check. > > > > --- > > gcc/config/riscv/riscv.cc | 4 ++++ > > 1 file changed, 4 insertions(+) > > > > diff --git a/gcc/config/riscv/riscv.cc b/gcc/config/riscv/riscv.cc > > index 76eee4a55e9..162ba14d3c7 100644 > > --- a/gcc/config/riscv/riscv.cc > > +++ b/gcc/config/riscv/riscv.cc > > @@ -6285,6 +6285,10 @@ riscv_option_override (void) > > && riscv_abi != ABI_LP64 && riscv_abi != ABI_ILP32E) > > error ("z*inx requires ABI ilp32, ilp32e or lp64"); > > > > + // Zfinx is conflict with float extensions. > > + if (TARGET_ZFINX && TARGET_HARD_FLOAT) > > + error ("z*inx is conflict with float extensions"); > > + > > /* We do not yet support ILP32 on RV64. */ > > if (BITS_PER_WORD != POINTER_SIZE) > > error ("ABI requires %<-march=rv%d%>", POINTER_SIZE); > > -- > > 2.25.1 > > </jia...@iscas.ac.cn></jia...@iscas.ac.cn></kito.ch...@gmail.com>