RFR: 8262355: Support for AVX-512 opmask register allocation. [v12]
Jatin Bhateja
jbhateja at openjdk.java.net
Fri Mar 19 14:35:49 UTC 2021
On Fri, 19 Mar 2021 08:05:25 GMT, Ningsheng Jian <njian at openjdk.org> wrote:
>> Jatin Bhateja has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 12 commits:
>>
>> - Merge branch 'master' of http://github.com/openjdk/jdk into JDK-8262355
>> - 8262355: Review comments resolutions.
>> - 8262355: Fix build failure
>> - 8262355: Review comments resolution.
>> - 8262355: Removing object re-materialization handling for mask-generating nodes during de-opt, it will be added separately.
>> - 8262355: Fix for windows build failure.
>> - 8262355: Fix for hs-minimal and windows build failures.
>> - 8262355 : Review comments resolution and deopt handling for mask generating nodes reconstruction.
>> - 8262355: Some synthetic changes for cleanup.
>> - 8262355: Creating a new ideal type TypeVectMask for mask generating nodes.
>> - ... and 2 more: https://git.openjdk.java.net/jdk/compare/e152cc03...f1748bf9
>
> src/hotspot/share/opto/type.hpp line 1709:
>
>> 1707:
>> 1708: inline const TypeVect *Type::is_vect() const {
>> 1709: assert( _base >= VectorM && _base <= VectorZ, "Not a Vector" );
>
> For is_vect() can we make it only valid for vector type while invalid for mask type? I think that sounds more reasonable, and could lower risk, given that there are a lot of is_vect() usages in existing code.
Hi @nsjian , @iwanowww,
On a second thought, we may enforce strict base type constraint (base >= VectorA && < base <= VectorZ) on TypeVect::isa_vect routine, but TypeVect::is_vect should be relaxed to include TypeVectorMask , considering TypeVectMask is a subclass of TypeVect and thus qualifies to be a vector type. It will simplify adding conditional checks across the code.
Since X86 supports two sorts of masks types (a TypeVect for non-AVX512 and a TypeVectMask for AVX-512) thus relaxing the constraint on TypeVect::is_vect will save un-necessary complexity.
Looking forward to your feedback on this.
Best Regards
-------------
PR: https://git.openjdk.java.net/jdk/pull/2768
More information about the hotspot-compiler-dev
mailing list