RFR: 8286941: Add mask IR for partial vector operations for ARM SVE [v3]

Jatin Bhateja jbhateja at openjdk.org
Thu Jun 16 12:26:32 UTC 2022


On Mon, 13 Jun 2022 01:47:52 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:

>>>> And I don't see in(2)->Opcode() == Op_VectorMaskGen check.
>> 
>>>Yes, the Op_VectorMaskGen is not generated for MaskAll when its input is a constant. We directly transform the MaskAll to VectorMaskGen here, since they two have the same meanings. Thanks!
>> 
>> I'm sorry that my comment in line-1819 is not right which misunderstood you. I will change this later. Thanks!
>
> I prefer to not transform `MaskAll` to `VectorMaskGen` now, since there are the match rules using `MaskAll m1` both in sve and avx-512. Doing the transformation may influence those rules.

> I think changes in #8877 influences the max vector length in superword? And since `MaskAll` is used for VectorAPI, the `MaxVectorSize` is still the right reference? @jatin-bhateja, could you please help to check whether this has any influence on x86 avx-512 system? Thanks so much!
All these transforms are guarded and currently enabled only for AARCH64, do not think it will impact AVX512.
> 
> > And I don't see in(2)->Opcode() == Op_VectorMaskGen check.
> 
> Yes, the `Op_VectorMaskGen` is not generated for `MaskAll` when its input is a constant. We directly transform the `MaskAll` to `VectorMaskGen` here, since they two have the same meanings. Thanks!

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

PR: https://git.openjdk.org/jdk/pull/9037


More information about the hotspot-compiler-dev mailing list