ergo
MM_kernel_inner_sse2_A< T_real, T_reg, T_M, T_N, T_K >::Loop< T_end, T_end > Struct Template Reference

#include <mm_kernel_inner_sse2_A.h>

Static Public Member Functions

static void ALWAYS_INLINE set_to_zero (Vector_intrin< real, T_reg > *X_reg)
 
static void ALWAYS_INLINE inner (int const row_A_reg, int const row_B, Vector_intrin< real, T_reg > const &A_reg, Vector_intrin< real, T_reg > *C_reg, real const *B_packed)
 
static void ALWAYS_INLINE middle (int const col_A, Vector_intrin< real, T_reg > *C_reg, real const *A, real const *B_packed)
 
static void ALWAYS_INLINE outer (int const start_i, Vector_intrin< real, T_reg > *C_reg, real const *A, real const *B_packed)
 
static void ALWAYS_INLINE add (Vector_intrin< real, T_reg > *X_reg, real const *X)
 
static void ALWAYS_INLINE store (Vector_intrin< real, T_reg > const *X_reg, real *X)
 
static void ALWAYS_INLINE multiple_loop (Vector_intrin< real, T_reg > *C_reg, real const *const *const A, real const *const *const B)
 

Member Function Documentation

◆ add()

template<typename T_real, typename T_reg, int T_M, int T_N, int T_K>
template<int T_end>
static void ALWAYS_INLINE MM_kernel_inner_sse2_A< T_real, T_reg, T_M, T_N, T_K >::Loop< T_end, T_end >::add ( Vector_intrin< real, T_reg > *  X_reg,
real const *  X 
)
inlinestatic

◆ inner()

template<typename T_real, typename T_reg, int T_M, int T_N, int T_K>
template<int T_end>
static void ALWAYS_INLINE MM_kernel_inner_sse2_A< T_real, T_reg, T_M, T_N, T_K >::Loop< T_end, T_end >::inner ( int const  row_A_reg,
int const  row_B,
Vector_intrin< real, T_reg > const &  A_reg,
Vector_intrin< real, T_reg > *  C_reg,
real const *  B_packed 
)
inlinestatic

◆ middle()

template<typename T_real, typename T_reg, int T_M, int T_N, int T_K>
template<int T_end>
static void ALWAYS_INLINE MM_kernel_inner_sse2_A< T_real, T_reg, T_M, T_N, T_K >::Loop< T_end, T_end >::middle ( int const  col_A,
Vector_intrin< real, T_reg > *  C_reg,
real const *  A,
real const *  B_packed 
)
inlinestatic

◆ multiple_loop()

template<typename T_real, typename T_reg, int T_M, int T_N, int T_K>
template<int T_end>
static void ALWAYS_INLINE MM_kernel_inner_sse2_A< T_real, T_reg, T_M, T_N, T_K >::Loop< T_end, T_end >::multiple_loop ( Vector_intrin< real, T_reg > *  C_reg,
real const *const *const  A,
real const *const *const  B 
)
inlinestatic

◆ outer()

template<typename T_real, typename T_reg, int T_M, int T_N, int T_K>
template<int T_end>
static void ALWAYS_INLINE MM_kernel_inner_sse2_A< T_real, T_reg, T_M, T_N, T_K >::Loop< T_end, T_end >::outer ( int const  start_i,
Vector_intrin< real, T_reg > *  C_reg,
real const *  A,
real const *  B_packed 
)
inlinestatic

◆ set_to_zero()

template<typename T_real, typename T_reg, int T_M, int T_N, int T_K>
template<int T_end>
static void ALWAYS_INLINE MM_kernel_inner_sse2_A< T_real, T_reg, T_M, T_N, T_K >::Loop< T_end, T_end >::set_to_zero ( Vector_intrin< real, T_reg > *  X_reg)
inlinestatic

◆ store()

template<typename T_real, typename T_reg, int T_M, int T_N, int T_K>
template<int T_end>
static void ALWAYS_INLINE MM_kernel_inner_sse2_A< T_real, T_reg, T_M, T_N, T_K >::Loop< T_end, T_end >::store ( Vector_intrin< real, T_reg > const *  X_reg,
real X 
)
inlinestatic

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