predicates.md (const1256_operand): Remove.
authorIlya Tocar <ilya.tocar@intel.com>
Wed, 26 Feb 2014 09:31:15 +0000 (09:31 +0000)
committerKirill Yukhin <kyukhin@gcc.gnu.org>
Wed, 26 Feb 2014 09:31:15 +0000 (09:31 +0000)
gcc/
* common/config/i386/predicates.md (const1256_operand): Remove.
(const2356_operand): New.
(const_1_to_2_operand): Remove.
* config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
(*avx512pf_gatherpf<mode>sf_mask): Ditto.
(*avx512pf_gatherpf<mode>sf): Ditto.
(avx512pf_gatherpf<mode>df): Ditto.
(*avx512pf_gatherpf<mode>df_mask): Ditto.
(*avx512pf_gatherpf<mode>df): Ditto.
(avx512pf_scatterpf<mode>sf): Ditto.
(*avx512pf_scatterpf<mode>sf_mask): Ditto.
(*avx512pf_scatterpf<mode>sf): Ditto.
(avx512pf_scatterpf<mode>df): Ditto.
(*avx512pf_scatterpf<mode>df_mask): Ditto.
(*avx512pf_scatterpf<mode>df): Ditto.
* common/config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET0.

gcc/testsuite/
* common/config/i386/predicates.md (const1256_operand): Remove.
(const2356_operand): New.
(const_1_to_2_operand): Remove.
* config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
(*avx512pf_gatherpf<mode>sf_mask): Ditto.
(*avx512pf_gatherpf<mode>sf): Ditto.
(avx512pf_gatherpf<mode>df): Ditto.
(*avx512pf_gatherpf<mode>df_mask): Ditto.
(*avx512pf_gatherpf<mode>df): Ditto.
(avx512pf_scatterpf<mode>sf): Ditto.
(*avx512pf_scatterpf<mode>sf_mask): Ditto.
(*avx512pf_scatterpf<mode>sf): Ditto.
(avx512pf_scatterpf<mode>df): Ditto.
(*avx512pf_scatterpf<mode>df_mask): Ditto.
(*avx512pf_scatterpf<mode>df): Ditto.
* common/config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET0.

From-SVN: r208169

25 files changed:
gcc/ChangeLog
gcc/config/i386/predicates.md
gcc/config/i386/sse.md
gcc/config/i386/xmmintrin.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/avx-1.c
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/avx512pf-vscatterpf0dpd-1.c
gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0dps-1.c
gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0qpd-1.c
gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf0qps-1.c
gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1dpd-1.c
gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1dps-1.c
gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1qpd-1.c
gcc/testsuite/gcc.target/i386/avx512pf-vscatterpf1qps-1.c
gcc/testsuite/gcc.target/i386/sse-14.c
gcc/testsuite/gcc.target/i386/sse-22.c
gcc/testsuite/gcc.target/i386/sse-23.c

index 3974f9c..1f5bd62 100644 (file)
@@ -1,3 +1,22 @@
+2014-02-25  Ilya Tocar  <ilya.tocar@intel.com>
+
+       * common/config/i386/predicates.md (const1256_operand): Remove.
+       (const2356_operand): New.
+       (const_1_to_2_operand): Remove.
+       * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
+       (*avx512pf_gatherpf<mode>sf_mask): Ditto.
+       (*avx512pf_gatherpf<mode>sf): Ditto.
+       (avx512pf_gatherpf<mode>df): Ditto.
+       (*avx512pf_gatherpf<mode>df_mask): Ditto.
+       (*avx512pf_gatherpf<mode>df): Ditto.
+       (avx512pf_scatterpf<mode>sf): Ditto.
+       (*avx512pf_scatterpf<mode>sf_mask): Ditto.
+       (*avx512pf_scatterpf<mode>sf): Ditto.
+       (avx512pf_scatterpf<mode>df): Ditto.
+       (*avx512pf_scatterpf<mode>df_mask): Ditto.
+       (*avx512pf_scatterpf<mode>df): Ditto.
+       * common/config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET0.
+
 2014-02-26  Ilya Tocar  <ilya.tocar@intel.com>
 
        * config/i386/avx512fintrin.h (_mm512_testn_epi32_mask),
index 3f53e2d..70418f4 100644 (file)
   return i == 2 || i == 4 || i == 8;
 })
 
-;; Match 1, 2, 5, or 6
-(define_predicate "const1256_operand"
+;; Match 2, 3, 5, or 6
+(define_predicate "const2356_operand"
   (match_code "const_int")
 {
   HOST_WIDE_INT i = INTVAL (op);
-  return i == 1 || i == 2 || i == 5 || i == 6;
+  return i == 2 || i == 3 || i == 5 || i == 6;
 })
 
 ;; Match 1, 2, 4, or 8
   return val <= 255*8 && val % 8 == 0;
 })
 
-;; Match 1 to 2.
-(define_predicate "const_1_to_2_operand"
-  (and (match_code "const_int")
-       (match_test "IN_RANGE (INTVAL (op), 1, 2)")))
-
 ;; Return true if OP is CONST_INT >= 1 and <= 31 (a valid operand
 ;; for shift & compare patterns, as shifting by 0 does not change flags).
 (define_predicate "const_1_to_31_operand"
index f6de5d5..5775bc6 100644 (file)
          [(match_operand 2 "vsib_address_operand")
           (match_operand:VI48_512 1 "register_operand")
           (match_operand:SI 3 "const1248_operand")]))
-      (match_operand:SI 4 "const_1_to_2_operand")]
+      (match_operand:SI 4 "const_2_to_3_operand")]
      UNSPEC_GATHER_PREFETCH)]
   "TARGET_AVX512PF"
 {
            (match_operand:VI48_512 1 "register_operand" "v")
            (match_operand:SI 3 "const1248_operand" "n")]
           UNSPEC_VSIBADDR)])
-      (match_operand:SI 4 "const_1_to_2_operand" "n")]
+      (match_operand:SI 4 "const_2_to_3_operand" "n")]
      UNSPEC_GATHER_PREFETCH)]
   "TARGET_AVX512PF"
 {
   switch (INTVAL (operands[4]))
     {
-    case 1:
+    case 3:
       return "vgatherpf0<ssemodesuffix>ps\t{%5%{%0%}|%5%{%0%}}";
     case 2:
       return "vgatherpf1<ssemodesuffix>ps\t{%5%{%0%}|%5%{%0%}}";
            (match_operand:VI48_512 0 "register_operand" "v")
            (match_operand:SI 2 "const1248_operand" "n")]
           UNSPEC_VSIBADDR)])
-      (match_operand:SI 3 "const_1_to_2_operand" "n")]
+      (match_operand:SI 3 "const_2_to_3_operand" "n")]
      UNSPEC_GATHER_PREFETCH)]
   "TARGET_AVX512PF"
 {
   switch (INTVAL (operands[3]))
     {
-    case 1:
+    case 3:
       return "vgatherpf0<ssemodesuffix>ps\t{%4|%4}";
     case 2:
       return "vgatherpf1<ssemodesuffix>ps\t{%4|%4}";
          [(match_operand 2 "vsib_address_operand")
           (match_operand:VI4_256_8_512 1 "register_operand")
           (match_operand:SI 3 "const1248_operand")]))
-      (match_operand:SI 4 "const_1_to_2_operand")]
+      (match_operand:SI 4 "const_2_to_3_operand")]
      UNSPEC_GATHER_PREFETCH)]
   "TARGET_AVX512PF"
 {
            (match_operand:VI4_256_8_512 1 "register_operand" "v")
            (match_operand:SI 3 "const1248_operand" "n")]
           UNSPEC_VSIBADDR)])
-      (match_operand:SI 4 "const_1_to_2_operand" "n")]
+      (match_operand:SI 4 "const_2_to_3_operand" "n")]
      UNSPEC_GATHER_PREFETCH)]
   "TARGET_AVX512PF"
 {
   switch (INTVAL (operands[4]))
     {
-    case 1:
+    case 3:
       return "vgatherpf0<ssemodesuffix>pd\t{%5%{%0%}|%5%{%0%}}";
     case 2:
       return "vgatherpf1<ssemodesuffix>pd\t{%5%{%0%}|%5%{%0%}}";
            (match_operand:VI4_256_8_512 0 "register_operand" "v")
            (match_operand:SI 2 "const1248_operand" "n")]
           UNSPEC_VSIBADDR)])
-      (match_operand:SI 3 "const_1_to_2_operand" "n")]
+      (match_operand:SI 3 "const_2_to_3_operand" "n")]
      UNSPEC_GATHER_PREFETCH)]
   "TARGET_AVX512PF"
 {
   switch (INTVAL (operands[3]))
     {
-    case 1:
+    case 3:
       return "vgatherpf0<ssemodesuffix>pd\t{%4|%4}";
     case 2:
       return "vgatherpf1<ssemodesuffix>pd\t{%4|%4}";
          [(match_operand 2 "vsib_address_operand")
           (match_operand:VI48_512 1 "register_operand")
           (match_operand:SI 3 "const1248_operand")]))
-      (match_operand:SI 4 "const1256_operand")]
+      (match_operand:SI 4 "const2356_operand")]
      UNSPEC_SCATTER_PREFETCH)]
   "TARGET_AVX512PF"
 {
            (match_operand:VI48_512 1 "register_operand" "v")
            (match_operand:SI 3 "const1248_operand" "n")]
           UNSPEC_VSIBADDR)])
-      (match_operand:SI 4 "const1256_operand" "n")]
+      (match_operand:SI 4 "const2356_operand" "n")]
      UNSPEC_SCATTER_PREFETCH)]
   "TARGET_AVX512PF"
 {
   switch (INTVAL (operands[4]))
     {
-    case 1:
+    case 3:
     case 5:
       return "vscatterpf0<ssemodesuffix>ps\t{%5%{%0%}|%5%{%0%}}";
     case 2:
            (match_operand:VI48_512 0 "register_operand" "v")
            (match_operand:SI 2 "const1248_operand" "n")]
           UNSPEC_VSIBADDR)])
-      (match_operand:SI 3 "const1256_operand" "n")]
+      (match_operand:SI 3 "const2356_operand" "n")]
      UNSPEC_SCATTER_PREFETCH)]
   "TARGET_AVX512PF"
 {
   switch (INTVAL (operands[3]))
     {
-    case 1:
+    case 3:
     case 5:
       return "vscatterpf0<ssemodesuffix>ps\t{%4|%4}";
     case 2:
          [(match_operand 2 "vsib_address_operand")
           (match_operand:VI4_256_8_512 1 "register_operand")
           (match_operand:SI 3 "const1248_operand")]))
-      (match_operand:SI 4 "const1256_operand")]
+      (match_operand:SI 4 "const2356_operand")]
      UNSPEC_SCATTER_PREFETCH)]
   "TARGET_AVX512PF"
 {
            (match_operand:VI4_256_8_512 1 "register_operand" "v")
            (match_operand:SI 3 "const1248_operand" "n")]
           UNSPEC_VSIBADDR)])
-      (match_operand:SI 4 "const1256_operand" "n")]
+      (match_operand:SI 4 "const2356_operand" "n")]
      UNSPEC_SCATTER_PREFETCH)]
   "TARGET_AVX512PF"
 {
   switch (INTVAL (operands[4]))
     {
-    case 1:
+    case 3:
     case 5:
       return "vscatterpf0<ssemodesuffix>pd\t{%5%{%0%}|%5%{%0%}}";
     case 2:
            (match_operand:VI4_256_8_512 0 "register_operand" "v")
            (match_operand:SI 2 "const1248_operand" "n")]
           UNSPEC_VSIBADDR)])
-      (match_operand:SI 3 "const1256_operand" "n")]
+      (match_operand:SI 3 "const2356_operand" "n")]
      UNSPEC_SCATTER_PREFETCH)]
   "TARGET_AVX512PF"
 {
   switch (INTVAL (operands[3]))
     {
-    case 1:
+    case 3:
     case 5:
       return "vscatterpf0<ssemodesuffix>pd\t{%4|%4}";
     case 2:
index 9cefa2c..5967d7e 100644 (file)
@@ -54,6 +54,7 @@ typedef float __v4sf __attribute__ ((__vector_size__ (16)));
 enum _mm_hint
 {
   /* _MM_HINT_ET is _MM_HINT_T with set 3rd bit.  */
+  _MM_HINT_ET0 = 5,
   _MM_HINT_ET1 = 6,
   _MM_HINT_T0 = 3,
   _MM_HINT_T1 = 2,
index 124f5c7..48e2a17 100644 (file)
@@ -1,5 +1,24 @@
 2014-02-26  Ilya Tocar  <ilya.tocar@intel.com>
 
+       * common/config/i386/predicates.md (const1256_operand): Remove.
+       (const2356_operand): New.
+       (const_1_to_2_operand): Remove.
+       * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
+       (*avx512pf_gatherpf<mode>sf_mask): Ditto.
+       (*avx512pf_gatherpf<mode>sf): Ditto.
+       (avx512pf_gatherpf<mode>df): Ditto.
+       (*avx512pf_gatherpf<mode>df_mask): Ditto.
+       (*avx512pf_gatherpf<mode>df): Ditto.
+       (avx512pf_scatterpf<mode>sf): Ditto.
+       (*avx512pf_scatterpf<mode>sf_mask): Ditto.
+       (*avx512pf_scatterpf<mode>sf): Ditto.
+       (avx512pf_scatterpf<mode>df): Ditto.
+       (*avx512pf_scatterpf<mode>df_mask): Ditto.
+       (*avx512pf_scatterpf<mode>df): Ditto.
+       * common/config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET0.
+
+2014-02-26  Ilya Tocar  <ilya.tocar@intel.com>
+
        * gcc.target/i386/avx512cd-vptestnmd-1.c: Change into ...
        * gcc.target/i386/avx512f-vptestnmd-1.c: This.
        * gcc.target/i386/avx512cd-vptestnmq-1.c: Change into ...
index 12cfc68..8f28921 100644 (file)
 #define __builtin_ia32_rsqrt28sd_round(A, B, C) __builtin_ia32_rsqrt28sd_round(A, B, 8)
 
 /* avx512pfintrin.h */
-#define __builtin_ia32_gatherpfdps(A, B, C, D, E) __builtin_ia32_gatherpfdps(A, B, C, 1, 1)
-#define __builtin_ia32_gatherpfqps(A, B, C, D, E) __builtin_ia32_gatherpfqps(A, B, C, 1, 1)
-#define __builtin_ia32_scatterpfdps(A, B, C, D, E) __builtin_ia32_scatterpfdps(A, B, C, 1, 1)
-#define __builtin_ia32_scatterpfqps(A, B, C, D, E) __builtin_ia32_scatterpfqps(A, B, C, 1, 1)
-#define __builtin_ia32_gatherpfdpd(A, B, C, D, E) __builtin_ia32_gatherpfdpd(A, B, C, 1, 1)
-#define __builtin_ia32_gatherpfqpd(A, B, C, D, E) __builtin_ia32_gatherpfqpd(A, B, C, 1, 1)
-#define __builtin_ia32_scatterpfdpd(A, B, C, D, E) __builtin_ia32_scatterpfdpd(A, B, C, 1, 1)
-#define __builtin_ia32_scatterpfqpd(A, B, C, D, E) __builtin_ia32_scatterpfqpd(A, B, C, 1, 1)
+#define __builtin_ia32_gatherpfdps(A, B, C, D, E) __builtin_ia32_gatherpfdps(A, B, C, 1, _MM_HINT_T0)
+#define __builtin_ia32_gatherpfqps(A, B, C, D, E) __builtin_ia32_gatherpfqps(A, B, C, 1, _MM_HINT_T0)
+#define __builtin_ia32_scatterpfdps(A, B, C, D, E) __builtin_ia32_scatterpfdps(A, B, C, 1, _MM_HINT_T0)
+#define __builtin_ia32_scatterpfqps(A, B, C, D, E) __builtin_ia32_scatterpfqps(A, B, C, 1, _MM_HINT_T0)
+#define __builtin_ia32_gatherpfdpd(A, B, C, D, E) __builtin_ia32_gatherpfdpd(A, B, C, 1, _MM_HINT_T0)
+#define __builtin_ia32_gatherpfqpd(A, B, C, D, E) __builtin_ia32_gatherpfqpd(A, B, C, 1, _MM_HINT_T0)
+#define __builtin_ia32_scatterpfdpd(A, B, C, D, E) __builtin_ia32_scatterpfdpd(A, B, C, 1, _MM_HINT_T0)
+#define __builtin_ia32_scatterpfqpd(A, B, C, D, E) __builtin_ia32_scatterpfqpd(A, B, C, 1, _MM_HINT_T0)
 
 /* shaintrin.h */
 #define __builtin_ia32_sha1rnds4(A, B, C) __builtin_ia32_sha1rnds4(A, B, 1)
index fe366ee..9051a16 100644 (file)
@@ -11,5 +11,5 @@ void *base;
 void extern
 avx512pf_test (void)
 {
-  _mm512_mask_prefetch_i32gather_pd (idx, m8, base, 8, 1);
+  _mm512_mask_prefetch_i32gather_pd (idx, m8, base, 8, _MM_HINT_T0);
 }
index df13cdb..bda31d7 100644 (file)
@@ -11,5 +11,5 @@ int *base;
 void extern
 avx512pf_test (void)
 {
-  _mm512_mask_prefetch_i32gather_ps (idx, m16, base, 8, 1);
+  _mm512_mask_prefetch_i32gather_ps (idx, m16, base, 8, _MM_HINT_T0);
 }
index ba71335..34bcecf 100644 (file)
@@ -11,5 +11,5 @@ int *base;
 void extern
 avx512pf_test (void)
 {
-  _mm512_mask_prefetch_i64gather_pd (idx, m8, base, 8, 1);
+  _mm512_mask_prefetch_i64gather_pd (idx, m8, base, 8, _MM_HINT_T0);
 }
index 945ac51..a9011b0 100644 (file)
@@ -11,5 +11,5 @@ int *base;
 void extern
 avx512pf_test (void)
 {
-  _mm512_mask_prefetch_i64gather_ps (idx, m8, base, 8, 1);
+  _mm512_mask_prefetch_i64gather_ps (idx, m8, base, 8, _MM_HINT_T0);
 }
index 5933376..a16f4d3 100644 (file)
@@ -11,5 +11,5 @@ int *base;
 void extern
 avx512pf_test (void)
 {
-  _mm512_mask_prefetch_i32gather_pd (idx, m8, base, 8, 2);
+  _mm512_mask_prefetch_i32gather_pd (idx, m8, base, 8, _MM_HINT_T1);
 }
index da1046f..c43152b 100644 (file)
@@ -11,5 +11,5 @@ int *base;
 void extern
 avx512pf_test (void)
 {
-  _mm512_mask_prefetch_i32gather_ps (idx, m16, base, 8, 2);
+  _mm512_mask_prefetch_i32gather_ps (idx, m16, base, 8, _MM_HINT_T1);
 }
index eb2c545..ab9e351 100644 (file)
@@ -11,5 +11,5 @@ int *base;
 void extern
 avx512pf_test (void)
 {
-  _mm512_mask_prefetch_i64gather_pd (idx, m8, base, 8, 2);
+  _mm512_mask_prefetch_i64gather_pd (idx, m8, base, 8, _MM_HINT_T1);
 }
index 1c81836..28d7cd6 100644 (file)
@@ -11,5 +11,5 @@ int *base;
 void extern
 avx512pf_test (void)
 {
-  _mm512_mask_prefetch_i64gather_ps (idx, m8, base, 8, 2);
+  _mm512_mask_prefetch_i64gather_ps (idx, m8, base, 8, _MM_HINT_T1);
 }
index ff00bfa..14d5c97 100644 (file)
@@ -12,6 +12,6 @@ void *base;
 void extern
 avx512pf_test (void)
 {
-  _mm512_prefetch_i32scatter_pd (base, idx, 8, 1);
-  _mm512_mask_prefetch_i32scatter_pd (base, m8, idx, 8, 5);
+  _mm512_prefetch_i32scatter_pd (base, idx, 8, _MM_HINT_T0);
+  _mm512_mask_prefetch_i32scatter_pd (base, m8, idx, 8, _MM_HINT_ET0);
 }
index 25448b4..05f51f2 100644 (file)
@@ -12,6 +12,6 @@ int *base;
 void extern
 avx512pf_test (void)
 {
-  _mm512_prefetch_i32scatter_ps (base, idx, 8, 1);
-  _mm512_mask_prefetch_i32scatter_ps (base, m16, idx, 8, 5);
+  _mm512_prefetch_i32scatter_ps (base, idx, 8, _MM_HINT_T0);
+  _mm512_mask_prefetch_i32scatter_ps (base, m16, idx, 8, _MM_HINT_ET0);
 }
index 84ddc6d..93a65a8 100644 (file)
@@ -12,6 +12,6 @@ void *base;
 void extern
 avx512pf_test (void)
 {
-  _mm512_prefetch_i64scatter_pd (base, idx, 8, 1);
-  _mm512_mask_prefetch_i64scatter_pd (base, m8, idx, 8, 5);
+  _mm512_prefetch_i64scatter_pd (base, idx, 8, _MM_HINT_T0);
+  _mm512_mask_prefetch_i64scatter_pd (base, m8, idx, 8, _MM_HINT_ET0);
 }
index 847a719..1f9b973 100644 (file)
@@ -12,6 +12,6 @@ int *base;
 void extern
 avx512pf_test (void)
 {
-  _mm512_prefetch_i64scatter_ps (base, idx, 8, 1);
-  _mm512_mask_prefetch_i64scatter_ps (base, m8, idx, 8, 5);
+  _mm512_prefetch_i64scatter_ps (base, idx, 8, _MM_HINT_T0);
+  _mm512_mask_prefetch_i64scatter_ps (base, m8, idx, 8, _MM_HINT_ET0);
 }
index 5633138..04c367c 100644 (file)
@@ -12,6 +12,6 @@ void *base;
 void extern
 avx512pf_test (void)
 {
-  _mm512_prefetch_i32scatter_pd (base, idx, 8, 2);
-  _mm512_mask_prefetch_i32scatter_pd (base, m8, idx, 8, 6);
+  _mm512_prefetch_i32scatter_pd (base, idx, 8, _MM_HINT_T1);
+  _mm512_mask_prefetch_i32scatter_pd (base, m8, idx, 8, _MM_HINT_ET1);
 }
index fb70439..a76b77c 100644 (file)
@@ -12,6 +12,6 @@ int *base;
 void extern
 avx512pf_test (void)
 {
-  _mm512_prefetch_i32scatter_ps (base, idx, 8, 2);
-  _mm512_mask_prefetch_i32scatter_ps (base, m16, idx, 8, 6);
+  _mm512_prefetch_i32scatter_ps (base, idx, 8, _MM_HINT_T1);
+  _mm512_mask_prefetch_i32scatter_ps (base, m16, idx, 8, _MM_HINT_ET1);
 }
index 7fbd142..7a5747c 100644 (file)
@@ -12,6 +12,6 @@ int *base;
 void extern
 avx512pf_test (void)
 {
-  _mm512_prefetch_i64scatter_pd (base, idx, 8, 2);
-  _mm512_mask_prefetch_i64scatter_pd (base, m8, idx, 8, 6);
+  _mm512_prefetch_i64scatter_pd (base, idx, 8, _MM_HINT_T1);
+  _mm512_mask_prefetch_i64scatter_pd (base, m8, idx, 8, _MM_HINT_ET1);
 }
index c004834..d0372b7 100644 (file)
@@ -12,6 +12,6 @@ int *base;
 void extern
 avx512pf_test (void)
 {
-  _mm512_prefetch_i64scatter_ps (base, idx, 8, 2);
-  _mm512_mask_prefetch_i64scatter_ps (base, m8, idx, 8, 6);
+  _mm512_prefetch_i64scatter_ps (base, idx, 8, _MM_HINT_T1);
+  _mm512_mask_prefetch_i64scatter_ps (base, m8, idx, 8, _MM_HINT_ET1);
 }
index 10334a6..d9a5fed 100644 (file)
@@ -519,14 +519,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_3vx (_mm512_mask_prefetch_i32gather_ps, __m512i, __mmask16, void const *, 1, 1)
-test_3vx (_mm512_mask_prefetch_i32scatter_ps, void const *, __mmask16, __m512i, 1, 1)
-test_3vx (_mm512_mask_prefetch_i64gather_ps, __m512i, __mmask8, void const *, 1, 1)
-test_3vx (_mm512_mask_prefetch_i64scatter_ps, void const *, __mmask8, __m512i, 1, 1)
-test_3vx (_mm512_mask_prefetch_i32gather_pd, __m256i, __mmask8, void const *, 1, 1)
-test_3vx (_mm512_mask_prefetch_i32scatter_pd, void const *, __mmask8, __m256i, 1, 1)
-test_3vx (_mm512_mask_prefetch_i64gather_pd, __m512i, __mmask8, void const *, 1, 1)
-test_3vx (_mm512_mask_prefetch_i64scatter_pd, void const *, __mmask8, __m512i, 1, 1)
+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, void const *, 1, _MM_HINT_T0)
+test_3vx (_mm512_mask_prefetch_i64scatter_pd, void const *, __mmask8, __m512i, 1, _MM_HINT_T0)
 
 /* avx512erintrin.h */
 test_1 (_mm512_exp2a23_round_pd, __m512d, __m512d, 8)
index 51f04c2..e9f227a 100644 (file)
@@ -641,15 +641,15 @@ 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_3vx (_mm512_mask_prefetch_i32gather_ps, __m512i, __mmask16, void const *, 1, 1)
-test_3vx (_mm512_mask_prefetch_i32scatter_ps, void const *, __mmask16, __m512i, 1, 1)
-test_3vx (_mm512_mask_prefetch_i64gather_ps, __m512i, __mmask8, void const *, 1, 1)
-test_3vx (_mm512_mask_prefetch_i64scatter_ps, void const *, __mmask8, __m512i, 1, 1)
-
-test_3vx (_mm512_mask_prefetch_i32gather_pd, __m256i, __mmask8, void const *, 1, 1)
-test_3vx (_mm512_mask_prefetch_i32scatter_pd, void const *, __mmask8, __m256i, 1, 1)
-test_3vx (_mm512_mask_prefetch_i64gather_pd, __m512i, __mmask8, long long *, 1, 1)
-test_3vx (_mm512_mask_prefetch_i64scatter_pd, void const *, __mmask8, __m512i, 1, 1)
+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)
+test_3vx (_mm512_mask_prefetch_i64scatter_pd, void const *, __mmask8, __m512i, 1, _MM_HINT_T0)
 
 /* avx512erintrin.h */
 test_1 (_mm512_exp2a23_round_pd, __m512d, __m512d, 8)
index 5b24618..d227bab 100644 (file)
 #define __builtin_ia32_vpermilps512_mask(A, E, C, D) __builtin_ia32_vpermilps512_mask(A, 1, C, D)
 
 /* avx512pfintrin.h */
-#define __builtin_ia32_gatherpfdps(A, B, C, D, E) __builtin_ia32_gatherpfdps(A, B, C, 1, 1)
-#define __builtin_ia32_gatherpfqps(A, B, C, D, E) __builtin_ia32_gatherpfqps(A, B, C, 1, 1)
-#define __builtin_ia32_scatterpfdps(A, B, C, D, E) __builtin_ia32_scatterpfdps(A, B, C, 1, 1)
-#define __builtin_ia32_scatterpfqps(A, B, C, D, E) __builtin_ia32_scatterpfqps(A, B, C, 1, 1)
-#define __builtin_ia32_gatherpfdpd(A, B, C, D, E) __builtin_ia32_gatherpfdpd(A, B, C, 1, 1)
-#define __builtin_ia32_gatherpfqpd(A, B, C, D, E) __builtin_ia32_gatherpfqpd(A, B, C, 1, 1)
-#define __builtin_ia32_scatterpfdpd(A, B, C, D, E) __builtin_ia32_scatterpfdpd(A, B, C, 1, 1)
-#define __builtin_ia32_scatterpfqpd(A, B, C, D, E) __builtin_ia32_scatterpfqpd(A, B, C, 1, 1)
+#define __builtin_ia32_gatherpfdps(A, B, C, D, E) __builtin_ia32_gatherpfdps(A, B, C, 1, _MM_HINT_T0)
+#define __builtin_ia32_gatherpfqps(A, B, C, D, E) __builtin_ia32_gatherpfqps(A, B, C, 1, _MM_HINT_T0)
+#define __builtin_ia32_scatterpfdps(A, B, C, D, E) __builtin_ia32_scatterpfdps(A, B, C, 1, _MM_HINT_T0)
+#define __builtin_ia32_scatterpfqps(A, B, C, D, E) __builtin_ia32_scatterpfqps(A, B, C, 1, _MM_HINT_T0)
+#define __builtin_ia32_gatherpfdpd(A, B, C, D, E) __builtin_ia32_gatherpfdpd(A, B, C, 1, _MM_HINT_T0)
+#define __builtin_ia32_gatherpfqpd(A, B, C, D, E) __builtin_ia32_gatherpfqpd(A, B, C, 1, _MM_HINT_T0)
+#define __builtin_ia32_scatterpfdpd(A, B, C, D, E) __builtin_ia32_scatterpfdpd(A, B, C, 1, _MM_HINT_T0)
+#define __builtin_ia32_scatterpfqpd(A, B, C, D, E) __builtin_ia32_scatterpfqpd(A, B, C, 1, _MM_HINT_T0)
 
 /* avx512erintrin.h */
 #define __builtin_ia32_exp2pd_mask(A, B, C, D) __builtin_ia32_exp2pd_mask (A, B, C, 8)