SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
|
Provides specific algorithm implementations for AVX2 instruction set. More...
#include <array>
#include <seqan3/utility/simd/concept.hpp>
#include <seqan3/utility/simd/detail/builtin_simd.hpp>
#include <seqan3/utility/simd/detail/builtin_simd_intrinsics.hpp>
#include <seqan3/utility/simd/simd_traits.hpp>
Go to the source code of this file.
Namespaces | |
namespace | seqan3 |
The main SeqAn3 namespace. | |
namespace | seqan3::detail |
The internal SeqAn3 namespace. | |
Functions | |
template<uint8_t index, simd::simd_concept simd_t> | |
constexpr simd_t | seqan3::detail::extract_eighth_avx2 (simd_t const &src) |
Extracts one eighth of the given simd vector and stores it in the lower eighth of the target vector. | |
template<uint8_t index, simd::simd_concept simd_t> | |
constexpr simd_t | seqan3::detail::extract_half_avx2 (simd_t const &src) |
Extracts one half of the given simd vector and stores the result in the lower half of the target vector. | |
template<uint8_t index, simd::simd_concept simd_t> | |
constexpr simd_t | seqan3::detail::extract_quarter_avx2 (simd_t const &src) |
Extracts one quarter of the given simd vector and stores it in the lower quarter of the target vector. | |
template<simd::simd_concept simd_t> | |
constexpr simd_t | seqan3::detail::load_avx2 (void const *mem_addr) |
Load simd_t size bits of integral data from memory. | |
template<simd::simd_concept simd_t> | |
constexpr void | seqan3::detail::store_avx2 (void *mem_addr, simd_t const &simd_vec) |
Store simd_t size bits of integral data into memory. | |
template<simd::simd_concept simd_t> | |
void | seqan3::detail::transpose_matrix_avx2 (std::array< simd_t, simd_traits< simd_t >::length > &matrix) |
Transposes the given simd vector matrix. | |
template<simd::simd_concept target_simd_t, simd::simd_concept source_simd_t> | |
constexpr target_simd_t | seqan3::detail::upcast_signed_avx2 (source_simd_t const &src) |
Upcasts the given vector into the target vector using signed extension of packed values. | |
template<simd::simd_concept target_simd_t, simd::simd_concept source_simd_t> | |
constexpr target_simd_t | seqan3::detail::upcast_unsigned_avx2 (source_simd_t const &src) |
Upcasts the given vector into the target vector using unsigned extension of packed values. | |
Provides specific algorithm implementations for AVX2 instruction set.