RFR: 8342103: C2 compiler support for Float16 type and associated scalar operations [v3]

Emanuel Peter epeter at openjdk.org
Tue Dec 17 16:58:40 UTC 2024


On Tue, 17 Dec 2024 11:05:27 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:

>> Are we sure that the rounding behaviour of float is the correct behaviour for Float16? I would like to see some examples where rounding matters.
>
> FP16 has 11 bits precision and FP32 has 24 bit precision, thus as per [2P rule ](https://dl.acm.org/doi/pdf/10.1145/221332.221334) the operation is innocuous to double rounding effects. In addition, fall back implementation of Float16.divide also takes the same route of performing the operation at FP32 granularity.

I understand. Thanks for the explanation. But the backend `Float16` instructions do not convert to float, right? So we need to be sure, and test that rounding works correctly in all cases. Can you point me to a test for that?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/22754#discussion_r1888882880


More information about the hotspot-compiler-dev mailing list