Grok 10.0.1
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   8
 
#define HWY_AVX3   16
 
#define HWY_AVX2   32
 
#define HWY_SSE4   128
 
#define HWY_SSSE3   256
 
#define HWY_HIGHEST_TARGET_BIT_X86   9
 
#define HWY_SVE2_128   0x1000
 
#define HWY_SVE_256   0x2000
 
#define HWY_SVE2   0x4000
 
#define HWY_SVE   0x8000
 
#define HWY_NEON   0x20000
 
#define HWY_HIGHEST_TARGET_BIT_ARM   17
 
#define HWY_PPC8   0x80000
 
#define HWY_HIGHEST_TARGET_BIT_PPC   20
 
#define HWY_WASM_EMU256   0x800000
 
#define HWY_WASM   0x1000000
 
#define HWY_HIGHEST_TARGET_BIT_WASM   24
 
#define HWY_RVV   0x10000000
 
#define HWY_HIGHEST_TARGET_BIT_RVV   28
 
#define HWY_EMU128   0x20000000
 
#define HWY_SCALAR   0x40000000
 
#define HWY_HIGHEST_TARGET_BIT_SCALAR   30
 
#define HWY_DISABLED_TARGETS   0
 
#define HWY_BROKEN_TARGETS   0
 
#define HWY_ENABLED(targets)    ((targets) & ~((HWY_DISABLED_TARGETS) | (HWY_BROKEN_TARGETS)))
 
#define HWY_BASELINE_SCALAR   HWY_EMU128
 
#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_ATTAINABLE_AVX3_DL   0
 
#define HWY_ATTAINABLE_SVE_256   0
 
#define HWY_ATTAINABLE_SVE2_128   0
 
#define HWY_ATTAINABLE_TARGETS    (HWY_ENABLED_BASELINE | HWY_ATTAINABLE_SVE_256 | HWY_ATTAINABLE_SVE2_128)
 
#define HWY_TARGETS   (HWY_ATTAINABLE_TARGETS & (2 * HWY_STATIC_TARGET - 1))
 

Macro Definition Documentation

◆ HWY_ATTAINABLE_AVX3_DL

#define HWY_ATTAINABLE_AVX3_DL   0

◆ HWY_ATTAINABLE_SVE2_128

#define HWY_ATTAINABLE_SVE2_128   0

◆ HWY_ATTAINABLE_SVE_256

#define HWY_ATTAINABLE_SVE_256   0

◆ HWY_ATTAINABLE_TARGETS

#define HWY_ATTAINABLE_TARGETS    (HWY_ENABLED_BASELINE | HWY_ATTAINABLE_SVE_256 | HWY_ATTAINABLE_SVE2_128)

◆ HWY_AVX2

#define HWY_AVX2   32

◆ HWY_AVX3

#define HWY_AVX3   16

◆ HWY_AVX3_DL

#define HWY_AVX3_DL   8

◆ 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_SCALAR

#define HWY_BASELINE_SCALAR   HWY_EMU128

◆ 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_SVE2 | 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:289
#define HWY_BASELINE_SVE
Definition: detect_targets.h:209
#define HWY_BASELINE_RVV
Definition: detect_targets.h:313
#define HWY_BASELINE_PPC8
Definition: detect_targets.h:192
#define HWY_BASELINE_WASM
Definition: detect_targets.h:185
#define HWY_BASELINE_SSE4
Definition: detect_targets.h:282
#define HWY_BASELINE_NEON
Definition: detect_targets.h:216
#define HWY_BASELINE_AVX3_DL
Definition: detect_targets.h:307
#define HWY_BASELINE_SCALAR
Definition: detect_targets.h:172

◆ HWY_BASELINE_WASM

#define HWY_BASELINE_WASM   0

◆ HWY_BROKEN_TARGETS

#define HWY_BROKEN_TARGETS   0

◆ 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_EMU128

#define HWY_EMU128   0x20000000

◆ 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   17

◆ HWY_HIGHEST_TARGET_BIT_PPC

#define HWY_HIGHEST_TARGET_BIT_PPC   20

◆ HWY_HIGHEST_TARGET_BIT_RVV

#define HWY_HIGHEST_TARGET_BIT_RVV   28

◆ HWY_HIGHEST_TARGET_BIT_SCALAR

#define HWY_HIGHEST_TARGET_BIT_SCALAR   30

◆ HWY_HIGHEST_TARGET_BIT_WASM

#define HWY_HIGHEST_TARGET_BIT_WASM   24

◆ HWY_HIGHEST_TARGET_BIT_X86

#define HWY_HIGHEST_TARGET_BIT_X86   9

◆ HWY_NEON

#define HWY_NEON   0x20000

◆ HWY_PPC8

#define HWY_PPC8   0x80000

◆ HWY_RVV

#define HWY_RVV   0x10000000

◆ HWY_SCALAR

#define HWY_SCALAR   0x40000000

◆ HWY_SSE4

#define HWY_SSE4   128

◆ HWY_SSSE3

#define HWY_SSSE3   256

◆ HWY_STATIC_TARGET

#define HWY_STATIC_TARGET   (HWY_ENABLED_BASELINE & -HWY_ENABLED_BASELINE)

◆ HWY_SVE

#define HWY_SVE   0x8000

◆ HWY_SVE2

#define HWY_SVE2   0x4000

◆ HWY_SVE2_128

#define HWY_SVE2_128   0x1000

◆ HWY_SVE_256

#define HWY_SVE_256   0x2000

◆ 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   0x1000000

◆ HWY_WASM_EMU256

#define HWY_WASM_EMU256   0x800000