1#if __has_include(<sys/hwcap.h>) 2#include <sys/hwcap.h> 3#define HAVE_SYS_HWCAP_H 4#endif 5 6#ifndef _IFUNC_ARG_HWCAP 7#define _IFUNC_ARG_HWCAP (1ULL << 62) 8#endif 9#ifndef AT_HWCAP 10#define AT_HWCAP 16 11#endif 12#ifndef HWCAP_CPUID 13#define HWCAP_CPUID (1 << 11) 14#endif 15#ifndef HWCAP_FP 16#define HWCAP_FP (1 << 0) 17#endif 18#ifndef HWCAP_ASIMD 19#define HWCAP_ASIMD (1 << 1) 20#endif 21#ifndef HWCAP_AES 22#define HWCAP_AES (1 << 3) 23#endif 24#ifndef HWCAP_PMULL 25#define HWCAP_PMULL (1 << 4) 26#endif 27#ifndef HWCAP_SHA1 28#define HWCAP_SHA1 (1 << 5) 29#endif 30#ifndef HWCAP_SHA2 31#define HWCAP_SHA2 (1 << 6) 32#endif 33#ifndef HWCAP_CRC32 34#define HWCAP_CRC32 (1 << 7) 35#endif 36#ifndef HWCAP_ATOMICS 37#define HWCAP_ATOMICS (1 << 8) 38#endif 39#ifndef HWCAP_FPHP 40#define HWCAP_FPHP (1 << 9) 41#endif 42#ifndef HWCAP_ASIMDHP 43#define HWCAP_ASIMDHP (1 << 10) 44#endif 45#ifndef HWCAP_ASIMDRDM 46#define HWCAP_ASIMDRDM (1 << 12) 47#endif 48#ifndef HWCAP_JSCVT 49#define HWCAP_JSCVT (1 << 13) 50#endif 51#ifndef HWCAP_FCMA 52#define HWCAP_FCMA (1 << 14) 53#endif 54#ifndef HWCAP_LRCPC 55#define HWCAP_LRCPC (1 << 15) 56#endif 57#ifndef HWCAP_DCPOP 58#define HWCAP_DCPOP (1 << 16) 59#endif 60#ifndef HWCAP_SHA3 61#define HWCAP_SHA3 (1 << 17) 62#endif 63#ifndef HWCAP_SM3 64#define HWCAP_SM3 (1 << 18) 65#endif 66#ifndef HWCAP_SM4 67#define HWCAP_SM4 (1 << 19) 68#endif 69#ifndef HWCAP_ASIMDDP 70#define HWCAP_ASIMDDP (1 << 20) 71#endif 72#ifndef HWCAP_SHA512 73#define HWCAP_SHA512 (1 << 21) 74#endif 75#ifndef HWCAP_SVE 76#define HWCAP_SVE (1 << 22) 77#endif 78#ifndef HWCAP_ASIMDFHM 79#define HWCAP_ASIMDFHM (1 << 23) 80#endif 81#ifndef HWCAP_DIT 82#define HWCAP_DIT (1 << 24) 83#endif 84#ifndef HWCAP_ILRCPC 85#define HWCAP_ILRCPC (1 << 26) 86#endif 87#ifndef HWCAP_FLAGM 88#define HWCAP_FLAGM (1 << 27) 89#endif 90#ifndef HWCAP_SSBS 91#define HWCAP_SSBS (1 << 28) 92#endif 93#ifndef HWCAP_SB 94#define HWCAP_SB (1 << 29) 95#endif 96 97#ifndef AT_HWCAP2 98#define AT_HWCAP2 26 99#endif 100#ifndef HWCAP2_DCPODP 101#define HWCAP2_DCPODP (1 << 0) 102#endif 103#ifndef HWCAP2_SVE2 104#define HWCAP2_SVE2 (1 << 1) 105#endif 106#ifndef HWCAP2_SVEAES 107#define HWCAP2_SVEAES (1 << 2) 108#endif 109#ifndef HWCAP2_SVEPMULL 110#define HWCAP2_SVEPMULL (1 << 3) 111#endif 112#ifndef HWCAP2_SVEBITPERM 113#define HWCAP2_SVEBITPERM (1 << 4) 114#endif 115#ifndef HWCAP2_SVESHA3 116#define HWCAP2_SVESHA3 (1 << 5) 117#endif 118#ifndef HWCAP2_SVESM4 119#define HWCAP2_SVESM4 (1 << 6) 120#endif 121#ifndef HWCAP2_FLAGM2 122#define HWCAP2_FLAGM2 (1 << 7) 123#endif 124#ifndef HWCAP2_FRINT 125#define HWCAP2_FRINT (1 << 8) 126#endif 127#ifndef HWCAP2_SVEI8MM 128#define HWCAP2_SVEI8MM (1 << 9) 129#endif 130#ifndef HWCAP2_SVEF32MM 131#define HWCAP2_SVEF32MM (1 << 10) 132#endif 133#ifndef HWCAP2_SVEF64MM 134#define HWCAP2_SVEF64MM (1 << 11) 135#endif 136#ifndef HWCAP2_SVEBF16 137#define HWCAP2_SVEBF16 (1 << 12) 138#endif 139#ifndef HWCAP2_I8MM 140#define HWCAP2_I8MM (1 << 13) 141#endif 142#ifndef HWCAP2_BF16 143#define HWCAP2_BF16 (1 << 14) 144#endif 145#ifndef HWCAP2_DGH 146#define HWCAP2_DGH (1 << 15) 147#endif 148#ifndef HWCAP2_RNG 149#define HWCAP2_RNG (1 << 16) 150#endif 151#ifndef HWCAP2_BTI 152#define HWCAP2_BTI (1 << 17) 153#endif 154#ifndef HWCAP2_MTE 155#define HWCAP2_MTE (1 << 18) 156#endif 157#ifndef HWCAP2_RPRES 158#define HWCAP2_RPRES (1 << 21) 159#endif 160#ifndef HWCAP2_MTE3 161#define HWCAP2_MTE3 (1 << 22) 162#endif 163#ifndef HWCAP2_SME 164#define HWCAP2_SME (1 << 23) 165#endif 166#ifndef HWCAP2_SME_I16I64 167#define HWCAP2_SME_I16I64 (1 << 24) 168#endif 169#ifndef HWCAP2_SME_F64F64 170#define HWCAP2_SME_F64F64 (1 << 25) 171#endif 172#ifndef HWCAP2_WFXT 173#define HWCAP2_WFXT (1UL << 31) 174#endif 175#ifndef HWCAP2_EBF16 176#define HWCAP2_EBF16 (1ULL << 32) 177#endif 178#ifndef HWCAP2_SVE_EBF16 179#define HWCAP2_SVE_EBF16 (1ULL << 33) 180#endif 181