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

Xiaohong Gong xgong at openjdk.java.net
Tue Apr 6 02:13:33 UTC 2021


On Tue, 6 Apr 2021 02:05:10 GMT, Wang Huang <whuang at openjdk.org> wrote:

>> 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?
>
> It is considered that all `concise` rules (which is named `fast` now ) should have the common macro , otherwise we may use too many macros.

Yes, maybe a separate macro for L/D is better.

>> 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.
>
> Yes . The reason is the same as last comment. https://github.com/openjdk/panama-vector/pull/56#discussion_r607437523
>  Or we COULD split insertL and insertD from other ones ?

This seems reasonable to me. Agree to split L/D from others.

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

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


More information about the panama-dev mailing list