On Wed, 24 Aug 2022 23:48:36 GMT, Smita Kamath <svkam...@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

Reply via email to