#include <arm/cpu_capabilities_public.h>
arm/cpu_capabilities_public.h
In order to reduce the number of sysctls require for a process to get
the full list of supported processor capabilities extensions, the
hw.optional.arm.caps sysctl generates a bit buffer with each bit representing
the presence (1) or absence (0) of a given FEAT extension.
macroHW_OPTIONAL_ARM_CAPS
#define HW_OPTIONAL_ARM_CAPS
macroCAP_BIT_FEAT_FlagM
#define CAP_BIT_FEAT_FlagM 0
macroCAP_BIT_FEAT_FlagM2
#define CAP_BIT_FEAT_FlagM2 1
macroCAP_BIT_FEAT_FHM
#define CAP_BIT_FEAT_FHM 2
macroCAP_BIT_FEAT_DotProd
#define CAP_BIT_FEAT_DotProd 3
macroCAP_BIT_FEAT_SHA3
#define CAP_BIT_FEAT_SHA3 4
macroCAP_BIT_FEAT_RDM
#define CAP_BIT_FEAT_RDM 5
macroCAP_BIT_FEAT_LSE
#define CAP_BIT_FEAT_LSE 6
macroCAP_BIT_FEAT_SHA256
#define CAP_BIT_FEAT_SHA256 7
macroCAP_BIT_FEAT_SHA512
#define CAP_BIT_FEAT_SHA512 8
macroCAP_BIT_FEAT_SHA1
#define CAP_BIT_FEAT_SHA1 9
macroCAP_BIT_FEAT_AES
#define CAP_BIT_FEAT_AES 10
macroCAP_BIT_FEAT_PMULL
#define CAP_BIT_FEAT_PMULL 11
macroCAP_BIT_FEAT_SPECRES
#define CAP_BIT_FEAT_SPECRES 12
macroCAP_BIT_FEAT_SB
#define CAP_BIT_FEAT_SB 13
macroCAP_BIT_FEAT_FRINTTS
#define CAP_BIT_FEAT_FRINTTS 14
macroCAP_BIT_FEAT_LRCPC
#define CAP_BIT_FEAT_LRCPC 15
macroCAP_BIT_FEAT_LRCPC2
#define CAP_BIT_FEAT_LRCPC2 16
macroCAP_BIT_FEAT_FCMA
#define CAP_BIT_FEAT_FCMA 17
macroCAP_BIT_FEAT_JSCVT
#define CAP_BIT_FEAT_JSCVT 18
macroCAP_BIT_FEAT_PAuth
#define CAP_BIT_FEAT_PAuth 19
macroCAP_BIT_FEAT_PAuth2
#define CAP_BIT_FEAT_PAuth2 20
macroCAP_BIT_FEAT_FPAC
#define CAP_BIT_FEAT_FPAC 21
macroCAP_BIT_FEAT_DPB
#define CAP_BIT_FEAT_DPB 22
macroCAP_BIT_FEAT_DPB2
#define CAP_BIT_FEAT_DPB2 23
macroCAP_BIT_FEAT_BF16
#define CAP_BIT_FEAT_BF16 24
macroCAP_BIT_FEAT_I8MM
#define CAP_BIT_FEAT_I8MM 25
macroCAP_BIT_FEAT_WFxT
#define CAP_BIT_FEAT_WFxT 26
macroCAP_BIT_FEAT_RPRES
#define CAP_BIT_FEAT_RPRES 27
macroCAP_BIT_FEAT_ECV
#define CAP_BIT_FEAT_ECV 28
macroCAP_BIT_FEAT_AFP
#define CAP_BIT_FEAT_AFP 29
macroCAP_BIT_FEAT_LSE2
#define CAP_BIT_FEAT_LSE2 30
macroCAP_BIT_FEAT_CSV2
#define CAP_BIT_FEAT_CSV2 31
macroCAP_BIT_FEAT_CSV3
#define CAP_BIT_FEAT_CSV3 32
macroCAP_BIT_FEAT_DIT
#define CAP_BIT_FEAT_DIT 33
macroCAP_BIT_FEAT_FP16
#define CAP_BIT_FEAT_FP16 34
macroCAP_BIT_FEAT_SSBS
#define CAP_BIT_FEAT_SSBS 35
macroCAP_BIT_FEAT_BTI
#define CAP_BIT_FEAT_BTI 36
macroCAP_BIT_FEAT_SME2
#define CAP_BIT_FEAT_SME2 41
macroCAP_BIT_FEAT_SME_F64F64
#define CAP_BIT_FEAT_SME_F64F64 42
macroCAP_BIT_FEAT_SME_I16I64
#define CAP_BIT_FEAT_SME_I16I64 43
macroCAP_BIT_FEAT_SME2p1
#define CAP_BIT_FEAT_SME2p1 44
macroCAP_BIT_FEAT_SME_F16F16
#define CAP_BIT_FEAT_SME_F16F16 45
macroCAP_BIT_FEAT_SME_B16B16
#define CAP_BIT_FEAT_SME_B16B16 46
macroCAP_BIT_FEAT_SME_F8F16
#define CAP_BIT_FEAT_SME_F8F16 47
macroCAP_BIT_FEAT_SME_F8F32
#define CAP_BIT_FEAT_SME_F8F32 48
macroCAP_BIT_AdvSIMD
#define CAP_BIT_AdvSIMD 49
macroCAP_BIT_AdvSIMD_HPFPCvt
#define CAP_BIT_AdvSIMD_HPFPCvt 50
macroCAP_BIT_FEAT_CRC32
#define CAP_BIT_FEAT_CRC32 51
macroCAP_BIT_SME_F32F32
#define CAP_BIT_SME_F32F32 52
macroCAP_BIT_SME_BI32I32
#define CAP_BIT_SME_BI32I32 53
macroCAP_BIT_SME_B16F32
#define CAP_BIT_SME_B16F32 54
macroCAP_BIT_SME_F16F32
#define CAP_BIT_SME_F16F32 55
macroCAP_BIT_SME_I8I32
#define CAP_BIT_SME_I8I32 56
macroCAP_BIT_SME_I16I32
#define CAP_BIT_SME_I16I32 57
macroCAP_BIT_FEAT_PACIMP
#define CAP_BIT_FEAT_PACIMP 58
macroCAP_BIT_FEAT_MTE
#define CAP_BIT_FEAT_MTE 60
macroCAP_BIT_FEAT_MTE2
#define CAP_BIT_FEAT_MTE2 61
macroCAP_BIT_FEAT_MTE3
#define CAP_BIT_FEAT_MTE3 62
macroCAP_BIT_FEAT_MTE4
#define CAP_BIT_FEAT_MTE4 63
macroCAP_BIT_FEAT_HBC
#define CAP_BIT_FEAT_HBC 64
macroCAP_BIT_FEAT_EBF16
#define CAP_BIT_FEAT_EBF16 65
macroCAP_BIT_FEAT_SPECRES2
#define CAP_BIT_FEAT_SPECRES2 66
macroCAP_BIT_FEAT_CSSC
#define CAP_BIT_FEAT_CSSC 67
macroCAP_BIT_FEAT_FPACCOMBINE
#define CAP_BIT_FEAT_FPACCOMBINE 68
macroCAP_BIT_FEAT_MTE_ASYNC
#define CAP_BIT_FEAT_MTE_ASYNC 69
macroCAP_BIT_FEAT_MTE_CANONICAL_TAGS
#define CAP_BIT_FEAT_MTE_CANONICAL_TAGS 70
macroCAP_BIT_FEAT_MTE_STORE_ONLY
#define CAP_BIT_FEAT_MTE_STORE_ONLY 71
macroCAP_BIT_FEAT_MTE_NO_ADDRESS_TAGS
#define CAP_BIT_FEAT_MTE_NO_ADDRESS_TAGS 72
macroCAP_BIT_FP_SyncExceptions
#define CAP_BIT_FP_SyncExceptions 73
macroCAP_BIT_FEAT_SVE_B16B16
#define CAP_BIT_FEAT_SVE_B16B16 91
macroCAP_BIT_CRC32
Legacy definitions for backwards compatibility
#define CAP_BIT_CRC32 CAP_BIT_FEAT_CRC32