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

#include <mm_kernel_inner_sse2_A.h>

List of all members.

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)

template<typename T_real, typename T_reg, int T_M, int T_N, int T_K>
template<int T_loop_index, int T_end>
struct MM_kernel_inner_sse2_A< T_real, T_reg, T_M, T_N, T_K >::Loop< T_loop_index, T_end >


Member Function Documentation

template<typename T_real, typename T_reg, int T_M, int T_N, int T_K>
template<int T_loop_index, int T_end>
static void ALWAYS_INLINE MM_kernel_inner_sse2_A< T_real, T_reg, T_M, T_N, T_K >::Loop< T_loop_index, T_end >::add ( Vector_intrin< real, T_reg > *  X_reg,
real const *  X 
) [inline, static]
template<typename T_real, typename T_reg, int T_M, int T_N, int T_K>
template<int T_loop_index, int T_end>
static void ALWAYS_INLINE MM_kernel_inner_sse2_A< T_real, T_reg, T_M, T_N, T_K >::Loop< T_loop_index, 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 
) [inline, static]
template<typename T_real, typename T_reg, int T_M, int T_N, int T_K>
template<int T_loop_index, int T_end>
static void ALWAYS_INLINE MM_kernel_inner_sse2_A< T_real, T_reg, T_M, T_N, T_K >::Loop< T_loop_index, T_end >::middle ( int const   col_A,
Vector_intrin< real, T_reg > *  C_reg,
real const *  A,
real const *  B_packed 
) [inline, static]
template<typename T_real, typename T_reg, int T_M, int T_N, int T_K>
template<int T_loop_index, int T_end>
static void ALWAYS_INLINE MM_kernel_inner_sse2_A< T_real, T_reg, T_M, T_N, T_K >::Loop< T_loop_index, T_end >::multiple_loop ( Vector_intrin< real, T_reg > *  C_reg,
real const *const *const   A,
real const *const *const   B 
) [inline, static]
template<typename T_real, typename T_reg, int T_M, int T_N, int T_K>
template<int T_loop_index, int T_end>
static void ALWAYS_INLINE MM_kernel_inner_sse2_A< T_real, T_reg, T_M, T_N, T_K >::Loop< T_loop_index, T_end >::outer ( int const   start_i,
Vector_intrin< real, T_reg > *  C_reg,
real const *  A,
real const *  B_packed 
) [inline, static]
template<typename T_real, typename T_reg, int T_M, int T_N, int T_K>
template<int T_loop_index, int T_end>
static void ALWAYS_INLINE MM_kernel_inner_sse2_A< T_real, T_reg, T_M, T_N, T_K >::Loop< T_loop_index, T_end >::set_to_zero ( Vector_intrin< real, T_reg > *  X_reg  )  [inline, static]
template<typename T_real, typename T_reg, int T_M, int T_N, int T_K>
template<int T_loop_index, int T_end>
static void ALWAYS_INLINE MM_kernel_inner_sse2_A< T_real, T_reg, T_M, T_N, T_K >::Loop< T_loop_index, T_end >::store ( Vector_intrin< real, T_reg > const *  X_reg,
real X 
) [inline, static]

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

Generated on 10 Jul 2018 for ergo by  doxygen 1.6.1