RFR: 8262355: Support for AVX-512 opmask register allocation. [v3]

Ningsheng Jian njian at openjdk.java.net
Wed Mar 24 07:08:45 UTC 2021


On Tue, 23 Mar 2021 21:55:27 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:

>> New mask type is indeed a vector of BYTE/BOOLEAN values, thus its ok if it goes though regular flows which processes vector type.
>
>> There are too much usages of these two methods that are specific for vectors especially during register allocation.
> 
> I don't see any usages of `Type::isa_vect()` except in 2 asserts. RA relies on`RegMask::is_vector()` to detect vectors and it doesn't include `VectorM`.
> 
> Regarding the relation between `TypeVect` and `TypeVectMask` I don't have a strong opinion. 
> There's definitely enough in common between them to have a common vector-specific supertype, but it's also desirable to avoid confusion between `is_vect()` vs `is_vectmask()`. Considering existing masks are represented as vectors, I think it's fine to leave it as is for now and revisit later when more data is available to make an informed decision.

OK, I agree to leave it as it for now if we don't have a better idea for TypeVectMask.

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

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


More information about the hotspot-compiler-dev mailing list