Merge pull request #892 from Vsevolod-Livinskij/knc_header_fix
Fix for load/store i16
This commit is contained in:
@@ -311,6 +311,18 @@ FORCEINLINE __vec16_i8& __vec16_i8::operator=(const __vec16_i8 &o)
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
FORCEINLINE __vec16_i16::__vec16_i16(const __vec16_i16 &o)
|
||||||
|
{
|
||||||
|
for (int i=0;i<16;i++)
|
||||||
|
v[i] = o.v[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCEINLINE __vec16_i16& __vec16_i16::operator=(const __vec16_i16 &o)
|
||||||
|
{
|
||||||
|
for (int i=0;i<16;i++)
|
||||||
|
v[i] = o.v[i];
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
// mask ops
|
// mask ops
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
@@ -1889,6 +1901,13 @@ __scatter_base_offsets32_i8(uint8_t *b, uint32_t scale, __vec16_i32 offsets,
|
|||||||
_MM_HINT_NONE);
|
_MM_HINT_NONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <int ALIGN> static FORCEINLINE __vec16_i16 __load(const __vec16_i16 *p) {
|
||||||
|
return *p;
|
||||||
|
}
|
||||||
|
template <int ALIGN> static FORCEINLINE void __store(__vec16_i16 *p, __vec16_i16 v) {
|
||||||
|
*p = v;
|
||||||
|
}
|
||||||
|
|
||||||
static FORCEINLINE void __masked_store_i32(void *p, __vec16_i32 val, __vec16_i1 mask) {
|
static FORCEINLINE void __masked_store_i32(void *p, __vec16_i32 val, __vec16_i1 mask) {
|
||||||
#ifdef ISPC_FORCE_ALIGNED_MEMORY
|
#ifdef ISPC_FORCE_ALIGNED_MEMORY
|
||||||
_mm512_mask_store_epi32(p, mask, val.v);
|
_mm512_mask_store_epi32(p, mask, val.v);
|
||||||
|
|||||||
Reference in New Issue
Block a user