Hi,
Can you help to review this patch?
On riscv, CMoveI/L already were implemented, but there are some gap:
1. CMoveI/L does not support comparison with float/double, corresponding tests 
are not turn on either.
2. Some optimization of C2 is not turned on, e.g. `Phi -> CMove -> min_max`.
3. lack of some corresponding performance tests.

Also there are some issue with current Zicond:
1. UseZicond is turned on automatically by hwprobe, but jmh tests show that 
it's not always bring benefit, in some situation it even brings regression, the 
reason is the generated code by Zicond is much larger than branch version, in 
particular when it's in a loop and unrolled.

This patch on riscv is to:
1. add CMoveI/L comparing float/double, and corresponding tests,
2. enable more C2 optimization,
3. add more benchmark tests,
4. turn off UseZicond by default.

Thanks!

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

Commit messages:
 - turn off flag Zicond by default
 - remove
 - initial commit

Changes: https://git.openjdk.org/jdk/pull/24490/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=24490&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8352504
  Stats: 951 lines in 15 files changed: 912 ins; 10 del; 29 mod
  Patch: https://git.openjdk.org/jdk/pull/24490.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/24490/head:pull/24490

PR: https://git.openjdk.org/jdk/pull/24490

Reply via email to