Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::AVXSimdX4Real Class Reference

Vectorization of real numbers using AVX. More...

#include <arcane/utils/SimdAVX.h>

Collaboration diagram for Arcane::AVXSimdX4Real:

Public Types

enum  { Length = 4 }
typedef SSESimdX4Int32 Int32IndexType

Public Member Functions

 AVXSimdX4Real (__m256d _v0)
 AVXSimdX4Real (Real r)
 AVXSimdX4Real (const Real *base, const Int32 *idx)
 AVXSimdX4Real (const Real *base, const Int32IndexType &simd_idx)
 AVXSimdX4Real (const Real *base, const Int32IndexType *simd_idx)
 AVXSimdX4Real (const Real *base)
 Loads contiguous values located at address base, which must be aligned.
Real operator[] (Integer i) const
Realoperator[] (Integer i)
void set (ARCANE_RESTRICT Real *base, const Int32 *idx) const
void set (ARCANE_RESTRICT Real *base, const Int32IndexType &simd_idx) const
void set (ARCANE_RESTRICT Real *base, const Int32IndexType *simd_idx) const
void set (ARCANE_RESTRICT Real *base) const
 Stores the instance values at address base, which must be aligned.
AVXSimdX4Real operator- () const

Static Public Member Functions

static AVXSimdX4Real fromScalar (Real a0, Real a1, Real a2, Real a3)

Public Attributes

__m256d v0

Static Public Attributes

static const int BLOCK_SIZE = 4

Private Member Functions

 AVXSimdX4Real (Real a3, Real a2, Real a1, Real a0)
void operator= (Real _v)

Detailed Description

Vectorization of real numbers using AVX.

Note
This class must be aligned to 32 bytes.

Definition at line 129 of file SimdAVX.h.

Member Typedef Documentation

◆ Int32IndexType

typedef SSESimdX4Int32 Arcane::AVXSimdX4Real::Int32IndexType

Definition at line 138 of file SimdAVX.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

Definition at line 134 of file SimdAVX.h.

Constructor & Destructor Documentation

◆ AVXSimdX4Real() [1/8]

Arcane::AVXSimdX4Real::AVXSimdX4Real ( )
inline

Definition at line 143 of file SimdAVX.h.

◆ AVXSimdX4Real() [2/8]

Arcane::AVXSimdX4Real::AVXSimdX4Real ( __m256d _v0)
inline

Definition at line 144 of file SimdAVX.h.

◆ AVXSimdX4Real() [3/8]

Arcane::AVXSimdX4Real::AVXSimdX4Real ( Real r)
inlineexplicit

Definition at line 147 of file SimdAVX.h.

◆ AVXSimdX4Real() [4/8]

Arcane::AVXSimdX4Real::AVXSimdX4Real ( Real a3,
Real a2,
Real a1,
Real a0 )
inlineprivate

Definition at line 153 of file SimdAVX.h.

◆ AVXSimdX4Real() [5/8]

Arcane::AVXSimdX4Real::AVXSimdX4Real ( const Real * base,
const Int32 * idx )
inline

Definition at line 159 of file SimdAVX.h.

◆ AVXSimdX4Real() [6/8]

Arcane::AVXSimdX4Real::AVXSimdX4Real ( const Real * base,
const Int32IndexType & simd_idx )
inline

Definition at line 163 of file SimdAVX.h.

◆ AVXSimdX4Real() [7/8]

Arcane::AVXSimdX4Real::AVXSimdX4Real ( const Real * base,
const Int32IndexType * simd_idx )
inline

Definition at line 172 of file SimdAVX.h.

◆ AVXSimdX4Real() [8/8]

Arcane::AVXSimdX4Real::AVXSimdX4Real ( const Real * base)
inlineexplicit

Loads contiguous values located at address base, which must be aligned.

Definition at line 182 of file SimdAVX.h.

Member Function Documentation

◆ fromScalar()

AVXSimdX4Real Arcane::AVXSimdX4Real::fromScalar ( Real a0,
Real a1,
Real a2,
Real a3 )
inlinestatic

Definition at line 221 of file SimdAVX.h.

◆ operator-()

AVXSimdX4Real Arcane::AVXSimdX4Real::operator- ( ) const
inline

Definition at line 227 of file SimdAVX.h.

◆ operator[]() [1/2]

Real & Arcane::AVXSimdX4Real::operator[] ( Integer i)
inline

Definition at line 187 of file SimdAVX.h.

◆ operator[]() [2/2]

Real Arcane::AVXSimdX4Real::operator[] ( Integer i) const
inline

Definition at line 186 of file SimdAVX.h.

◆ set() [1/4]

void Arcane::AVXSimdX4Real::set ( ARCANE_RESTRICT Real * base) const
inline

Stores the instance values at address base, which must be aligned.

Definition at line 216 of file SimdAVX.h.

◆ set() [2/4]

void Arcane::AVXSimdX4Real::set ( ARCANE_RESTRICT Real * base,
const Int32 * idx ) const
inline

Definition at line 189 of file SimdAVX.h.

◆ set() [3/4]

void Arcane::AVXSimdX4Real::set ( ARCANE_RESTRICT Real * base,
const Int32IndexType & simd_idx ) const
inline

Definition at line 205 of file SimdAVX.h.

◆ set() [4/4]

void Arcane::AVXSimdX4Real::set ( ARCANE_RESTRICT Real * base,
const Int32IndexType * simd_idx ) const
inline

Definition at line 210 of file SimdAVX.h.

Member Data Documentation

◆ BLOCK_SIZE

const int Arcane::AVXSimdX4Real::BLOCK_SIZE = 4
static

Definition at line 133 of file SimdAVX.h.

◆ v0

__m256d Arcane::AVXSimdX4Real::v0

Definition at line 142 of file SimdAVX.h.


The documentation for this class was generated from the following file: