RFR: 8284563: AArch64: bitperm feature detection for SVE2 on Linux

Eric Liu eliu at openjdk.java.net
Fri Apr 15 05:52:01 UTC 2022


This patch adds BITPERM feature detection for SVE2 on Linux. BITPERM is
an optional feature in SVE2 [1]. It enables 3 SVE2 instructions (BEXT,
BDEP, BGRP). BEXT and BDEP map efficiently to some vector operations,
e.g., the compress and expand functionalities [2] which are proposed in
VectorAPI's 4th incubation [3]. Besides, to generate specific code based
on different architecture features like x86, this patch exports
VM_Version::supports_XXX() for all CPU features.  E.g.,
VM_Version::supports_svebitperm() for easy use.

This patch also fixes a trivial bug, that sets UseSVE back to 1 if it's
2 in SVE1 system.

[1] https://developer.arm.com/documentation/ddi0601/2022-03/AArch64-Registers/ID-AA64ZFR0-EL1--SVE-Feature-ID-register-0
[2] https://bugs.openjdk.java.net/browse/JDK-8283893
[3] https://bugs.openjdk.java.net/browse/JDK-8280173

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

Commit messages:
 - 8284563: AArch64: bitperm feature detection for SVE2 on Linux

Changes: https://git.openjdk.java.net/jdk/pull/8258/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=8258&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8284563
  Stats: 63 lines in 5 files changed: 23 ins; 1 del; 39 mod
  Patch: https://git.openjdk.java.net/jdk/pull/8258.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/8258/head:pull/8258

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


More information about the hotspot-dev mailing list