22 #ifndef _BLAZE_MATH_INTRINSICS_SET_H_
23 #define _BLAZE_MATH_INTRINSICS_SET_H_
75 template<
typename T >
80 typedef sse_int16_t Type;
84 static inline Type
set( T value )
87 return _mm256_set1_epi16( value );
89 return _mm_set1_epi16( value );
110 template<
typename T >
115 typedef sse_int32_t Type;
119 static inline Type
set( T value )
122 return _mm512_set1_epi32( value );
123 #elif BLAZE_AVX2_MODE
124 return _mm256_set1_epi32( value );
125 #elif BLAZE_SSE2_MODE
126 return _mm_set1_epi32( value );
147 template<
typename T >
152 typedef sse_int64_t Type;
156 static inline Type
set( T value )
159 return _mm512_set1_epi64( value );
160 #elif BLAZE_AVX2_MODE
161 return _mm256_set1_epi64x( value );
162 #elif BLAZE_SSE2_MODE
163 return _mm_set1_epi64( value );
194 template<
typename T >
195 inline typename EnableIf< IsIntegral<T>, Set<T,sizeof(T)> >::Type::Type
213 return _mm512_set1_ps( value );
215 return _mm256_set1_ps( value );
217 return _mm_set1_ps( value );
235 return _mm512_set1_pd( value );
237 return _mm256_set1_pd( value );
238 #elif BLAZE_SSE2_MODE
239 return _mm_set1_pd( value );
257 return _mm256_set_ps( value.imag(), value.real(), value.imag(), value.real(),
258 value.imag(), value.real(), value.imag(), value.real() );
260 return _mm_set_ps( value.imag(), value.real(), value.imag(), value.real() );
279 return _mm256_set_pd( value.imag(), value.real(), value.imag(), value.real() );
280 #elif BLAZE_SSE2_MODE
281 return _mm_set_pd( value.imag(), value.real() );