RFR: 8318227: RISC-V: C2 ConvHF2F

Hamlin Li mli at openjdk.org
Thu Nov 23 17:18:28 UTC 2023


Hi,
Can you review the patch to add ConvHF2F intrinsic to JDK for riscv?
Thanks!

(By latest kernel patch, `#define		RISCV_HWPROBE_EXT_ZFH		(1 << 27)`
https://lore.kernel.org/lkml/20231114141256.126749-11-cleger@rivosinc.com/)

## Test
### Functionality
#### hotspot tests
test/hotspot/jtreg/compiler/intrinsics/ 
test/hotspot/jtreg/compiler/c2/irTests

#### jdk tests
test/jdk/java/lang/Float/Binary16Conversion*.java

### Performance
tested on licheepi.

#### with UseZfh enabled
(i.e. enable the intrinsic)

Benchmark                                     (size)  Mode  Cnt      Score     Error  Units
Fp16ConversionBenchmark.float16ToFloat          2048  avgt   10   4659.796 ?  13.262  ns/op
Fp16ConversionBenchmark.float16ToFloatMemory    2048  avgt   10     22.957 ?   0.098  ns/op


#### with UseZfh disabled
(i.e. disable the intrinsic)

Benchmark                                     (size)  Mode  Cnt      Score    Error  Units
Fp16ConversionBenchmark.float16ToFloat          2048  avgt   10  22930.591 ? 72.595  ns/op
Fp16ConversionBenchmark.float16ToFloatMemory    2048  avgt   10     25.970 ?  0.063  ns/op

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

Commit messages:
 - update RISCV_HWPROBE_EXT_ZFH value
 - Initial commit

Changes: https://git.openjdk.org/jdk/pull/16802/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=16802&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8318227
  Stats: 67 lines in 13 files changed: 67 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/16802.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/16802/head:pull/16802

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


More information about the hotspot-dev mailing list