__smear_i8/16 was added
This commit is contained in:
@@ -468,6 +468,30 @@ template <> FORCEINLINE __vec16_i1 __undef_i1<__vec16_i1>() {
|
|||||||
return __vec16_i1();
|
return __vec16_i1();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// int8
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
template <class RetVecType> static RetVecType __smear_i8(int8_t i);
|
||||||
|
template <> FORCEINLINE __vec16_i8 __smear_i8<__vec16_i8>(int8_t i) {
|
||||||
|
__vec16_i32 tmp = _mm512_set1_epi32(i);
|
||||||
|
__vec16_i8 ret;
|
||||||
|
_mm512_extstore_epi32(&ret, tmp, _MM_DOWNCONV_EPI32_SINT8,_MM_HINT_NONE);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// int16
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
template <class RetVecType> static RetVecType __smear_i16(int16_t i);
|
||||||
|
template <> FORCEINLINE __vec16_i16 __smear_i16<__vec16_i16>(int16_t i) {
|
||||||
|
__vec16_i32 tmp = _mm512_set1_epi32(i);
|
||||||
|
__vec16_i16 ret;
|
||||||
|
_mm512_extstore_epi32(&ret, tmp, _MM_DOWNCONV_EPI32_SINT16,_MM_HINT_NONE);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
// int32
|
// int32
|
||||||
|
|||||||
Reference in New Issue
Block a user