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 :)


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

Reply via email to