[aarch64-port-dev ] RFR (XXL): 8223347: Integration of Vector API (Incubator): AArch64 backend changes
Ningsheng Jian
ningsheng.jian at arm.com
Mon Jul 20 03:51:25 UTC 2020
Hi Andrew and all,
Since we are getting ready to propose Vector API target to JDK 16 [1]. I
have regenerated webrev of aarch64 backend parts from panama repo, which
has been rebased to jdk/jdk very recently, by:
$ hg update vector-unstable && hg diff -r default > all.patch
$ grep "diff -r" all.patch | grep -e "src/hotspot/cpu/aarch64" | awk
'{print $4}' > aarch64_list
$ ksh ./webrev.ksh -r default -o aarch64_webrev aarch64_list
The new webrev:
http://cr.openjdk.java.net/~njian/vectorapi/8223347-integration/aarch64-webrev.01/
Could you please help to take a look?
Yang's previous webrevs can still be found at [2], with review comments
addressed in the latest webrev above.
[1] http://mail.openjdk.java.net/pipermail/hotspot-dev/2020-July/042427.html
[2]
http://cr.openjdk.java.net/~yzhang/vectorapi/vectorapi.rfr/aarch64_webrev/
Thanks,
Ningsheng
On 7/8/20 3:05 PM, Yang Zhang wrote:
> Hi Andrew
>
> I have updated this patch. Could you please help to review it again?
> In this patch, the following changes are made:
> 1. Separate newly added NEON instructions to a new ad file
> aarch64_neon.ad
> 2. Add assembler tests for NEON instructions. Trailing spaces
> in the python script are also removed.
>
> http://cr.openjdk.java.net/~yzhang/vectorapi/vectorapi.rfr/aarch64_webrev/webrev.02/
>
> Thanks,
> Yang
>
>
> -----Original Message-----
> From: Andrew Haley <aph at redhat.com>
> Sent: Tuesday, June 30, 2020 12:10 AM
> To: Yang Zhang <Yang.Zhang at arm.com>; Viswanathan, Sandhya <sandhya.viswanathan at intel.com>; Paul Sandoz <paul.sandoz at oracle.com>
> Cc: nd <nd at arm.com>; hotspot-compiler-dev at openjdk.java.net; hotspot-dev at openjdk.java.net; core-libs-dev at openjdk.java.net; aarch64-port-dev at openjdk.java.net
> Subject: Re: [aarch64-port-dev ] RFR (XXL): 8223347: Integration of Vector API (Incubator): AArch64 backend changes
>
> On 29/06/2020 08:48, Yang Zhang wrote:
>> 1. Instructions that can be matched with NEON instructions directly.
>> MulVB, SqrtVF and AbsV have been merged into jdk master already.
>>
>> 2. Instructions that jdk master has middle end support for, but they cannot be matched with NEON instructions directly.
>> Such as AddReductionVL, MulReductionVL, And/Or/XorReductionV These new instructions can be moved into jdk master first, but for auto-vectorization, the performance might not get improved.
>>
>> 3. Panama/Vector API specific instructions such as Load/StoreVector ( 16 bits), VectorReinterpret, VectorMaskCmp, MaxV/MinV, VectorBlend etc.
>> These instructions cannot be moved into jdk master first because there isn't middle-end support.
>>
>> I will put 2 and 3 in a new ad file aarch64_neon.ad. I will also update aarch64_asmtest.py and macroassemler.cpp. When the patch is ready, I will send it again.
>
> Thank you *very* much for your hard work. Appreciated!
>
> --
> Andrew Haley (he/him)
> Java Platform Lead Engineer
> Red Hat UK Ltd. <https://www.redhat.com> https://keybase.io/andrewhaley
> EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671
>
More information about the core-libs-dev
mailing list