RFR: 8344306: RISC-V: Add zicond [v3]

Robbin Ehn rehn at openjdk.org
Wed Nov 27 11:51:27 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

Robbin Ehn has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since the last revision:

 - Merge branch 'master' into zicond
 - Review comments
 - Fixed ws
 - Draft

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/22386/files
  - new: https://git.openjdk.org/jdk/pull/22386/files/a65d9e2a..606acb06

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=22386&range=02
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=22386&range=01-02

  Stats: 7042 lines in 217 files changed: 1343 ins; 4716 del; 983 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