RFR: 8289552: Make intrinsic conversions between bit representations of half precision values and floats [v5]
Sandhya Viswanathan
sviswanathan at openjdk.org
Thu Aug 25 03:18:42 UTC 2022
On Wed, 24 Aug 2022 23:48:36 GMT, Smita Kamath <svkamath at openjdk.org> wrote:
>> 8289552: Make intrinsic conversions between bit representations of half precision values and floats
>
> Smita Kamath has updated the pull request incrementally with one additional commit since the last revision:
>
> Updated copyright comment
src/hotspot/cpu/x86/x86.ad line 1686:
> 1684: case Op_ConvHF2F:
> 1685: if (!VM_Version::supports_f16c() && !VM_Version::supports_evex() &&
> 1686: !VM_Version::supports_avx512vl()) {
The condition should be:
if (!VM_Version::supports_f16c() &&
!(VM_Version::supports_evex() && VM_Version::supports_avx512vl())) {
return false;
}
For AVX-512 both evex and avx512vl are needed.
src/hotspot/cpu/x86/x86_64.ad line 11320:
> 11318: ins_pipe( pipe_slow );
> 11319: %}
> 11320:
For F2HF, good to also add optimized rule with StoreC to benefit from vcvtps2ph memory destination form of instruction.
match(Set mem (StoreC mem (ConvF2HF src)));
src/hotspot/cpu/x86/x86_64.ad line 11330:
> 11328: ins_pipe( pipe_slow );
> 11329: %}
> 11330:
For HF2F, good to also add optimized rule with LoadS to benefit from vcvtph2ps memory src form of instruction.
match(Set dst (ConvHF2F ( LoadS mem)));
-------------
PR: https://git.openjdk.org/jdk/pull/9781
More information about the core-libs-dev
mailing list