From 682597fa1c1cc00c6e3397c80e6a43b5a07d3885 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Sat, 17 Oct 2026 16:20:20 +0200 Subject: [PATCH 1/4] Add casts for the prefetch address --- kernel/x86_64/casum_microk_skylakex-2.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/x86_64/casum_microk_skylakex-2.c b/kernel/x86_64/casum_microk_skylakex-2.c index 5e27c67e4a..37b914e846 100644 --- a/kernel/x86_64/casum_microk_skylakex-2.c +++ b/kernel/x86_64/casum_microk_skylakex-2.c @@ -29,7 +29,7 @@ static FLOAT casum_kernel(BLASLONG n, FLOAT *x) abs_mask1 = (__m128)_mm_set1_epi32(0x7fffffff); - _mm_prefetch(&x1[0], _MM_HINT_T0); + _mm_prefetch((const char*)&x1[0], _MM_HINT_T0); if (n2 >= 32){ __m128 x00 = _mm_loadu_ps(&x1[ 0]); @@ -37,7 +37,7 @@ static FLOAT casum_kernel(BLASLONG n, FLOAT *x) __m128 x02 = _mm_loadu_ps(&x1[ 8]); __m128 x03 = _mm_loadu_ps(&x1[12]); - _mm_prefetch(&x1[16], _MM_HINT_T0); + _mm_prefetch((const char*)&x1[16], _MM_HINT_T0); __m128 x04 = _mm_loadu_ps(&x1[16]); __m128 x05 = _mm_loadu_ps(&x1[20]); __m128 x06 = _mm_loadu_ps(&x1[24]); From c25a445fef2885a8093fc1dfbcced64bdb1319d4 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Sat, 17 Oct 2026 16:22:37 +0200 Subject: [PATCH 2/4] Add casts for the prefetch address --- kernel/x86_64/csum_microk_skylakex-2.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/x86_64/csum_microk_skylakex-2.c b/kernel/x86_64/csum_microk_skylakex-2.c index 99ae00ad84..2c4b2973b7 100644 --- a/kernel/x86_64/csum_microk_skylakex-2.c +++ b/kernel/x86_64/csum_microk_skylakex-2.c @@ -26,7 +26,7 @@ static FLOAT casum_kernel(BLASLONG n, FLOAT *x) accum_12 = _mm_setzero_ps(); accum_13 = _mm_setzero_ps(); - _mm_prefetch(&x1[0], _MM_HINT_T0); + _mm_prefetch((const char*)&x1[0], _MM_HINT_T0); if (n2 >= 32){ __m128 x00 = _mm_loadu_ps(&x1[ 0]); @@ -34,7 +34,7 @@ static FLOAT casum_kernel(BLASLONG n, FLOAT *x) __m128 x02 = _mm_loadu_ps(&x1[ 8]); __m128 x03 = _mm_loadu_ps(&x1[12]); - _mm_prefetch(&x1[16], _MM_HINT_T0); + _mm_prefetch((const char*)&x1[16], _MM_HINT_T0); __m128 x04 = _mm_loadu_ps(&x1[16]); __m128 x05 = _mm_loadu_ps(&x1[20]); __m128 x06 = _mm_loadu_ps(&x1[24]); From ef2cfd9c780a9edd2839776efc0dbd3b784bb6c0 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Sat, 17 Oct 2026 16:24:10 +0200 Subject: [PATCH 3/4] Add casts for the prefetch address --- kernel/x86_64/zsum_microk_skylakex-2.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/x86_64/zsum_microk_skylakex-2.c b/kernel/x86_64/zsum_microk_skylakex-2.c index a8b4343fd9..b74d57cdad 100644 --- a/kernel/x86_64/zsum_microk_skylakex-2.c +++ b/kernel/x86_64/zsum_microk_skylakex-2.c @@ -27,14 +27,14 @@ static FLOAT zsum_kernel(BLASLONG n, FLOAT *x) accum_12 = _mm_setzero_pd(); accum_13 = _mm_setzero_pd(); - _mm_prefetch(&x1[0], _MM_HINT_T0); + _mm_prefetch((const char*)&x1[0], _MM_HINT_T0); if (n2 >= 16){ __m128d x00 = _mm_loadu_pd(&x1[ 0]); __m128d x01 = _mm_loadu_pd(&x1[ 2]); __m128d x02 = _mm_loadu_pd(&x1[ 4]); __m128d x03 = _mm_loadu_pd(&x1[ 6]); - _mm_prefetch(&x1[8], _MM_HINT_T0); + _mm_prefetch((const char*)&x1[8], _MM_HINT_T0); __m128d x04 = _mm_loadu_pd(&x1[ 8]); __m128d x05 = _mm_loadu_pd(&x1[10]); __m128d x06 = _mm_loadu_pd(&x1[12]); From 02c37a8bb1d7ef44ec7b1b9b0c559150872458d9 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Sat, 17 Oct 2026 16:25:07 +0200 Subject: [PATCH 4/4] Add casts for the prefetch address --- kernel/x86_64/zasum_microk_skylakex-2.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/x86_64/zasum_microk_skylakex-2.c b/kernel/x86_64/zasum_microk_skylakex-2.c index 9ec2c61be8..c19b7b6950 100644 --- a/kernel/x86_64/zasum_microk_skylakex-2.c +++ b/kernel/x86_64/zasum_microk_skylakex-2.c @@ -30,14 +30,14 @@ static FLOAT zasum_kernel(BLASLONG n, FLOAT *x) abs_mask1 = (__m128d)_mm_set1_epi64x(0x7fffffffffffffff); - _mm_prefetch(&x1[0], _MM_HINT_T0); + _mm_prefetch((const char*)&x1[0], _MM_HINT_T0); if (n2 >= 16){ __m128d x00 = _mm_loadu_pd(&x1[ 0]); __m128d x01 = _mm_loadu_pd(&x1[ 2]); __m128d x02 = _mm_loadu_pd(&x1[ 4]); __m128d x03 = _mm_loadu_pd(&x1[ 6]); - _mm_prefetch(&x1[8], _MM_HINT_T0); + _mm_prefetch((const char*)&x1[8], _MM_HINT_T0); __m128d x04 = _mm_loadu_pd(&x1[ 8]); __m128d x05 = _mm_loadu_pd(&x1[10]); __m128d x06 = _mm_loadu_pd(&x1[12]);