Developer Guide and Reference

Contents

allow_cpu_features

Provides the ability for a function to use intrinsic functions and architecture specific functionality.

Syntax

Windows* OS:
__declspec(allow_cpu_features
(
featp1
[
,
featp2
]
)
)
Linux* OS:
__attribute__((allow_cpu_features
(
featp1
[
,
featp2
]
)
)
)
Arguments
featp1
Specifies features to allow for the function. Values are integral constant expressions that evaluate to the page one bitmask of permissible features from the libirc CPUID information. The evaluated type is an unsigned 64-bit integer which permits use of template-dependent code. Possible values are:
  • _FEATURE_GENERIC_IA32
  • _FEATURE_FPU
  • _FEATURE_CMOV
  • _FEATURE_MMX
  • _FEATURE_FXSAVE
  • _FEATURE_SSE
  • _FEATURE_SSE2
  • _FEATURE_SSE3
  • _FEATURE_SSSE3
  • _FEATURE_SSE4_1
  • _FEATURE_SSE4_2
  • _FEATURE_MOVBE
  • _FEATURE_POPCNT
  • _FEATURE_PCLMULQDQ
  • _FEATURE_AES
  • _FEATURE_F16C
  • _FEATURE_AVX
  • _FEATURE_RDRND
  • _FEATURE_FMA
  • _FEATURE_BMI
  • _FEATURE_LZCNT
  • _FEATURE_HLE
  • _FEATURE_RTM
  • _FEATURE_AVX2
  • _FEATURE_AVX512DQ
  • _FEATURE_PTWRITE
  • _FEATURE_AVX512F
  • _FEATURE_ADX
  • _FEATURE_RDSEED
  • _FEATURE_AVX512IFMA52
  • _FEATURE_AVX512ER
  • _FEATURE_AVX512PF
  • _FEATURE_AVX512CD
  • _FEATURE_SHA
  • _FEATURE_MPX
  • _FEATURE_AVX512BW
  • _FEATURE_AVX512VL
  • _FEATURE_AVX512VBMI
  • _FEATURE_AVX512_4FMAPS
  • _FEATURE_AVX512_4VNNIW
  • _FEATURE_AVX512_VPOPCNTDQ
  • _FEATURE_AVX512_BITALG
  • _FEATURE_AVX512_VBMI2
  • _FEATURE_GFNI
  • _FEATURE_VAES
  • _FEATURE_VPCLMULQDQ
  • _FEATURE_AVX512_VNNI
  • _FEATURE_CLWB
  • _FEATURE_RDPID
  • _FEATURE_IBT
  • _FEATURE_SHSTK
  • _FEATURE_SGX
  • _FEATURE_WBNOINVD
  • _FEATURE_PCONFIG
  • _FEATURE_AXV512_VP2INTERSECT
featp2
Optional. Specifies features to allow for the function. Values are integral constant expressions that evaluate to the page two bitmask of permissible features from the libirc CPUID information. The evaluated type is an unsigned 64-bit integer which permits use of template-dependent code. If only features from page two are desired, specify 0 for
featp1
. Possible values are:
  • _FEATURE_CLDEMOTE
  • _FEATURE_MOVDIRI
  • _FEATURE_MOVDIR64B
  • _FEATURE_WAITPKG
  • _FEATURE_AVX512_Bf16
  • _FEATURE_ENQCMD
  • _FEATURE_AVX_VNNI
  • _FEATURE_AMX_TILE
  • _FEATURE_AMX_INT8
  • _FEATURE_AMX_BF16
  • _FEATURE_KL
  • _FEATURE_WIDE_KL
Description
This keyword can be added to a function to specify intrinsic functions and architecture specific functionality that the function is allowed to use. The function is generated as if the specified features are available.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.