RFR: 8284563: AArch64: bitperm feature detection for SVE2 on Linux
Ningsheng Jian
njian at openjdk.java.net
Fri Apr 15 10:04:40 UTC 2022
On Fri, 15 Apr 2022 05:45:58 GMT, Eric Liu <eliu at openjdk.org> wrote:
> 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
src/hotspot/cpu/aarch64/vm_version_aarch64.hpp line 132:
> 130: // Feature identification
> 131: #define CPU_FEATURE_DETECTION(id, name, bit) \
> 132: static bool supports_##name() { return (_features & CPU_##id) != 0; };
Having supports_a53mac() looks a bit weird to me.
-------------
PR: https://git.openjdk.java.net/jdk/pull/8258
More information about the hotspot-compiler-dev
mailing list