simdutf 6.4.0
Unicode at GB/s.
Loading...
Searching...
No Matches
avx512.h
1#ifndef SIMDUTF_AVX512_H_
2#define SIMDUTF_AVX512_H_
3
4/*
5 It's possible to override AVX512 settings with cmake DCMAKE_CXX_FLAGS.
6
7 All preprocessor directives has form `SIMDUTF_HAS_AVX512{feature}`,
8 where a feature is a code name for extensions.
9
10 Please see the listing below to find which are supported.
11*/
12
13#ifndef SIMDUTF_HAS_AVX512F
14 #if defined(__AVX512F__) && __AVX512F__ == 1
15 #define SIMDUTF_HAS_AVX512F 1
16 #endif
17#endif
18
19#ifndef SIMDUTF_HAS_AVX512DQ
20 #if defined(__AVX512DQ__) && __AVX512DQ__ == 1
21 #define SIMDUTF_HAS_AVX512DQ 1
22 #endif
23#endif
24
25#ifndef SIMDUTF_HAS_AVX512IFMA
26 #if defined(__AVX512IFMA__) && __AVX512IFMA__ == 1
27 #define SIMDUTF_HAS_AVX512IFMA 1
28 #endif
29#endif
30
31#ifndef SIMDUTF_HAS_AVX512CD
32 #if defined(__AVX512CD__) && __AVX512CD__ == 1
33 #define SIMDUTF_HAS_AVX512CD 1
34 #endif
35#endif
36
37#ifndef SIMDUTF_HAS_AVX512BW
38 #if defined(__AVX512BW__) && __AVX512BW__ == 1
39 #define SIMDUTF_HAS_AVX512BW 1
40 #endif
41#endif
42
43#ifndef SIMDUTF_HAS_AVX512VL
44 #if defined(__AVX512VL__) && __AVX512VL__ == 1
45 #define SIMDUTF_HAS_AVX512VL 1
46 #endif
47#endif
48
49#ifndef SIMDUTF_HAS_AVX512VBMI
50 #if defined(__AVX512VBMI__) && __AVX512VBMI__ == 1
51 #define SIMDUTF_HAS_AVX512VBMI 1
52 #endif
53#endif
54
55#ifndef SIMDUTF_HAS_AVX512VBMI2
56 #if defined(__AVX512VBMI2__) && __AVX512VBMI2__ == 1
57 #define SIMDUTF_HAS_AVX512VBMI2 1
58 #endif
59#endif
60
61#ifndef SIMDUTF_HAS_AVX512VNNI
62 #if defined(__AVX512VNNI__) && __AVX512VNNI__ == 1
63 #define SIMDUTF_HAS_AVX512VNNI 1
64 #endif
65#endif
66
67#ifndef SIMDUTF_HAS_AVX512BITALG
68 #if defined(__AVX512BITALG__) && __AVX512BITALG__ == 1
69 #define SIMDUTF_HAS_AVX512BITALG 1
70 #endif
71#endif
72
73#ifndef SIMDUTF_HAS_AVX512VPOPCNTDQ
74 #if defined(__AVX512VPOPCNTDQ__) && __AVX512VPOPCNTDQ__ == 1
75 #define SIMDUTF_HAS_AVX512VPOPCNTDQ 1
76 #endif
77#endif
78
79#endif // SIMDUTF_AVX512_H_