simdjson  3.1.6
Ridiculously Fast JSON
icelake.h
1 #ifndef SIMDJSON_ICELAKE_H
2 #define SIMDJSON_ICELAKE_H
3 
5 
6 #if SIMDJSON_IMPLEMENTATION_ICELAKE
7 
8 #if SIMDJSON_CAN_ALWAYS_RUN_ICELAKE
9 #define SIMDJSON_TARGET_ICELAKE
10 #define SIMDJSON_UNTARGET_ICELAKE
11 #else
12 #define SIMDJSON_TARGET_ICELAKE SIMDJSON_TARGET_REGION("avx512f,avx512dq,avx512cd,avx512bw,avx512vbmi,avx512vbmi2,avx512vl,avx2,bmi,pclmul,lzcnt")
13 #define SIMDJSON_UNTARGET_ICELAKE SIMDJSON_UNTARGET_REGION
14 #endif
15 
16 namespace simdjson {
20 namespace icelake {
21 } // namespace icelake
22 } // namespace simdjson
23 
24 //
25 // These two need to be included outside SIMDJSON_TARGET_ICELAKE
26 //
27 #include "simdjson/icelake/implementation.h"
28 #include "simdjson/icelake/intrinsics.h"
29 
30 //
31 // The rest need to be inside the region
32 //
33 #include "simdjson/icelake/begin.h"
34 
35 // Declarations
36 #include "simdjson/generic/dom_parser_implementation.h"
37 #include "simdjson/icelake/bitmanipulation.h"
38 #include "simdjson/icelake/bitmask.h"
39 #include "simdjson/icelake/simd.h"
40 #include "simdjson/generic/jsoncharutils.h"
41 #include "simdjson/generic/atomparsing.h"
42 #include "simdjson/icelake/stringparsing.h"
43 #include "simdjson/icelake/numberparsing.h"
44 #include "simdjson/icelake/end.h"
45 
46 #endif // SIMDJSON_IMPLEMENTATION_ICELAKE
47 #endif // SIMDJSON_ICELAKE_H
Includes common stuff needed for implementations.
We want to support argument-dependent lookup (ADL).