RFR: 8302976: C2 intrinsification of Float.floatToFloat16 and Float.float16ToFloat yields different result than the interpreter

Sandhya Viswanathan sviswanathan at openjdk.org
Wed Feb 22 02:20:00 UTC 2023


Change the java/lang/float.java and the corresponding shared runtime constant expression evaluation to generate QNaN.
The HW instructions generate QNaNs and not SNaNs for floating point instructions. This happens across double, float, and float16 data types. The most significant bit of mantissa is set to 1 for QNaNs.

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

Commit messages:
 - 8302976: C2 intrinsification of Float.floatToFloat16 and Float.float16ToFloat yields different result than the interpreter

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

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


More information about the core-libs-dev mailing list