AI Engine API User Guide (AIE) 2022.1
emulated_mul_intrinsics.hpp File Reference
#include "../accum.hpp"
#include "../vector.hpp"

Macros

#define __AIE_API_DETAIL_AIE2P_EMULATED_MUL_INTRINSICS__HPP__
 

Functions

v16cacc64 mac_elem_16 (v16cint32 a, v8cint32 b0, v8cint32 b1, v16cacc64 acc1)
 
aie::accum< cacc64, 16 > mac_elem_16_t (aie::vector< cint32, 16 > a, aie::vector< cint32, 16 > b, aie::accum< cacc64, 16 > acc)
 
template<typename T1 , typename T2 >
v32acc64 mac_elem_32 (aie::vector< T1, 16 > a0, aie::vector< T1, 16 > a1, int sgn_x, aie::vector< T2, 16 > b0, aie::vector< T2, 16 > b1, int sgn_y, v32acc64 acc1)
 
template<typename T1 , typename T2 >
aie::accum< acc64, 32 > mac_elem_32_2_t (aie::vector< T1, 32 > a, bool a_sign, aie::vector< T2, 64 > b, bool b_sign, aie::accum< acc64, 32 > acc)
 
v16cacc64 msc_elem_16 (v16cint32 a, v8cint32 b0, v8cint32 b1, v16cacc64 acc1)
 
aie::accum< cacc64, 16 > msc_elem_16_t (aie::vector< cint32, 16 > a, aie::vector< cint32, 16 > b, aie::accum< cacc64, 16 > acc)
 
template<typename T1 , typename T2 >
v32acc64 msc_elem_32 (aie::vector< T1, 16 > a0, aie::vector< T1, 16 > a1, int sgn_x, aie::vector< T2, 16 > b0, aie::vector< T2, 16 > b1, int sgn_y, v32acc64 acc1)
 
template<typename T1 , typename T2 >
aie::accum< acc64, 32 > msc_elem_32_2_t (aie::vector< T1, 32 > a, bool a_sign, aie::vector< T2, 64 > b, bool b_sign, aie::accum< acc64, 32 > acc)
 
v16cacc64 mul_elem_16 (v16cint32 a, v8cint32 b0, v8cint32 b1)
 
aie::accum< cacc64, 16 > mul_elem_16_t (aie::vector< cint32, 16 > a, aie::vector< cint32, 16 > b)
 
template<typename T1 , typename T2 >
v32acc64 mul_elem_32 (aie::vector< T1, 16 > a0, aie::vector< T1, 16 > a1, int sgn_x, aie::vector< T2, 16 > b0, aie::vector< T2, 16 > b1, int sgn_y)
 
template<typename T1 , typename T2 >
aie::accum< acc64, 32 > mul_elem_32_2_t (aie::vector< T1, 32 > a, bool a_sign, aie::vector< T2, 64 > b, bool b_sign)
 
v16cacc64 negmul_elem_16 (v16cint32 a, v8cint32 b0, v8cint32 b1)
 
template<typename T1 , typename T2 >
v32acc64 negmul_elem_32 (aie::vector< T1, 16 > a0, aie::vector< T1, 16 > a1, int sgn_x, aie::vector< T2, 16 > b0, aie::vector< T2, 16 > b1, int sgn_y)
 
template<typename T1 , typename T2 >
aie::accum< acc64, 32 > negmul_elem_32_2_t (aie::vector< T1, 32 > a, bool a_sign, aie::vector< T2, 64 > b, bool b_sign)