[jdk16] Integrated: 8259601: AArch64: Fix reinterpretX2D match rule issue

Xiaohong Gong xgong at openjdk.java.net
Wed Jan 13 05:56:10 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

This pull request has now been integrated.

Changeset: 793017d2
Author:    Xiaohong Gong <xgong at openjdk.org>
Committer: Ningsheng Jian <njian at openjdk.org>
URL:       https://git.openjdk.java.net/jdk16/commit/793017d2
Stats:     41 lines in 2 files changed: 17 ins; 1 del; 23 mod

8259601: AArch64: Fix reinterpretX2D match rule issue

Reviewed-by: adinn, njian

-------------

PR: https://git.openjdk.java.net/jdk16/pull/108


More information about the hotspot-compiler-dev mailing list