RFR: 8279651: [vectorapi] Implement the missing intrinsics for casting from integrals on x64 [v8]

Vladimir Ivanov vlivanov at openjdk.java.net
Mon Jan 17 19:32:27 UTC 2022


On Mon, 17 Jan 2022 19:19:41 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:

>> Quan Anh Mai has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   fix
>
> src/hotspot/cpu/x86/x86.ad line 7150:
> 
>> 7148: 
>> 7149: instruct vcastLtoFD_avx(vec dst, vec src, vec xtmp1, vec xtmp2, rRegI tmp, rFlagsReg cr) %{
>> 7150:   predicate((UseAVX <= 2 || !VM_Version::supports_avx512dq()) &&
> 
> `!VM_Version::supports_avx512dq()` is equivalent to `UseAVX <= 2 || !VM_Version::supports_avx512dq()` here, isn't it?

case Op_VectorCastL2X:
   ...
   } else if (!is_integral_type(bt) && !VM_Version::supports_avx512dq()) {
     return false;
   }

Overall, It becomes harder and harder to ensure the relevant AD instructions are exhaustive w.r.t. predicates and supported modes. 

I'd expect to see different variations of `is_floating_point_type(Matcher::vector_element_basic_type(n))` and`VM_Version::supports_avx512dq())` to enumerate all important configurations.

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

PR: https://git.openjdk.java.net/jdk/pull/7002


More information about the hotspot-compiler-dev mailing list