<div style="line-height:1.7;color:#000000;font-size:14px;font-family:Arial"><div style="margin: 0;"><br></div><div style="margin: 0;">I also think the logic of fomulating default arch according to -mabi can be improved.</div><div style="margin: 0;"><br></div><div style="margin: 0;"><div style="margin: 0;">  // 3. Choose a default based on `-mabi=`</div><div style="margin: 0;">  //</div><div style="margin: 0;">  // ilp32e -> rv32e</div><div style="margin: 0;">  // ilp32 | ilp32f | ilp32d -> rv32imafdc</div><div style="margin: 0;">  // lp64 | lp64f | lp64d -> rv64imafdc</div><div style="margin: 0;">  </div></div><div style="margin: 0;">it can be</div><div style="margin: 0;"><div style="margin: 0px;">  // ilp32e -> rv32e</div><div style="margin: 0px;">  // ilp32 -> rv32imac</div><div style="margin: 0px;">  // ilp32f -> rv32imacf</div><div style="margin: 0px;">  // ilp32d -> rv32 imacfd</div><div style="margin: 0px;">  // lp64 -> rv64imac</div><div style="margin: 0px;">  // lp64f -> rv64imacf</div><div style="margin: 0px;">  // lp64d -> rv64imacfd</div><div style="margin: 0px;"><br></div><div style="margin: 0px;"><br></div></div><p style="margin: 0;"><br></p><p style="margin: 0;"><br></p><p style="margin: 0;"><br></p><div style="position:relative;zoom:1"></div><div id="divNeteaseMailCard"></div><p style="margin: 0;"><br></p><p>At 2021-06-08 12:06:15, "Craig Topper" <craig.topper@gmail.com> wrote:</p><blockquote id="isReplyContent" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid"><div dir="ltr"><div>That one line change doesn't look like it handles multiletter extension names correctly. For example, Zbf contains "f".</div><div><br><div><div><div dir="ltr" data-smartmail="gmail_signature">~Craig</div></div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jun 7, 2021 at 8:13 PM Ben Shi via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="line-height:1.7;color:rgb(0,0,0);font-size:14px;font-family:Arial"><div style="margin:0px">Hello,</div><div style="margin:0px"><br></div><div style="margin:0px">In the clang's riscv driver,</div><div style="margin:0px"><a href="https://github.com/llvm/llvm-project/blob/main/clang/lib/Driver/ToolChains/Arch/RISCV.cpp" target="_blank">https://github.com/llvm/llvm-project/blob/main/clang/lib/Driver/ToolChains/Arch/RISCV.cpp</a> </div><div style="margin:0px"><br></div><div style="margin:0px">the default abi is fomulated according to arch if no explicit -mabi is specified.</div><div style="margin:0px"><br></div><div style="margin:0px">Is it possible to set the default abi to ilp32f for -march=rv32imacf. For my exployer's chip, HW F is used while SW D is used. Each time I have to write "-march=rv32imacf -mabi=ilp32f¡°£¬ can it be simplified to only "-march=imacf" ? Just adding a line is enough.</div><div style="margin:0px"><br></div><div style="margin:0px"><span style="box-sizing:border-box;font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;font-size:12px;white-space:pre-wrap">if</span><span style="color:rgb(36,41,46);font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;font-size:12px;white-space:pre-wrap"> (MArch.</span><span style="box-sizing:border-box;font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;font-size:12px;white-space:pre-wrap">substr</span><span style="color:rgb(36,41,46);font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;font-size:12px;white-space:pre-wrap">(</span><span style="box-sizing:border-box;font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;font-size:12px;white-space:pre-wrap">4</span><span style="color:rgb(36,41,46);font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;font-size:12px;white-space:pre-wrap">).</span><span style="box-sizing:border-box;font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;font-size:12px;white-space:pre-wrap">contains_lower</span><span style="color:rgb(36,41,46);font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;font-size:12px;white-space:pre-wrap">(</span><span style="box-sizing:border-box;font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;font-size:12px;white-space:pre-wrap"><span style="box-sizing:border-box">"f</span><span style="box-sizing:border-box">"</span></span><span style="color:rgb(36,41,46);font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;font-size:12px;white-space:pre-wrap">) && !</span><span style="color:rgb(36,41,46);font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;font-size:12px;white-space:pre-wrap">MArch.</span><span style="box-sizing:border-box;font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;font-size:12px;white-space:pre-wrap">substr</span><span style="color:rgb(36,41,46);font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;font-size:12px;white-space:pre-wrap">(</span><span style="box-sizing:border-box;font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;font-size:12px;white-space:pre-wrap">4</span><span style="color:rgb(36,41,46);font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;font-size:12px;white-space:pre-wrap">).</span><span style="box-sizing:border-box;font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;font-size:12px;white-space:pre-wrap">contains_lower</span><span style="color:rgb(36,41,46);font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;font-size:12px;white-space:pre-wrap">(</span><span style="box-sizing:border-box;font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;font-size:12px;white-space:pre-wrap"><span style="box-sizing:border-box">"d</span><span style="box-sizing:border-box">"</span></span><span style="color:rgb(36,41,46);font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;font-size:12px;white-space:pre-wrap">)</span><span style="color:rgb(36,41,46);font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;font-size:12px;white-space:pre-wrap">)</span></div><div style="margin:0px"><span style="color:rgb(36,41,46);font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;font-size:12px;white-space:pre-wrap">  return "ilp32f";</span></div><div style="margin:0px"><span style="color:rgb(36,41,46);font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;font-size:12px;white-space:pre-wrap"><br></span></div><div style="margin:0px"><font color="#24292e" face="SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace"><span style="font-size:12px;white-space:pre-wrap">Can I submit a patch to fix it?</span></font></div><div style="margin:0px"><font color="#24292e" face="SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace"><span style="font-size:12px;white-space:pre-wrap"><br></span></font></div><div style="margin:0px"><font color="#24292e" face="SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace"><span style="font-size:12px;white-space:pre-wrap">Ben </span></font></div><div style="margin:0px"><span style="color:rgb(36,41,46);font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;font-size:12px;white-space:pre-wrap"><br></span></div></div>_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div>
</blockquote></div>