Grok 12.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_SPR   (1LL << 4)
 
#define HWY_AVX3_ZEN4   (1LL << 6)
 
#define HWY_AVX3_DL   (1LL << 7)
 
#define HWY_AVX3   (1LL << 8)
 
#define HWY_AVX2   (1LL << 9)
 
#define HWY_SSE4   (1LL << 11)
 
#define HWY_SSSE3   (1LL << 12)
 
#define HWY_SSE2   (1LL << 14)
 
#define HWY_HIGHEST_TARGET_BIT_X86   14
 
#define HWY_SVE2_128   (1LL << 24)
 
#define HWY_SVE_256   (1LL << 25)
 
#define HWY_SVE2   (1LL << 26)
 
#define HWY_SVE   (1LL << 27)
 
#define HWY_NEON   (1LL << 28)
 
#define HWY_NEON_WITHOUT_AES   (1LL << 29)
 
#define HWY_HIGHEST_TARGET_BIT_ARM   29
 
#define HWY_RVV   (1LL << 37)
 
#define HWY_HIGHEST_TARGET_BIT_RVV   38
 
#define HWY_PPC10   (1LL << 47)
 
#define HWY_PPC9   (1LL << 48)
 
#define HWY_PPC8   (1LL << 49)
 
#define HWY_Z15   (1LL << 50)
 
#define HWY_Z14   (1LL << 51)
 
#define HWY_HIGHEST_TARGET_BIT_PPC   51
 
#define HWY_WASM_EMU256   (1LL << 58)
 
#define HWY_WASM   (1LL << 59)
 
#define HWY_HIGHEST_TARGET_BIT_WASM   60
 
#define HWY_EMU128   (1LL << 61)
 
#define HWY_SCALAR   (1LL << 62)
 
#define HWY_HIGHEST_TARGET_BIT_SCALAR   62
 
#define HWY_DISABLED_TARGETS   0
 
#define HWY_BROKEN_CLANG6   0
 
#define HWY_BROKEN_32BIT   0
 
#define HWY_BROKEN_MSVC   0
 
#define HWY_BROKEN_AVX3_DL_ZEN4   0
 
#define HWY_BROKEN_AVX3_SPR   0
 
#define HWY_BROKEN_ARM7_BIG_ENDIAN   0
 
#define HWY_BROKEN_ARM7_WITHOUT_VFP4   0
 
#define HWY_BROKEN_SVE   0
 
#define HWY_BROKEN_PPC10   0
 
#define HWY_BROKEN_TARGETS
 
#define HWY_ENABLED(targets)    ((targets) & ~((HWY_DISABLED_TARGETS) | (HWY_BROKEN_TARGETS)))
 
#define HWY_BROKEN_EMU128   0
 
#define HWY_BASELINE_SCALAR   HWY_EMU128
 
#define HWY_BASELINE_WASM   0
 
#define HWY_BASELINE_PPC8   0
 
#define HWY_BASELINE_PPC9   0
 
#define HWY_BASELINE_PPC10   0
 
#define HWY_BASELINE_Z14   0
 
#define HWY_BASELINE_Z15   0
 
#define HWY_BASELINE_SVE2   0
 
#define HWY_BASELINE_SVE   0
 
#define HWY_BASELINE_NEON   0
 
#define HWY_CHECK_SSE2   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_SSE2   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_AVX3_ZEN4   0
 
#define HWY_BASELINE_AVX3_SPR   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_HAVE_RUNTIME_DISPATCH   0
 
#define HWY_ATTAINABLE_AVX3_DL   0
 
#define HWY_ATTAINABLE_NEON   0
 
#define HWY_ATTAINABLE_SVE   0
 
#define HWY_ATTAINABLE_SVE2   0
 
#define HWY_ATTAINABLE_PPC   0
 
#define HWY_ATTAINABLE_S390X   0
 
#define HWY_ATTAINABLE_TARGETS   (HWY_ENABLED_BASELINE)
 
#define HWY_TARGETS    (HWY_ATTAINABLE_TARGETS & ((HWY_STATIC_TARGET - 1LL) | HWY_STATIC_TARGET))
 

Macro Definition Documentation

◆ HWY_ATTAINABLE_AVX3_DL

#define HWY_ATTAINABLE_AVX3_DL   0

◆ HWY_ATTAINABLE_NEON

#define HWY_ATTAINABLE_NEON   0

◆ HWY_ATTAINABLE_PPC

#define HWY_ATTAINABLE_PPC   0

◆ HWY_ATTAINABLE_S390X

#define HWY_ATTAINABLE_S390X   0

◆ HWY_ATTAINABLE_SVE

#define HWY_ATTAINABLE_SVE   0

◆ HWY_ATTAINABLE_SVE2

#define HWY_ATTAINABLE_SVE2   0

◆ HWY_ATTAINABLE_TARGETS

#define HWY_ATTAINABLE_TARGETS   (HWY_ENABLED_BASELINE)

◆ HWY_AVX2

#define HWY_AVX2   (1LL << 9)

Referenced by hwy::TargetName().

◆ HWY_AVX3

#define HWY_AVX3   (1LL << 8)

Referenced by hwy::TargetName().

◆ HWY_AVX3_DL

#define HWY_AVX3_DL   (1LL << 7)

Referenced by hwy::TargetName().

◆ HWY_AVX3_SPR

#define HWY_AVX3_SPR   (1LL << 4)

Referenced by hwy::TargetName().

◆ HWY_AVX3_ZEN4

#define HWY_AVX3_ZEN4   (1LL << 6)

Referenced by hwy::TargetName().

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

#define HWY_BASELINE_AVX3_SPR   0

◆ HWY_BASELINE_AVX3_ZEN4

#define HWY_BASELINE_AVX3_ZEN4   0

◆ HWY_BASELINE_NEON

#define HWY_BASELINE_NEON   0

◆ HWY_BASELINE_PPC10

#define HWY_BASELINE_PPC10   0

◆ HWY_BASELINE_PPC8

#define HWY_BASELINE_PPC8   0

◆ HWY_BASELINE_PPC9

#define HWY_BASELINE_PPC9   0

◆ HWY_BASELINE_RVV

#define HWY_BASELINE_RVV   0

◆ HWY_BASELINE_SCALAR

#define HWY_BASELINE_SCALAR   HWY_EMU128

◆ HWY_BASELINE_SSE2

#define HWY_BASELINE_SSE2   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:
#define HWY_BASELINE_PPC10
Definition detect_targets.h:318
#define HWY_BASELINE_AVX2
Definition detect_targets.h:470
#define HWY_BASELINE_Z14
Definition detect_targets.h:324
#define HWY_BASELINE_SVE2
Definition detect_targets.h:333
#define HWY_BASELINE_SSSE3
Definition detect_targets.h:457
#define HWY_BASELINE_AVX3_ZEN4
Definition detect_targets.h:497
#define HWY_BASELINE_SSE2
Definition detect_targets.h:451
#define HWY_BASELINE_SVE
Definition detect_targets.h:334
#define HWY_BASELINE_RVV
Definition detect_targets.h:512
#define HWY_BASELINE_PPC8
Definition detect_targets.h:305
#define HWY_BASELINE_WASM
Definition detect_targets.h:296
#define HWY_BASELINE_SSE4
Definition detect_targets.h:463
#define HWY_BASELINE_AVX3_SPR
Definition detect_targets.h:504
#define HWY_BASELINE_Z15
Definition detect_targets.h:330
#define HWY_BASELINE_NEON
Definition detect_targets.h:335
#define HWY_BASELINE_AVX3
Definition detect_targets.h:478
#define HWY_BASELINE_AVX3_DL
Definition detect_targets.h:488
#define HWY_BASELINE_PPC9
Definition detect_targets.h:311
#define HWY_BASELINE_SCALAR
Definition detect_targets.h:283

◆ HWY_BASELINE_WASM

#define HWY_BASELINE_WASM   0

◆ HWY_BASELINE_Z14

#define HWY_BASELINE_Z14   0

◆ HWY_BASELINE_Z15

#define HWY_BASELINE_Z15   0

◆ HWY_BROKEN_32BIT

#define HWY_BROKEN_32BIT   0

◆ HWY_BROKEN_ARM7_BIG_ENDIAN

#define HWY_BROKEN_ARM7_BIG_ENDIAN   0

◆ HWY_BROKEN_ARM7_WITHOUT_VFP4

#define HWY_BROKEN_ARM7_WITHOUT_VFP4   0

◆ HWY_BROKEN_AVX3_DL_ZEN4

#define HWY_BROKEN_AVX3_DL_ZEN4   0

◆ HWY_BROKEN_AVX3_SPR

#define HWY_BROKEN_AVX3_SPR   0

◆ HWY_BROKEN_CLANG6

#define HWY_BROKEN_CLANG6   0

◆ HWY_BROKEN_EMU128

#define HWY_BROKEN_EMU128   0

◆ HWY_BROKEN_MSVC

#define HWY_BROKEN_MSVC   0

◆ HWY_BROKEN_PPC10

#define HWY_BROKEN_PPC10   0

◆ HWY_BROKEN_SVE

#define HWY_BROKEN_SVE   0

◆ HWY_BROKEN_TARGETS

#define HWY_BROKEN_TARGETS
Value:
#define HWY_BROKEN_MSVC
Definition detect_targets.h:169
#define HWY_BROKEN_ARM7_BIG_ENDIAN
Definition detect_targets.h:194
#define HWY_BROKEN_ARM7_WITHOUT_VFP4
Definition detect_targets.h:205
#define HWY_BROKEN_CLANG6
Definition detect_targets.h:155
#define HWY_BROKEN_SVE
Definition detect_targets.h:213
#define HWY_BROKEN_PPC10
Definition detect_targets.h:241
#define HWY_BROKEN_AVX3_DL_ZEN4
Definition detect_targets.h:178
#define HWY_BROKEN_32BIT
Definition detect_targets.h:162
#define HWY_BROKEN_AVX3_SPR
Definition detect_targets.h:187

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

#define HWY_CHECK_SSE2   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   (1LL << 61)

Referenced by hwy::TargetName().

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

#define HWY_HAVE_RUNTIME_DISPATCH   0

◆ HWY_HIGHEST_TARGET_BIT_ARM

#define HWY_HIGHEST_TARGET_BIT_ARM   29

◆ HWY_HIGHEST_TARGET_BIT_PPC

#define HWY_HIGHEST_TARGET_BIT_PPC   51

◆ HWY_HIGHEST_TARGET_BIT_RVV

#define HWY_HIGHEST_TARGET_BIT_RVV   38

◆ HWY_HIGHEST_TARGET_BIT_SCALAR

#define HWY_HIGHEST_TARGET_BIT_SCALAR   62

◆ HWY_HIGHEST_TARGET_BIT_WASM

#define HWY_HIGHEST_TARGET_BIT_WASM   60

◆ HWY_HIGHEST_TARGET_BIT_X86

#define HWY_HIGHEST_TARGET_BIT_X86   14

◆ HWY_NEON

#define HWY_NEON   (1LL << 28)

Referenced by hwy::TargetName().

◆ HWY_NEON_WITHOUT_AES

#define HWY_NEON_WITHOUT_AES   (1LL << 29)

Referenced by hwy::TargetName().

◆ HWY_PPC10

#define HWY_PPC10   (1LL << 47)

Referenced by hwy::TargetName().

◆ HWY_PPC8

#define HWY_PPC8   (1LL << 49)

Referenced by hwy::TargetName().

◆ HWY_PPC9

#define HWY_PPC9   (1LL << 48)

Referenced by hwy::TargetName().

◆ HWY_RVV

#define HWY_RVV   (1LL << 37)

Referenced by hwy::TargetName().

◆ HWY_SCALAR

#define HWY_SCALAR   (1LL << 62)

Referenced by hwy::TargetName().

◆ HWY_SSE2

#define HWY_SSE2   (1LL << 14)

Referenced by hwy::TargetName().

◆ HWY_SSE4

#define HWY_SSE4   (1LL << 11)

Referenced by hwy::TargetName().

◆ HWY_SSSE3

#define HWY_SSSE3   (1LL << 12)

Referenced by hwy::TargetName().

◆ HWY_STATIC_TARGET

#define HWY_STATIC_TARGET   (HWY_ENABLED_BASELINE & -HWY_ENABLED_BASELINE)

◆ HWY_SVE

#define HWY_SVE   (1LL << 27)

Referenced by hwy::TargetName().

◆ HWY_SVE2

#define HWY_SVE2   (1LL << 26)

Referenced by hwy::TargetName().

◆ HWY_SVE2_128

#define HWY_SVE2_128   (1LL << 24)

Referenced by hwy::TargetName().

◆ HWY_SVE_256

#define HWY_SVE_256   (1LL << 25)

Referenced by hwy::TargetName().

◆ HWY_TARGET

#define HWY_TARGET   HWY_STATIC_TARGET

◆ HWY_TARGETS

#define HWY_TARGETS    (HWY_ATTAINABLE_TARGETS & ((HWY_STATIC_TARGET - 1LL) | HWY_STATIC_TARGET))

◆ HWY_WASM

#define HWY_WASM   (1LL << 59)

Referenced by hwy::TargetName().

◆ HWY_WASM_EMU256

#define HWY_WASM_EMU256   (1LL << 58)

Referenced by hwy::TargetName().

◆ HWY_Z14

#define HWY_Z14   (1LL << 51)

Referenced by hwy::TargetName().

◆ HWY_Z15

#define HWY_Z15   (1LL << 50)

Referenced by hwy::TargetName().