[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