#pragma GCC push_options
#pragma GCC target ("+nothing")
+/* Feature constants for CHKFEAT operation. */
+#define _CHKFEAT_GCS 1
+
__extension__ extern __inline uint64_t
__attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
__chkfeat (uint64_t __feat)
#include "ansidecl.h"
#include <stdbool.h>
+#include <arm_acle.h>
#define AARCH64_DWARF_REGNUM_RA_STATE 34
#define AARCH64_DWARF_RA_STATE_MASK 0x1
}
/* GCS enable flag for chkfeat instruction. */
-#define CHKFEAT_GCS 1
/* SME runtime function local to libgcc, streaming compatible
and preserves more registers than the base PCS requires, but
do \
{ \
__libgcc_arm_za_disable (); \
- if (__builtin_aarch64_chkfeat (CHKFEAT_GCS) == 0) \
+ if (__builtin_aarch64_chkfeat (_CHKFEAT_GCS) == 0) \
{ \
for (_Unwind_Word n = (x); n != 0; n--) \
__builtin_aarch64_gcspopm (); \
do \
{ \
frames++; \
- if (__builtin_aarch64_chkfeat (CHKFEAT_GCS) != 0 \
+ if (__builtin_aarch64_chkfeat (_CHKFEAT_GCS) != 0 \
|| exc->exception_class == 0 \
|| _Unwind_GetIP (context) == 0) \
break; \