22 #ifndef _BLAZE_MATH_INTRINSICS_ADDITION_H_
23 #define _BLAZE_MATH_INTRINSICS_ADDITION_H_
52 inline sse_int8_t
operator+(
const sse_int8_t& a,
const sse_int8_t& b )
54 return _mm_add_epi8( a.value, b.value );
70 inline sse_int16_t
operator+(
const sse_int16_t& a,
const sse_int16_t& b )
72 return _mm_add_epi16( a.value, b.value );
88 inline sse_int32_t
operator+(
const sse_int32_t& a,
const sse_int32_t& b )
90 return _mm512_add_epi32( a.value, b.value );
93 inline sse_int32_t
operator+(
const sse_int32_t& a,
const sse_int32_t& b )
95 return _mm_add_epi32( a.value, b.value );
111 inline sse_int64_t
operator+(
const sse_int64_t& a,
const sse_int64_t& b )
113 return _mm512_add_epi64( a.value, b.value );
115 #elif BLAZE_SSE2_MODE
116 inline sse_int64_t
operator+(
const sse_int64_t& a,
const sse_int64_t& b )
118 return _mm_add_epi64( a.value, b.value );
134 inline sse_float_t
operator+(
const sse_float_t& a,
const sse_float_t& b )
136 return _mm512_add_ps( a.value, b.value );
139 inline sse_float_t
operator+(
const sse_float_t& a,
const sse_float_t& b )
141 return _mm256_add_ps( a.value, b.value );
144 inline sse_float_t
operator+(
const sse_float_t& a,
const sse_float_t& b )
146 return _mm_add_ps( a.value, b.value );
162 inline sse_double_t
operator+(
const sse_double_t& a,
const sse_double_t& b )
164 return _mm512_add_pd( a.value, b.value );
167 inline sse_double_t
operator+(
const sse_double_t& a,
const sse_double_t& b )
169 return _mm256_add_pd( a.value, b.value );
171 #elif BLAZE_SSE2_MODE
172 inline sse_double_t
operator+(
const sse_double_t& a,
const sse_double_t& b )
174 return _mm_add_pd( a.value, b.value );