RFR: 8265956: JVM crashes when matching LShiftVB Node [v2]
xgong at openjdk.java.net
Thu Apr 29 09:05:06 UTC 2021
On Wed, 28 Apr 2021 09:52:22 GMT, Wang Huang <whuang at openjdk.org> wrote:
>> It is fount that the rule `match(Set dst (LShiftVB src shift))` is missing on many cpus, such like `aarch64` and `x86`. It is this reason that JVM will crash under `JDK-8265956`'s test case. In this commit, I :
>> * show the crash case `TestVectorShuffleIotaShort`
>> * solve the issue on `aarch64` and `x86` by adding the rule.
>> * test after fixing on tire1~3
>> Thank you for your review. Any suggestion is welcome.
>> Wang Huang
> Wang Huang has updated the pull request incrementally with one additional commit since the last revision:
> add m4 file
src/hotspot/cpu/aarch64/aarch64_neon.ad line 5292:
> 5290: n->as_Vector()->length() == 8);
> 5291: match(Set dst (LShiftVB src (LShiftCntV shift)));
> 5292: match(Set dst (LShiftVB src shift));
Does it make sense if changing the mid-end codes to make sure the immediate shift is broadcasted to a vector?
More information about the hotspot-compiler-dev