detect_targets.h File Reference
`#include "hwy/detect_compiler_arch.h"`

Go to the source code of this file.

## Macros

#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_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_HIGHEST_TARGET_BIT_ARM 29
#define | HWY_RVV (1LL << 37)
#define | HWY_HIGHEST_TARGET_BIT_RVV 38
#define | HWY_PPC8 (1LL << 49)
#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_TARGETS 0
#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_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_HAVE_RUNTIME_DISPATCH 0
#define | HWY_ATTAINABLE_AVX3_DL 0
#define | HWY_ATTAINABLE_SVE 0
#define | HWY_ATTAINABLE_SVE2 0
#define | HWY_ATTAINABLE_TARGETS (HWY_ENABLED_BASELINE | HWY_ATTAINABLE_SVE | HWY_ATTAINABLE_SVE2)
#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_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_ATTAINABLE_SVE | HWY_ATTAINABLE_SVE2)

## HWY_AVX2

#define HWY_AVX2 (1LL << 9)

## HWY_AVX3

#define HWY_AVX3 (1LL << 8)

## HWY_AVX3_DL

#define HWY_AVX3_DL (1LL << 7)

## 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_SCALAR | HWY_BASELINE_WASM | HWY_BASELINE_PPC8 | \
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)
HWY_BASELINE_AVX2
#define HWY_BASELINE_AVX2
Definition detect_targets.h:328
HWY_BASELINE_SVE2
#define HWY_BASELINE_SVE2
Definition detect_targets.h:219
HWY_BASELINE_SSSE3
#define HWY_BASELINE_SSSE3
Definition detect_targets.h:315
HWY_BASELINE_SVE
#define HWY_BASELINE_SVE
Definition detect_targets.h:220
HWY_BASELINE_RVV
#define HWY_BASELINE_RVV
Definition detect_targets.h:352
HWY_BASELINE_PPC8
#define HWY_BASELINE_PPC8
Definition detect_targets.h:216
HWY_BASELINE_WASM
#define HWY_BASELINE_WASM
Definition detect_targets.h:209
HWY_BASELINE_SSE4
#define HWY_BASELINE_SSE4
Definition detect_targets.h:321
HWY_BASELINE_NEON
#define HWY_BASELINE_NEON
Definition detect_targets.h:221
HWY_BASELINE_AVX3
#define HWY_BASELINE_AVX3
Definition detect_targets.h:336
HWY_BASELINE_AVX3_DL
#define HWY_BASELINE_AVX3_DL
Definition detect_targets.h:346
HWY_BASELINE_SCALAR
#define HWY_BASELINE_SCALAR
Definition detect_targets.h:196

## HWY_BASELINE_WASM

#define HWY_BASELINE_WASM 0

## HWY_BROKEN_EMU128

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

## 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)

## HWY_PPC8

#define HWY_PPC8 (1LL << 49)

## HWY_RVV

#define HWY_RVV (1LL << 37)

## HWY_SCALAR

#define HWY_SCALAR (1LL << 62)

## HWY_SSE4

#define HWY_SSE4 (1LL << 11)

## HWY_SSSE3

#define HWY_SSSE3 (1LL << 12)

## HWY_STATIC_TARGET

#define HWY_STATIC_TARGET (HWY_ENABLED_BASELINE & -HWY_ENABLED_BASELINE)

## HWY_SVE

#define HWY_SVE (1LL << 27)

## HWY_SVE2

#define HWY_SVE2 (1LL << 26)

## HWY_SVE2_128

#define HWY_SVE2_128 (1LL << 24)

## HWY_SVE_256

#define HWY_SVE_256 (1LL << 25)

## 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)

## HWY_WASM_EMU256

#define HWY_WASM_EMU256 (1LL << 58)