Hi Vladimir,
Thanks for pointing out this. Yes, I missed that change in shared code.
I've regenerated the webrev, with GensrcAdlc.gmk file change included:
http://cr.openjdk.java.net/~njian/vectorapi/8223347-integration/aarch64-webrev.01/
Also add build-dev.
Thanks,
Ningsheng
On 7/23/20 5:36 AM, Vladimir Ivanov wrote:
http://cr.openjdk.java.net/~njian/vectorapi/8223347-integration/aarch64-webrev.01/
FTR there's one more aarch64-specific change in shared code to enable
aarch64_neon.ad processing:
diff --git a/make/hotspot/gensrc/GensrcAdlc.gmk
b/make/hotspot/gensrc/GensrcAdlc.gmk
--- a/make/hotspot/gensrc/GensrcAdlc.gmk
+++ b/make/hotspot/gensrc/GensrcAdlc.gmk
@@ -129,6 +129,12 @@
$d/os_cpu/$(HOTSPOT_TARGET_OS)_$(HOTSPOT_TARGET_CPU_ARCH)/$(HOTSPOT_TARGET_OS)_$(HOTSPOT_TARGET_CPU_ARCH).ad
\
)))
+ ifeq ($(HOTSPOT_TARGET_CPU_ARCH), aarch64)
+ AD_SRC_FILES += $(call uniq, $(wildcard $(foreach d,
$(AD_SRC_ROOTS), \
+ $d/cpu/$(HOTSPOT_TARGET_CPU_ARCH)/$(HOTSPOT_TARGET_CPU_ARCH)_neon.ad \
+ )))
+ endif
+
ifeq ($(call check-jvm-feature, shenandoahgc), true)
AD_SRC_FILES += $(call uniq, $(wildcard $(foreach d,
$(AD_SRC_ROOTS), \
$d/cpu/$(HOTSPOT_TARGET_CPU_ARCH)/gc/shenandoah/shenandoah_$(HOTSPOT_TARGET_CPU).ad
\
Best regards,
Vladimir Ivanov
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