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 hotspot-dev
mailing list