]> gcc.gnu.org Git - gcc.git/commitdiff
avx512fintrin.h (_mm512_storeu_epi64): Removed.
authorKirill Yukhin <kirill.yukhin@intel.com>
Mon, 10 Feb 2014 10:36:59 +0000 (10:36 +0000)
committerKirill Yukhin <kyukhin@gcc.gnu.org>
Mon, 10 Feb 2014 10:36:59 +0000 (10:36 +0000)
gcc/
* config/i386/avx512fintrin.h (_mm512_storeu_epi64): Removed.
(_mm512_loadu_epi32): Renamed into...
(_mm512_loadu_si512): This.
(_mm512_storeu_epi32): Renamed into...
(_mm512_storeu_si512): This.
(_mm512_maskz_ceil_ps): Removed.
(_mm512_maskz_ceil_pd): Ditto.
(_mm512_maskz_floor_ps): Ditto.
(_mm512_maskz_floor_pd): Ditto.
(_mm512_floor_round_ps): Ditto.
(_mm512_floor_round_pd): Ditto.
(_mm512_ceil_round_ps): Ditto.
(_mm512_ceil_round_pd): Ditto.
(_mm512_mask_floor_round_ps): Ditto.
(_mm512_mask_floor_round_pd): Ditto.
(_mm512_mask_ceil_round_ps): Ditto.
(_mm512_mask_ceil_round_pd): Ditto.
(_mm512_maskz_floor_round_ps): Ditto.
(_mm512_maskz_floor_round_pd): Ditto.
(_mm512_maskz_ceil_round_ps): Ditto.
(_mm512_maskz_ceil_round_pd): Ditto.
(_mm512_expand_pd): Ditto.
(_mm512_expand_ps): Ditto.
* config/i386/i386.c (ix86_builtins): Remove
IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK.
(bdesc_args): Ditto.
* config/i386/predicates.md (const1256_operand): New.
(const_1_to_2_operand): Ditto.
* 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.
(avx512f_expand<mode>): Removed.
(<shift_insn><mode>3<mask_name>): Change predicate type.

testsuite/gcc/
* gcc.target/i386/avx512f-vexpandpd-1.c: Update intrinsics.
* gcc.target/i386/avx512f-vexpandps-1.c: Ditto.
* gcc.target/i386/avx512f-vexpandpd-2.c: Ditto.
* gcc.target/i386/avx512f-vexpandps-2.c: Ditto.
* gcc.target/i386/avx512f-vmovdqu32-1: Ditto.
* gcc.target/i386/avx512f-vmovdqu32-2: Ditto.
* gcc.target/i386/avx512f-vmovdqu64-1: Ditto.
* gcc.target/i386/avx512f-vmovdqu64-2: Ditto.
* gcc.target/i386/avx512f-vpcmpd-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmpq-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmupd-2.c: Ditto.
* gcc.target/i386/avx512f-vpcmupq-2.c: Ditto.
* gcc.target/i386/avx512f-vrndscalepd-1.c: Ditto.
* gcc.target/i386/avx512f-vrndscaleps-1.c: Ditto.
* gcc.target/i386/avx512f-vrndscalepd-2.c: Ditto.
* gcc.target/i386/avx512f-vrndscaleps-2.c: Ditto.
* gcc.target/i386/avx512pf-vgatherpf0dpd-1.c: Update parameters.
* gcc.target/i386/avx512pf-vgatherpf0dps-1.c: Ditto.
* gcc.target/i386/avx512pf-vgatherpf0qpd-1.c: Ditto.
* gcc.target/i386/avx512pf-vgatherpf0qps-1.c: Ditto.
* gcc.target/i386/avx512pf-vgatherpf1dpd-1.c: Ditto.
* gcc.target/i386/avx512pf-vgatherpf1dps-1.c: Ditto.
* gcc.target/i386/avx512pf-vgatherpf1qpd-1.c: Ditto.
* gcc.target/i386/avx512pf-vgatherpf1qps-1.c: Ditto.
* gcc.target/i386/avx512f-vpsrad-2.c: Initialize 64 bits.
* gcc.target/i386/avx512f-vpslld-2.c: Ditto.
* gcc.target/i386/avx512f-vpsrld-2.c: Ditto.

Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
From-SVN: r207651

41 files changed:
gcc/ChangeLog
gcc/config/i386/avx512fintrin.h
gcc/config/i386/i386.c
gcc/config/i386/predicates.md
gcc/config/i386/sse.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/avx512f-vexpandpd-1.c
gcc/testsuite/gcc.target/i386/avx512f-vexpandpd-2.c
gcc/testsuite/gcc.target/i386/avx512f-vexpandps-1.c
gcc/testsuite/gcc.target/i386/avx512f-vexpandps-2.c
gcc/testsuite/gcc.target/i386/avx512f-vmovdqu32-1.c
gcc/testsuite/gcc.target/i386/avx512f-vmovdqu32-2.c
gcc/testsuite/gcc.target/i386/avx512f-vmovdqu64-1.c
gcc/testsuite/gcc.target/i386/avx512f-vmovdqu64-2.c
gcc/testsuite/gcc.target/i386/avx512f-vpcmpd-2.c
gcc/testsuite/gcc.target/i386/avx512f-vpcmpq-2.c
gcc/testsuite/gcc.target/i386/avx512f-vpcmpud-2.c
gcc/testsuite/gcc.target/i386/avx512f-vpcmpuq-2.c
gcc/testsuite/gcc.target/i386/avx512f-vpslld-2.c
gcc/testsuite/gcc.target/i386/avx512f-vpsrad-2.c
gcc/testsuite/gcc.target/i386/avx512f-vpsrld-2.c
gcc/testsuite/gcc.target/i386/avx512f-vrndscalepd-1.c
gcc/testsuite/gcc.target/i386/avx512f-vrndscalepd-2.c
gcc/testsuite/gcc.target/i386/avx512f-vrndscaleps-1.c
gcc/testsuite/gcc.target/i386/avx512f-vrndscaleps-2.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

index 916fe8a242bab290375bc5078d2f891154294a67..495175a3d0bf36426f5b9dc333107b7885c67c59 100644 (file)
@@ -1,3 +1,49 @@
+2014-02-10  Kirill Yukhin  <kirill.yukhin@intel.com>
+           Ilya Tocar  <ilya.tocar@intel.com>
+
+       * config/i386/avx512fintrin.h (_mm512_storeu_epi64): Removed.
+       (_mm512_loadu_epi32): Renamed into...
+       (_mm512_loadu_si512): This.
+       (_mm512_storeu_epi32): Renamed into...
+       (_mm512_storeu_si512): This.
+       (_mm512_maskz_ceil_ps): Removed.
+       (_mm512_maskz_ceil_pd): Ditto.
+       (_mm512_maskz_floor_ps): Ditto.
+       (_mm512_maskz_floor_pd): Ditto.
+       (_mm512_floor_round_ps): Ditto.
+       (_mm512_floor_round_pd): Ditto.
+       (_mm512_ceil_round_ps): Ditto.
+       (_mm512_ceil_round_pd): Ditto.
+       (_mm512_mask_floor_round_ps): Ditto.
+       (_mm512_mask_floor_round_pd): Ditto.
+       (_mm512_mask_ceil_round_ps): Ditto.
+       (_mm512_mask_ceil_round_pd): Ditto.
+       (_mm512_maskz_floor_round_ps): Ditto.
+       (_mm512_maskz_floor_round_pd): Ditto.
+       (_mm512_maskz_ceil_round_ps): Ditto.
+       (_mm512_maskz_ceil_round_pd): Ditto.
+       (_mm512_expand_pd): Ditto.
+       (_mm512_expand_ps): Ditto.
+       * config/i386/i386.c (ix86_builtins): Remove
+       IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK.
+       (bdesc_args): Ditto.
+       * config/i386/predicates.md (const1256_operand): New.
+       (const_1_to_2_operand): Ditto.
+       * 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.
+       (avx512f_expand<mode>): Removed.
+       (<shift_insn><mode>3<mask_name>): Change predicate type.
+
 2014-02-08  Jakub Jelinek  <jakub@redhat.com>
 
        * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers
index 98cf8358241499912d01143864c693eb018e8f60..d53a40d17cbc2949e5a03f18a73c0595670167bb 100644 (file)
@@ -5665,17 +5665,9 @@ _mm512_mask_storeu_epi64 (void *__P, __mmask8 __U, __m512i __A)
                                     (__mmask8) __U);
 }
 
-extern __inline void
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_storeu_epi64 (void *__P, __m512i __A)
-{
-  __builtin_ia32_storedqudi512_mask ((__v8di *) __P, (__v8di) __A,
-                                    (__mmask8) -1);
-}
-
 extern __inline __m512i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_loadu_epi32 (void const *__P)
+_mm512_loadu_si512 (void const *__P)
 {
   return (__m512i) __builtin_ia32_loaddqusi512_mask ((const __v16si *) __P,
                                                     (__v16si)
@@ -5704,7 +5696,7 @@ _mm512_maskz_loadu_epi32 (__mmask16 __U, void const *__P)
 
 extern __inline void
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_storeu_epi32 (void *__P, __m512i __A)
+_mm512_storeu_si512 (void *__P, __m512i __A)
 {
   __builtin_ia32_storedqusi512_mask ((__v16si *) __P, (__v16si) __A,
                                     (__mmask16) -1);
@@ -8389,174 +8381,7 @@ _mm512_mask_ceil_pd (__m512d __W, __mmask8 __U, __m512d __A)
                                                   _MM_FROUND_CUR_DIRECTION);
 }
 
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_floor_ps (__mmask16 __U, __m512 __A)
-{
-  return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __A,
-                                                 _MM_FROUND_FLOOR,
-                                                 (__v16sf)
-                                                 _mm512_setzero_ps (),
-                                                 __U,
-                                                 _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_floor_pd (__mmask8 __U, __m512d __A)
-{
-  return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __A,
-                                                  _MM_FROUND_FLOOR,
-                                                  (__v8df)
-                                                  _mm512_setzero_pd (),
-                                                  __U,
-                                                  _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_ceil_ps (__mmask16 __U, __m512 __A)
-{
-  return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __A,
-                                                 _MM_FROUND_CEIL,
-                                                 (__v16sf)
-                                                 _mm512_setzero_ps (),
-                                                 __U,
-                                                 _MM_FROUND_CUR_DIRECTION);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_ceil_pd (__mmask8 __U, __m512d __A)
-{
-  return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __A,
-                                                  _MM_FROUND_CEIL,
-                                                  (__v8df)
-                                                  _mm512_setzero_pd (),
-                                                  __U,
-                                                  _MM_FROUND_CUR_DIRECTION);
-}
-
 #ifdef __OPTIMIZE__
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_floor_round_ps (__m512 __A, const int __R)
-{
-  return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __A,
-                                                 _MM_FROUND_FLOOR,
-                                                 (__v16sf) __A, -1, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_floor_round_pd (__m512d __A, const int __R)
-{
-  return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __A,
-                                                  _MM_FROUND_FLOOR,
-                                                  (__v8df) __A, -1, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_ceil_round_ps (__m512 __A, const int __R)
-{
-  return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __A,
-                                                 _MM_FROUND_CEIL,
-                                                 (__v16sf) __A, -1, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_ceil_round_pd (__m512d __A, const int __R)
-{
-  return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __A,
-                                                  _MM_FROUND_CEIL,
-                                                  (__v8df) __A, -1, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_floor_round_ps (__m512 __W, __mmask16 __U, __m512 __A,
-                           const int __R)
-{
-  return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __A,
-                                                 _MM_FROUND_FLOOR,
-                                                 (__v16sf) __W, __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_floor_round_pd (__m512d __W, __mmask8 __U, __m512d __A,
-                           const int __R)
-{
-  return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __A,
-                                                  _MM_FROUND_FLOOR,
-                                                  (__v8df) __W, __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_ceil_round_ps (__m512 __W, __mmask16 __U, __m512 __A, const int __R)
-{
-  return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __A,
-                                                 _MM_FROUND_CEIL,
-                                                 (__v16sf) __W, __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_mask_ceil_round_pd (__m512d __W, __mmask8 __U, __m512d __A,
-                          const int __R)
-{
-  return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __A,
-                                                  _MM_FROUND_CEIL,
-                                                  (__v8df) __W, __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_floor_round_ps (__mmask16 __U, __m512 __A, const int __R)
-{
-  return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __A,
-                                                 _MM_FROUND_FLOOR,
-                                                 (__v16sf)
-                                                 _mm512_setzero_ps (),
-                                                 __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_floor_round_pd (__mmask8 __U, __m512d __A, const int __R)
-{
-  return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __A,
-                                                  _MM_FROUND_FLOOR,
-                                                  (__v8df)
-                                                  _mm512_setzero_pd (),
-                                                  __U, __R);
-}
-
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_ceil_round_ps (__mmask16 __U, __m512 __A, const int __R)
-{
-  return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __A,
-                                                 _MM_FROUND_CEIL,
-                                                 (__v16sf)
-                                                 _mm512_setzero_ps (),
-                                                 __U, __R);
-}
-
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_maskz_ceil_round_pd (__mmask8 __U, __m512d __A, const int __R)
-{
-  return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __A,
-                                                  _MM_FROUND_CEIL,
-                                                  (__v8df)
-                                                  _mm512_setzero_pd (),
-                                                  __U, __R);
-}
-
 extern __inline __m512i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm512_alignr_epi32 (__m512i __A, __m512i __B, const int __imm)
@@ -8625,67 +8450,6 @@ _mm512_maskz_alignr_epi64 (__mmask8 __U, __m512i __A, __m512i __B,
                                                  (__mmask8) __U);
 }
 #else
-#define _mm512_floor_round_ps(A, R) \
-  ((__m512) __builtin_ia32_rndscaleps_mask ((__v16sf)(__m512)(A),      \
-                                           _MM_FROUND_FLOOR,           \
-                                           (__v16sf)(__m512)(A),       \
-                                           (__mmask16)(-1), R))
-#define _mm512_mask_floor_round_ps(A, B, C, R)                         \
-  ((__m512) __builtin_ia32_rndscaleps_mask ((__v16sf)(__m512)(C),      \
-                                           _MM_FROUND_FLOOR,           \
-                                           (__v16sf)(__m512)(A),       \
-                                           (__mmask16)(B), R))
-#define _mm512_maskz_floor_round_ps(A, B, R)                           \
-  ((__m512) __builtin_ia32_rndscaleps_mask ((__v16sf)(__m512)(B),      \
-                                           _MM_FROUND_FLOOR,           \
-                                           (__v16sf)_mm512_setzero_ps(),\
-                                           (__mmask16)(A), R))
-#define _mm512_floor_round_pd(A, R) \
-  ((__m512d) __builtin_ia32_rndscalepd_mask ((__v8df)(__m512d)(A),     \
-                                           _MM_FROUND_FLOOR,           \
-                                           (__v8df)(__m512d)(A),       \
-                                            (__mmask8)(-1), R))
-#define _mm512_mask_floor_round_pd(A, B, C, R)                         \
-  ((__m512d) __builtin_ia32_rndscalepd_mask ((__v8df)(__m512d)(C),     \
-                                           _MM_FROUND_FLOOR,           \
-                                            (__v8df)(__m512d)(A),      \
-                                            (__mmask8)(B), R))
-#define _mm512_maskz_floor_round_pd(A, B, R)                           \
-  ((__m512d) __builtin_ia32_rndscalepd_mask ((__v8df)(__m512d)(B),     \
-                                           _MM_FROUND_FLOOR,           \
-                                            (__v8df)_mm512_setzero_pd(),\
-                                            (__mmask8)(A), R))
-#define _mm512_ceil_round_ps(A, R) \
-  ((__m512) __builtin_ia32_rndscaleps_mask ((__v16sf)(__m512)(A),      \
-                                           _MM_FROUND_CEIL,            \
-                                           (__v16sf)(__m512)(A),       \
-                                           (__mmask16)(-1), R))
-#define _mm512_mask_ceil_round_ps(A, B, C, R)                          \
-  ((__m512) __builtin_ia32_rndscaleps_mask ((__v16sf)(__m512)(C),      \
-                                           _MM_FROUND_CEIL,            \
-                                           (__v16sf)(__m512)(A),       \
-                                           (__mmask16)(B), R))
-#define _mm512_maskz_ceil_round_ps(A, B, R)                            \
-  ((__m512) __builtin_ia32_rndscaleps_mask ((__v16sf)(__m512)(B),      \
-                                           _MM_FROUND_CEIL,            \
-                                           (__v16sf)_mm512_setzero_ps(),\
-                                           (__mmask16)(A), R))
-#define _mm512_ceil_round_pd(A, R) \
-  ((__m512d) __builtin_ia32_rndscalepd_mask ((__v8df)(__m512d)(A),     \
-                                           _MM_FROUND_CEIL,            \
-                                           (__v8df)(__m512d)(A),       \
-                                            (__mmask8)(-1), R))
-#define _mm512_mask_ceil_round_pd(A, B, C, R)                          \
-  ((__m512d) __builtin_ia32_rndscalepd_mask ((__v8df)(__m512d)(C),     \
-                                           _MM_FROUND_CEIL,            \
-                                            (__v8df)(__m512d)(A),      \
-                                            (__mmask8)(B), R))
-#define _mm512_maskz_ceil_round_pd(A, B, R)                            \
-  ((__m512d) __builtin_ia32_rndscalepd_mask ((__v8df)(__m512d)(B),     \
-                                           _MM_FROUND_CEIL,            \
-                                            (__v8df)_mm512_setzero_pd(),\
-                                            (__mmask8)(A), R))
-
 #define _mm512_alignr_epi32(X, Y, C)                                        \
     ((__m512i)__builtin_ia32_alignd512_mask ((__v16si)(__m512i)(X),         \
         (__v16si)(__m512i)(Y), (int)(C), (__v16si)(__m512i)(X),             \
@@ -9795,13 +9559,6 @@ _mm512_mask_compressstoreu_epi32 (void *__P, __mmask16 __U, __m512i __A)
                                          (__mmask16) __U);
 }
 
-extern __inline __m512d
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_expand_pd (__m512d __A)
-{
-  return (__m512d) __builtin_ia32_expanddf512 ((__v8df) __A);
-}
-
 extern __inline __m512d
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm512_mask_expand_pd (__m512d __W, __mmask8 __U, __m512d __A)
@@ -9840,13 +9597,6 @@ _mm512_maskz_expandloadu_pd (__mmask8 __U, void const *__P)
                                                         (__mmask8) __U);
 }
 
-extern __inline __m512
-__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm512_expand_ps (__m512 __A)
-{
-  return (__m512) __builtin_ia32_expandsf512 ((__v16sf) __A);
-}
-
 extern __inline __m512
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm512_mask_expand_ps (__m512 __W, __mmask16 __U, __m512 __A)
index 18f5d57e39cfda064c9aa16a6c4ec62505668aa3..1b7bb3e9a0f54847fe2af099cbe31786b11b95ff 100644 (file)
@@ -28088,12 +28088,10 @@ enum ix86_builtins
   IX86_BUILTIN_DIVPS512,
   IX86_BUILTIN_DIVSD_ROUND,
   IX86_BUILTIN_DIVSS_ROUND,
-  IX86_BUILTIN_EXPANDPD512_NOMASK,
   IX86_BUILTIN_EXPANDPD512,
   IX86_BUILTIN_EXPANDPD512Z,
   IX86_BUILTIN_EXPANDPDLOAD512,
   IX86_BUILTIN_EXPANDPDLOAD512Z,
-  IX86_BUILTIN_EXPANDPS512_NOMASK,
   IX86_BUILTIN_EXPANDPS512,
   IX86_BUILTIN_EXPANDPS512Z,
   IX86_BUILTIN_EXPANDPSLOAD512,
@@ -29941,10 +29939,8 @@ static const struct builtin_description bdesc_args[] =
   { OPTION_MASK_ISA_AVX512F, CODE_FOR_avx512f_vcvtps2ph512_mask,  "__builtin_ia32_vcvtps2ph512_mask", IX86_BUILTIN_CVTPS2PH512, UNKNOWN, (int) V16HI_FTYPE_V16SF_INT_V16HI_HI },
   { OPTION_MASK_ISA_AVX512F, CODE_FOR_ufloatv8siv8df_mask, "__builtin_ia32_cvtudq2pd512_mask", IX86_BUILTIN_CVTUDQ2PD512, UNKNOWN, (int) V8DF_FTYPE_V8SI_V8DF_QI },
   { OPTION_MASK_ISA_AVX512F, CODE_FOR_cvtusi2sd32, "__builtin_ia32_cvtusi2sd32", IX86_BUILTIN_CVTUSI2SD32, UNKNOWN, (int) V2DF_FTYPE_V2DF_UINT },
-  { OPTION_MASK_ISA_AVX512F, CODE_FOR_avx512f_expandv8df, "__builtin_ia32_expanddf512", IX86_BUILTIN_EXPANDPD512_NOMASK, UNKNOWN, (int) V8DF_FTYPE_V8DF },
   { OPTION_MASK_ISA_AVX512F, CODE_FOR_avx512f_expandv8df_mask, "__builtin_ia32_expanddf512_mask", IX86_BUILTIN_EXPANDPD512, UNKNOWN, (int) V8DF_FTYPE_V8DF_V8DF_QI },
   { OPTION_MASK_ISA_AVX512F, CODE_FOR_avx512f_expandv8df_maskz, "__builtin_ia32_expanddf512_maskz", IX86_BUILTIN_EXPANDPD512Z, UNKNOWN, (int) V8DF_FTYPE_V8DF_V8DF_QI },
-  { OPTION_MASK_ISA_AVX512F, CODE_FOR_avx512f_expandv16sf, "__builtin_ia32_expandsf512", IX86_BUILTIN_EXPANDPS512_NOMASK, UNKNOWN, (int) V16SF_FTYPE_V16SF },
   { OPTION_MASK_ISA_AVX512F, CODE_FOR_avx512f_expandv16sf_mask, "__builtin_ia32_expandsf512_mask", IX86_BUILTIN_EXPANDPS512, UNKNOWN, (int) V16SF_FTYPE_V16SF_V16SF_HI },
   { OPTION_MASK_ISA_AVX512F, CODE_FOR_avx512f_expandv16sf_maskz, "__builtin_ia32_expandsf512_maskz", IX86_BUILTIN_EXPANDPS512Z, UNKNOWN, (int) V16SF_FTYPE_V16SF_V16SF_HI },
   { OPTION_MASK_ISA_AVX512F, CODE_FOR_avx512f_vextractf32x4_mask, "__builtin_ia32_extractf32x4_mask", IX86_BUILTIN_EXTRACTF32X4, UNKNOWN, (int) V4SF_FTYPE_V16SF_INT_V4SF_QI },
index 6383197b8b5edac803aaae8caa83bbc31581675d..3f53e2d1d41f2ee97daa214b042734bbdf0a99c7 100644 (file)
   return i == 2 || i == 4 || i == 8;
 })
 
+;; Match 1, 2, 5, or 6
+(define_predicate "const1256_operand"
+  (match_code "const_int")
+{
+  HOST_WIDE_INT i = INTVAL (op);
+  return i == 1 || i == 2 || i == 5 || i == 6;
+})
+
 ;; Match 1, 2, 4, or 8
 (define_predicate "const1248_operand"
   (match_code "const_int")
   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 345b6e087af021e16f3729fe3f3f8ce5a76abb62..a04b2893f0867df67bbf6921a9e2d2e278904a17 100644 (file)
   UNSPEC_COMPRESS
   UNSPEC_COMPRESS_STORE
   UNSPEC_EXPAND
-  UNSPEC_EXPAND_NOMASK
   UNSPEC_MASKED_EQ
   UNSPEC_MASKED_GT
 
 (define_insn "<shift_insn><mode>3<mask_name>"
   [(set (match_operand:VI48_512 0 "register_operand" "=v,v")
        (any_lshift:VI48_512
-         (match_operand:VI48_512 1 "register_operand" "v,m")
+         (match_operand:VI48_512 1 "nonimmediate_operand" "v,m")
          (match_operand:SI 2 "nonmemory_operand" "vN,N")))]
   "TARGET_AVX512F && <mask_mode512bit_condition>"
   "vp<vshift><ssemodesuffix>\t{%2, %1, %0<mask_operand3>|%0<mask_operand3>, %1, %2}"
          [(match_operand 2 "vsib_address_operand")
           (match_operand:VI48_512 1 "register_operand")
           (match_operand:SI 3 "const1248_operand")]))
-      (match_operand:SI 4 "const_0_to_1_operand")]
+      (match_operand:SI 4 "const_1_to_2_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_0_to_1_operand" "n")]
+      (match_operand:SI 4 "const_1_to_2_operand" "n")]
      UNSPEC_GATHER_PREFETCH)]
   "TARGET_AVX512PF"
 {
   switch (INTVAL (operands[4]))
     {
-    case 0:
-      return "vgatherpf0<ssemodesuffix>ps\t{%5%{%0%}|%5%{%0%}}";
     case 1:
+      return "vgatherpf0<ssemodesuffix>ps\t{%5%{%0%}|%5%{%0%}}";
+    case 2:
       return "vgatherpf1<ssemodesuffix>ps\t{%5%{%0%}|%5%{%0%}}";
     default:
       gcc_unreachable ();
            (match_operand:VI48_512 0 "register_operand" "v")
            (match_operand:SI 2 "const1248_operand" "n")]
           UNSPEC_VSIBADDR)])
-      (match_operand:SI 3 "const_0_to_1_operand" "n")]
+      (match_operand:SI 3 "const_1_to_2_operand" "n")]
      UNSPEC_GATHER_PREFETCH)]
   "TARGET_AVX512PF"
 {
   switch (INTVAL (operands[3]))
     {
-    case 0:
-      return "vgatherpf0<ssemodesuffix>ps\t{%4|%4}";
     case 1:
+      return "vgatherpf0<ssemodesuffix>ps\t{%4|%4}";
+    case 2:
       return "vgatherpf1<ssemodesuffix>ps\t{%4|%4}";
     default:
       gcc_unreachable ();
          [(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_0_to_1_operand")]
+      (match_operand:SI 4 "const_1_to_2_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_0_to_1_operand" "n")]
+      (match_operand:SI 4 "const_1_to_2_operand" "n")]
      UNSPEC_GATHER_PREFETCH)]
   "TARGET_AVX512PF"
 {
   switch (INTVAL (operands[4]))
     {
-    case 0:
-      return "vgatherpf0<ssemodesuffix>pd\t{%5%{%0%}|%5%{%0%}}";
     case 1:
+      return "vgatherpf0<ssemodesuffix>pd\t{%5%{%0%}|%5%{%0%}}";
+    case 2:
       return "vgatherpf1<ssemodesuffix>pd\t{%5%{%0%}|%5%{%0%}}";
     default:
       gcc_unreachable ();
            (match_operand:VI4_256_8_512 0 "register_operand" "v")
            (match_operand:SI 2 "const1248_operand" "n")]
           UNSPEC_VSIBADDR)])
-      (match_operand:SI 3 "const_0_to_1_operand" "n")]
+      (match_operand:SI 3 "const_1_to_2_operand" "n")]
      UNSPEC_GATHER_PREFETCH)]
   "TARGET_AVX512PF"
 {
   switch (INTVAL (operands[3]))
     {
-    case 0:
-      return "vgatherpf0<ssemodesuffix>pd\t{%4|%4}";
     case 1:
+      return "vgatherpf0<ssemodesuffix>pd\t{%4|%4}";
+    case 2:
       return "vgatherpf1<ssemodesuffix>pd\t{%4|%4}";
     default:
       gcc_unreachable ();
          [(match_operand 2 "vsib_address_operand")
           (match_operand:VI48_512 1 "register_operand")
           (match_operand:SI 3 "const1248_operand")]))
-      (match_operand:SI 4 "const_0_to_1_operand")]
+      (match_operand:SI 4 "const1256_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 "const_0_to_1_operand" "n")]
+      (match_operand:SI 4 "const1256_operand" "n")]
      UNSPEC_SCATTER_PREFETCH)]
   "TARGET_AVX512PF"
 {
   switch (INTVAL (operands[4]))
     {
-    case 0:
-      return "vscatterpf0<ssemodesuffix>ps\t{%5%{%0%}|%5%{%0%}}";
     case 1:
+    case 5:
+      return "vscatterpf0<ssemodesuffix>ps\t{%5%{%0%}|%5%{%0%}}";
+    case 2:
+    case 6:
       return "vscatterpf1<ssemodesuffix>ps\t{%5%{%0%}|%5%{%0%}}";
     default:
       gcc_unreachable ();
            (match_operand:VI48_512 0 "register_operand" "v")
            (match_operand:SI 2 "const1248_operand" "n")]
           UNSPEC_VSIBADDR)])
-      (match_operand:SI 3 "const_0_to_1_operand" "n")]
+      (match_operand:SI 3 "const1256_operand" "n")]
      UNSPEC_SCATTER_PREFETCH)]
   "TARGET_AVX512PF"
 {
   switch (INTVAL (operands[3]))
     {
-    case 0:
-      return "vscatterpf0<ssemodesuffix>ps\t{%4|%4}";
     case 1:
+    case 5:
+      return "vscatterpf0<ssemodesuffix>ps\t{%4|%4}";
+    case 2:
+    case 6:
       return "vscatterpf1<ssemodesuffix>ps\t{%4|%4}";
     default:
       gcc_unreachable ();
          [(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_0_to_1_operand")]
+      (match_operand:SI 4 "const1256_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 "const_0_to_1_operand" "n")]
+      (match_operand:SI 4 "const1256_operand" "n")]
      UNSPEC_SCATTER_PREFETCH)]
   "TARGET_AVX512PF"
 {
   switch (INTVAL (operands[4]))
     {
-    case 0:
-      return "vscatterpf0<ssemodesuffix>pd\t{%5%{%0%}|%5%{%0%}}";
     case 1:
+    case 5:
+      return "vscatterpf0<ssemodesuffix>pd\t{%5%{%0%}|%5%{%0%}}";
+    case 2:
+    case 6:
       return "vscatterpf1<ssemodesuffix>pd\t{%5%{%0%}|%5%{%0%}}";
     default:
       gcc_unreachable ();
            (match_operand:VI4_256_8_512 0 "register_operand" "v")
            (match_operand:SI 2 "const1248_operand" "n")]
           UNSPEC_VSIBADDR)])
-      (match_operand:SI 3 "const_0_to_1_operand" "n")]
+      (match_operand:SI 3 "const1256_operand" "n")]
      UNSPEC_SCATTER_PREFETCH)]
   "TARGET_AVX512PF"
 {
   switch (INTVAL (operands[3]))
     {
-    case 0:
-      return "vscatterpf0<ssemodesuffix>pd\t{%4|%4}";
     case 1:
+    case 5:
+      return "vscatterpf0<ssemodesuffix>pd\t{%4|%4}";
+    case 2:
+    case 6:
       return "vscatterpf1<ssemodesuffix>pd\t{%4|%4}";
     default:
       gcc_unreachable ();
   "TARGET_AVX512F"
   "operands[2] = CONST0_RTX (<MODE>mode);")
 
-(define_insn "avx512f_expand<mode>"
-  [(set (match_operand:VI48F_512 0 "register_operand" "=v,v")
-       (unspec:VI48F_512
-         [(match_operand:VI48F_512 1 "nonimmediate_operand" "v,m")]
-         UNSPEC_EXPAND_NOMASK))]
-  "TARGET_AVX512F"
-  "v<sseintprefix>expand<ssemodesuffix>\t{%1, %0|%0, %1}"
-  [(set_attr "type" "ssemov")
-   (set_attr "prefix" "evex")
-   (set_attr "memory" "none,load")
-   (set_attr "mode" "<sseinsnmode>")])
-
 (define_insn "avx512f_expand<mode>_mask"
   [(set (match_operand:VI48F_512 0 "register_operand" "=v,v")
        (unspec:VI48F_512
index cc8d1230aa1d5fc94e15ef73376604a5551b7719..bfbe37fc14a50738c097ad34df37208697c1877a 100644 (file)
@@ -1,3 +1,34 @@
+2014-02-10  Kirill Yukhin  <kirill.yukhin@intel.com>
+           Ilya Tocar  <ilya.tocar@intel.com>
+
+       * gcc.target/i386/avx512f-vexpandpd-1.c: Update intrinsics.
+       * gcc.target/i386/avx512f-vexpandps-1.c: Ditto.
+       * gcc.target/i386/avx512f-vexpandpd-2.c: Ditto.
+       * gcc.target/i386/avx512f-vexpandps-2.c: Ditto.
+       * gcc.target/i386/avx512f-vmovdqu32-1: Ditto.
+       * gcc.target/i386/avx512f-vmovdqu32-2: Ditto.
+       * gcc.target/i386/avx512f-vmovdqu64-1: Ditto.
+       * gcc.target/i386/avx512f-vmovdqu64-2: Ditto.
+       * gcc.target/i386/avx512f-vpcmpd-2.c: Ditto.
+       * gcc.target/i386/avx512f-vpcmpq-2.c: Ditto.
+       * gcc.target/i386/avx512f-vpcmupd-2.c: Ditto.
+       * gcc.target/i386/avx512f-vpcmupq-2.c: Ditto.
+       * gcc.target/i386/avx512f-vrndscalepd-1.c: Ditto.
+       * gcc.target/i386/avx512f-vrndscaleps-1.c: Ditto.
+       * gcc.target/i386/avx512f-vrndscalepd-2.c: Ditto.
+       * gcc.target/i386/avx512f-vrndscaleps-2.c: Ditto.
+       * gcc.target/i386/avx512pf-vgatherpf0dpd-1.c: Update parameters.
+       * gcc.target/i386/avx512pf-vgatherpf0dps-1.c: Ditto.
+       * gcc.target/i386/avx512pf-vgatherpf0qpd-1.c: Ditto.
+       * gcc.target/i386/avx512pf-vgatherpf0qps-1.c: Ditto.
+       * gcc.target/i386/avx512pf-vgatherpf1dpd-1.c: Ditto.
+       * gcc.target/i386/avx512pf-vgatherpf1dps-1.c: Ditto.
+       * gcc.target/i386/avx512pf-vgatherpf1qpd-1.c: Ditto.
+       * gcc.target/i386/avx512pf-vgatherpf1qps-1.c: Ditto.
+       * gcc.target/i386/avx512f-vpsrad-2.c: Initialize 64 bits.
+       * gcc.target/i386/avx512f-vpslld-2.c: Ditto.
+       * gcc.target/i386/avx512f-vpsrld-2.c: Ditto.
+
 2014-02-10  Jakub Jelinek  <jakub@redhat.com>
 
        * gcc.dg/vect/pr59984.c: Require effective target
index c8fa9cfde1ae23b9700eaade328f26f18fe259eb..b7648c6d027a4657a607ade07dba381e4b439e04 100644 (file)
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512f -O2" } */
-/* { dg-final { scan-assembler-times "vexpandpd\[ \\t\]+\[^\n\]*%zmm\[0-9\]" 5 } } */
+/* { dg-final { scan-assembler-times "vexpandpd\[ \\t\]+\[^\n\]*%zmm\[0-9\]" 4 } } */
 /* { dg-final { scan-assembler-times "vexpandpd\[ \\t\]+\[^\n\]*%zmm\[0-9\]\{%k\[1-7\]\}\[^\{\]" 2 } } */
 /* { dg-final { scan-assembler-times "vexpandpd\[ \\t\]+\[^\n\]*%zmm\[0-9\]\{%k\[1-7\]\}\{z\}" 2 } } */
 
@@ -13,7 +13,6 @@ volatile __mmask8 m;
 void extern
 avx512f_test (void)
 {
-  x = _mm512_expand_pd (x);
   x = _mm512_mask_expand_pd (x, m, x);
   x = _mm512_maskz_expand_pd (m, x);
 
index b59096bb281c5bd37686556c5fc5e8656c7b3f28..373c17df161d8c41903830ec36213913a33b3700 100644 (file)
@@ -24,7 +24,7 @@ CALC (double *s, double *r, MASK_TYPE mask)
 static void
 TEST (void)
 {
-  UNION_TYPE (AVX512F_LEN, d) s1, res1, res2, res3, res4, res5;
+  UNION_TYPE (AVX512F_LEN, d) s1, res2, res3, res4, res5;
   MASK_TYPE mask = MASK_VALUE;
   double s2[SIZE];
   double res_ref1[SIZE];
@@ -41,7 +41,6 @@ TEST (void)
       sign = -sign;
     }
 
-  res1.x = INTRINSIC (_expand_pd) (s1.x);
   res2.x = INTRINSIC (_mask_expand_pd) (res2.x, mask, s1.x);
   res3.x = INTRINSIC (_maskz_expand_pd) (mask, s1.x);
   res4.x = INTRINSIC (_mask_expandloadu_pd) (res4.x, mask, s2);
@@ -52,9 +51,6 @@ TEST (void)
   CALC (s1.a, res_ref2, mask);
   CALC (s2, res_ref3, mask);
 
-  if (UNION_CHECK (AVX512F_LEN, d) (res1, res_ref1))
-    abort ();
-
   MASK_MERGE (d) (res_ref2, mask, SIZE);
   if (UNION_CHECK (AVX512F_LEN, d) (res2, res_ref2))
     abort ();
index faf6150c5cd0cc400dd7d1615168d660b5b80ed8..b0a36c300dc7eda2c59eaa3fa6b0b37746b54362 100644 (file)
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512f -O2" } */
-/* { dg-final { scan-assembler-times "vexpandps\[ \\t\]+\[^\n\]*%zmm\[0-9\]" 5 } } */
+/* { dg-final { scan-assembler-times "vexpandps\[ \\t\]+\[^\n\]*%zmm\[0-9\]" 4 } } */
 /* { dg-final { scan-assembler-times "vexpandps\[ \\t\]+\[^\n\]*%zmm\[0-9\]\{%k\[1-7\]\}\[^\{\]" 2 } } */
 /* { dg-final { scan-assembler-times "vexpandps\[ \\t\]+\[^\n\]*%zmm\[0-9\]\{%k\[1-7\]\}\{z\}" 2 } } */
 
@@ -13,7 +13,6 @@ volatile __mmask16 m;
 void extern
 avx512f_test (void)
 {
-  x = _mm512_expand_ps (x);
   x = _mm512_mask_expand_ps (x, m, x);
   x = _mm512_maskz_expand_ps (m, x);
 
index e4dc68f2f2a60d47d7cf8c53080599c74c8f30c5..7143c8ae238f575f17c3a01e42270275b8e1ac7e 100644 (file)
@@ -24,7 +24,7 @@ CALC (float *s, float *r, MASK_TYPE mask)
 static void
 TEST (void)
 {
-  UNION_TYPE (AVX512F_LEN, ) s1, res1, res2, res3, res4, res5;
+  UNION_TYPE (AVX512F_LEN, ) s1, res2, res3, res4, res5;
   MASK_TYPE mask = MASK_VALUE;
   float s2[SIZE];
   float res_ref1[SIZE];
@@ -41,7 +41,6 @@ TEST (void)
       sign = -sign;
     }
 
-  res1.x = INTRINSIC (_expand_ps) (s1.x);
   res2.x = INTRINSIC (_mask_expand_ps) (res2.x, mask, s1.x);
   res3.x = INTRINSIC (_maskz_expand_ps) (mask, s1.x);
   res4.x = INTRINSIC (_mask_expandloadu_ps) (res4.x, mask, s2);
@@ -51,9 +50,6 @@ TEST (void)
   CALC (s1.a, res_ref2, mask);
   CALC (s2, res_ref3, mask);
 
-  if (UNION_CHECK (AVX512F_LEN, ) (res1, res_ref1))
-    abort ();
-
   MASK_MERGE () (res_ref2, mask, SIZE);
   if (UNION_CHECK (AVX512F_LEN, ) (res2, res_ref2))
     abort ();
index 66e358a728fb4257e49bdbbe87b6fd244ac24e68..79dbf9dd37a0b55cd074972bf8dbd75318f15887 100644 (file)
@@ -15,10 +15,10 @@ volatile __mmask16 m;
 void extern
 avx512f_test (void)
 {
-  x = _mm512_loadu_epi32 (p);
+  x = _mm512_loadu_si512 (p);
   x = _mm512_mask_loadu_epi32 (x, m, p);
   x = _mm512_maskz_loadu_epi32 (m, p);
 
-  _mm512_storeu_epi32 (p, x);
+  _mm512_storeu_si512 (p, x);
   _mm512_mask_storeu_epi32 (p, m, x);
 }
index 0333d31c426d00b1aa24f700c78a6b7c2ef74c0b..f1ae73c1d824c0d4590dcacb05502de3aa75fb0f 100644 (file)
@@ -33,8 +33,8 @@ TEST (void)
     }
 
 #if AVX512F_LEN == 512
-  res1.x = _mm512_loadu_epi32 (s1.a);
-  _mm512_storeu_epi32 (res2.a, s2.x);
+  res1.x = _mm512_loadu_si512 (s1.a);
+  _mm512_storeu_si512 (res2.a, s2.x);
 #endif
   res3.x = INTRINSIC (_mask_loadu_epi32) (res3.x, mask, s1.a);
   res4.x = INTRINSIC (_maskz_loadu_epi32) (mask, s1.a);
index 5bfb6c16a01540fe44d22b0227b8218d6f543141..87565489ebec8d6ccea1584fcb2ef6517144f28e 100644 (file)
@@ -3,7 +3,7 @@
 /* { dg-final { scan-assembler-times "vmovdqu64\[ \\t\]+\[^\n\]*\\)\[^\n\]*%zmm\[0-9\]\{%k\[1-7\]\}\[^\{\]" 1 } } */
 /* { dg-final { scan-assembler-times "vmovdqu64\[ \\t\]+\[^\n\]*\\)\[^\n\]*%zmm\[0-9\]\{%k\[1-7\]\}\{z\}" 1 } } */
 /* { dg-final { scan-assembler-times "vmovdqu64\[ \\t\]+\[^\n\]*%zmm\[0-9\]\[^\n\]*\\)\{%k\[1-7\]\}\[^\{\]" 1 } } */
-/* { dg-final { scan-assembler-times "vmovdqu64\[ \\t\]+\[^\n\]*%zmm\[0-9\]" 4 } } */
+/* { dg-final { scan-assembler-times "vmovdqu64\[ \\t\]+\[^\n\]*%zmm\[0-9\]" 3 } } */
 
 #include <immintrin.h>
 
@@ -18,5 +18,4 @@ avx512f_test (void)
   x = _mm512_maskz_loadu_epi64 (m, p);
 
   _mm512_mask_storeu_epi64 (p, m, x);
-  _mm512_storeu_epi64 (p, x);
 }
index 6a9a8369e0b7edd1eed103d779f038829d39119c..867a2517d546f211c10a30d00bb34e2d940b334e 100644 (file)
@@ -19,7 +19,7 @@ static void
 TEST (void)
 {
   UNION_TYPE (AVX512F_LEN, i_q) s2, res1, res2;
-  EVAL(unaligned_array, AVX512F_LEN,) s1, res3, res4;
+  EVAL(unaligned_array, AVX512F_LEN,) s1, res3;
   MASK_TYPE mask = MASK_VALUE;
   int i, sign = 1;
 
@@ -35,7 +35,6 @@ TEST (void)
   res1.x = INTRINSIC (_mask_loadu_epi64) (res1.x, mask, s1.a);
   res2.x = INTRINSIC (_maskz_loadu_epi64) (mask, s1.a);
   INTRINSIC (_mask_storeu_epi64) (res3.a, mask, s2.x);
-  INTRINSIC (_storeu_epi64) (res4.a, s2.x);
 
   MASK_MERGE (i_q) (s1.a, mask, SIZE);
   if (UNION_CHECK (AVX512F_LEN, i_q) (res1, s1.a))
@@ -45,9 +44,6 @@ TEST (void)
   if (UNION_CHECK (AVX512F_LEN, i_q) (res2, s1.a))
     abort ();
 
-  if (UNION_CHECK (AVX512F_LEN, i_q) (s2, res4.a))
-    abort ();
-
   MASK_MERGE (i_q) (s2.a, mask, SIZE);
   if (UNION_CHECK (AVX512F_LEN, i_q) (s2, res3.a))
     abort ();
index c044f427f2b793af0776e9efc2c1410d06fcfe14..600dfd2c0ca2409c91df6b500c098c76c653bcfa 100644 (file)
@@ -17,8 +17,8 @@
     {                                                  \
       dst_ref = ((rel) << i) | dst_ref;                        \
     }                                                  \
-    source1.x = _mm512_loadu_epi32 (s1);               \
-    source2.x = _mm512_loadu_epi32 (s2);               \
+    source1.x = _mm512_loadu_si512 (s1);               \
+    source2.x = _mm512_loadu_si512 (s2);               \
     dst1 = _mm512_cmp_epi32_mask (source1.x, source2.x, imm);\
     dst2 = _mm512_mask_cmp_epi32_mask (mask, source1.x, source2.x, imm);\
     if (dst_ref != dst1) abort();                      \
index e3a90d83199a3927c00f2eb983317dea128aef56..2a9ceb6a9f0f4699af9d11c705549fc92d28fdbd 100644 (file)
@@ -18,8 +18,8 @@ __mmask8 dst_ref;
     {                                                  \
       dst_ref = ((rel) << i) | dst_ref;                        \
     }                                                  \
-    source1.x = _mm512_loadu_epi32 (s1);               \
-    source2.x = _mm512_loadu_epi32 (s2);               \
+    source1.x = _mm512_loadu_si512 (s1);               \
+    source2.x = _mm512_loadu_si512 (s2);               \
     dst1 = _mm512_cmp_epi64_mask (source1.x, source2.x, imm);\
     dst2 = _mm512_mask_cmp_epi64_mask (mask, source1.x, source2.x, imm);\
     if (dst_ref != dst1) abort();                      \
index a90baf91504ca22342134d320bdfa237387f1d03..c0bb97839f22400e3384156923b8af8023b1cc3e 100644 (file)
@@ -17,8 +17,8 @@
     {                                                  \
       dst_ref = ((rel) << i) | dst_ref;                        \
     }                                                  \
-    source1.x = _mm512_loadu_epi32 (s1);               \
-    source2.x = _mm512_loadu_epi32 (s2);               \
+    source1.x = _mm512_loadu_si512 (s1);               \
+    source2.x = _mm512_loadu_si512 (s2);               \
     dst1 = _mm512_cmp_epu32_mask (source1.x, source2.x, imm);\
     dst2 = _mm512_mask_cmp_epu32_mask (mask, source1.x, source2.x, imm);\
     if (dst_ref != dst1) abort();                      \
index c49f5e48598c3a915371abf9e1c6735c8a30f030..3bd1b865623b24ed0d1072a87be4e4ce0cbef7e0 100644 (file)
@@ -17,8 +17,8 @@
     {                                                  \
       dst_ref = ((rel) << i) | dst_ref;                        \
     }                                                  \
-    source1.x = _mm512_loadu_epi32 (s1);               \
-    source2.x = _mm512_loadu_epi32 (s2);               \
+    source1.x = _mm512_loadu_si512 (s1);               \
+    source2.x = _mm512_loadu_si512 (s2);               \
     dst1 = _mm512_cmp_epu64_mask (source1.x, source2.x, imm);\
     dst2 = _mm512_mask_cmp_epu64_mask (mask, source1.x, source2.x, imm);\
     if (dst_ref != dst1) abort();                      \
index 541b106c4a6170283cf3371786b15ea0fb0ba11c..c6c8a9c1c7b6a99bc1ee796475b48d0b82933b12 100644 (file)
@@ -9,7 +9,7 @@
 #define SIZE (AVX512F_LEN / 32)
 #include "avx512f-mask-type.h"
 
-CALC (int *r, int *s1,  int* s2)
+CALC (int *r, int *s1, long long* s2)
 {
   int i;
   int count = s2[0];
@@ -24,7 +24,7 @@ TEST (void)
 {
   int i, sign;
   UNION_TYPE (AVX512F_LEN, i_d) res1, res2, res3, src1;
-  UNION_TYPE (128, i_d) src2;
+  UNION_TYPE (128, i_q) src2;
   MASK_TYPE mask = MASK_VALUE;
   int res_ref[SIZE];
 
index c9393fc2a7ce56312221d51eeb03f727a0e31556..596f98b4397988dbbcebb963cb52a15cbf2758d1 100644 (file)
@@ -9,7 +9,7 @@
 #define SIZE (AVX512F_LEN / 32)
 #include "avx512f-mask-type.h"
 
-CALC (int *r, int *s1, int *s2)
+CALC (int *r, int *s1, long long *s2)
 {
   int i;
   int count = s2[0];
@@ -25,7 +25,7 @@ TEST (void)
 {
   int i, sign;
   UNION_TYPE (AVX512F_LEN, i_d) res1, res2, res3, src1;
-  UNION_TYPE (128, i_d) src2;
+  UNION_TYPE (128, i_q) src2;
   MASK_TYPE mask = MASK_VALUE;
   int res_ref[SIZE];
 
index d4e7232012f9967b9626a845c4ceb5a19da2784b..653a8f8f3043dc5c38a48abd7f13c7f67b433304 100644 (file)
@@ -9,7 +9,7 @@
 #define SIZE (AVX512F_LEN / 32)
 #include "avx512f-mask-type.h"
 
-CALC (unsigned int *r, unsigned int *s1,  unsigned int* s2)
+CALC (unsigned int *r, unsigned int *s1,  unsigned long long* s2)
 {
   int i;
   unsigned int count = s2[0];
@@ -24,7 +24,7 @@ TEST (void)
 {
   int i;
   UNION_TYPE (AVX512F_LEN, i_d) res1, res2, res3, src1;
-  UNION_TYPE (128, i_d) src2;
+  UNION_TYPE (128, i_q) src2;
   MASK_TYPE mask = MASK_VALUE;
   unsigned int res_ref[SIZE];
 
index 3fb0e090ed7fc03630dd92e1f9cb62a87eb7b48a..baf505c80bb21467a1e100b5efdad57ad3e367d0 100644 (file)
@@ -1,10 +1,10 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512f -O2" } */
-/* { dg-final { scan-assembler-times "vrndscalepd\[ \\t\]+\[^\n\]*%zmm\[0-9\]\[^\n\]*%zmm\[0-9\]\[^\{\]" 6} } */
-/* { dg-final { scan-assembler-times "vrndscalepd\[ \\t\]+\[^\n\]*%zmm\[0-9\]\{%k\[1-7\]\}\[^\{\]" 9} } */
-/* { dg-final { scan-assembler-times "vrndscalepd\[ \\t\]+\[^\n\]*%zmm\[0-9\]\{%k\[1-7\]\}\{z\}" 3} } */
-/* { dg-final { scan-assembler-times "vrndscalepd\[ \\t\]+\\S*,\[ \\t\]+\{sae\}\[^\n\]*%zmm\[0-9\]\[^\n\]*%zmm\[0-9\]\[^\{\]" 3} } */
-/* { dg-final { scan-assembler-times "vrndscalepd\[ \\t\]+\\S*,\[ \\t\]+\{sae\}\[^\n\]*%zmm\[0-9\]\{%k\[1-7\]\}\[^\{\]" 6} } */
+/* { dg-final { scan-assembler-times "vrndscalepd\[ \\t\]+\[^\n\]*%zmm\[0-9\]\[^\n\]*%zmm\[0-9\]\[^\{\]" } } */
+/* { dg-final { scan-assembler-times "vrndscalepd\[ \\t\]+\[^\n\]*%zmm\[0-9\]\{%k\[1-7\]\}\[^\{\]" } } */
+/* { dg-final { scan-assembler-times "vrndscalepd\[ \\t\]+\[^\n\]*%zmm\[0-9\]\{%k\[1-7\]\}\{z\}" } } */
+/* { dg-final { scan-assembler-times "vrndscalepd\[ \\t\]+\\S*,\[ \\t\]+\{sae\}\[^\n\]*%zmm\[0-9\]\[^\n\]*%zmm\[0-9\]\[^\{\]" } } */
+/* { dg-final { scan-assembler-times "vrndscalepd\[ \\t\]+\\S*,\[ \\t\]+\{sae\}\[^\n\]*%zmm\[0-9\]\{%k\[1-7\]\}\[^\{\]" } } */
 
 #include <immintrin.h>
 
@@ -20,16 +20,8 @@ avx512f_test (void)
   x = _mm512_mask_ceil_pd (x, 2, x);
   x = _mm512_mask_floor_pd (x, 2, x);
   x = _mm512_maskz_roundscale_pd (2, x, 0x42);
-  x = _mm512_maskz_ceil_pd (2, x);
-  x = _mm512_maskz_floor_pd (2, x);
 
   x = _mm512_roundscale_round_pd (x, 0x42, _MM_FROUND_NO_EXC);
-  x = _mm512_ceil_round_pd (x, _MM_FROUND_NO_EXC);
-  x = _mm512_floor_round_pd (x, _MM_FROUND_NO_EXC);
   x = _mm512_mask_roundscale_round_pd (x, 2, x, 0x42, _MM_FROUND_NO_EXC);
-  x = _mm512_mask_ceil_round_pd (x, 2, x, _MM_FROUND_NO_EXC);
-  x = _mm512_mask_floor_round_pd (x, 2, x, _MM_FROUND_NO_EXC);
   x = _mm512_maskz_roundscale_round_pd (2, x, 0x42, _MM_FROUND_NO_EXC);
-  x = _mm512_maskz_ceil_round_pd (2, x, _MM_FROUND_NO_EXC);
-  x = _mm512_maskz_floor_round_pd (2, x, _MM_FROUND_NO_EXC);
 }
index f655f59c6770453bafda8a5c0018319dbd78a80d..f18cdcbcab2343242ef3d2e5838f90cbc7158330 100644 (file)
@@ -66,13 +66,11 @@ TEST (void)
          imm = _MM_FROUND_FLOOR;
          res1.x = INTRINSIC (_floor_pd) (s.x);
          res2.x = INTRINSIC (_mask_floor_pd) (res2.x, mask, s.x);
-         res3.x = INTRINSIC (_maskz_floor_pd) (mask, s.x);
          break;
        case 2:
          imm = _MM_FROUND_CEIL;
          res1.x = INTRINSIC (_ceil_pd) (s.x);
          res2.x = INTRINSIC (_mask_ceil_pd) (res2.x, mask, s.x);
-         res3.x = INTRINSIC (_maskz_ceil_pd) (mask, s.x);
          break;
        }
 
@@ -88,7 +86,7 @@ TEST (void)
 
       MASK_ZERO(d) (res_ref,mask,SIZE );
 
-      if (UNION_CHECK (AVX512F_LEN, d) (res3, res_ref))
+      if (!i && UNION_CHECK (AVX512F_LEN, d) (res3, res_ref))
        abort ();
 
     }
index 7d5aeaac8ce02b1890273dcfd3a6abb6bf19d404..d7a6f9f9085fdd7040535007c2780ede5616b567 100644 (file)
@@ -1,10 +1,10 @@
 /* { dg-do compile } */
 /* { dg-options "-mavx512f -O2" } */
-/* { dg-final { scan-assembler-times "vrndscaleps\[ \\t\]+\[^\n\]*%zmm\[0-9\]+\[^\n\]*%zmm\[0-9\]\[^\{\]" 6} } */
-/* { dg-final { scan-assembler-times "vrndscaleps\[ \\t\]+\[^\n\]*%zmm\[0-9\]\{%k\[1-7\]\}\[^\{\]" 9} } */
-/* { dg-final { scan-assembler-times "vrndscaleps\[ \\t\]+\[^\n\]*%zmm\[0-9\]\{%k\[1-7\]\}\{z\}" 3} } */
-/* { dg-final { scan-assembler-times "vrndscaleps\[ \\t\]+\\S*,\[ \\t\]+\{sae\}\[^\n\]*%zmm\[0-9\]+\[^\n\]*%zmm\[0-9\]\[^\{\]" 3} } */
-/* { dg-final { scan-assembler-times "vrndscaleps\[ \\t\]+\\S*,\[ \\t\]+\{sae\}\[^\n\]*%zmm\[0-9\]\{%k\[1-7\]\}\[^\{\]" 6} } */
+/* { dg-final { scan-assembler-times "vrndscaleps\[ \\t\]+\[^\n\]*%zmm\[0-9\]+\[^\n\]*%zmm\[0-9\]\[^\{\]" } } */
+/* { dg-final { scan-assembler-times "vrndscaleps\[ \\t\]+\[^\n\]*%zmm\[0-9\]\{%k\[1-7\]\}\[^\{\]" } } */
+/* { dg-final { scan-assembler-times "vrndscaleps\[ \\t\]+\[^\n\]*%zmm\[0-9\]\{%k\[1-7\]\}\{z\}" } } */
+/* { dg-final { scan-assembler-times "vrndscaleps\[ \\t\]+\\S*,\[ \\t\]+\{sae\}\[^\n\]*%zmm\[0-9\]+\[^\n\]*%zmm\[0-9\]\[^\{\]" } } */
+/* { dg-final { scan-assembler-times "vrndscaleps\[ \\t\]+\\S*,\[ \\t\]+\{sae\}\[^\n\]*%zmm\[0-9\]\{%k\[1-7\]\}\[^\{\]" } } */
 
 #include <immintrin.h>
 
@@ -20,16 +20,8 @@ avx512f_test (void)
   x = _mm512_mask_ceil_ps (x, 2, x);
   x = _mm512_mask_floor_ps (x, 2, x);
   x = _mm512_maskz_roundscale_ps (2, x, 0x42);
-  x = _mm512_maskz_ceil_ps (2, x);
-  x = _mm512_maskz_floor_ps (2, x);
 
   x = _mm512_roundscale_round_ps (x, 0x42, _MM_FROUND_NO_EXC);
-  x = _mm512_ceil_round_ps (x, _MM_FROUND_NO_EXC);
-  x = _mm512_floor_round_ps (x, _MM_FROUND_NO_EXC);
   x = _mm512_mask_roundscale_round_ps (x, 2, x, 0x42, _MM_FROUND_NO_EXC);
-  x = _mm512_mask_ceil_round_ps (x, 2, x, _MM_FROUND_NO_EXC);
-  x = _mm512_mask_floor_round_ps (x, 2, x, _MM_FROUND_NO_EXC);
   x = _mm512_maskz_roundscale_round_ps (2, x, 0x42, _MM_FROUND_NO_EXC);
-  x = _mm512_maskz_ceil_round_ps (2, x, _MM_FROUND_NO_EXC);
-  x = _mm512_maskz_floor_round_ps (2, x, _MM_FROUND_NO_EXC);
 }
index 19c5110223195696e9ccb010e2a8007d675471f0..097253d754c78e635ba886da7e5fb9a19bc4e761 100644 (file)
@@ -65,13 +65,11 @@ TEST (void)
          imm = _MM_FROUND_FLOOR;
          res1.x = INTRINSIC (_floor_ps) (s.x);
          res2.x = INTRINSIC (_mask_floor_ps) (res2.x, mask, s.x);
-         res3.x = INTRINSIC (_maskz_floor_ps) (mask, s.x);
          break;
        case 2:
          imm = _MM_FROUND_CEIL;
          res1.x = INTRINSIC (_ceil_ps) (s.x);
          res2.x = INTRINSIC (_mask_ceil_ps) (res2.x, mask, s.x);
-         res3.x = INTRINSIC (_maskz_ceil_ps) (mask, s.x);
          break;
        }
 
@@ -87,7 +85,7 @@ TEST (void)
 
       MASK_ZERO ()(res_ref, mask, SIZE);
 
-      if (UNION_CHECK (AVX512F_LEN,) (res3, res_ref))
+      if (!i && UNION_CHECK (AVX512F_LEN,) (res3, res_ref))
        abort ();
 
     }
index 1368b7a459d6812dbbfb08e289002c9b41586524..fe366ee6c845134db3933211ac7771a2bfc03c3c 100644 (file)
@@ -11,5 +11,5 @@ void *base;
 void extern
 avx512pf_test (void)
 {
-  _mm512_mask_prefetch_i32gather_pd (idx, m8, base, 8, 0);
+  _mm512_mask_prefetch_i32gather_pd (idx, m8, base, 8, 1);
 }
index a688beceb9025607e7b5e40c85e008dc4210c5f9..df13cdbc71c72a1b7c684b85cdd9c2eea76e4073 100644 (file)
@@ -11,5 +11,5 @@ int *base;
 void extern
 avx512pf_test (void)
 {
-  _mm512_mask_prefetch_i32gather_ps (idx, m16, base, 8, 0);
+  _mm512_mask_prefetch_i32gather_ps (idx, m16, base, 8, 1);
 }
index 61a81bb29ae3536c65ab8eac7edb55e361884e58..ba7133521acd566864ce8dcb377d6e0ea84bf3fe 100644 (file)
@@ -11,5 +11,5 @@ int *base;
 void extern
 avx512pf_test (void)
 {
-  _mm512_mask_prefetch_i64gather_pd (idx, m8, base, 8, 0);
+  _mm512_mask_prefetch_i64gather_pd (idx, m8, base, 8, 1);
 }
index 9501adf74e9ea861b31135b63651c99f90285f2c..945ac517cd55050f842ba17f31e89986e5f71a64 100644 (file)
@@ -11,5 +11,5 @@ int *base;
 void extern
 avx512pf_test (void)
 {
-  _mm512_mask_prefetch_i64gather_ps (idx, m8, base, 8, 0);
+  _mm512_mask_prefetch_i64gather_ps (idx, m8, base, 8, 1);
 }
index 5bc7599712ee6ef619cc42666aeba388587129f6..5933376db06d12f640e0f4c51c839f600d0c72fa 100644 (file)
@@ -11,5 +11,5 @@ int *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, 2);
 }
index 6557afd14668bd5d31c4c5fe8b72e270c7111486..da1046f8cf8d1bea125f7a06d24cc5fb52dd6508 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, 2);
 }
index 96610dbe2431fc7fbe9fd3264eaeab9026e094c6..eb2c545d66985b2b4d8f8f35cb5d8c1431583104 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, 2);
 }
index b0bdfa77b0b47ccb04eefb1a8d9811ef174b32d5..1c81836996a4ef8e087327140d8d79df2a466cbf 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, 2);
 }
index 83c31cc45946b46eb65acf33208b9e2206330b17..ff00bfa58d7bde3cc0e4bbfe14a964d56841c2eb 100644 (file)
@@ -12,6 +12,6 @@ void *base;
 void extern
 avx512pf_test (void)
 {
-  _mm512_prefetch_i32scatter_pd (base, idx, 8, 0);
-  _mm512_mask_prefetch_i32scatter_pd (base, m8, idx, 8, 0);
+  _mm512_prefetch_i32scatter_pd (base, idx, 8, 1);
+  _mm512_mask_prefetch_i32scatter_pd (base, m8, idx, 8, 5);
 }
index 7ad7544a9286d70d23d491833ca520dd5ac47cea..25448b4e2f4065822ba928488792126c6cd40dec 100644 (file)
@@ -12,6 +12,6 @@ int *base;
 void extern
 avx512pf_test (void)
 {
-  _mm512_prefetch_i32scatter_ps (base, idx, 8, 0);
-  _mm512_mask_prefetch_i32scatter_ps (base, m16, idx, 8, 0);
+  _mm512_prefetch_i32scatter_ps (base, idx, 8, 1);
+  _mm512_mask_prefetch_i32scatter_ps (base, m16, idx, 8, 5);
 }
index 31172f855867960004f8d134390ecb2ef91d0116..84ddc6d9b9667bd516a1cf413972e467b759d8b6 100644 (file)
@@ -12,6 +12,6 @@ void *base;
 void extern
 avx512pf_test (void)
 {
-  _mm512_prefetch_i64scatter_pd (base, idx, 8, 0);
-  _mm512_mask_prefetch_i64scatter_pd (base, m8, idx, 8, 0);
+  _mm512_prefetch_i64scatter_pd (base, idx, 8, 1);
+  _mm512_mask_prefetch_i64scatter_pd (base, m8, idx, 8, 5);
 }
index 5d143c5f65e59cab7e0b66d7e28adb5fd61d403c..847a719371f2a9ff095f0fdc9e2823e0dd95a197 100644 (file)
@@ -12,6 +12,6 @@ int *base;
 void extern
 avx512pf_test (void)
 {
-  _mm512_prefetch_i64scatter_ps (base, idx, 8, 0);
-  _mm512_mask_prefetch_i64scatter_ps (base, m8, idx, 8, 0);
+  _mm512_prefetch_i64scatter_ps (base, idx, 8, 1);
+  _mm512_mask_prefetch_i64scatter_ps (base, m8, idx, 8, 5);
 }
index 205505b85974ad05e7fac418b6bf26d27b1ea038..5633138825fab38c068c22184d0ee2cdd023e358 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, 1);
+  _mm512_prefetch_i32scatter_pd (base, idx, 8, 2);
+  _mm512_mask_prefetch_i32scatter_pd (base, m8, idx, 8, 6);
 }
index b97c38db5d5a5ffe213e69e85a0322beffcae383..fb70439859447c104c520887c40cc8c48e16c8ff 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, 1);
+  _mm512_prefetch_i32scatter_ps (base, idx, 8, 2);
+  _mm512_mask_prefetch_i32scatter_ps (base, m16, idx, 8, 6);
 }
index 64d7dfa95f9862e4f7bca8121d3dec738d3f9ddb..7fbd1429cf7e0cfa4558b3203120ca77b039fd4a 100644 (file)
@@ -12,6 +12,6 @@ int *base;
 void extern
 avx512pf_test (void)
 {
-  _mm512_prefetch_i64scatter_pd (base, idx, 8, 1);
-  _mm512_mask_prefetch_i64scatter_pd (base, m8, idx, 8, 1);
+  _mm512_prefetch_i64scatter_pd (base, idx, 8, 2);
+  _mm512_mask_prefetch_i64scatter_pd (base, m8, idx, 8, 6);
 }
index 6d6be11e451e10aed9227c73cf7c3d619f25aa3a..c0048341f045c99ecca390133b2bf80b43b1209a 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, 1);
+  _mm512_prefetch_i64scatter_ps (base, idx, 8, 2);
+  _mm512_mask_prefetch_i64scatter_ps (base, m8, idx, 8, 6);
 }
This page took 0.127262 seconds and 5 git commands to generate.