AVX2.h File Reference
#include "immintrin.h"
#include "waLBerlaDefinitions.h"
#include "core/DataTypes.h"
#include "IntelVecTypesCppOperators.h"

Namespaces

 walberla
 \file TimestepTracker.h \ingroup lbm \author Frederik Hennig frede.nosp@m.rik..nosp@m.henni.nosp@m.g@fa.nosp@m.u.de
 
 walberla::simd
 
 walberla::simd::avx2
 

Typedefs

typedef __m256d walberla::simd::avx2::double4_t
 

Functions

const char * walberla::simd::avx2::usedInstructionSet ()
 
double4_t walberla::simd::avx2::make_double4 (double d, double c, double b, double a)
 
double4_t walberla::simd::avx2::make_double4_r (double a, double b, double c, double d)
 
double4_t walberla::simd::avx2::make_double4 (double a)
 
double4_t walberla::simd::avx2::make_zero ()
 
double4_t walberla::simd::avx2::load_aligned (double const *mem_addr)
 
double4_t walberla::simd::avx2::load_unaligned (double const *mem_addr)
 
void walberla::simd::avx2::store_aligned (double *mem_addr, double4_t a)
 
void walberla::simd::avx2::loadNeighbors (const double *p, double4_t &r_left, double4_t &r_center, double4_t &r_right)
 
double walberla::simd::avx2::getComponent (const double4_t &v, int i)
 
double walberla::simd::avx2::getComponent (const double4_t &v, unsigned long i)
 
bool walberla::simd::avx2::getBoolComponent (const double4_t &v, int i)
 
bool walberla::simd::avx2::getBoolComponent (const double4_t &v, unsigned long i)
 
double4_t walberla::simd::avx2::hadd (double4_t a, double4_t b)
 
double4_t walberla::simd::avx2::horizontalSum (double4_t a)
 
double4_t walberla::simd::avx2::exchangeLowerUpperHalf (double4_t a)
 
void walberla::simd::avx2::extract (double4_t in, double4_t &d, double4_t &c, double4_t &b, double4_t &a)
 
double4_t walberla::simd::avx2::rotateRight (double4_t a)
 
double4_t walberla::simd::avx2::rotateLeft (double4_t a)
 
double4_t walberla::simd::avx2::compareEQ (double4_t a, double4_t b)
 
double4_t walberla::simd::avx2::compareNEQ (double4_t a, double4_t b)
 
double4_t walberla::simd::avx2::compareGE (double4_t a, double4_t b)
 
double4_t walberla::simd::avx2::compareLE (double4_t a, double4_t b)
 
double4_t walberla::simd::avx2::logicalAND (double4_t a, double4_t b)
 
double4_t walberla::simd::avx2::logicalOR (double4_t a, double4_t b)
 
int walberla::simd::avx2::movemask (double4_t m)
 
double4_t walberla::simd::avx2::blendv (double4_t a, double4_t b, double4_t mask)
 
template<int mask>
double4_t walberla::simd::avx2::blend (double4_t a, double4_t b)
 
double4_t walberla::simd::avx2::sqrt (double4_t a)
 
template<unsigned int numIter = 3>
double4_t walberla::simd::avx2::invSqrt (double4_t y)