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

Xiaohong Gong xgong at openjdk.java.net
Thu Apr 1 08:00:34 UTC 2021


On Thu, 1 Apr 2021 07:42:41 GMT, Wang Huang <whuang at openjdk.org> wrote:

>> src/hotspot/cpu/aarch64/aarch64_sve.ad line 3326:
>> 
>>> 3324:     __ sve_index(as_FloatRegister($tmp$$reg), __ S, 0, 1);
>>> 3325:     __ sve_dup(as_FloatRegister($tmp2$$reg), __ S, (int)($idx$$constant));
>>> 3326:     __ sve_cmpeq(as_PRegister($pTmp$$reg), size, ptrue,
>> 
>> SVE support immedicate CMP: `CMPEQ <Pd>.<T>, <Pg>/Z, <Zn>.<T>, #<imm>`. Could you please use the imm version here? We can save one `dup` instruction here.
>
>> SVE support immedicate CMP: `CMPEQ <Pd>.<T>, <Pg>/Z, <Zn>.<T>, #<imm>`. Could you please use the imm version here? We can save one `dup` instruction here.
> 
> I have remembered why I choose this `cmpeq`. If you use `immedicate CMP`, the `# <imm>` is in range `[-16,15]`. I think we should use `cmpeq` in my codes.

OK, so a vector CMP is needed here. Thanks for the explanation!

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

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


More information about the panama-dev mailing list