RapidFuzz
Loading...
Searching...
No Matches
simd.hpp
1
2/* SPDX-License-Identifier: MIT */
3/* Copyright © 2022 Max Bachmann */
4#pragma once
5
6/* RAPIDFUZZ_LTO_HACK is used to differentiate functions between different
7 * translation units to avoid warnings when using lto */
8#ifndef RAPIDFUZZ_EXCLUDE_SIMD
9# if __AVX2__
10# define RAPIDFUZZ_SIMD
11# define RAPIDFUZZ_AVX2
12# define RAPIDFUZZ_LTO_HACK 0
13# include <rapidfuzz/details/simd_avx2.hpp>
14
15# elif (defined(_M_AMD64) || defined(_M_X64)) || defined(__SSE2__)
16# define RAPIDFUZZ_SIMD
17# define RAPIDFUZZ_SSE2
18# define RAPIDFUZZ_LTO_HACK 1
19# include <rapidfuzz/details/simd_sse2.hpp>
20# endif
21#endif