Files
T
Daniel Lemire 74bb7b2533 Adding popcnt
2023-06-05 09:04:36 -04:00

48 lines
1.3 KiB
C++

#ifndef SIMDJSON_ICELAKE_H
#define SIMDJSON_ICELAKE_H
#include "simdjson/implementation-base.h"
#if SIMDJSON_IMPLEMENTATION_ICELAKE
#if SIMDJSON_CAN_ALWAYS_RUN_ICELAKE
#define SIMDJSON_TARGET_ICELAKE
#define SIMDJSON_UNTARGET_ICELAKE
#else
#define SIMDJSON_TARGET_ICELAKE SIMDJSON_TARGET_REGION("avx512f,avx512dq,avx512cd,avx512bw,avx512vbmi,avx512vbmi2,avx512vl,avx2,bmi,pclmul,lzcnt,popcnt")
#define SIMDJSON_UNTARGET_ICELAKE SIMDJSON_UNTARGET_REGION
#endif
namespace simdjson {
/**
* Implementation for Icelake (Intel AVX512).
*/
namespace icelake {
} // namespace icelake
} // namespace simdjson
//
// These two need to be included outside SIMDJSON_TARGET_ICELAKE
//
#include "simdjson/icelake/implementation.h"
#include "simdjson/icelake/intrinsics.h"
//
// The rest need to be inside the region
//
#include "simdjson/icelake/begin.h"
// Declarations
#include "simdjson/generic/dom_parser_implementation.h"
#include "simdjson/icelake/bitmanipulation.h"
#include "simdjson/icelake/bitmask.h"
#include "simdjson/icelake/simd.h"
#include "simdjson/generic/jsoncharutils.h"
#include "simdjson/generic/atomparsing.h"
#include "simdjson/icelake/stringparsing.h"
#include "simdjson/icelake/numberparsing.h"
#include "simdjson/icelake/end.h"
#endif // SIMDJSON_IMPLEMENTATION_ICELAKE
#endif // SIMDJSON_ICELAKE_H