RFR: 8344306: RISC-V: Add zicond
    Robbin Ehn 
    rehn at openjdk.org
       
    Tue Nov 26 09:09:39 UTC 2024
    
    
  
Hi, please consider.
In cpu models we save ~1 cycle per removed branch.
This patch removes ~0.1% of branches in generic C2 generated code.
We should probably investigate if we can improve/add peephole optimization to remove more branches.
As the C1 cmov code is a bit tricky I left that as a followup.
I added gtests for the cmovs.
(we should add coverage for more of masm in this gtest suit)
Pro tip, invoke the gtestLauncher directly (you only need to build exploded):
`gtestLauncher -jdk build/linux-riscv64-server-fastdebug/jdk/ --gtest_break_on_failure --gtest_filter="*RiscV*" -XX:+UnlockDiagnosticVMOptions -XX:+UseZicond -XX:ParallelGCThreads=1 -XX:ConcGCThreads=1 -XX:CICompilerCount=2`
Tested on Spacemit X60, gtests and tier1.
Thanks, Robbin
-------------
Commit messages:
 - Fixed ws
 - Draft
Changes: https://git.openjdk.org/jdk/pull/22386/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=22386&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8344306
  Stats: 344 lines in 9 files changed: 340 ins; 0 del; 4 mod
  Patch: https://git.openjdk.org/jdk/pull/22386.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/22386/head:pull/22386
PR: https://git.openjdk.org/jdk/pull/22386
    
    
More information about the hotspot-dev
mailing list