SeqAn3
3.1.0
The Modern C++ library for sequence analysis.
▼
SeqAn3
Welcome
►
Setup
►
Tutorial
►
How-To
Cookbook
►
About
►
API Reference (Modules)
▼
API Reference (details)
►
Namespace List
►
Class List
▼
File List
►
File List
►
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
builtin_simd_intrinsics.hpp
Go to the documentation of this file.
1
// -----------------------------------------------------------------------------------------------------
2
// Copyright (c) 2006-2021, Knut Reinert & Freie Universität Berlin
3
// Copyright (c) 2016-2021, Knut Reinert & MPI für molekulare Genetik
4
// This file may be used, modified and/or redistributed under the terms of the 3-clause BSD-License
5
// shipped with this file and also available at: https://github.com/seqan/seqan3/blob/master/LICENSE.md
6
// -----------------------------------------------------------------------------------------------------
7
13
#pragma once
14
15
#include <
seqan3/core/platform.hpp
>
16
17
// Exclude powerpc since it may have this header and triggers a warning (-DNO_WARN_X86_INTRINSICS) which tells you that
18
// x86intrin.h is only there to allow porting x86_64 code to powerpc, specifically Intel intrinsics to powerpc64le.
19
// Since we will not support powerpc for the builtin simd backend, we will avoid including this header.
20
//
21
// See the following link for a full description of the x86intrin.h header on powerpc
22
// https://github.com/gcc-mirror/gcc/blob/41d6b10e96a1de98e90a7c0378437c3255814b16/gcc/config/rs6000/xmmintrin.h#L27-L55
23
#if __has_include(<x86intrin.h>) && !(defined(__powerpc__) || defined(__ppc__) || defined(__PPC__))
24
#include <x86intrin.h>
// x86 intrinsics (linux)
25
#endif
26
27
#if __has_include(<intrin.h>)
28
#include <intrin.h>
// x86 intrinsics (windows)
29
#endif
30
31
// MSVC doesn't define SSE4 macros, even if the instruction set is available (e.g. when AVX is defined)
32
// See https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros?view=msvc-160
33
#if defined(_MSC_VER) && defined(__AVX__) && !defined(__SSE4_1__) && !defined(__SSE4_2__)
34
#define __SSE4_1__ 1
35
#define __SSE4_2__ 1
36
#endif
platform.hpp
Provides platform and dependency checks.
Version:
main_user
main_dev
3.4.0
3.3.0
3.2.0
3.1.0
3.0.3
3.0.2
3.0.1
3.0.0
seqan3
utility
simd
detail
builtin_simd_intrinsics.hpp
Generated on Thu Nov 11 2021 09:23:15 for SeqAn3 by
1.9.2