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