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 <a...@redhat.com>
Sent: Tuesday, June 30, 2020 12:10 AM
To: Yang Zhang <yang.zh...@arm.com>; Viswanathan, Sandhya 
<sandhya.viswanat...@intel.com>; Paul Sandoz <paul.san...@oracle.com>
Cc: nd <n...@arm.com>; hotspot-compiler-...@openjdk.java.net; 
hotspot-...@openjdk.java.net; core-libs-dev@openjdk.java.net; 
aarch64-port-...@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


Reply via email to