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

Bhavana Kilambi bkilambi at openjdk.org
Tue Nov 26 11:20:10 UTC 2024


On Mon, 18 Nov 2024 16:48:45 GMT, Bhavana Kilambi <bkilambi at openjdk.org> wrote:

>> 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).
>
> Bhavana Kilambi has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Address review comments

Yes :) I just wanted to make sure you are ok with the changes before I integrate.

So for constant folding we would do something like - convert half float value to float and then to integral/double right? But that would mean extra instructions in the backend when we have direct instructions to cast from half float to integral/double?

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

PR Comment: https://git.openjdk.org/valhalla/pull/1283#issuecomment-2500353017


More information about the valhalla-dev mailing list