1  /* Defines for bits in AT_HWCAP.  AArch64 Linux version.
       2     Copyright (C) 2016-2023 Free Software Foundation, Inc.
       3     This file is part of the GNU C Library.
       4  
       5     The GNU C Library is free software; you can redistribute it and/or
       6     modify it under the terms of the GNU Lesser General Public
       7     License as published by the Free Software Foundation; either
       8     version 2.1 of the License, or (at your option) any later version.
       9  
      10     The GNU C Library is distributed in the hope that it will be useful,
      11     but WITHOUT ANY WARRANTY; without even the implied warranty of
      12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      13     Lesser General Public License for more details.
      14  
      15     You should have received a copy of the GNU Lesser General Public
      16     License along with the GNU C Library; if not, see
      17     <https://www.gnu.org/licenses/>.  */
      18  
      19  #if !defined (_SYS_AUXV_H)
      20  # error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
      21  #endif
      22  
      23  /* The following must match the kernel's <asm/hwcap.h> and update the
      24     list together with sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c.  */
      25  #define HWCAP_FP		(1 << 0)
      26  #define HWCAP_ASIMD		(1 << 1)
      27  #define HWCAP_EVTSTRM		(1 << 2)
      28  #define HWCAP_AES		(1 << 3)
      29  #define HWCAP_PMULL		(1 << 4)
      30  #define HWCAP_SHA1		(1 << 5)
      31  #define HWCAP_SHA2		(1 << 6)
      32  #define HWCAP_CRC32		(1 << 7)
      33  #define HWCAP_ATOMICS		(1 << 8)
      34  #define HWCAP_FPHP		(1 << 9)
      35  #define HWCAP_ASIMDHP		(1 << 10)
      36  #define HWCAP_CPUID		(1 << 11)
      37  #define HWCAP_ASIMDRDM		(1 << 12)
      38  #define HWCAP_JSCVT		(1 << 13)
      39  #define HWCAP_FCMA		(1 << 14)
      40  #define HWCAP_LRCPC		(1 << 15)
      41  #define HWCAP_DCPOP		(1 << 16)
      42  #define HWCAP_SHA3		(1 << 17)
      43  #define HWCAP_SM3		(1 << 18)
      44  #define HWCAP_SM4		(1 << 19)
      45  #define HWCAP_ASIMDDP		(1 << 20)
      46  #define HWCAP_SHA512		(1 << 21)
      47  #define HWCAP_SVE		(1 << 22)
      48  #define HWCAP_ASIMDFHM		(1 << 23)
      49  #define HWCAP_DIT		(1 << 24)
      50  #define HWCAP_USCAT		(1 << 25)
      51  #define HWCAP_ILRCPC		(1 << 26)
      52  #define HWCAP_FLAGM		(1 << 27)
      53  #define HWCAP_SSBS		(1 << 28)
      54  #define HWCAP_SB		(1 << 29)
      55  #define HWCAP_PACA		(1 << 30)
      56  #define HWCAP_PACG		(1UL << 31)
      57  
      58  #define HWCAP2_DCPODP		(1 << 0)
      59  #define HWCAP2_SVE2		(1 << 1)
      60  #define HWCAP2_SVEAES		(1 << 2)
      61  #define HWCAP2_SVEPMULL		(1 << 3)
      62  #define HWCAP2_SVEBITPERM	(1 << 4)
      63  #define HWCAP2_SVESHA3		(1 << 5)
      64  #define HWCAP2_SVESM4		(1 << 6)
      65  #define HWCAP2_FLAGM2		(1 << 7)
      66  #define HWCAP2_FRINT		(1 << 8)
      67  #define HWCAP2_SVEI8MM		(1 << 9)
      68  #define HWCAP2_SVEF32MM		(1 << 10)
      69  #define HWCAP2_SVEF64MM		(1 << 11)
      70  #define HWCAP2_SVEBF16		(1 << 12)
      71  #define HWCAP2_I8MM		(1 << 13)
      72  #define HWCAP2_BF16		(1 << 14)
      73  #define HWCAP2_DGH		(1 << 15)
      74  #define HWCAP2_RNG		(1 << 16)
      75  #define HWCAP2_BTI		(1 << 17)
      76  #define HWCAP2_MTE		(1 << 18)
      77  #define HWCAP2_ECV		(1 << 19)
      78  #define HWCAP2_AFP		(1 << 20)
      79  #define HWCAP2_RPRES		(1 << 21)
      80  #define HWCAP2_MTE3		(1 << 22)
      81  #define HWCAP2_SME		(1 << 23)
      82  #define HWCAP2_SME_I16I64	(1 << 24)
      83  #define HWCAP2_SME_F64F64	(1 << 25)
      84  #define HWCAP2_SME_I8I32	(1 << 26)
      85  #define HWCAP2_SME_F16F32	(1 << 27)
      86  #define HWCAP2_SME_B16F32	(1 << 28)
      87  #define HWCAP2_SME_F32F32	(1 << 29)
      88  #define HWCAP2_SME_FA64		(1 << 30)
      89  #define HWCAP2_WFXT		(1UL << 31)
      90  #define HWCAP2_EBF16		(1UL << 32)
      91  #define HWCAP2_SVE_EBF16	(1UL << 33)
      92  #define HWCAP2_CSSC		(1UL << 34)
      93  #define HWCAP2_RPRFM		(1UL << 35)
      94  #define HWCAP2_SVE2P1		(1UL << 36)
      95  #define HWCAP2_SME2		(1UL << 37)
      96  #define HWCAP2_SME2P1		(1UL << 38)
      97  #define HWCAP2_SME_I16I32	(1UL << 39)
      98  #define HWCAP2_SME_BI32I32	(1UL << 40)
      99  #define HWCAP2_SME_B16B16	(1UL << 41)
     100  #define HWCAP2_SME_F16F16	(1UL << 42)