[vectorIntrinsics] RFR: 8259536: Add cast nodes between interger types implementation for Arm SVE [v5]
Ningsheng Jian
njian at openjdk.java.net
Fri Jan 29 03:03:50 UTC 2021
On Thu, 28 Jan 2021 01:52:09 GMT, Wang Huang <whuang at openjdk.org> wrote:
>> This patch add cast nodes between interger types implementation for Arm SVE like "VectorCastB2X" "VectorCastI2X " "VectorCastS2X" "VectorCastL2X".
>
> Wang Huang has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains six commits:
>
> - Merge vectorIntrinsics
> - remove useless codes
> - remove walkaround codes
> - add other I2I cast nodes
> - fix build bug on other archs caused by UseSVE > 0
> - 8259536: Add cast nodes between interger types implementation for Arm SVE
src/hotspot/cpu/aarch64/aarch64_sve_ad.m4 line 1483:
> 1481: %{
> 1482: predicate(UseSVE > 0 && n->bottom_type()->is_vect()->length_in_bytes() >= 16 &&
> 1483: n->bottom_type()->is_vect()->element_basic_type() == T_`'TYPE2DATATYPE($2));
Please replace leading tab with space.
src/hotspot/cpu/aarch64/aarch64_sve_ad.m4 line 1504:
> 1502: %{
> 1503: predicate(UseSVE > 0 && n->bottom_type()->is_vect()->length_in_bytes() >= 16 &&
> 1504: n->bottom_type()->is_vect()->element_basic_type() == T_`'TYPE2DATATYPE($2));
And here is another tab.
src/hotspot/cpu/aarch64/aarch64_sve_ad.m4 line 1460:
> 1458: // ------------------------------ Vector cast -------------------------------
> 1459: dnl
> 1460: define(`VECTOR_CAST_I2I', `
I think the I2I name is a bit confusing, as it is also used by S2I, I2L (though NEON has the same naming...). Maybe VECTOR_CAST_EXTEND?
src/hotspot/cpu/aarch64/aarch64_sve_ad.m4 line 1479:
> 1477:
> 1478: dnl
> 1479: define(`VECTOR_CAST_B2I', `
VECTOR_CAST_EXTEND2?
src/hotspot/cpu/aarch64/aarch64_sve_ad.m4 line 1567:
> 1565:
> 1566: dnl
> 1567: define(`VECTOR_CAST_L2B', `
E.g. VECTOR_CAST_NARROW3?
-------------
PR: https://git.openjdk.java.net/panama-vector/pull/31
More information about the panama-dev
mailing list