[lworld+fp16] RFR: 8341414: Add support for FP16 conversion routines

Bhavana Kilambi bkilambi at openjdk.org
Wed Oct 23 14:12:56 UTC 2024


This patch adds intrinsic support for FP16 conversion routines to int/long/double and also the aarch64 backend support. This patch implements both scalar and vector versions for these conversions.

Performance numbers on aarch64 machine with SVE support :

Benchmark                         (vectorDim)   Gain
Float16OpsBenchmark.fp16ToDouble  1024          18.23
Float16OpsBenchmark.fp16ToInt     1024          1.93
Float16OpsBenchmark.fp16ToLong    1024          3.95

The Gain column is the ratio between thrpt of this patch and the thrpt with the intrinsics disabled (which generates FP32 arithmetic).

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

Commit messages:
 - 8341414: Add support for FP16 conversion routines

Changes: https://git.openjdk.org/valhalla/pull/1283/files
  Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1283&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8341414
  Stats: 1323 lines in 32 files changed: 596 ins; 2 del; 725 mod
  Patch: https://git.openjdk.org/valhalla/pull/1283.diff
  Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1283/head:pull/1283

PR: https://git.openjdk.org/valhalla/pull/1283


More information about the valhalla-dev mailing list