[jdk16] RFR: 8259601: AArch64: Fix reinterpretX2D match rule issue
Andrew Dinn
adinn at openjdk.java.net
Tue Jan 12 10:04:04 UTC 2021
On Tue, 12 Jan 2021 04:02:00 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:
> Currently the `"reinterpretX2D"` match rule does not generate any register move instruction if the` 'dst'` and` 'src'` are the same register. This rule implements the vector reinterpretation from 16 bytes to 8 bytes. It is a kind of data truncation, which should make sure the higher 8 bytes of the `'dst' `register cleared to zero. So the `"mov" `is always needed even if the` "dst"` and `"src"` are the same register in case of the issue mentioned in [1].
>
> We have tested the case [3] with Arm NEON. And the issue still exists even if [1] is fixed with [2]. Removing the check (i.e. whether `'src'` and `'dst`' are the same register) in the rule would fix it finally.
>
> [1] https://bugs.openjdk.java.net/browse/JDK-8259353
> [2] https://github.com/openjdk/jdk16/pull/100
> [3] https://bugs.openjdk.java.net/secure/attachment/92713/Test.java
Yes, these changes look good.
-------------
Marked as reviewed by adinn (Reviewer).
PR: https://git.openjdk.java.net/jdk16/pull/108
More information about the hotspot-compiler-dev
mailing list