Grok  9.5.0
Macros
detect_targets.h File Reference
#include "hwy/detect_compiler_arch.h"

Go to the source code of this file.

Macros

#define HWY_AVX3_DL   4
 
#define HWY_AVX3   8
 
#define HWY_AVX2   16
 
#define HWY_SSE4   64
 
#define HWY_SSSE3   128
 
#define HWY_HIGHEST_TARGET_BIT_X86   9
 
#define HWY_SVE2   0x400
 
#define HWY_SVE   0x800
 
#define HWY_NEON   0x2000
 
#define HWY_HIGHEST_TARGET_BIT_ARM   13
 
#define HWY_PPC8   0x10000
 
#define HWY_HIGHEST_TARGET_BIT_PPC   18
 
#define HWY_WASM   0x100000
 
#define HWY_HIGHEST_TARGET_BIT_WASM   20
 
#define HWY_RVV   0x1000000
 
#define HWY_HIGHEST_TARGET_BIT_RVV   24
 
#define HWY_SCALAR   0x20000000
 
#define HWY_HIGHEST_TARGET_BIT_SCALAR   29
 
#define HWY_DISABLED_TARGETS   0
 
#define HWY_BROKEN_TARGETS   0
 
#define HWY_ENABLED(targets)    ((targets) & ~((HWY_DISABLED_TARGETS) | (HWY_BROKEN_TARGETS)))
 
#define HWY_BASELINE_WASM   0
 
#define HWY_BASELINE_PPC8   0
 
#define HWY_BASELINE_SVE2   0
 
#define HWY_BASELINE_SVE   0
 
#define HWY_BASELINE_NEON   0
 
#define HWY_CHECK_SSSE3   0
 
#define HWY_CHECK_SSE4   0
 
#define HWY_CHECK_PCLMUL_AES   0
 
#define HWY_CHECK_BMI2_FMA   0
 
#define HWY_CHECK_F16C   0
 
#define HWY_BASELINE_SSSE3   0
 
#define HWY_BASELINE_SSE4   0
 
#define HWY_BASELINE_AVX2   0
 
#define HWY_BASELINE_AVX3   0
 
#define HWY_BASELINE_AVX3_DL   0
 
#define HWY_BASELINE_RVV   0
 
#define HWY_BASELINE_TARGETS
 
#define HWY_ENABLED_BASELINE   HWY_ENABLED(HWY_BASELINE_TARGETS)
 
#define HWY_STATIC_TARGET   (HWY_ENABLED_BASELINE & -HWY_ENABLED_BASELINE)
 
#define HWY_TARGET   HWY_STATIC_TARGET
 
#define HWY_CHECK_AVX3_DL   HWY_BASELINE_AVX3_DL
 
#define HWY_ATTAINABLE_TARGETS   HWY_ENABLED_BASELINE
 
#define HWY_TARGETS   (HWY_ATTAINABLE_TARGETS & (2 * HWY_STATIC_TARGET - 1))
 

Macro Definition Documentation

◆ HWY_ATTAINABLE_TARGETS

#define HWY_ATTAINABLE_TARGETS   HWY_ENABLED_BASELINE

◆ HWY_AVX2

#define HWY_AVX2   16

◆ HWY_AVX3

#define HWY_AVX3   8

◆ HWY_AVX3_DL

#define HWY_AVX3_DL   4

◆ HWY_BASELINE_AVX2

#define HWY_BASELINE_AVX2   0

◆ HWY_BASELINE_AVX3

#define HWY_BASELINE_AVX3   0

◆ HWY_BASELINE_AVX3_DL

#define HWY_BASELINE_AVX3_DL   0

◆ HWY_BASELINE_NEON

#define HWY_BASELINE_NEON   0

◆ HWY_BASELINE_PPC8

#define HWY_BASELINE_PPC8   0

◆ HWY_BASELINE_RVV

#define HWY_BASELINE_RVV   0

◆ HWY_BASELINE_SSE4

#define HWY_BASELINE_SSE4   0

◆ HWY_BASELINE_SSSE3

#define HWY_BASELINE_SSSE3   0

◆ HWY_BASELINE_SVE

#define HWY_BASELINE_SVE   0

◆ HWY_BASELINE_SVE2

#define HWY_BASELINE_SVE2   0

◆ HWY_BASELINE_TARGETS

#define HWY_BASELINE_TARGETS
Value:
HWY_BASELINE_SVE | HWY_BASELINE_NEON | HWY_BASELINE_SSSE3 | \
HWY_BASELINE_SSE4 | HWY_BASELINE_AVX2 | HWY_BASELINE_AVX3 | \
HWY_BASELINE_AVX3_DL | HWY_BASELINE_RVV)
#define HWY_BASELINE_AVX2
Definition: detect_targets.h:275
#define HWY_BASELINE_SVE2
Definition: detect_targets.h:189
#define HWY_BASELINE_SSSE3
Definition: detect_targets.h:262
#define HWY_SCALAR
Definition: detect_targets.h:97
#define HWY_BASELINE_RVV
Definition: detect_targets.h:297
#define HWY_BASELINE_PPC8
Definition: detect_targets.h:182
#define HWY_BASELINE_WASM
Definition: detect_targets.h:175
#define HWY_BASELINE_NEON
Definition: detect_targets.h:202
#define HWY_BASELINE_AVX3
Definition: detect_targets.h:283

◆ HWY_BASELINE_WASM

#define HWY_BASELINE_WASM   0

◆ HWY_BROKEN_TARGETS

#define HWY_BROKEN_TARGETS   0

◆ HWY_CHECK_AVX3_DL

#define HWY_CHECK_AVX3_DL   HWY_BASELINE_AVX3_DL

◆ HWY_CHECK_BMI2_FMA

#define HWY_CHECK_BMI2_FMA   0

◆ HWY_CHECK_F16C

#define HWY_CHECK_F16C   0

◆ HWY_CHECK_PCLMUL_AES

#define HWY_CHECK_PCLMUL_AES   0

◆ HWY_CHECK_SSE4

#define HWY_CHECK_SSE4   0

◆ HWY_CHECK_SSSE3

#define HWY_CHECK_SSSE3   0

◆ HWY_DISABLED_TARGETS

#define HWY_DISABLED_TARGETS   0

◆ HWY_ENABLED

#define HWY_ENABLED (   targets)     ((targets) & ~((HWY_DISABLED_TARGETS) | (HWY_BROKEN_TARGETS)))

◆ HWY_ENABLED_BASELINE

#define HWY_ENABLED_BASELINE   HWY_ENABLED(HWY_BASELINE_TARGETS)

◆ HWY_HIGHEST_TARGET_BIT_ARM

#define HWY_HIGHEST_TARGET_BIT_ARM   13

◆ HWY_HIGHEST_TARGET_BIT_PPC

#define HWY_HIGHEST_TARGET_BIT_PPC   18

◆ HWY_HIGHEST_TARGET_BIT_RVV

#define HWY_HIGHEST_TARGET_BIT_RVV   24

◆ HWY_HIGHEST_TARGET_BIT_SCALAR

#define HWY_HIGHEST_TARGET_BIT_SCALAR   29

◆ HWY_HIGHEST_TARGET_BIT_WASM

#define HWY_HIGHEST_TARGET_BIT_WASM   20

◆ HWY_HIGHEST_TARGET_BIT_X86

#define HWY_HIGHEST_TARGET_BIT_X86   9

◆ HWY_NEON

#define HWY_NEON   0x2000

◆ HWY_PPC8

#define HWY_PPC8   0x10000

◆ HWY_RVV

#define HWY_RVV   0x1000000

◆ HWY_SCALAR

#define HWY_SCALAR   0x20000000

◆ HWY_SSE4

#define HWY_SSE4   64

◆ HWY_SSSE3

#define HWY_SSSE3   128

◆ HWY_STATIC_TARGET

#define HWY_STATIC_TARGET   (HWY_ENABLED_BASELINE & -HWY_ENABLED_BASELINE)

◆ HWY_SVE

#define HWY_SVE   0x800

◆ HWY_SVE2

#define HWY_SVE2   0x400

◆ HWY_TARGET

#define HWY_TARGET   HWY_STATIC_TARGET

◆ HWY_TARGETS

#define HWY_TARGETS   (HWY_ATTAINABLE_TARGETS & (2 * HWY_STATIC_TARGET - 1))

◆ HWY_WASM

#define HWY_WASM   0x100000