RFR: 8259948: Aarch64: Add cast nodes for Aarch64 Neon backend [v4]
Eric Liu
eliu at openjdk.java.net
Fri Sep 3 04:33:29 UTC 2021
On Thu, 19 Aug 2021 08:57:47 GMT, Wang Huang <whuang at openjdk.org> wrote:
>> * In this issue, we plan to complete all missing implementation for aarch64 neon backend. For example, cast from Byte to Long, cast from Long to Byte, and so on.
>> * It may be a solver of JDK-8269866, or part of it.
>
> Wang Huang has updated the pull request incrementally with one additional commit since the last revision:
>
> fix codes
I tested in my local, a `bad AD file` due to the missing rule of `VectorReinterpret 4B`
o1666 VectorReinterpret === _ o1665 [[o1691 ]] #vectord[8]:{byte}
--N: o1666 VectorReinterpret === _ o1665 [[o1691 ]] #vectord[8]:{byte}
--N: o1665 VectorCastI2X === _ o1644 [[o1666 ]] #vectord[4]:{byte}
VECD 100 vcvt4Ito4B
--N: o1644 LoadVector === o448 o7 o1642 |o1719 [[o1665 ]] @int[int:>=0]:NotNull:exact+any *, idx=9; mismatched #vectorx[4]:{int}
VECX 0 VECX
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc: SuppressErrorAt=/matcher.cpp:1681
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/home/jdk/jdk_src/src/hotspot/share/opto/matcher.cpp:1681), pid=32585, tid=32598
# assert(false) failed: bad AD file
#
# JRE version: OpenJDK Runtime Environment (18.0) (fastdebug build 18-internal+0-git-cd8783c08)
# Java VM: OpenJDK 64-Bit Server VM (fastdebug 18-internal+0-git-cd8783c08, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-aarch64)
# Problematic frame:
# V [libjvm.so+0x12bb770] Matcher::Label_Root(Node const*, State*, Node*, Node*&)+0xa50
#
# Core dump will be written. Default location: /tmp/core
#
# An error report file with more information is saved as:
# /home/jdk/test/hs_err_pid32585.log
[thread 32586 also had an error]
#
# Compiler replay data is saved as:
# /home/jdk/test/replay_pid32585.log
#
# If you would like to submit a bug report, please visit:
# https://bugreport.java.com/bugreport/crash.jsp
#
./run.sh: line 25: 32585 Aborted (core dumped) $java -ea --add-modules jdk.incubator.vector -XX:+UnlockDiagnosticVMOptions -XX:+TieredCompilation $1
It can be reproduced by casting `Int128 species` to `byte64 species`[1]. Hope these 2 test cases helpful to you.
[1] https://gist.github.com/theRealELiu/e75f0a001d8eeda17e02616479319624
[2] https://gist.github.com/theRealELiu/083573141d2c953c09d3da931b3e7ee7
-------------
Changes requested by eliu (Author).
PR: https://git.openjdk.java.net/jdk/pull/4839
More information about the hotspot-compiler-dev
mailing list