Commit 22c8aab3 by Ilya Tocar Committed by Kirill Yukhin

predicates.md (const1256_operand): Remove.

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
parent 260d3642
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> 2014-02-26 Ilya Tocar <ilya.tocar@intel.com>
* config/i386/avx512fintrin.h (_mm512_testn_epi32_mask), * config/i386/avx512fintrin.h (_mm512_testn_epi32_mask),
......
...@@ -660,12 +660,12 @@ ...@@ -660,12 +660,12 @@
return i == 2 || i == 4 || i == 8; return i == 2 || i == 4 || i == 8;
}) })
;; Match 1, 2, 5, or 6 ;; Match 2, 3, 5, or 6
(define_predicate "const1256_operand" (define_predicate "const2356_operand"
(match_code "const_int") (match_code "const_int")
{ {
HOST_WIDE_INT i = INTVAL (op); 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 ;; Match 1, 2, 4, or 8
...@@ -754,11 +754,6 @@ ...@@ -754,11 +754,6 @@
return val <= 255*8 && val % 8 == 0; 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 ;; 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). ;; for shift & compare patterns, as shifting by 0 does not change flags).
(define_predicate "const_1_to_31_operand" (define_predicate "const_1_to_31_operand"
......
...@@ -12508,7 +12508,7 @@ ...@@ -12508,7 +12508,7 @@
[(match_operand 2 "vsib_address_operand") [(match_operand 2 "vsib_address_operand")
(match_operand:VI48_512 1 "register_operand") (match_operand:VI48_512 1 "register_operand")
(match_operand:SI 3 "const1248_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)] UNSPEC_GATHER_PREFETCH)]
"TARGET_AVX512PF" "TARGET_AVX512PF"
{ {
...@@ -12526,13 +12526,13 @@ ...@@ -12526,13 +12526,13 @@
(match_operand:VI48_512 1 "register_operand" "v") (match_operand:VI48_512 1 "register_operand" "v")
(match_operand:SI 3 "const1248_operand" "n")] (match_operand:SI 3 "const1248_operand" "n")]
UNSPEC_VSIBADDR)]) 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)] UNSPEC_GATHER_PREFETCH)]
"TARGET_AVX512PF" "TARGET_AVX512PF"
{ {
switch (INTVAL (operands[4])) switch (INTVAL (operands[4]))
{ {
case 1: case 3:
return "vgatherpf0<ssemodesuffix>ps\t{%5%{%0%}|%5%{%0%}}"; return "vgatherpf0<ssemodesuffix>ps\t{%5%{%0%}|%5%{%0%}}";
case 2: case 2:
return "vgatherpf1<ssemodesuffix>ps\t{%5%{%0%}|%5%{%0%}}"; return "vgatherpf1<ssemodesuffix>ps\t{%5%{%0%}|%5%{%0%}}";
...@@ -12553,13 +12553,13 @@ ...@@ -12553,13 +12553,13 @@
(match_operand:VI48_512 0 "register_operand" "v") (match_operand:VI48_512 0 "register_operand" "v")
(match_operand:SI 2 "const1248_operand" "n")] (match_operand:SI 2 "const1248_operand" "n")]
UNSPEC_VSIBADDR)]) 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)] UNSPEC_GATHER_PREFETCH)]
"TARGET_AVX512PF" "TARGET_AVX512PF"
{ {
switch (INTVAL (operands[3])) switch (INTVAL (operands[3]))
{ {
case 1: case 3:
return "vgatherpf0<ssemodesuffix>ps\t{%4|%4}"; return "vgatherpf0<ssemodesuffix>ps\t{%4|%4}";
case 2: case 2:
return "vgatherpf1<ssemodesuffix>ps\t{%4|%4}"; return "vgatherpf1<ssemodesuffix>ps\t{%4|%4}";
...@@ -12580,7 +12580,7 @@ ...@@ -12580,7 +12580,7 @@
[(match_operand 2 "vsib_address_operand") [(match_operand 2 "vsib_address_operand")
(match_operand:VI4_256_8_512 1 "register_operand") (match_operand:VI4_256_8_512 1 "register_operand")
(match_operand:SI 3 "const1248_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)] UNSPEC_GATHER_PREFETCH)]
"TARGET_AVX512PF" "TARGET_AVX512PF"
{ {
...@@ -12598,13 +12598,13 @@ ...@@ -12598,13 +12598,13 @@
(match_operand:VI4_256_8_512 1 "register_operand" "v") (match_operand:VI4_256_8_512 1 "register_operand" "v")
(match_operand:SI 3 "const1248_operand" "n")] (match_operand:SI 3 "const1248_operand" "n")]
UNSPEC_VSIBADDR)]) 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)] UNSPEC_GATHER_PREFETCH)]
"TARGET_AVX512PF" "TARGET_AVX512PF"
{ {
switch (INTVAL (operands[4])) switch (INTVAL (operands[4]))
{ {
case 1: case 3:
return "vgatherpf0<ssemodesuffix>pd\t{%5%{%0%}|%5%{%0%}}"; return "vgatherpf0<ssemodesuffix>pd\t{%5%{%0%}|%5%{%0%}}";
case 2: case 2:
return "vgatherpf1<ssemodesuffix>pd\t{%5%{%0%}|%5%{%0%}}"; return "vgatherpf1<ssemodesuffix>pd\t{%5%{%0%}|%5%{%0%}}";
...@@ -12625,13 +12625,13 @@ ...@@ -12625,13 +12625,13 @@
(match_operand:VI4_256_8_512 0 "register_operand" "v") (match_operand:VI4_256_8_512 0 "register_operand" "v")
(match_operand:SI 2 "const1248_operand" "n")] (match_operand:SI 2 "const1248_operand" "n")]
UNSPEC_VSIBADDR)]) 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)] UNSPEC_GATHER_PREFETCH)]
"TARGET_AVX512PF" "TARGET_AVX512PF"
{ {
switch (INTVAL (operands[3])) switch (INTVAL (operands[3]))
{ {
case 1: case 3:
return "vgatherpf0<ssemodesuffix>pd\t{%4|%4}"; return "vgatherpf0<ssemodesuffix>pd\t{%4|%4}";
case 2: case 2:
return "vgatherpf1<ssemodesuffix>pd\t{%4|%4}"; return "vgatherpf1<ssemodesuffix>pd\t{%4|%4}";
...@@ -12652,7 +12652,7 @@ ...@@ -12652,7 +12652,7 @@
[(match_operand 2 "vsib_address_operand") [(match_operand 2 "vsib_address_operand")
(match_operand:VI48_512 1 "register_operand") (match_operand:VI48_512 1 "register_operand")
(match_operand:SI 3 "const1248_operand")])) (match_operand:SI 3 "const1248_operand")]))
(match_operand:SI 4 "const1256_operand")] (match_operand:SI 4 "const2356_operand")]
UNSPEC_SCATTER_PREFETCH)] UNSPEC_SCATTER_PREFETCH)]
"TARGET_AVX512PF" "TARGET_AVX512PF"
{ {
...@@ -12670,13 +12670,13 @@ ...@@ -12670,13 +12670,13 @@
(match_operand:VI48_512 1 "register_operand" "v") (match_operand:VI48_512 1 "register_operand" "v")
(match_operand:SI 3 "const1248_operand" "n")] (match_operand:SI 3 "const1248_operand" "n")]
UNSPEC_VSIBADDR)]) UNSPEC_VSIBADDR)])
(match_operand:SI 4 "const1256_operand" "n")] (match_operand:SI 4 "const2356_operand" "n")]
UNSPEC_SCATTER_PREFETCH)] UNSPEC_SCATTER_PREFETCH)]
"TARGET_AVX512PF" "TARGET_AVX512PF"
{ {
switch (INTVAL (operands[4])) switch (INTVAL (operands[4]))
{ {
case 1: case 3:
case 5: case 5:
return "vscatterpf0<ssemodesuffix>ps\t{%5%{%0%}|%5%{%0%}}"; return "vscatterpf0<ssemodesuffix>ps\t{%5%{%0%}|%5%{%0%}}";
case 2: case 2:
...@@ -12699,13 +12699,13 @@ ...@@ -12699,13 +12699,13 @@
(match_operand:VI48_512 0 "register_operand" "v") (match_operand:VI48_512 0 "register_operand" "v")
(match_operand:SI 2 "const1248_operand" "n")] (match_operand:SI 2 "const1248_operand" "n")]
UNSPEC_VSIBADDR)]) UNSPEC_VSIBADDR)])
(match_operand:SI 3 "const1256_operand" "n")] (match_operand:SI 3 "const2356_operand" "n")]
UNSPEC_SCATTER_PREFETCH)] UNSPEC_SCATTER_PREFETCH)]
"TARGET_AVX512PF" "TARGET_AVX512PF"
{ {
switch (INTVAL (operands[3])) switch (INTVAL (operands[3]))
{ {
case 1: case 3:
case 5: case 5:
return "vscatterpf0<ssemodesuffix>ps\t{%4|%4}"; return "vscatterpf0<ssemodesuffix>ps\t{%4|%4}";
case 2: case 2:
...@@ -12728,7 +12728,7 @@ ...@@ -12728,7 +12728,7 @@
[(match_operand 2 "vsib_address_operand") [(match_operand 2 "vsib_address_operand")
(match_operand:VI4_256_8_512 1 "register_operand") (match_operand:VI4_256_8_512 1 "register_operand")
(match_operand:SI 3 "const1248_operand")])) (match_operand:SI 3 "const1248_operand")]))
(match_operand:SI 4 "const1256_operand")] (match_operand:SI 4 "const2356_operand")]
UNSPEC_SCATTER_PREFETCH)] UNSPEC_SCATTER_PREFETCH)]
"TARGET_AVX512PF" "TARGET_AVX512PF"
{ {
...@@ -12746,13 +12746,13 @@ ...@@ -12746,13 +12746,13 @@
(match_operand:VI4_256_8_512 1 "register_operand" "v") (match_operand:VI4_256_8_512 1 "register_operand" "v")
(match_operand:SI 3 "const1248_operand" "n")] (match_operand:SI 3 "const1248_operand" "n")]
UNSPEC_VSIBADDR)]) UNSPEC_VSIBADDR)])
(match_operand:SI 4 "const1256_operand" "n")] (match_operand:SI 4 "const2356_operand" "n")]
UNSPEC_SCATTER_PREFETCH)] UNSPEC_SCATTER_PREFETCH)]
"TARGET_AVX512PF" "TARGET_AVX512PF"
{ {
switch (INTVAL (operands[4])) switch (INTVAL (operands[4]))
{ {
case 1: case 3:
case 5: case 5:
return "vscatterpf0<ssemodesuffix>pd\t{%5%{%0%}|%5%{%0%}}"; return "vscatterpf0<ssemodesuffix>pd\t{%5%{%0%}|%5%{%0%}}";
case 2: case 2:
...@@ -12775,13 +12775,13 @@ ...@@ -12775,13 +12775,13 @@
(match_operand:VI4_256_8_512 0 "register_operand" "v") (match_operand:VI4_256_8_512 0 "register_operand" "v")
(match_operand:SI 2 "const1248_operand" "n")] (match_operand:SI 2 "const1248_operand" "n")]
UNSPEC_VSIBADDR)]) UNSPEC_VSIBADDR)])
(match_operand:SI 3 "const1256_operand" "n")] (match_operand:SI 3 "const2356_operand" "n")]
UNSPEC_SCATTER_PREFETCH)] UNSPEC_SCATTER_PREFETCH)]
"TARGET_AVX512PF" "TARGET_AVX512PF"
{ {
switch (INTVAL (operands[3])) switch (INTVAL (operands[3]))
{ {
case 1: case 3:
case 5: case 5:
return "vscatterpf0<ssemodesuffix>pd\t{%4|%4}"; return "vscatterpf0<ssemodesuffix>pd\t{%4|%4}";
case 2: case 2:
......
...@@ -54,6 +54,7 @@ typedef float __v4sf __attribute__ ((__vector_size__ (16))); ...@@ -54,6 +54,7 @@ typedef float __v4sf __attribute__ ((__vector_size__ (16)));
enum _mm_hint enum _mm_hint
{ {
/* _MM_HINT_ET is _MM_HINT_T with set 3rd bit. */ /* _MM_HINT_ET is _MM_HINT_T with set 3rd bit. */
_MM_HINT_ET0 = 5,
_MM_HINT_ET1 = 6, _MM_HINT_ET1 = 6,
_MM_HINT_T0 = 3, _MM_HINT_T0 = 3,
_MM_HINT_T1 = 2, _MM_HINT_T1 = 2,
......
2014-02-26 Ilya Tocar <ilya.tocar@intel.com> 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/avx512cd-vptestnmd-1.c: Change into ...
* gcc.target/i386/avx512f-vptestnmd-1.c: This. * gcc.target/i386/avx512f-vptestnmd-1.c: This.
* gcc.target/i386/avx512cd-vptestnmq-1.c: Change into ... * gcc.target/i386/avx512cd-vptestnmq-1.c: Change into ...
......
...@@ -358,14 +358,14 @@ ...@@ -358,14 +358,14 @@
#define __builtin_ia32_rsqrt28sd_round(A, B, C) __builtin_ia32_rsqrt28sd_round(A, B, 8) #define __builtin_ia32_rsqrt28sd_round(A, B, C) __builtin_ia32_rsqrt28sd_round(A, B, 8)
/* avx512pfintrin.h */ /* avx512pfintrin.h */
#define __builtin_ia32_gatherpfdps(A, B, C, D, E) __builtin_ia32_gatherpfdps(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, 1) #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, 1) #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, 1) #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, 1) #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, 1) #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, 1) #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, 1) #define __builtin_ia32_scatterpfqpd(A, B, C, D, E) __builtin_ia32_scatterpfqpd(A, B, C, 1, _MM_HINT_T0)
/* shaintrin.h */ /* shaintrin.h */
#define __builtin_ia32_sha1rnds4(A, B, C) __builtin_ia32_sha1rnds4(A, B, 1) #define __builtin_ia32_sha1rnds4(A, B, C) __builtin_ia32_sha1rnds4(A, B, 1)
......
...@@ -11,5 +11,5 @@ void *base; ...@@ -11,5 +11,5 @@ void *base;
void extern void extern
avx512pf_test (void) 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);
} }
...@@ -11,5 +11,5 @@ int *base; ...@@ -11,5 +11,5 @@ int *base;
void extern void extern
avx512pf_test (void) 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);
} }
...@@ -11,5 +11,5 @@ int *base; ...@@ -11,5 +11,5 @@ int *base;
void extern void extern
avx512pf_test (void) 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);
} }
...@@ -11,5 +11,5 @@ int *base; ...@@ -11,5 +11,5 @@ int *base;
void extern void extern
avx512pf_test (void) 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);
} }
...@@ -11,5 +11,5 @@ int *base; ...@@ -11,5 +11,5 @@ int *base;
void extern void extern
avx512pf_test (void) 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);
} }
...@@ -11,5 +11,5 @@ int *base; ...@@ -11,5 +11,5 @@ int *base;
void extern void extern
avx512pf_test (void) 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);
} }
...@@ -11,5 +11,5 @@ int *base; ...@@ -11,5 +11,5 @@ int *base;
void extern void extern
avx512pf_test (void) 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);
} }
...@@ -11,5 +11,5 @@ int *base; ...@@ -11,5 +11,5 @@ int *base;
void extern void extern
avx512pf_test (void) 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);
} }
...@@ -12,6 +12,6 @@ void *base; ...@@ -12,6 +12,6 @@ void *base;
void extern void extern
avx512pf_test (void) avx512pf_test (void)
{ {
_mm512_prefetch_i32scatter_pd (base, idx, 8, 1); _mm512_prefetch_i32scatter_pd (base, idx, 8, _MM_HINT_T0);
_mm512_mask_prefetch_i32scatter_pd (base, m8, idx, 8, 5); _mm512_mask_prefetch_i32scatter_pd (base, m8, idx, 8, _MM_HINT_ET0);
} }
...@@ -12,6 +12,6 @@ int *base; ...@@ -12,6 +12,6 @@ int *base;
void extern void extern
avx512pf_test (void) avx512pf_test (void)
{ {
_mm512_prefetch_i32scatter_ps (base, idx, 8, 1); _mm512_prefetch_i32scatter_ps (base, idx, 8, _MM_HINT_T0);
_mm512_mask_prefetch_i32scatter_ps (base, m16, idx, 8, 5); _mm512_mask_prefetch_i32scatter_ps (base, m16, idx, 8, _MM_HINT_ET0);
} }
...@@ -12,6 +12,6 @@ void *base; ...@@ -12,6 +12,6 @@ void *base;
void extern void extern
avx512pf_test (void) avx512pf_test (void)
{ {
_mm512_prefetch_i64scatter_pd (base, idx, 8, 1); _mm512_prefetch_i64scatter_pd (base, idx, 8, _MM_HINT_T0);
_mm512_mask_prefetch_i64scatter_pd (base, m8, idx, 8, 5); _mm512_mask_prefetch_i64scatter_pd (base, m8, idx, 8, _MM_HINT_ET0);
} }
...@@ -12,6 +12,6 @@ int *base; ...@@ -12,6 +12,6 @@ int *base;
void extern void extern
avx512pf_test (void) avx512pf_test (void)
{ {
_mm512_prefetch_i64scatter_ps (base, idx, 8, 1); _mm512_prefetch_i64scatter_ps (base, idx, 8, _MM_HINT_T0);
_mm512_mask_prefetch_i64scatter_ps (base, m8, idx, 8, 5); _mm512_mask_prefetch_i64scatter_ps (base, m8, idx, 8, _MM_HINT_ET0);
} }
...@@ -12,6 +12,6 @@ void *base; ...@@ -12,6 +12,6 @@ void *base;
void extern void extern
avx512pf_test (void) avx512pf_test (void)
{ {
_mm512_prefetch_i32scatter_pd (base, idx, 8, 2); _mm512_prefetch_i32scatter_pd (base, idx, 8, _MM_HINT_T1);
_mm512_mask_prefetch_i32scatter_pd (base, m8, idx, 8, 6); _mm512_mask_prefetch_i32scatter_pd (base, m8, idx, 8, _MM_HINT_ET1);
} }
...@@ -12,6 +12,6 @@ int *base; ...@@ -12,6 +12,6 @@ int *base;
void extern void extern
avx512pf_test (void) avx512pf_test (void)
{ {
_mm512_prefetch_i32scatter_ps (base, idx, 8, 2); _mm512_prefetch_i32scatter_ps (base, idx, 8, _MM_HINT_T1);
_mm512_mask_prefetch_i32scatter_ps (base, m16, idx, 8, 6); _mm512_mask_prefetch_i32scatter_ps (base, m16, idx, 8, _MM_HINT_ET1);
} }
...@@ -12,6 +12,6 @@ int *base; ...@@ -12,6 +12,6 @@ int *base;
void extern void extern
avx512pf_test (void) avx512pf_test (void)
{ {
_mm512_prefetch_i64scatter_pd (base, idx, 8, 2); _mm512_prefetch_i64scatter_pd (base, idx, 8, _MM_HINT_T1);
_mm512_mask_prefetch_i64scatter_pd (base, m8, idx, 8, 6); _mm512_mask_prefetch_i64scatter_pd (base, m8, idx, 8, _MM_HINT_ET1);
} }
...@@ -12,6 +12,6 @@ int *base; ...@@ -12,6 +12,6 @@ int *base;
void extern void extern
avx512pf_test (void) avx512pf_test (void)
{ {
_mm512_prefetch_i64scatter_ps (base, idx, 8, 2); _mm512_prefetch_i64scatter_ps (base, idx, 8, _MM_HINT_T1);
_mm512_mask_prefetch_i64scatter_ps (base, m8, idx, 8, 6); _mm512_mask_prefetch_i64scatter_ps (base, m8, idx, 8, _MM_HINT_ET1);
} }
...@@ -519,14 +519,14 @@ test_4x (_mm_maskz_fixupimm_round_sd, __m128d, __mmask8, __m128d, __m128d, __m12 ...@@ -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) test_4x (_mm_maskz_fixupimm_round_ss, __m128, __mmask8, __m128, __m128, __m128i, 1, 8)
/* avx512pfintrin.h */ /* avx512pfintrin.h */
test_3vx (_mm512_mask_prefetch_i32gather_ps, __m512i, __mmask16, void const *, 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, 1) 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, 1) 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, 1) 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, 1) 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, 1) 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, 1) 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, 1) test_3vx (_mm512_mask_prefetch_i64scatter_pd, void const *, __mmask8, __m512i, 1, _MM_HINT_T0)
/* avx512erintrin.h */ /* avx512erintrin.h */
test_1 (_mm512_exp2a23_round_pd, __m512d, __m512d, 8) test_1 (_mm512_exp2a23_round_pd, __m512d, __m512d, 8)
......
...@@ -641,15 +641,15 @@ test_4x (_mm_maskz_fixupimm_round_sd, __m128d, __mmask8, __m128d, __m128d, __m12 ...@@ -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) test_4x (_mm_maskz_fixupimm_round_ss, __m128, __mmask8, __m128, __m128, __m128i, 1, 8)
/* avx512pfintrin.h */ /* avx512pfintrin.h */
test_3vx (_mm512_mask_prefetch_i32gather_ps, __m512i, __mmask16, void const *, 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, 1) 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, 1) 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, 1) 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, 1) 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, 1) 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, 1) 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, 1) test_3vx (_mm512_mask_prefetch_i64scatter_pd, void const *, __mmask8, __m512i, 1, _MM_HINT_T0)
/* avx512erintrin.h */ /* avx512erintrin.h */
test_1 (_mm512_exp2a23_round_pd, __m512d, __m512d, 8) test_1 (_mm512_exp2a23_round_pd, __m512d, __m512d, 8)
......
...@@ -361,14 +361,14 @@ ...@@ -361,14 +361,14 @@
#define __builtin_ia32_vpermilps512_mask(A, E, C, D) __builtin_ia32_vpermilps512_mask(A, 1, C, D) #define __builtin_ia32_vpermilps512_mask(A, E, C, D) __builtin_ia32_vpermilps512_mask(A, 1, C, D)
/* avx512pfintrin.h */ /* avx512pfintrin.h */
#define __builtin_ia32_gatherpfdps(A, B, C, D, E) __builtin_ia32_gatherpfdps(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, 1) #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, 1) #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, 1) #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, 1) #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, 1) #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, 1) #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, 1) #define __builtin_ia32_scatterpfqpd(A, B, C, D, E) __builtin_ia32_scatterpfqpd(A, B, C, 1, _MM_HINT_T0)
/* avx512erintrin.h */ /* avx512erintrin.h */
#define __builtin_ia32_exp2pd_mask(A, B, C, D) __builtin_ia32_exp2pd_mask (A, B, C, 8) #define __builtin_ia32_exp2pd_mask(A, B, C, D) __builtin_ia32_exp2pd_mask (A, B, C, 8)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment