[vectorIntrinsics] RFR: 8264469: Add Insert float nodes implementation for Arm SVE [v2]

Xiaohong Gong xgong at openjdk.java.net
Tue Apr 6 02:03:22 UTC 2021


On Fri, 2 Apr 2021 08:22:50 GMT, Wang Huang <whuang at openjdk.org> wrote:

>> * Add Insert float nodes implementation for Arm SVE, like insertD & insertF
>> * add fast path by using `cmpeq `(SVE compare vector with immediate). For the range limit of `imm5` is [-16, 15], I shift the index range from [0, 31] to [-16, 15].
>
> Wang Huang has updated the pull request incrementally with one additional commit since the last revision:
> 
>   add fast path

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

> 3263: %}
> 3264: 
> 3265: instruct insertL_fast(vReg dst, vReg src, iRegL val, immI idx, vReg tmp, pRegGov pTmp, rFlagsReg cr)

Since the `n->as_Vector()->length() >32` doesn't exist, is `insertL` better here?

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

> 3265: instruct insertL_fast(vReg dst, vReg src, iRegL val, immI idx, vReg tmp, pRegGov pTmp, rFlagsReg cr)
> 3266: %{
> 3267:   predicate(UseSVE > 0 && n->as_Vector()->length() <= 32 &&

Can `n->as_Vector()->length() <= 32` be removed? Or maybe an assertion is better.

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

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


More information about the panama-dev mailing list