[aarch64-port-dev ] RFR (XXL): 8223347: Integration of Vector API (Incubator): AArch64 backend changes
Vladimir Ivanov
vladimir.x.ivanov at oracle.com
Wed Jul 22 21:36:52 UTC 2020
> 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 <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 hotspot-compiler-dev
mailing list