/* GENERATED FILE */ #pragma once // 41 HasXXX() functions used by decode: #define HasBF16() (ctx->features0 & ARCH_FEATURE_BF16) #define HasBTI() (ctx->features0 & ARCH_FEATURE_BTI) #define HasDGH() (ctx->features0 & ARCH_FEATURE_DGH) #define HasDotProd() (ctx->features0 & ARCH_FEATURE_DotProd) #define HasF32MM() (ctx->features0 & ARCH_FEATURE_F32MM) #define HasF64MM() (ctx->features0 & ARCH_FEATURE_F64MM) #define HasFCMA() (ctx->features0 & ARCH_FEATURE_FCMA) #define HasFHM() (ctx->features0 & ARCH_FEATURE_FHM) #define HasFP16() (ctx->features0 & ARCH_FEATURE_FP16) #define HasFRINTTS() (ctx->features0 & ARCH_FEATURE_FRINTTS) #define HasFlagM() (ctx->features0 & ARCH_FEATURE_FlagM) #define HasFlagM2() (ctx->features0 & ARCH_FEATURE_FlagM2) #define HasI8MM() (ctx->features0 & ARCH_FEATURE_I8MM) #define HasJSCVT() (ctx->features0 & ARCH_FEATURE_JSCVT) #define HasLOR() (ctx->features0 & ARCH_FEATURE_LOR) #define HasLRCPC() (ctx->features0 & ARCH_FEATURE_LRCPC) #define HasLRCPC2() (ctx->features0 & ARCH_FEATURE_LRCPC2) #define HasLS64() (ctx->features0 & ARCH_FEATURE_LS64) #define HasLS64_V() (ctx->features0 & ARCH_FEATURE_LS64_V) #define HasLSE() (ctx->features0 & ARCH_FEATURE_LSE) #define HasMTE() (ctx->features0 & ARCH_FEATURE_MTE) #define HasMTE2() (ctx->features0 & ARCH_FEATURE_MTE2) #define HasPAuth() (ctx->features0 & ARCH_FEATURE_PAuth) #define HasRAS() (ctx->features0 & ARCH_FEATURE_RAS) #define HasRDM() (ctx->features0 & ARCH_FEATURE_RDM) #define HasSHA3() (ctx->features0 & ARCH_FEATURE_SHA3) #define HasSHA512() (ctx->features0 & ARCH_FEATURE_SHA512) #define HasSM3() (ctx->features0 & ARCH_FEATURE_SM3) #define HasSM4() (ctx->features0 & ARCH_FEATURE_SM4) #define HasSME() (ctx->features0 & ARCH_FEATURE_SME) #define HasSME_F64F64() (ctx->features0 & ARCH_FEATURE_SME_F64F64) #define HasSME_I16I64() (ctx->features0 & ARCH_FEATURE_SME_I16I64) #define HasSPE() (ctx->features0 & ARCH_FEATURE_SPE) #define HasSVE_AES() (ctx->features0 & ARCH_FEATURE_SVE_AES) #define HasSVE_BitPerm() (ctx->features0 & ARCH_FEATURE_SVE_BitPerm) #define HasSVE_SHA3() (ctx->features0 & ARCH_FEATURE_SVE_SHA3) #define HasSVE_SM4() (ctx->features0 & ARCH_FEATURE_SVE_SM4) #define HasTME() (ctx->features0 & ARCH_FEATURE_TME) #define HasTRF() (ctx->features0 & ARCH_FEATURE_TRF) #define HasWFxT() (ctx->features0 & ARCH_FEATURE_WFxT) #define HasXS() (ctx->features0 & ARCH_FEATURE_XS) // 52 HaveXXX() functions used by pcode: #define HaveAESExt() (ctx->features1 & ARCH_FEATURE_AESExt) #define HaveAtomicExt() (ctx->features1 & ARCH_FEATURE_AtomicExt) #define HaveBF16Ext() (ctx->features1 & ARCH_FEATURE_BF16Ext) #define HaveBTIExt() (ctx->features1 & ARCH_FEATURE_BTIExt) #define HaveBit128PMULLExt() (ctx->features1 & ARCH_FEATURE_Bit128PMULLExt) #define HaveCRCExt() (ctx->features1 & ARCH_FEATURE_CRCExt) #define HaveDGHExt() (ctx->features1 & ARCH_FEATURE_DGHExt) #define HaveDITExt() (ctx->features1 & ARCH_FEATURE_DITExt) #define HaveDOTPExt() (ctx->features1 & ARCH_FEATURE_DOTPExt) #define HaveFCADDExt() (ctx->features1 & ARCH_FEATURE_FCADDExt) #define HaveFJCVTZSExt() (ctx->features1 & ARCH_FEATURE_FJCVTZSExt) #define HaveFP16Ext() (ctx->features1 & ARCH_FEATURE_FP16Ext) #define HaveFP16MulNoRoundingToFP32Ext() (ctx->features1 & ARCH_FEATURE_FP16MulNoRoundingToFP32Ext) #define HaveFeatLS64() (ctx->features1 & ARCH_FEATURE_FeatLS64) #define HaveFeatWFxT() (ctx->features1 & ARCH_FEATURE_FeatWFxT) #define HaveFeatXS() (ctx->features1 & ARCH_FEATURE_FeatXS) #define HaveFlagFormatExt() (ctx->features1 & ARCH_FEATURE_FlagFormatExt) #define HaveFlagManipulateExt() (ctx->features1 & ARCH_FEATURE_FlagManipulateExt) #define HaveFrintExt() (ctx->features1 & ARCH_FEATURE_FrintExt) #define HaveInt8MatMulExt() (ctx->features1 & ARCH_FEATURE_Int8MatMulExt) #define HaveMTE2Ext() (ctx->features1 & ARCH_FEATURE_MTE2Ext) #define HaveMTEExt() (ctx->features1 & ARCH_FEATURE_MTEExt) #define HaveNVExt() (ctx->features1 & ARCH_FEATURE_NVExt) #define HavePACExt() (ctx->features1 & ARCH_FEATURE_PACExt) #define HavePANExt() (ctx->features1 & ARCH_FEATURE_PANExt) #define HaveQRDMLAHExt() (ctx->features1 & ARCH_FEATURE_QRDMLAHExt) #define HaveRASExt() (ctx->features1 & ARCH_FEATURE_RASExt) #define HaveSBExt() (ctx->features1 & ARCH_FEATURE_SBExt) #define HaveSHA1Ext() (ctx->features1 & ARCH_FEATURE_SHA1Ext) #define HaveSHA256Ext() (ctx->features1 & ARCH_FEATURE_SHA256Ext) #define HaveSHA3Ext() (ctx->features1 & ARCH_FEATURE_SHA3Ext) #define HaveSHA512Ext() (ctx->features1 & ARCH_FEATURE_SHA512Ext) #define HaveSM3Ext() (ctx->features1 & ARCH_FEATURE_SM3Ext) #define HaveSM4Ext() (ctx->features1 & ARCH_FEATURE_SM4Ext) #define HaveSME() (ctx->features1 & ARCH_FEATURE_SME) #define HaveSMEF64F64() (ctx->features1 & ARCH_FEATURE_SMEF64F64) #define HaveSMEI16I64() (ctx->features1 & ARCH_FEATURE_SMEI16I64) #define HaveSSBSExt() (ctx->features1 & ARCH_FEATURE_SSBSExt) #define HaveSVE() (ctx->features1 & ARCH_FEATURE_SVE) #define HaveSVE2() (ctx->features1 & ARCH_FEATURE_SVE2) #define HaveSVE2AES() (ctx->features1 & ARCH_FEATURE_SVE2AES) #define HaveSVE2BitPerm() (ctx->features1 & ARCH_FEATURE_SVE2BitPerm) #define HaveSVE2PMULL128() (ctx->features1 & ARCH_FEATURE_SVE2PMULL128) #define HaveSVE2SHA3() (ctx->features1 & ARCH_FEATURE_SVE2SHA3) #define HaveSVE2SM4() (ctx->features1 & ARCH_FEATURE_SVE2SM4) #define HaveSVEFP32MatMulExt() (ctx->features1 & ARCH_FEATURE_SVEFP32MatMulExt) #define HaveSVEFP64MatMulExt() (ctx->features1 & ARCH_FEATURE_SVEFP64MatMulExt) #define HaveSelfHostedTrace() (ctx->features1 & ARCH_FEATURE_SelfHostedTrace) #define HaveStatisticalProfiling() (ctx->features1 & ARCH_FEATURE_StatisticalProfiling) #define HaveTME() (ctx->features1 & ARCH_FEATURE_TME) #define HaveUAOExt() (ctx->features1 & ARCH_FEATURE_UAOExt) #define HaveVirtHostExt() (ctx->features1 & ARCH_FEATURE_VirtHostExt) // defines for features referenced at decode #define ARCH_FEATURE_BF16 ((uint64_t)1<<0) #define ARCH_FEATURE_BTI ((uint64_t)1<<1) #define ARCH_FEATURE_DGH ((uint64_t)1<<2) #define ARCH_FEATURE_DotProd ((uint64_t)1<<3) #define ARCH_FEATURE_F32MM ((uint64_t)1<<4) #define ARCH_FEATURE_F64MM ((uint64_t)1<<5) #define ARCH_FEATURE_FCMA ((uint64_t)1<<6) #define ARCH_FEATURE_FHM ((uint64_t)1<<7) #define ARCH_FEATURE_FP16 ((uint64_t)1<<8) #define ARCH_FEATURE_FRINTTS ((uint64_t)1<<9) #define ARCH_FEATURE_FlagM ((uint64_t)1<<10) #define ARCH_FEATURE_FlagM2 ((uint64_t)1<<11) #define ARCH_FEATURE_I8MM ((uint64_t)1<<12) #define ARCH_FEATURE_JSCVT ((uint64_t)1<<13) #define ARCH_FEATURE_LOR ((uint64_t)1<<14) #define ARCH_FEATURE_LRCPC ((uint64_t)1<<15) #define ARCH_FEATURE_LRCPC2 ((uint64_t)1<<16) #define ARCH_FEATURE_LS64 ((uint64_t)1<<17) #define ARCH_FEATURE_LS64_V ((uint64_t)1<<18) #define ARCH_FEATURE_LSE ((uint64_t)1<<19) #define ARCH_FEATURE_MTE ((uint64_t)1<<20) #define ARCH_FEATURE_MTE2 ((uint64_t)1<<21) #define ARCH_FEATURE_PAuth ((uint64_t)1<<22) #define ARCH_FEATURE_RAS ((uint64_t)1<<23) #define ARCH_FEATURE_RDM ((uint64_t)1<<24) #define ARCH_FEATURE_SHA3 ((uint64_t)1<<25) #define ARCH_FEATURE_SHA512 ((uint64_t)1<<26) #define ARCH_FEATURE_SM3 ((uint64_t)1<<27) #define ARCH_FEATURE_SM4 ((uint64_t)1<<28) #define ARCH_FEATURE_SME ((uint64_t)1<<29) #define ARCH_FEATURE_SME_F64F64 ((uint64_t)1<<30) #define ARCH_FEATURE_SME_I16I64 ((uint64_t)1<<31) #define ARCH_FEATURE_SPE ((uint64_t)1<<32) #define ARCH_FEATURE_SVE_AES ((uint64_t)1<<33) #define ARCH_FEATURE_SVE_BitPerm ((uint64_t)1<<34) #define ARCH_FEATURE_SVE_SHA3 ((uint64_t)1<<35) #define ARCH_FEATURE_SVE_SM4 ((uint64_t)1<<36) #define ARCH_FEATURE_TME ((uint64_t)1<<37) #define ARCH_FEATURE_TRF ((uint64_t)1<<38) #define ARCH_FEATURE_WFxT ((uint64_t)1<<39) #define ARCH_FEATURE_XS ((uint64_t)1<<40) // defines for features referenced by pcode #define ARCH_FEATURE_AESExt ((uint64_t)1<<0) #define ARCH_FEATURE_AtomicExt ((uint64_t)1<<1) #define ARCH_FEATURE_BF16Ext ((uint64_t)1<<2) #define ARCH_FEATURE_BTIExt ((uint64_t)1<<3) #define ARCH_FEATURE_Bit128PMULLExt ((uint64_t)1<<4) #define ARCH_FEATURE_CRCExt ((uint64_t)1<<5) #define ARCH_FEATURE_DGHExt ((uint64_t)1<<6) #define ARCH_FEATURE_DITExt ((uint64_t)1<<7) #define ARCH_FEATURE_DOTPExt ((uint64_t)1<<8) #define ARCH_FEATURE_FCADDExt ((uint64_t)1<<9) #define ARCH_FEATURE_FJCVTZSExt ((uint64_t)1<<10) #define ARCH_FEATURE_FP16Ext ((uint64_t)1<<11) #define ARCH_FEATURE_FP16MulNoRoundingToFP32Ext ((uint64_t)1<<12) #define ARCH_FEATURE_FeatLS64 ((uint64_t)1<<13) #define ARCH_FEATURE_FeatWFxT ((uint64_t)1<<14) #define ARCH_FEATURE_FeatXS ((uint64_t)1<<15) #define ARCH_FEATURE_FlagFormatExt ((uint64_t)1<<16) #define ARCH_FEATURE_FlagManipulateExt ((uint64_t)1<<17) #define ARCH_FEATURE_FrintExt ((uint64_t)1<<18) #define ARCH_FEATURE_Int8MatMulExt ((uint64_t)1<<19) #define ARCH_FEATURE_MTE2Ext ((uint64_t)1<<20) #define ARCH_FEATURE_MTEExt ((uint64_t)1<<21) #define ARCH_FEATURE_NVExt ((uint64_t)1<<22) #define ARCH_FEATURE_PACExt ((uint64_t)1<<23) #define ARCH_FEATURE_PANExt ((uint64_t)1<<24) #define ARCH_FEATURE_QRDMLAHExt ((uint64_t)1<<25) #define ARCH_FEATURE_RASExt ((uint64_t)1<<26) #define ARCH_FEATURE_SBExt ((uint64_t)1<<27) #define ARCH_FEATURE_SHA1Ext ((uint64_t)1<<28) #define ARCH_FEATURE_SHA256Ext ((uint64_t)1<<29) #define ARCH_FEATURE_SHA3Ext ((uint64_t)1<<30) #define ARCH_FEATURE_SHA512Ext ((uint64_t)1<<31) #define ARCH_FEATURE_SM3Ext ((uint64_t)1<<32) #define ARCH_FEATURE_SM4Ext ((uint64_t)1<<33) //#define ARCH_FEATURE_SME ((uint64_t)1<<34) #define ARCH_FEATURE_SMEF64F64 ((uint64_t)1<<35) #define ARCH_FEATURE_SMEI16I64 ((uint64_t)1<<36) #define ARCH_FEATURE_SSBSExt ((uint64_t)1<<37) #define ARCH_FEATURE_SVE ((uint64_t)1<<38) #define ARCH_FEATURE_SVE2 ((uint64_t)1<<39) #define ARCH_FEATURE_SVE2AES ((uint64_t)1<<40) #define ARCH_FEATURE_SVE2BitPerm ((uint64_t)1<<41) #define ARCH_FEATURE_SVE2PMULL128 ((uint64_t)1<<42) #define ARCH_FEATURE_SVE2SHA3 ((uint64_t)1<<43) #define ARCH_FEATURE_SVE2SM4 ((uint64_t)1<<44) #define ARCH_FEATURE_SVEFP32MatMulExt ((uint64_t)1<<45) #define ARCH_FEATURE_SVEFP64MatMulExt ((uint64_t)1<<46) #define ARCH_FEATURE_SelfHostedTrace ((uint64_t)1<<47) #define ARCH_FEATURE_StatisticalProfiling ((uint64_t)1<<48) //#define ARCH_FEATURE_TME ((uint64_t)1<<49) #define ARCH_FEATURE_UAOExt ((uint64_t)1<<50) #define ARCH_FEATURE_VirtHostExt ((uint64_t)1<<51) #define ARCH_FEATURES_ALL 0xFFFFFFFFFFFFFFFF