RFR: 8261542: X86 slice and unslice intrinsics for 256-bit byte/short vectors [v3]
Vladimir Kozlov
kvn at openjdk.java.net
Fri Feb 19 05:52:41 UTC 2021
On Fri, 19 Feb 2021 02:30:58 GMT, Sandhya Viswanathan <sviswanathan at openjdk.org> wrote:
>> src/hotspot/cpu/x86/x86.ad line 1695:
>>
>>> 1693: if(vlen == 2) {
>>> 1694: return false; // Implementation limitation due to how shuffle is loaded
>>> 1695: } else if (size_in_bits == 256 && UseAVX < 2) {
>>
>> Should this be >= 256?
>
> The general >= 256 part is taken care of early on in match_rule_supported_vector as below:
> if (!vector_size_supported(bt, vlen)) {
> return false;
> }
> The only additional check that is being done here is for float and double 256 bit vectors that are supported on AVX=1 and will pass the vector_size_supported check.
> This is because the VectorLoadShuffle cannot be performed for 256 bit vectors on AVX1 platform as it needs "integer" 256 bit instructions which are only available on AVX2.
Okay.
-------------
PR: https://git.openjdk.java.net/jdk/pull/2520
More information about the hotspot-compiler-dev
mailing list