re PR target/79481 (AVX512PF: unmasked gather prefetch intrinsics missing)
authorJakub Jelinek <jakub@redhat.com>
Tue, 14 Feb 2017 19:39:17 +0000 (20:39 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Tue, 14 Feb 2017 19:39:17 +0000 (20:39 +0100)
PR target/79481
* config/i386/avx512pfintrin.h (_mm512_prefetch_i32gather_pd,
_mm512_prefetch_i32gather_ps, _mm512_prefetch_i64gather_pd,
_mm512_prefetch_i64gather_ps): New inline functions and macros.

* gcc.target/i386/sse-14.c (test_2vx): Add void return type.
(test_3vx): Change return type from int to void.
(_mm512_prefetch_i32gather_ps, _mm512_prefetch_i32scatter_ps,
_mm512_prefetch_i64gather_ps, _mm512_prefetch_i64scatter_ps,
_mm512_prefetch_i32gather_pd, _mm512_prefetch_i32scatter_pd,
_mm512_prefetch_i64gather_pd, _mm512_prefetch_i64scatter_pd): New
tests.
* gcc.target/i386/sse-22.c (test_2vx): Add void return type.
(test_3vx): Change return type from int to void.
(_mm512_prefetch_i32gather_ps, _mm512_prefetch_i32scatter_ps,
_mm512_prefetch_i64gather_ps, _mm512_prefetch_i64scatter_ps,
_mm512_prefetch_i32gather_pd, _mm512_prefetch_i32scatter_pd,
_mm512_prefetch_i64gather_pd, _mm512_prefetch_i64scatter_pd): New
tests.
* gcc.target/i386/avx512pf-vgatherpf0dpd-1.c: Add non-masked
intrinsic.  Change scan-assembler-times number from 1 to 2.
* gcc.target/i386/avx512pf-vgatherpf0dps-1.c: Likewise.
* gcc.target/i386/avx512pf-vgatherpf0qpd-1.c: Likewise.
* gcc.target/i386/avx512pf-vgatherpf0qps-1.c: Likewise.
* gcc.target/i386/avx512pf-vgatherpf1dpd-1.c: Likewise.
* gcc.target/i386/avx512pf-vgatherpf1dps-1.c: Likewise.
* gcc.target/i386/avx512pf-vgatherpf1qpd-1.c: Likewise.
* gcc.target/i386/avx512pf-vgatherpf1qps-1.c: Likewise.

From-SVN: r245444

13 files changed:
gcc/ChangeLog
gcc/config/i386/avx512pfintrin.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf0dpd-1.c
gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf0dps-1.c
gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf0qpd-1.c
gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf0qps-1.c
gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf1dpd-1.c
gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf1dps-1.c
gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf1qpd-1.c
gcc/testsuite/gcc.target/i386/avx512pf-vgatherpf1qps-1.c
gcc/testsuite/gcc.target/i386/sse-14.c
gcc/testsuite/gcc.target/i386/sse-22.c

index 9bb58c785bf6b05adfe1dca851c3cb52d98b6b6e..9ed8713210b0e6013fb17dda7935f11f7d0a1ece 100644 (file)
@@ -1,3 +1,10 @@
+2017-02-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/79481
+       * config/i386/avx512pfintrin.h (_mm512_prefetch_i32gather_pd,
+       _mm512_prefetch_i32gather_ps, _mm512_prefetch_i64gather_pd,
+       _mm512_prefetch_i64gather_ps): New inline functions and macros.
+
 2017-02-14  Uros Bizjak  <ubizjak@gmail.com>
 
        PR target/79495
index 8dfaa07e97e1ddd81850b113b7418561c1b37eab..a727adc77bbcc0cf1861bf7ecea154a31b2d7bf6 100644 (file)
@@ -46,6 +46,24 @@ typedef unsigned char  __mmask8;
 typedef unsigned short __mmask16;
 
 #ifdef __OPTIMIZE__
+extern __inline void
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm512_prefetch_i32gather_pd (__m256i __index, void const *__addr,
+                             int __scale, int __hint)
+{
+  __builtin_ia32_gatherpfdpd ((__mmask8) 0xFF, (__v8si) __index, __addr,
+                             __scale, __hint);
+}
+
+extern __inline void
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm512_prefetch_i32gather_ps (__m512i __index, void const *__addr,
+                             int __scale, int __hint)
+{
+  __builtin_ia32_gatherpfdps ((__mmask16) 0xFFFF, (__v16si) __index, __addr,
+                             __scale, __hint);
+}
+
 extern __inline void
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm512_mask_prefetch_i32gather_pd (__m256i __index, __mmask8 __mask,
@@ -64,6 +82,24 @@ _mm512_mask_prefetch_i32gather_ps (__m512i __index, __mmask16 __mask,
                              __hint);
 }
 
+extern __inline void
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm512_prefetch_i64gather_pd (__m512i __index, void const *__addr,
+                             int __scale, int __hint)
+{
+  __builtin_ia32_gatherpfqpd ((__mmask8) 0xFF, (__v8di) __index, __addr,
+                             __scale, __hint);
+}
+
+extern __inline void
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm512_prefetch_i64gather_ps (__m512i __index, void const *__addr,
+                             int __scale, int __hint)
+{
+  __builtin_ia32_gatherpfqps ((__mmask8) 0xFF, (__v8di) __index, __addr,
+                             __scale, __hint);
+}
+
 extern __inline void
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm512_mask_prefetch_i64gather_pd (__m512i __index, __mmask8 __mask,
@@ -155,6 +191,14 @@ _mm512_mask_prefetch_i64scatter_ps (void *__addr, __mmask16 __mask,
 }
 
 #else
+#define _mm512_prefetch_i32gather_pd(INDEX, ADDR, SCALE, HINT)              \
+  __builtin_ia32_gatherpfdpd ((__mmask8)0xFF, (__v8si)(__m256i)INDEX,       \
+                             (void const *)ADDR, (int)SCALE, (int)HINT)
+
+#define _mm512_prefetch_i32gather_ps(INDEX, ADDR, SCALE, HINT)              \
+  __builtin_ia32_gatherpfdps ((__mmask16)0xFFFF, (__v16si)(__m512i)INDEX,    \
+                             (void const *)ADDR, (int)SCALE, (int)HINT)
+
 #define _mm512_mask_prefetch_i32gather_pd(INDEX, MASK, ADDR, SCALE, HINT)    \
   __builtin_ia32_gatherpfdpd ((__mmask8)MASK, (__v8si)(__m256i)INDEX,       \
                              (void const *)ADDR, (int)SCALE, (int)HINT)
@@ -163,6 +207,14 @@ _mm512_mask_prefetch_i64scatter_ps (void *__addr, __mmask16 __mask,
   __builtin_ia32_gatherpfdps ((__mmask16)MASK, (__v16si)(__m512i)INDEX,      \
                              (void const *)ADDR, (int)SCALE, (int)HINT)
 
+#define _mm512_prefetch_i64gather_pd(INDEX, ADDR, SCALE, HINT)              \
+  __builtin_ia32_gatherpfqpd ((__mmask8)0xFF, (__v8di)(__m512i)INDEX,       \
+                             (void *)ADDR, (int)SCALE, (int)HINT)
+
+#define _mm512_prefetch_i64gather_ps(INDEX, ADDR, SCALE, HINT)              \
+  __builtin_ia32_gatherpfqps ((__mmask8)0xFF, (__v8di)(__m512i)INDEX,       \
+                             (void *)ADDR, (int)SCALE, (int)HINT)
+
 #define _mm512_mask_prefetch_i64gather_pd(INDEX, MASK, ADDR, SCALE, HINT)    \
   __builtin_ia32_gatherpfqpd ((__mmask8)MASK, (__v8di)(__m512i)INDEX,       \
                              (void *)ADDR, (int)SCALE, (int)HINT)
index 0daeddced948ed514bbb4587d5f17d2828fd3f44..8adb64f75ed0e208c2a9ecb9e71c2b91d4693f37 100644 (file)
@@ -1,3 +1,30 @@
+2017-02-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/79481
+       * gcc.target/i386/sse-14.c (test_2vx): Add void return type.
+       (test_3vx): Change return type from int to void. 
+       (_mm512_prefetch_i32gather_ps, _mm512_prefetch_i32scatter_ps,
+       _mm512_prefetch_i64gather_ps, _mm512_prefetch_i64scatter_ps,
+       _mm512_prefetch_i32gather_pd, _mm512_prefetch_i32scatter_pd,
+       _mm512_prefetch_i64gather_pd, _mm512_prefetch_i64scatter_pd): New
+       tests.
+       * gcc.target/i386/sse-22.c (test_2vx): Add void return type.
+       (test_3vx): Change return type from int to void.
+       (_mm512_prefetch_i32gather_ps, _mm512_prefetch_i32scatter_ps,
+       _mm512_prefetch_i64gather_ps, _mm512_prefetch_i64scatter_ps,
+       _mm512_prefetch_i32gather_pd, _mm512_prefetch_i32scatter_pd,
+       _mm512_prefetch_i64gather_pd, _mm512_prefetch_i64scatter_pd): New
+       tests.
+       * gcc.target/i386/avx512pf-vgatherpf0dpd-1.c: Add non-masked
+       intrinsic.  Change scan-assembler-times number from 1 to 2.
+       * gcc.target/i386/avx512pf-vgatherpf0dps-1.c: Likewise.
+       * gcc.target/i386/avx512pf-vgatherpf0qpd-1.c: Likewise.
+       * gcc.target/i386/avx512pf-vgatherpf0qps-1.c: Likewise.
+       * gcc.target/i386/avx512pf-vgatherpf1dpd-1.c: Likewise.
+       * gcc.target/i386/avx512pf-vgatherpf1dps-1.c: Likewise.
+       * gcc.target/i386/avx512pf-vgatherpf1qpd-1.c: Likewise.
+       * gcc.target/i386/avx512pf-vgatherpf1qps-1.c: Likewise.
+
 2017-02-14  Uros Bizjak  <ubizjak@gmail.com>
 
        PR middle-end/61225
index 71b8dbf9423ff0de8da64357193098fce9fbf6f2..0c6fc4363f06aecd5afeefee4d43a9f439601e44 100644 (file)
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512pf -O2" } */
-/* { dg-final { scan-assembler-times "vgatherpf0dpd\[ \\t\]+\[^\{\n\]*\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */
+/* { dg-final { scan-assembler-times "vgatherpf0dpd\[ \\t\]+\[^\{\n\]*\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 2 } } */
 
 #include <immintrin.h>
 
@@ -11,5 +11,6 @@ void *base;
 void extern
 avx512pf_test (void)
 {
+  _mm512_prefetch_i32gather_pd (idx, base, 8, _MM_HINT_T0);
   _mm512_mask_prefetch_i32gather_pd (idx, m8, base, 8, _MM_HINT_T0);
 }
index c8ba0d8d75929efb1f1c7a88b555bac8b3804d26..0953769697ed832e751e80a126366f6ede3648e1 100644 (file)
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512pf -O2" } */
-/* { dg-final { scan-assembler-times "vgatherpf0dps\[ \\t\]+\[^\{\n\]*\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */
+/* { dg-final { scan-assembler-times "vgatherpf0dps\[ \\t\]+\[^\{\n\]*\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 2 } } */
 
 #include <immintrin.h>
 
@@ -11,5 +11,6 @@ int *base;
 void extern
 avx512pf_test (void)
 {
+  _mm512_prefetch_i32gather_ps (idx, base, 8, _MM_HINT_T0);
   _mm512_mask_prefetch_i32gather_ps (idx, m16, base, 8, _MM_HINT_T0);
 }
index ba670097cf82f53f95e71bb0850c85114d99751c..1fb853431cadd63ba29e6114bee791de60bcca07 100644 (file)
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512pf -O2" } */
-/* { dg-final { scan-assembler-times "vgatherpf0qpd\[ \\t\]+\[^\{\n\]*\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */
+/* { dg-final { scan-assembler-times "vgatherpf0qpd\[ \\t\]+\[^\{\n\]*\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 2 } } */
 
 #include <immintrin.h>
 
@@ -11,5 +11,6 @@ int *base;
 void extern
 avx512pf_test (void)
 {
+  _mm512_prefetch_i64gather_pd (idx, base, 8, _MM_HINT_T0);
   _mm512_mask_prefetch_i64gather_pd (idx, m8, base, 8, _MM_HINT_T0);
 }
index e89d4c204ef24e4c3aca5fa52a0c96a67a4188aa..7ccba277b2a4101236a6918a6dad02e144d41c16 100644 (file)
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512pf -O2" } */
-/* { dg-final { scan-assembler-times "vgatherpf0qps\[ \\t\]+\[^\{\n\]*\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */
+/* { dg-final { scan-assembler-times "vgatherpf0qps\[ \\t\]+\[^\{\n\]*\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 2 } } */
 
 #include <immintrin.h>
 
@@ -11,5 +11,6 @@ int *base;
 void extern
 avx512pf_test (void)
 {
+  _mm512_prefetch_i64gather_ps (idx, base, 8, _MM_HINT_T0);
   _mm512_mask_prefetch_i64gather_ps (idx, m8, base, 8, _MM_HINT_T0);
 }
index f737eb1f227b849c2aa505c95e674d53d16b69e1..5dffec17fbfdab5877e316951eadf5bdb8b6677f 100644 (file)
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512pf -O2" } */
-/* { dg-final { scan-assembler-times "vgatherpf1dpd\[ \\t\]+\[^\{\n\]*\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */
+/* { dg-final { scan-assembler-times "vgatherpf1dpd\[ \\t\]+\[^\{\n\]*\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 2 } } */
 
 #include <immintrin.h>
 
@@ -11,5 +11,6 @@ int *base;
 void extern
 avx512pf_test (void)
 {
+  _mm512_prefetch_i32gather_pd (idx, base, 8, _MM_HINT_T1);
   _mm512_mask_prefetch_i32gather_pd (idx, m8, base, 8, _MM_HINT_T1);
 }
index 730401f95a2cb86273b703e6aec4e49a5f3150bb..0ffbc9cfbd9e6e79279f185e5019564cfa45f9df 100644 (file)
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512pf -O2" } */
-/* { dg-final { scan-assembler-times "vgatherpf1dps\[ \\t\]+\[^\{\n\]*\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */
+/* { dg-final { scan-assembler-times "vgatherpf1dps\[ \\t\]+\[^\{\n\]*\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 2 } } */
 
 #include <immintrin.h>
 
@@ -11,5 +11,6 @@ int *base;
 void extern
 avx512pf_test (void)
 {
+  _mm512_prefetch_i32gather_ps (idx, base, 8, _MM_HINT_T1);
   _mm512_mask_prefetch_i32gather_ps (idx, m16, base, 8, _MM_HINT_T1);
 }
index 34b0d89c160b6dbd2ddee26f5f23a063c289eaf6..22450fff7d4d9558c144805c54deb9aa65733a05 100644 (file)
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512pf -O2" } */
-/* { dg-final { scan-assembler-times "vgatherpf1qpd\[ \\t\]+\[^\{\n\]*\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */
+/* { dg-final { scan-assembler-times "vgatherpf1qpd\[ \\t\]+\[^\{\n\]*\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 2 } } */
 
 #include <immintrin.h>
 
@@ -11,5 +11,6 @@ int *base;
 void extern
 avx512pf_test (void)
 {
+  _mm512_prefetch_i64gather_pd (idx, base, 8, _MM_HINT_T1);
   _mm512_mask_prefetch_i64gather_pd (idx, m8, base, 8, _MM_HINT_T1);
 }
index c06a379c2ab3113401a9c9414f860b7b491ff4a8..ddc4eacce3fe8cee97808534883f60b2cfe8ae22 100644 (file)
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512pf -O2" } */
-/* { dg-final { scan-assembler-times "vgatherpf1qps\[ \\t\]+\[^\{\n\]*\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */
+/* { dg-final { scan-assembler-times "vgatherpf1qps\[ \\t\]+\[^\{\n\]*\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 2 } } */
 
 #include <immintrin.h>
 
@@ -11,5 +11,6 @@ int *base;
 void extern
 avx512pf_test (void)
 {
+  _mm512_prefetch_i64gather_ps (idx, base, 8, _MM_HINT_T1);
   _mm512_mask_prefetch_i64gather_ps (idx, m8, base, 8, _MM_HINT_T1);
 }
index 8a4b232b1f37b4e9d9a7686835453f7790c3b526..6df6abc9af17bdd472ccb26ace46a52ed03c594e 100644 (file)
@@ -50,7 +50,7 @@
   { return func (A, B, imm1, imm2, imm3); }
 
 #define test_2vx(func, op1_type, op2_type, imm1, imm2)     \
-  _CONCAT(_,func) (op1_type A, op2_type B, int const I, int const L) \
+  void _CONCAT(_,func) (op1_type A, op2_type B, int const I, int const L) \
   { func (A, B, imm1, imm2); }
 
 #define test_3(func, type, op1_type, op2_type, op3_type, imm)          \
@@ -74,7 +74,7 @@
   { func (A, B, C, imm); }
 
 #define test_3vx(func, op1_type, op2_type, op3_type, imm1, imm2)   \
-  int _CONCAT(_,func) (op1_type A, op2_type B,                    \
+  void _CONCAT(_,func) (op1_type A, op2_type B,                           \
                       op3_type C, int const I, int const L)       \
   { func (A, B, C, imm1, imm2); }
 
@@ -520,6 +520,14 @@ test_4x (_mm_maskz_fixupimm_round_sd, __m128d, __mmask8, __m128d, __m128d, __m12
 test_4x (_mm_maskz_fixupimm_round_ss, __m128, __mmask8, __m128, __m128, __m128i, 1, 8)
 
 /* avx512pfintrin.h */
+test_2vx (_mm512_prefetch_i32gather_ps, __m512i, void const *, 1, _MM_HINT_T0)
+test_2vx (_mm512_prefetch_i32scatter_ps, void const *, __m512i, 1, _MM_HINT_T0)
+test_2vx (_mm512_prefetch_i64gather_ps, __m512i, void const *, 1, _MM_HINT_T0)
+test_2vx (_mm512_prefetch_i64scatter_ps, void const *, __m512i, 1, _MM_HINT_T0)
+test_2vx (_mm512_prefetch_i32gather_pd, __m256i, void const *, 1, _MM_HINT_T0)
+test_2vx (_mm512_prefetch_i32scatter_pd, void const *, __m256i, 1, _MM_HINT_T0)
+test_2vx (_mm512_prefetch_i64gather_pd, __m512i, void const *, 1, _MM_HINT_T0)
+test_2vx (_mm512_prefetch_i64scatter_pd, void const *, __m512i, 1, _MM_HINT_T0)
 test_3vx (_mm512_mask_prefetch_i32gather_ps, __m512i, __mmask16, void const *, 1, _MM_HINT_T0)
 test_3vx (_mm512_mask_prefetch_i32scatter_ps, void const *, __mmask16, __m512i, 1, _MM_HINT_T0)
 test_3vx (_mm512_mask_prefetch_i64gather_ps, __m512i, __mmask8, void const *, 1, _MM_HINT_T0)
index 0e1c3baafab58e337e301ae3fc518cdf9d8dcc57..acc06a4a5e5b4450bc9679eb56343fb847edad36 100644 (file)
@@ -50,7 +50,7 @@
   { return func (A, B, imm1, imm2, imm3); }
 
 #define test_2vx(func, op1_type, op2_type, imm1, imm2)     \
-  _CONCAT(_,func) (op1_type A, op2_type B, int const I, int const L) \
+  void _CONCAT(_,func) (op1_type A, op2_type B, int const I, int const L) \
   { func (A, B, imm1, imm2); }
 
 #define test_3(func, type, op1_type, op2_type, op3_type, imm)          \
@@ -74,7 +74,7 @@
   { func (A, B, C, imm); }
 
 #define test_3vx(func, op1_type, op2_type, op3_type, imm1, imm2)   \
-  int _CONCAT(_,func) (op1_type A, op2_type B,                    \
+  void _CONCAT(_,func) (op1_type A, op2_type B,                   \
                       op3_type C, int const I, int const L)       \
   { func (A, B, C, imm1, imm2); }
 
@@ -647,11 +647,18 @@ test_4x (_mm_maskz_fixupimm_round_sd, __m128d, __mmask8, __m128d, __m128d, __m12
 test_4x (_mm_maskz_fixupimm_round_ss, __m128, __mmask8, __m128, __m128, __m128i, 1, 8)
 
 /* avx512pfintrin.h */
+test_2vx (_mm512_prefetch_i32gather_ps, __m512i, void const *, 1, _MM_HINT_T0)
+test_2vx (_mm512_prefetch_i32scatter_ps, void const *, __m512i, 1, _MM_HINT_T0)
+test_2vx (_mm512_prefetch_i64gather_ps, __m512i, void const *, 1, _MM_HINT_T0)
+test_2vx (_mm512_prefetch_i64scatter_ps, void const *, __m512i, 1, _MM_HINT_T0)
+test_2vx (_mm512_prefetch_i32gather_pd, __m256i, void const *, 1, _MM_HINT_T0)
+test_2vx (_mm512_prefetch_i32scatter_pd, void const *, __m256i, 1, _MM_HINT_T0)
+test_2vx (_mm512_prefetch_i64gather_pd, __m512i, long long *, 1, _MM_HINT_T0)
+test_2vx (_mm512_prefetch_i64scatter_pd, void const *, __m512i, 1, _MM_HINT_T0)
 test_3vx (_mm512_mask_prefetch_i32gather_ps, __m512i, __mmask16, void const *, 1, _MM_HINT_T0)
 test_3vx (_mm512_mask_prefetch_i32scatter_ps, void const *, __mmask16, __m512i, 1, _MM_HINT_T0)
 test_3vx (_mm512_mask_prefetch_i64gather_ps, __m512i, __mmask8, void const *, 1, _MM_HINT_T0)
 test_3vx (_mm512_mask_prefetch_i64scatter_ps, void const *, __mmask8, __m512i, 1, _MM_HINT_T0)
-
 test_3vx (_mm512_mask_prefetch_i32gather_pd, __m256i, __mmask8, void const *, 1, _MM_HINT_T0)
 test_3vx (_mm512_mask_prefetch_i32scatter_pd, void const *, __mmask8, __m256i, 1, _MM_HINT_T0)
 test_3vx (_mm512_mask_prefetch_i64gather_pd, __m512i, __mmask8, long long *, 1, _MM_HINT_T0)