[vectorIntrinsics] RFR: 8253585: Add basic vector mask implementation for Arm SVE [v2]

Wang Huang whuang at openjdk.java.net
Wed Nov 4 09:20:06 UTC 2020


On Wed, 4 Nov 2020 04:04:08 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:

>> Summary: Add the SVE match rule support for vector mask ops.
>> 
>> ======
>> 
>> Currently the vector mask related operations like vector mask load/store, vector mask compare and vector blend are not supported for Arm SVE. This patch adds the basic backend implementation for them.
>> 
>> BTW, this is a basic version for vector mask operations that does not use the SVE predicate features. And we will make it happen in future.
>
> Xiaohong Gong has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains one commit:
> 
>   8253585: Add basic vector mask implementation for Arm SVE

src/hotspot/cpu/aarch64/aarch64_sve.ad line 1200:

> 1198:             n->in(1)->bottom_type()->is_vect()->element_basic_type() == T_BOOLEAN);
> 1199:   match(Set dst (VectorLoadMask (LoadVector mem)));
> 1200:   ins_cost(SVE_COST);

2 * SVE_COST?

src/hotspot/cpu/aarch64/aarch64_sve.ad line 1220:

> 1218:   match(Set mem (StoreVector mem (VectorStoreMask src size)));
> 1219:   effect(TEMP tmp);
> 1220:   ins_cost(SVE_COST);

2 * SVE_COST ?

src/hotspot/cpu/aarch64/aarch64-asmtest.py line 1482:

> 1480:           ])
> 1481: 
> 1482: generate(SpecialCases, [["ccmn",    "__ ccmn(zr, zr, 3u, Assembler::LE);",                "ccmn\txzr, xzr, #3, LE"],

extra space ?

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

PR: https://git.openjdk.java.net/panama-vector/pull/20


More information about the panama-dev mailing list