[lworld+fp16] RFR: 8308363: Initial compiler support for FP16 scalar operations. [v3]

Jatin Bhateja jbhateja at openjdk.org
Wed Aug 16 07:25:01 UTC 2023


> Starting with 4th Generation Xeon, Intel has made extensive extensions to existing ISA to support 16 bit scalar and vector floating point operations based on IEEE 754 FP16 format.
> 
> We plan to support this in multiple stages spanning across Java side definition of Float16 type, scalar operation and finally SLP vectorization support.
> 
> This patch adds  minimal Java and Compiler side support for one API Float16.add.
> 
> Following is the gist of changes introduced with the patch :-
> 
> - Minimal implementation of Float16 primitive class supporting one operation (Float16.add)
> - X86 AVX512-FP16 feature detection at VM startup.
> - C2 IR and Inline expander changes for Float16.add API.
> - FP16 constant folding handling.
> - Backend support : Instruction selection patterns and assembler support.
> 
> Please review and share your feedback.
> 
> Best Regards,
> Jatin

Jatin Bhateja 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 three additional commits since the last revision:

 - Merge branch 'lworld+fp16' of http://github.com/openjdk/valhalla into JDK-8308363
 - Cleanup Float16 class definition.
 - 8308363: Initial compiler support for FP16 scalar operations.

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

Changes:
  - all: https://git.openjdk.org/valhalla/pull/848/files
  - new: https://git.openjdk.org/valhalla/pull/848/files/3629c434..5cd42f3b

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

  Stats: 1143617 lines in 11956 files changed: 758838 ins; 270462 del; 114317 mod
  Patch: https://git.openjdk.org/valhalla/pull/848.diff
  Fetch: git fetch https://git.openjdk.org/valhalla.git pull/848/head:pull/848

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



More information about the valhalla-dev mailing list