[vectorIntrinsics+mask] RFR: 8265109: SVE predicate register allocation support for vectorIntrinsics
Ningsheng Jian
njian at openjdk.java.net
Wed Apr 14 06:24:14 UTC 2021
On Wed, 14 Apr 2021 01:06:56 GMT, Sandhya Viswanathan <sviswanathan at openjdk.org> wrote:
>> This is the SVE predicate register allocation part for Vector API masking support. Since we don't have sufficent usages to test it in
>> jdk/jdk, and based on @sviswa7 's proposal [1], we would like to put it to vectorIntrinsics+mask first and get tested here with further predicate-based vector masking support, though so far no issue found with Xiaohong's initial Vector API masking support.
>>
>> [1] https://mail.openjdk.java.net/pipermail/panama-dev/2021-April/012920.html
>
> src/hotspot/share/opto/chaitin.cpp line 1392:
>
>> 1390: }
>> 1391: return OptoReg::Bad; // will cause chunk change, and retry next chunk
>> 1392: } else if (lrg._is_predicate) {
>
> lrg._is_predicate is set to 1 for all architectures, so using scalable_reg_slots on this path doesn't look correct.
This is inside lrg.is_scalable() condition of L1362, which handles scalable predicate register specifically. I think for non-scalable arch, the normal path of regmask handling should be fine.
-------------
PR: https://git.openjdk.java.net/panama-vector/pull/65
More information about the panama-dev
mailing list