<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hello<div class="">To be more specific, I saw slight perf decrease with RVC only on a core running on fpga.</div><div class="">On thead c910 results ( -RVC and + RVC) are on par.</div><div class=""><br class=""></div><div class="">Regards, Vladimir<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">8 сент. 2022 г., в 15:09, Xiaolin Zheng <<a href="mailto:yunyao.zxl@alibaba-inc.com" class="">yunyao.zxl@alibaba-inc.com</a>> написал(а):</div><br class="Apple-interchange-newline"><div class=""><div class="__aliyun_email_body_block"><div style="line-height: 1.7; font-family: Tahoma, Arial, STHeiti, SimSun; font-size: 14px;" class=""><div style="clear:both;" class=""><span class="">Hi Aleksey and Vladimir,</span></div><div style="clear:both;" class=""><br class=""></div><div style="clear:both;" class="">The current RVC support is okay but not complete: it only covers ~10% of total instructions emitted (mostly C2 code, including some part of Stub code), and we might want to transform instructions into the compressed counterparts as much as possible, so maybe the design will change from a whitelist mode (the class CompressibleRegion) to a black list mode. There is one implementation at my local branch <a href="https://github.com/zhengxiaolinX/jdk/commits/REBASE-rvc-beautify" target="_blank" class="">https://github.com/zhengxiaolinX/jdk/commits/REBASE-rvc-beautify</a> (might not be stable yet, I have not gotten enough time to give it a sufficient test on jtregs and specjbb2015/other benchmarks yet). There are plans reserved to commit them (which cover ~20% of instructions under some tests) after reviewing, but this is currently WIP and waiting loom port to merge first.<br class=""></div><div style="clear:both;" class=""><div style="clear:both;" class=""><br class=""></div><div style="clear:both;" class="">And thank you Vladimir for your observations, I will test the Renaissance benchmark as you have mentioned. I have given tests for specjbb2015 months before and found slight performance increase there; as far as I know, the compile time will increase for the transformation logic is extra overhead during the instruction emission phase, such as the code in Assembler::add. Theoretically, when running the compiled code with RVC turning on, though IPC and CPI are not changed, the code size shrinks; I think it should have the same effect as the icache size becoming larger. Maybe something goes wrong? :-) I might need to look into the performance problem in a high priority, so will test the <span style="font-family: Tahoma, Arial, STHeiti, SimSun; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; background-color: rgb(255, 255, 255); float: none; display: inline;" class="">Renaissance</span> first.</div><div style="clear:both;" class=""><br class=""></div><div style="clear:both;" class="">Best,</div><span class="">Xiaolin</span></div><div style="clear:both;" class=""><br class=""></div><blockquote style="margin-right: 0px; margin-top: 0px; margin-bottom: 0px; font-family: Tahoma, Arial, STHeiti, SimSun; font-size: 14px;" class=""><div style="clear:both;" class="">------------------------------------------------------------------</div><div style="clear:both;" class="">From:Aleksey Shipilev <<a href="mailto:shade@redhat.com" class="">shade@redhat.com</a>></div><div style="clear:both;" class="">Send Time:2022年9月8日(星期四) 18:34</div><div style="clear:both;" class="">To:undefined <undefined>; undefined <undefined></div><div style="clear:both;" class="">Subject:RVC by default?</div><div style="clear:both;" class=""><br class=""></div>Hi,<br class=""><br class="">I was looking at some generated code on RISC-V, and realized while we have RVC support, we don't <br class="">enable it by default. On HiFive Unleashed:<br class=""><br class="">$ test-jdk/bin/java -XX:+UnlockExperimentalVMOptions -XX:+PrintFlagsFinal 2>&1 | grep RVC<br class="">      bool UseRVC                                   = false                           {ARCH <br class="">experimental} {default}<br class=""><br class=""><br class="">Is there a reason not to do RVC by default? Can we reliably poll the RVC capabilities in current <br class="">hardware?<br class=""><br class="">-- <br class="">Thanks,<br class="">-Aleksey</blockquote></div></div></div></blockquote></div><br class=""></div></body></html>