22 #ifndef _BLAZE_MATH_INTRINSICS_MULTIPLICATION_H_
23 #define _BLAZE_MATH_INTRINSICS_MULTIPLICATION_H_
52 inline sse_int16_t
operator*(
const sse_int16_t& a,
const sse_int16_t& b )
54 return _mm_mullo_epi16( a.value, b.value );
70 inline sse_int32_t
operator*(
const sse_int32_t& a,
const sse_int32_t& b )
72 return _mm512_mullo_epi32( a.value, b.value );
75 inline sse_int32_t
operator*(
const sse_int32_t& a,
const sse_int32_t& b )
77 return _mm_mullo_epi32( a.value, b.value );
93 inline sse_float_t
operator*(
const sse_float_t& a,
const sse_float_t& b )
95 return _mm512_mul_ps( a.value, b.value );
98 inline sse_float_t
operator*(
const sse_float_t& a,
const sse_float_t& b )
100 return _mm256_mul_ps( a.value, b.value );
103 inline sse_float_t
operator*(
const sse_float_t& a,
const sse_float_t& b )
105 return _mm_mul_ps( a.value, b.value );
121 inline sse_double_t
operator*(
const sse_double_t& a,
const sse_double_t& b )
123 return _mm512_mul_pd( a.value, b.value );
126 inline sse_double_t
operator*(
const sse_double_t& a,
const sse_double_t& b )
128 return _mm256_mul_pd( a.value, b.value );
130 #elif BLAZE_SSE2_MODE
131 inline sse_double_t
operator*(
const sse_double_t& a,
const sse_double_t& b )
133 return _mm_mul_pd( a.value, b.value );