RFR: 8276985: AArch64: [vectorapi] Backend support of VectorMaskToLongNode

Eric Liu eliu at openjdk.java.net
Mon Nov 29 09:48:30 UTC 2021


The lack of codegen for VectorMaskToLong results in a regression on
AArch64 for VectorMask.laneIsSet, which relies on the intrinsification
of VectorMask.toLong after JDK-8273949.

This patch implements bitmask extraction on AArch64 for NEON and SVE by
using scalar instructions, which is equivalent to the PMOVMSK
instructions on X86. The performance of VectorMask.laneIsSet improves
about 10x for NEON and 2x~4x for SVE on my test machines.

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

Commit messages:
 - 8276985: AArch64: [vectorapi] Backend support of VectorMaskToLongNode

Changes: https://git.openjdk.java.net/jdk/pull/6585/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=6585&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8276985
  Stats: 152 lines in 6 files changed: 152 ins; 0 del; 0 mod
  Patch: https://git.openjdk.java.net/jdk/pull/6585.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/6585/head:pull/6585

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


More information about the hotspot-compiler-dev mailing list