Integrated: 8288397: AArch64: Fix register issues in SVE backend match rules

Xiaohong Gong xgong at openjdk.org
Mon Jun 20 01:11:14 UTC 2022


On Wed, 15 Jun 2022 09:40:52 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:

> There are register usage issues in the sve backend match rules, which made the two added jtreg tests fail.
> 
> The predicated vector "`not`" rules didn't use the same register for "`src`" and "`dst`", which is necessary to make sure the inactive lanes in "`dst`" save the same elements as "`src`". This patch fixes the rules by using the same register for "`dst`" and "`src`".
> 
> And the input idx register in "`gatherL/scatterL`" rules was overwritten by the first unpack instruction. The same issue also existed in the partial and predicated gatherL/scatterL rules. This patch fixes them by saving the unpack results into a temp register and use it as the index for gather/scatter.

This pull request has now been integrated.

Changeset: ae030bcb
Author:    Xiaohong Gong <xgong at openjdk.org>
URL:       https://git.openjdk.org/jdk19/commit/ae030bcbc53fdfcfb748ae1e47e660f698b3fcb7
Stats:     334 lines in 4 files changed: 274 ins; 0 del; 60 mod

8288397: AArch64: Fix register issues in SVE backend match rules

Reviewed-by: njian, ngasson

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

PR: https://git.openjdk.org/jdk19/pull/17


More information about the hotspot-compiler-dev mailing list