Grok 12.0.1
Macros
set_macros-inl.h File Reference
#include "hwy/detect_compiler_arch.h"
#include "hwy/detect_targets.h"

Go to the source code of this file.

Macros

#define HWY_HAVE_TUPLE   1
 
#define HWY_MAX_N   1
 
#define HWY_MAX_POW2   3
 
#define HWY_MIN_POW2   -16
 
#define HWY_TARGET_STR_PCLMUL_AES   ",pclmul,aes"
 
#define HWY_TARGET_STR_BMI2_FMA   ",bmi,bmi2,fma"
 
#define HWY_TARGET_STR_F16C   ",f16c"
 
#define HWY_TARGET_STR_SSE2   "sse2"
 
#define HWY_TARGET_STR_SSSE3   "sse2,ssse3"
 
#define HWY_TARGET_STR_SSE4    HWY_TARGET_STR_SSSE3 ",sse4.1,sse4.2" HWY_TARGET_STR_PCLMUL_AES
 
#define HWY_TARGET_STR_AVX2    HWY_TARGET_STR_SSE4 ",avx,avx2" HWY_TARGET_STR_BMI2_FMA HWY_TARGET_STR_F16C
 
#define HWY_TARGET_STR_AVX3    HWY_TARGET_STR_AVX2 ",avx512f,avx512cd,avx512vl,avx512dq,avx512bw"
 
#define HWY_TARGET_STR_AVX3_DL
 
#define HWY_TARGET_STR_AVX3_ZEN4   HWY_TARGET_STR_AVX3_DL
 
#define HWY_TARGET_STR_AVX3_SPR   HWY_TARGET_STR_AVX3_ZEN4 ",avx512fp16"
 
#define HWY_TARGET_STR_PPC8_CRYPTO   ",crypto"
 
#define HWY_TARGET_STR_PPC8    "altivec,vsx,power8-vector" HWY_TARGET_STR_PPC8_CRYPTO
 
#define HWY_TARGET_STR_PPC9   HWY_TARGET_STR_PPC8 ",power9-vector"
 
#define HWY_TARGET_STR_PPC10   HWY_TARGET_STR_PPC9 ",cpu=power10,htm"
 
#define HWY_TARGET_STR_Z14   "arch=z14"
 
#define HWY_TARGET_STR_Z15   "arch=z15"
 
#define HWY_NAMESPACE   N_SSE2
 
#define HWY_ALIGN   alignas(16)
 
#define HWY_MAX_BYTES   16
 
#define HWY_LANES(T)   (16 / sizeof(T))
 
#define HWY_HAVE_SCALABLE   0
 
#define HWY_HAVE_INTEGER64   1
 
#define HWY_HAVE_FLOAT16   0
 
#define HWY_HAVE_FLOAT64   1
 
#define HWY_MEM_OPS_MIGHT_FAULT   1
 
#define HWY_NATIVE_FMA   0
 
#define HWY_CAP_GE256   0
 
#define HWY_CAP_GE512   0
 
#define HWY_TARGET_STR   HWY_TARGET_STR_SSE2
 
#define HWY_BEFORE_NAMESPACE()
 
#define HWY_AFTER_NAMESPACE()
 
#define HWY_ATTR
 

Macro Definition Documentation

◆ HWY_AFTER_NAMESPACE

#define HWY_AFTER_NAMESPACE ( )
Value:
HWY_POP_ATTRIBUTES \
static_assert(true, "For requiring trailing semicolon")

◆ HWY_ALIGN

#define HWY_ALIGN   alignas(16)

◆ HWY_ATTR

#define HWY_ATTR

◆ HWY_BEFORE_NAMESPACE

#define HWY_BEFORE_NAMESPACE ( )
Value:
static_assert(true, "For requiring trailing semicolon")
#define HWY_PUSH_ATTRIBUTES(targets_str)
Definition base.h:164
#define HWY_TARGET_STR
Definition set_macros-inl.h:180

◆ HWY_CAP_GE256

#define HWY_CAP_GE256   0

◆ HWY_CAP_GE512

#define HWY_CAP_GE512   0

◆ HWY_HAVE_FLOAT16

#define HWY_HAVE_FLOAT16   0

◆ HWY_HAVE_FLOAT64

#define HWY_HAVE_FLOAT64   1

◆ HWY_HAVE_INTEGER64

#define HWY_HAVE_INTEGER64   1

◆ HWY_HAVE_SCALABLE

#define HWY_HAVE_SCALABLE   0

◆ HWY_HAVE_TUPLE

#define HWY_HAVE_TUPLE   1

◆ HWY_LANES

#define HWY_LANES ( T)    (16 / sizeof(T))

◆ HWY_MAX_BYTES

#define HWY_MAX_BYTES   16

◆ HWY_MAX_N

#define HWY_MAX_N   1

◆ HWY_MAX_POW2

#define HWY_MAX_POW2   3

◆ HWY_MEM_OPS_MIGHT_FAULT

#define HWY_MEM_OPS_MIGHT_FAULT   1

◆ HWY_MIN_POW2

#define HWY_MIN_POW2   -16

◆ HWY_NAMESPACE

#define HWY_NAMESPACE   N_SSE2

Referenced by HWY_BEFORE_NAMESPACE().

◆ HWY_NATIVE_FMA

#define HWY_NATIVE_FMA   0

◆ HWY_TARGET_STR

#define HWY_TARGET_STR   HWY_TARGET_STR_SSE2

◆ HWY_TARGET_STR_AVX2

#define HWY_TARGET_STR_AVX2    HWY_TARGET_STR_SSE4 ",avx,avx2" HWY_TARGET_STR_BMI2_FMA HWY_TARGET_STR_F16C

◆ HWY_TARGET_STR_AVX3

#define HWY_TARGET_STR_AVX3    HWY_TARGET_STR_AVX2 ",avx512f,avx512cd,avx512vl,avx512dq,avx512bw"

◆ HWY_TARGET_STR_AVX3_DL

#define HWY_TARGET_STR_AVX3_DL
Value:
",vpclmulqdq,avx512vbmi,avx512vbmi2,vaes,avx512vnni,avx512bitalg," \
"avx512vpopcntdq,gfni"
#define HWY_TARGET_STR_AVX3
Definition set_macros-inl.h:114

◆ HWY_TARGET_STR_AVX3_SPR

#define HWY_TARGET_STR_AVX3_SPR   HWY_TARGET_STR_AVX3_ZEN4 ",avx512fp16"

◆ HWY_TARGET_STR_AVX3_ZEN4

#define HWY_TARGET_STR_AVX3_ZEN4   HWY_TARGET_STR_AVX3_DL

◆ HWY_TARGET_STR_BMI2_FMA

#define HWY_TARGET_STR_BMI2_FMA   ",bmi,bmi2,fma"

◆ HWY_TARGET_STR_F16C

#define HWY_TARGET_STR_F16C   ",f16c"

◆ HWY_TARGET_STR_PCLMUL_AES

#define HWY_TARGET_STR_PCLMUL_AES   ",pclmul,aes"

◆ HWY_TARGET_STR_PPC10

#define HWY_TARGET_STR_PPC10   HWY_TARGET_STR_PPC9 ",cpu=power10,htm"

◆ HWY_TARGET_STR_PPC8

#define HWY_TARGET_STR_PPC8    "altivec,vsx,power8-vector" HWY_TARGET_STR_PPC8_CRYPTO

◆ HWY_TARGET_STR_PPC8_CRYPTO

#define HWY_TARGET_STR_PPC8_CRYPTO   ",crypto"

◆ HWY_TARGET_STR_PPC9

#define HWY_TARGET_STR_PPC9   HWY_TARGET_STR_PPC8 ",power9-vector"

◆ HWY_TARGET_STR_SSE2

#define HWY_TARGET_STR_SSE2   "sse2"

◆ HWY_TARGET_STR_SSE4

#define HWY_TARGET_STR_SSE4    HWY_TARGET_STR_SSSE3 ",sse4.1,sse4.2" HWY_TARGET_STR_PCLMUL_AES

◆ HWY_TARGET_STR_SSSE3

#define HWY_TARGET_STR_SSSE3   "sse2,ssse3"

◆ HWY_TARGET_STR_Z14

#define HWY_TARGET_STR_Z14   "arch=z14"

◆ HWY_TARGET_STR_Z15

#define HWY_TARGET_STR_Z15   "arch=z15"