Integrated: 8284125: AArch64: Remove partial masked operations for SVE

Eric Liu eliu at openjdk.java.net
Tue Apr 12 13:21:50 UTC 2022


On Thu, 7 Apr 2022 13:10:57 GMT, Eric Liu <eliu at openjdk.org> wrote:

> Currently there are match rules named as xxx_masked_partial, which are
> expected to work on masked vector operations when the vector size is not
> the full size of hardware vector reg width, i.e. partial vector. Those
> rules will make sure the given masked (predicate) high bits are cleared
> with vector width. Actually, for those masked rules with predicate
> input, if we can guarantee the input predicate high bits are already
> cleared with vector width, we don't need to re-do the clear work before
> use. Currently, there are only 4 nodes on AArch64 backend which
> initializes (defines) predicate registers:
> 
>   1.MaskAllNode
>   2.VectorLoadMaskNode
>   3.VectorMaskGen
>   4.VectorMaskCmp
> 
> We can ensure that the predicate register will be well initialized with
> proper vector size, so that most of the masked partial rules with a mask
> input could be removed.
> 
> [TEST]
> vector api jtreg tests passed on my SVE testing system.

This pull request has now been integrated.

Changeset: a5378fb8
Author:    Eric Liu <eliu at openjdk.org>
Committer: Nick Gasson <ngasson at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/a5378fb8c065459d4368331babeb4431224038d2
Stats:     1501 lines in 2 files changed: 219 ins; 1169 del; 113 mod

8284125: AArch64: Remove partial masked operations for SVE

Reviewed-by: njian, ngasson

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

PR: https://git.openjdk.java.net/jdk/pull/8144


More information about the hotspot-compiler-dev mailing list