Fix for prefetch
This commit is contained in:
@@ -3104,21 +3104,21 @@ static FORCEINLINE int32_t __packed_store_active2(uint32_t *p, __vec16_i32 val,
|
|||||||
// prefetch
|
// prefetch
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
static FORCEINLINE void __prefetch_read_uniform_1(const char *p) {
|
static FORCEINLINE void __prefetch_read_uniform_1(uint8_t *p) {
|
||||||
_mm_prefetch(p, _MM_HINT_T0); // prefetch into L1$
|
_mm_prefetch((const char*) p, _MM_HINT_T0); // prefetch into L1$
|
||||||
}
|
}
|
||||||
|
|
||||||
static FORCEINLINE void __prefetch_read_uniform_2(const char *p) {
|
static FORCEINLINE void __prefetch_read_uniform_2(uint8_t *p) {
|
||||||
_mm_prefetch(p, _MM_HINT_T1); // prefetch into L2$
|
_mm_prefetch((const char*) p, _MM_HINT_T1); // prefetch into L2$
|
||||||
}
|
}
|
||||||
|
|
||||||
static FORCEINLINE void __prefetch_read_uniform_3(const char *p) {
|
static FORCEINLINE void __prefetch_read_uniform_3(uint8_t *p) {
|
||||||
// There is no L3$ on KNC, but we prefetch into L2$ instead.
|
// There is no L3$ on KNC, but we prefetch into L2$ instead.
|
||||||
_mm_prefetch(p, _MM_HINT_T1); // prefetch into L2$
|
_mm_prefetch((const char*) p, _MM_HINT_T1); // prefetch into L2$
|
||||||
}
|
}
|
||||||
|
|
||||||
static FORCEINLINE void __prefetch_read_uniform_nt(const char *p) {
|
static FORCEINLINE void __prefetch_read_uniform_nt(uint8_t *p) {
|
||||||
_mm_prefetch(p, _MM_HINT_T2); // prefetch into L2$ with non-temporal hint
|
_mm_prefetch((const char*) p, _MM_HINT_T2); // prefetch into L2$ with non-temporal hint
|
||||||
// _mm_prefetch(p, _MM_HINT_NTA); // prefetch into L1$ with non-temporal hint
|
// _mm_prefetch(p, _MM_HINT_NTA); // prefetch into L1$ with non-temporal hint
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user