summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2017-03-09 09:11:06 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2017-03-09 09:11:06 +0000
commit3fe01219b1cf2f237a82a98fc6e8920f37fd1896 (patch)
treeae74d4ecbce6b26d60ec2fbc9171d89c955a78b0
parent24d73ad7ff021dda8e36547d0d2b412702275e51 (diff)
downloadgcc-3fe01219b1cf2f237a82a98fc6e8920f37fd1896.tar.gz
PR target/79932
* config/i386/avx512vlintrin.h (_mm256_cmpge_epi32_mask, _mm256_cmpge_epi64_mask, _mm256_cmpge_epu32_mask, _mm256_cmpge_epu64_mask, _mm256_cmple_epi32_mask, _mm256_cmple_epi64_mask, _mm256_cmple_epu32_mask, _mm256_cmple_epu64_mask, _mm256_cmplt_epi32_mask, _mm256_cmplt_epi64_mask, _mm256_cmplt_epu32_mask, _mm256_cmplt_epu64_mask, _mm256_cmpneq_epi32_mask, _mm256_cmpneq_epi64_mask, _mm256_cmpneq_epu32_mask, _mm256_cmpneq_epu64_mask, _mm256_mask_cmpge_epi32_mask, _mm256_mask_cmpge_epi64_mask, _mm256_mask_cmpge_epu32_mask, _mm256_mask_cmpge_epu64_mask, _mm256_mask_cmple_epi32_mask, _mm256_mask_cmple_epi64_mask, _mm256_mask_cmple_epu32_mask, _mm256_mask_cmple_epu64_mask, _mm256_mask_cmplt_epi32_mask, _mm256_mask_cmplt_epi64_mask, _mm256_mask_cmplt_epu32_mask, _mm256_mask_cmplt_epu64_mask, _mm256_mask_cmpneq_epi32_mask, _mm256_mask_cmpneq_epi64_mask, _mm256_mask_cmpneq_epu32_mask, _mm256_mask_cmpneq_epu64_mask, _mm_cmpge_epi32_mask, _mm_cmpge_epi64_mask, _mm_cmpge_epu32_mask, _mm_cmpge_epu64_mask, _mm_cmple_epi32_mask, _mm_cmple_epi64_mask, _mm_cmple_epu32_mask, _mm_cmple_epu64_mask, _mm_cmplt_epi32_mask, _mm_cmplt_epi64_mask, _mm_cmplt_epu32_mask, _mm_cmplt_epu64_mask, _mm_cmpneq_epi32_mask, _mm_cmpneq_epi64_mask, _mm_cmpneq_epu32_mask, _mm_cmpneq_epu64_mask, _mm_mask_cmpge_epi32_mask, _mm_mask_cmpge_epi64_mask, _mm_mask_cmpge_epu32_mask, _mm_mask_cmpge_epu64_mask, _mm_mask_cmple_epi32_mask, _mm_mask_cmple_epi64_mask, _mm_mask_cmple_epu32_mask, _mm_mask_cmple_epu64_mask, _mm_mask_cmplt_epi32_mask, _mm_mask_cmplt_epi64_mask, _mm_mask_cmplt_epu32_mask, _mm_mask_cmplt_epu64_mask, _mm_mask_cmpneq_epi32_mask, _mm_mask_cmpneq_epi64_mask, _mm_mask_cmpneq_epu32_mask, _mm_mask_cmpneq_epu64_mask): Move definitions outside of __OPTIMIZE__ guarded section. * gcc.target/i386/pr79932-2.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245990 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog33
-rw-r--r--gcc/config/i386/avx512vlintrin.h1152
-rw-r--r--gcc/testsuite/ChangeLog3
-rw-r--r--gcc/testsuite/gcc.target/i386/pr79932-2.c78
4 files changed, 690 insertions, 576 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 33f340b49b8..3d85fe0e981 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,6 +1,39 @@
2017-03-09 Jakub Jelinek <jakub@redhat.com>
PR target/79932
+ * config/i386/avx512vlintrin.h (_mm256_cmpge_epi32_mask,
+ _mm256_cmpge_epi64_mask, _mm256_cmpge_epu32_mask,
+ _mm256_cmpge_epu64_mask, _mm256_cmple_epi32_mask,
+ _mm256_cmple_epi64_mask, _mm256_cmple_epu32_mask,
+ _mm256_cmple_epu64_mask, _mm256_cmplt_epi32_mask,
+ _mm256_cmplt_epi64_mask, _mm256_cmplt_epu32_mask,
+ _mm256_cmplt_epu64_mask, _mm256_cmpneq_epi32_mask,
+ _mm256_cmpneq_epi64_mask, _mm256_cmpneq_epu32_mask,
+ _mm256_cmpneq_epu64_mask, _mm256_mask_cmpge_epi32_mask,
+ _mm256_mask_cmpge_epi64_mask, _mm256_mask_cmpge_epu32_mask,
+ _mm256_mask_cmpge_epu64_mask, _mm256_mask_cmple_epi32_mask,
+ _mm256_mask_cmple_epi64_mask, _mm256_mask_cmple_epu32_mask,
+ _mm256_mask_cmple_epu64_mask, _mm256_mask_cmplt_epi32_mask,
+ _mm256_mask_cmplt_epi64_mask, _mm256_mask_cmplt_epu32_mask,
+ _mm256_mask_cmplt_epu64_mask, _mm256_mask_cmpneq_epi32_mask,
+ _mm256_mask_cmpneq_epi64_mask, _mm256_mask_cmpneq_epu32_mask,
+ _mm256_mask_cmpneq_epu64_mask, _mm_cmpge_epi32_mask,
+ _mm_cmpge_epi64_mask, _mm_cmpge_epu32_mask, _mm_cmpge_epu64_mask,
+ _mm_cmple_epi32_mask, _mm_cmple_epi64_mask, _mm_cmple_epu32_mask,
+ _mm_cmple_epu64_mask, _mm_cmplt_epi32_mask, _mm_cmplt_epi64_mask,
+ _mm_cmplt_epu32_mask, _mm_cmplt_epu64_mask, _mm_cmpneq_epi32_mask,
+ _mm_cmpneq_epi64_mask, _mm_cmpneq_epu32_mask, _mm_cmpneq_epu64_mask,
+ _mm_mask_cmpge_epi32_mask, _mm_mask_cmpge_epi64_mask,
+ _mm_mask_cmpge_epu32_mask, _mm_mask_cmpge_epu64_mask,
+ _mm_mask_cmple_epi32_mask, _mm_mask_cmple_epi64_mask,
+ _mm_mask_cmple_epu32_mask, _mm_mask_cmple_epu64_mask,
+ _mm_mask_cmplt_epi32_mask, _mm_mask_cmplt_epi64_mask,
+ _mm_mask_cmplt_epu32_mask, _mm_mask_cmplt_epu64_mask,
+ _mm_mask_cmpneq_epi32_mask, _mm_mask_cmpneq_epi64_mask,
+ _mm_mask_cmpneq_epu32_mask, _mm_mask_cmpneq_epu64_mask): Move
+ definitions outside of __OPTIMIZE__ guarded section.
+
+ PR target/79932
* config/i386/avx512bwintrin.h (_mm512_packs_epi32,
_mm512_maskz_packs_epi32, _mm512_mask_packs_epi32,
_mm512_packus_epi32, _mm512_maskz_packus_epi32,
diff --git a/gcc/config/i386/avx512vlintrin.h b/gcc/config/i386/avx512vlintrin.h
index 9750cd811aa..f62f641188e 100644
--- a/gcc/config/i386/avx512vlintrin.h
+++ b/gcc/config/i386/avx512vlintrin.h
@@ -9172,6 +9172,582 @@ _mm256_mask_permutexvar_epi32 (__m256i __W, __mmask8 __M, __m256i __X,
__M);
}
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmpneq_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
+{
+ return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
+ (__v8si) __Y, 4,
+ (__mmask8) __M);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_cmpneq_epu32_mask (__m256i __X, __m256i __Y)
+{
+ return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
+ (__v8si) __Y, 4,
+ (__mmask8) -1);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmplt_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
+{
+ return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
+ (__v8si) __Y, 1,
+ (__mmask8) __M);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_cmplt_epu32_mask (__m256i __X, __m256i __Y)
+{
+ return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
+ (__v8si) __Y, 1,
+ (__mmask8) -1);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmpge_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
+{
+ return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
+ (__v8si) __Y, 5,
+ (__mmask8) __M);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_cmpge_epu32_mask (__m256i __X, __m256i __Y)
+{
+ return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
+ (__v8si) __Y, 5,
+ (__mmask8) -1);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmple_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
+{
+ return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
+ (__v8si) __Y, 2,
+ (__mmask8) __M);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_cmple_epu32_mask (__m256i __X, __m256i __Y)
+{
+ return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
+ (__v8si) __Y, 2,
+ (__mmask8) -1);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmpneq_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
+{
+ return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
+ (__v4di) __Y, 4,
+ (__mmask8) __M);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_cmpneq_epu64_mask (__m256i __X, __m256i __Y)
+{
+ return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
+ (__v4di) __Y, 4,
+ (__mmask8) -1);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmplt_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
+{
+ return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
+ (__v4di) __Y, 1,
+ (__mmask8) __M);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_cmplt_epu64_mask (__m256i __X, __m256i __Y)
+{
+ return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
+ (__v4di) __Y, 1,
+ (__mmask8) -1);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmpge_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
+{
+ return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
+ (__v4di) __Y, 5,
+ (__mmask8) __M);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_cmpge_epu64_mask (__m256i __X, __m256i __Y)
+{
+ return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
+ (__v4di) __Y, 5,
+ (__mmask8) -1);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmple_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
+{
+ return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
+ (__v4di) __Y, 2,
+ (__mmask8) __M);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_cmple_epu64_mask (__m256i __X, __m256i __Y)
+{
+ return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
+ (__v4di) __Y, 2,
+ (__mmask8) -1);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmpneq_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
+{
+ return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
+ (__v8si) __Y, 4,
+ (__mmask8) __M);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_cmpneq_epi32_mask (__m256i __X, __m256i __Y)
+{
+ return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
+ (__v8si) __Y, 4,
+ (__mmask8) -1);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmplt_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
+{
+ return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
+ (__v8si) __Y, 1,
+ (__mmask8) __M);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_cmplt_epi32_mask (__m256i __X, __m256i __Y)
+{
+ return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
+ (__v8si) __Y, 1,
+ (__mmask8) -1);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmpge_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
+{
+ return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
+ (__v8si) __Y, 5,
+ (__mmask8) __M);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_cmpge_epi32_mask (__m256i __X, __m256i __Y)
+{
+ return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
+ (__v8si) __Y, 5,
+ (__mmask8) -1);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmple_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
+{
+ return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
+ (__v8si) __Y, 2,
+ (__mmask8) __M);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_cmple_epi32_mask (__m256i __X, __m256i __Y)
+{
+ return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
+ (__v8si) __Y, 2,
+ (__mmask8) -1);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmpneq_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
+{
+ return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
+ (__v4di) __Y, 4,
+ (__mmask8) __M);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_cmpneq_epi64_mask (__m256i __X, __m256i __Y)
+{
+ return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
+ (__v4di) __Y, 4,
+ (__mmask8) -1);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmplt_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
+{
+ return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
+ (__v4di) __Y, 1,
+ (__mmask8) __M);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_cmplt_epi64_mask (__m256i __X, __m256i __Y)
+{
+ return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
+ (__v4di) __Y, 1,
+ (__mmask8) -1);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmpge_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
+{
+ return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
+ (__v4di) __Y, 5,
+ (__mmask8) __M);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_cmpge_epi64_mask (__m256i __X, __m256i __Y)
+{
+ return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
+ (__v4di) __Y, 5,
+ (__mmask8) -1);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmple_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
+{
+ return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
+ (__v4di) __Y, 2,
+ (__mmask8) __M);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_cmple_epi64_mask (__m256i __X, __m256i __Y)
+{
+ return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
+ (__v4di) __Y, 2,
+ (__mmask8) -1);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmpneq_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
+{
+ return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
+ (__v4si) __Y, 4,
+ (__mmask8) __M);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_cmpneq_epu32_mask (__m128i __X, __m128i __Y)
+{
+ return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
+ (__v4si) __Y, 4,
+ (__mmask8) -1);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmplt_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
+{
+ return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
+ (__v4si) __Y, 1,
+ (__mmask8) __M);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_cmplt_epu32_mask (__m128i __X, __m128i __Y)
+{
+ return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
+ (__v4si) __Y, 1,
+ (__mmask8) -1);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmpge_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
+{
+ return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
+ (__v4si) __Y, 5,
+ (__mmask8) __M);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_cmpge_epu32_mask (__m128i __X, __m128i __Y)
+{
+ return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
+ (__v4si) __Y, 5,
+ (__mmask8) -1);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmple_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
+{
+ return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
+ (__v4si) __Y, 2,
+ (__mmask8) __M);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_cmple_epu32_mask (__m128i __X, __m128i __Y)
+{
+ return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
+ (__v4si) __Y, 2,
+ (__mmask8) -1);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmpneq_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
+{
+ return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
+ (__v2di) __Y, 4,
+ (__mmask8) __M);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_cmpneq_epu64_mask (__m128i __X, __m128i __Y)
+{
+ return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
+ (__v2di) __Y, 4,
+ (__mmask8) -1);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmplt_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
+{
+ return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
+ (__v2di) __Y, 1,
+ (__mmask8) __M);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_cmplt_epu64_mask (__m128i __X, __m128i __Y)
+{
+ return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
+ (__v2di) __Y, 1,
+ (__mmask8) -1);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmpge_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
+{
+ return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
+ (__v2di) __Y, 5,
+ (__mmask8) __M);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_cmpge_epu64_mask (__m128i __X, __m128i __Y)
+{
+ return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
+ (__v2di) __Y, 5,
+ (__mmask8) -1);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmple_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
+{
+ return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
+ (__v2di) __Y, 2,
+ (__mmask8) __M);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_cmple_epu64_mask (__m128i __X, __m128i __Y)
+{
+ return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
+ (__v2di) __Y, 2,
+ (__mmask8) -1);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmpneq_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
+{
+ return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
+ (__v4si) __Y, 4,
+ (__mmask8) __M);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_cmpneq_epi32_mask (__m128i __X, __m128i __Y)
+{
+ return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
+ (__v4si) __Y, 4,
+ (__mmask8) -1);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmplt_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
+{
+ return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
+ (__v4si) __Y, 1,
+ (__mmask8) __M);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_cmplt_epi32_mask (__m128i __X, __m128i __Y)
+{
+ return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
+ (__v4si) __Y, 1,
+ (__mmask8) -1);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmpge_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
+{
+ return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
+ (__v4si) __Y, 5,
+ (__mmask8) __M);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_cmpge_epi32_mask (__m128i __X, __m128i __Y)
+{
+ return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
+ (__v4si) __Y, 5,
+ (__mmask8) -1);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmple_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
+{
+ return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
+ (__v4si) __Y, 2,
+ (__mmask8) __M);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_cmple_epi32_mask (__m128i __X, __m128i __Y)
+{
+ return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
+ (__v4si) __Y, 2,
+ (__mmask8) -1);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmpneq_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
+{
+ return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
+ (__v2di) __Y, 4,
+ (__mmask8) __M);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_cmpneq_epi64_mask (__m128i __X, __m128i __Y)
+{
+ return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
+ (__v2di) __Y, 4,
+ (__mmask8) -1);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmplt_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
+{
+ return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
+ (__v2di) __Y, 1,
+ (__mmask8) __M);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_cmplt_epi64_mask (__m128i __X, __m128i __Y)
+{
+ return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
+ (__v2di) __Y, 1,
+ (__mmask8) -1);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmpge_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
+{
+ return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
+ (__v2di) __Y, 5,
+ (__mmask8) __M);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_cmpge_epi64_mask (__m128i __X, __m128i __Y)
+{
+ return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
+ (__v2di) __Y, 5,
+ (__mmask8) -1);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmple_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
+{
+ return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
+ (__v2di) __Y, 2,
+ (__mmask8) __M);
+}
+
+extern __inline __mmask8
+ __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_cmple_epi64_mask (__m128i __X, __m128i __Y)
+{
+ return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
+ (__v2di) __Y, 2,
+ (__mmask8) -1);
+}
+
#ifdef __OPTIMIZE__
extern __inline __m256i
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
@@ -11784,582 +12360,6 @@ _mm256_permutex_pd (__m256d __X, const int __M)
(__mmask8) -1);
}
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpneq_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
- return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
- (__v8si) __Y, 4,
- (__mmask8) __M);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpneq_epu32_mask (__m256i __X, __m256i __Y)
-{
- return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
- (__v8si) __Y, 4,
- (__mmask8) -1);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmplt_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
- return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
- (__v8si) __Y, 1,
- (__mmask8) __M);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmplt_epu32_mask (__m256i __X, __m256i __Y)
-{
- return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
- (__v8si) __Y, 1,
- (__mmask8) -1);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpge_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
- return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
- (__v8si) __Y, 5,
- (__mmask8) __M);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpge_epu32_mask (__m256i __X, __m256i __Y)
-{
- return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
- (__v8si) __Y, 5,
- (__mmask8) -1);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmple_epu32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
- return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
- (__v8si) __Y, 2,
- (__mmask8) __M);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmple_epu32_mask (__m256i __X, __m256i __Y)
-{
- return (__mmask8) __builtin_ia32_ucmpd256_mask ((__v8si) __X,
- (__v8si) __Y, 2,
- (__mmask8) -1);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpneq_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
- return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
- (__v4di) __Y, 4,
- (__mmask8) __M);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpneq_epu64_mask (__m256i __X, __m256i __Y)
-{
- return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
- (__v4di) __Y, 4,
- (__mmask8) -1);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmplt_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
- return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
- (__v4di) __Y, 1,
- (__mmask8) __M);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmplt_epu64_mask (__m256i __X, __m256i __Y)
-{
- return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
- (__v4di) __Y, 1,
- (__mmask8) -1);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpge_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
- return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
- (__v4di) __Y, 5,
- (__mmask8) __M);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpge_epu64_mask (__m256i __X, __m256i __Y)
-{
- return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
- (__v4di) __Y, 5,
- (__mmask8) -1);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmple_epu64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
- return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
- (__v4di) __Y, 2,
- (__mmask8) __M);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmple_epu64_mask (__m256i __X, __m256i __Y)
-{
- return (__mmask8) __builtin_ia32_ucmpq256_mask ((__v4di) __X,
- (__v4di) __Y, 2,
- (__mmask8) -1);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpneq_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
- return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
- (__v8si) __Y, 4,
- (__mmask8) __M);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpneq_epi32_mask (__m256i __X, __m256i __Y)
-{
- return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
- (__v8si) __Y, 4,
- (__mmask8) -1);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmplt_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
- return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
- (__v8si) __Y, 1,
- (__mmask8) __M);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmplt_epi32_mask (__m256i __X, __m256i __Y)
-{
- return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
- (__v8si) __Y, 1,
- (__mmask8) -1);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpge_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
- return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
- (__v8si) __Y, 5,
- (__mmask8) __M);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpge_epi32_mask (__m256i __X, __m256i __Y)
-{
- return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
- (__v8si) __Y, 5,
- (__mmask8) -1);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmple_epi32_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
- return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
- (__v8si) __Y, 2,
- (__mmask8) __M);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmple_epi32_mask (__m256i __X, __m256i __Y)
-{
- return (__mmask8) __builtin_ia32_cmpd256_mask ((__v8si) __X,
- (__v8si) __Y, 2,
- (__mmask8) -1);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpneq_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
- return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
- (__v4di) __Y, 4,
- (__mmask8) __M);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpneq_epi64_mask (__m256i __X, __m256i __Y)
-{
- return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
- (__v4di) __Y, 4,
- (__mmask8) -1);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmplt_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
- return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
- (__v4di) __Y, 1,
- (__mmask8) __M);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmplt_epi64_mask (__m256i __X, __m256i __Y)
-{
- return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
- (__v4di) __Y, 1,
- (__mmask8) -1);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpge_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
- return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
- (__v4di) __Y, 5,
- (__mmask8) __M);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmpge_epi64_mask (__m256i __X, __m256i __Y)
-{
- return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
- (__v4di) __Y, 5,
- (__mmask8) -1);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmple_epi64_mask (__mmask8 __M, __m256i __X, __m256i __Y)
-{
- return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
- (__v4di) __Y, 2,
- (__mmask8) __M);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_cmple_epi64_mask (__m256i __X, __m256i __Y)
-{
- return (__mmask8) __builtin_ia32_cmpq256_mask ((__v4di) __X,
- (__v4di) __Y, 2,
- (__mmask8) -1);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpneq_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
- return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
- (__v4si) __Y, 4,
- (__mmask8) __M);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpneq_epu32_mask (__m128i __X, __m128i __Y)
-{
- return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
- (__v4si) __Y, 4,
- (__mmask8) -1);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmplt_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
- return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
- (__v4si) __Y, 1,
- (__mmask8) __M);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmplt_epu32_mask (__m128i __X, __m128i __Y)
-{
- return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
- (__v4si) __Y, 1,
- (__mmask8) -1);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpge_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
- return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
- (__v4si) __Y, 5,
- (__mmask8) __M);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpge_epu32_mask (__m128i __X, __m128i __Y)
-{
- return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
- (__v4si) __Y, 5,
- (__mmask8) -1);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmple_epu32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
- return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
- (__v4si) __Y, 2,
- (__mmask8) __M);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmple_epu32_mask (__m128i __X, __m128i __Y)
-{
- return (__mmask8) __builtin_ia32_ucmpd128_mask ((__v4si) __X,
- (__v4si) __Y, 2,
- (__mmask8) -1);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpneq_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
- return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
- (__v2di) __Y, 4,
- (__mmask8) __M);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpneq_epu64_mask (__m128i __X, __m128i __Y)
-{
- return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
- (__v2di) __Y, 4,
- (__mmask8) -1);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmplt_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
- return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
- (__v2di) __Y, 1,
- (__mmask8) __M);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmplt_epu64_mask (__m128i __X, __m128i __Y)
-{
- return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
- (__v2di) __Y, 1,
- (__mmask8) -1);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpge_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
- return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
- (__v2di) __Y, 5,
- (__mmask8) __M);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpge_epu64_mask (__m128i __X, __m128i __Y)
-{
- return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
- (__v2di) __Y, 5,
- (__mmask8) -1);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmple_epu64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
- return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
- (__v2di) __Y, 2,
- (__mmask8) __M);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmple_epu64_mask (__m128i __X, __m128i __Y)
-{
- return (__mmask8) __builtin_ia32_ucmpq128_mask ((__v2di) __X,
- (__v2di) __Y, 2,
- (__mmask8) -1);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpneq_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
- return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
- (__v4si) __Y, 4,
- (__mmask8) __M);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpneq_epi32_mask (__m128i __X, __m128i __Y)
-{
- return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
- (__v4si) __Y, 4,
- (__mmask8) -1);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmplt_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
- return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
- (__v4si) __Y, 1,
- (__mmask8) __M);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmplt_epi32_mask (__m128i __X, __m128i __Y)
-{
- return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
- (__v4si) __Y, 1,
- (__mmask8) -1);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpge_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
- return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
- (__v4si) __Y, 5,
- (__mmask8) __M);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpge_epi32_mask (__m128i __X, __m128i __Y)
-{
- return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
- (__v4si) __Y, 5,
- (__mmask8) -1);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmple_epi32_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
- return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
- (__v4si) __Y, 2,
- (__mmask8) __M);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmple_epi32_mask (__m128i __X, __m128i __Y)
-{
- return (__mmask8) __builtin_ia32_cmpd128_mask ((__v4si) __X,
- (__v4si) __Y, 2,
- (__mmask8) -1);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpneq_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
- return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
- (__v2di) __Y, 4,
- (__mmask8) __M);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpneq_epi64_mask (__m128i __X, __m128i __Y)
-{
- return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
- (__v2di) __Y, 4,
- (__mmask8) -1);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmplt_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
- return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
- (__v2di) __Y, 1,
- (__mmask8) __M);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmplt_epi64_mask (__m128i __X, __m128i __Y)
-{
- return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
- (__v2di) __Y, 1,
- (__mmask8) -1);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmpge_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
- return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
- (__v2di) __Y, 5,
- (__mmask8) __M);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmpge_epi64_mask (__m128i __X, __m128i __Y)
-{
- return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
- (__v2di) __Y, 5,
- (__mmask8) -1);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmple_epi64_mask (__mmask8 __M, __m128i __X, __m128i __Y)
-{
- return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
- (__v2di) __Y, 2,
- (__mmask8) __M);
-}
-
-extern __inline __mmask8
- __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_cmple_epi64_mask (__m128i __X, __m128i __Y)
-{
- return (__mmask8) __builtin_ia32_cmpq128_mask ((__v2di) __X,
- (__v2di) __Y, 2,
- (__mmask8) -1);
-}
-
#else
#define _mm256_permutex_pd(X, M) \
((__m256d) __builtin_ia32_permdf256_mask ((__v4df)(__m256d)(X), (int)(M), \
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index ebe5a4a342c..45839d25ddc 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,6 +1,9 @@
2017-03-09 Jakub Jelinek <jakub@redhat.com>
PR target/79932
+ * gcc.target/i386/pr79932-2.c: New test.
+
+ PR target/79932
* gcc.target/i386/pr79932-1.c: New test.
2017-03-09 Marek Polacek <polacek@redhat.com>
diff --git a/gcc/testsuite/gcc.target/i386/pr79932-2.c b/gcc/testsuite/gcc.target/i386/pr79932-2.c
new file mode 100644
index 00000000000..dc8178bdd12
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr79932-2.c
@@ -0,0 +1,78 @@
+/* PR target/79932 */
+/* { dg-do compile } */
+/* { dg-options "-O0 -mavx512vl" } */
+
+#include <x86intrin.h>
+
+__m256i a, b;
+__m128i c, d;
+__mmask32 e, f[64];
+
+void
+foo (void)
+{
+ f[0] = _mm256_cmpge_epi32_mask (a, b);
+ f[1] = _mm256_cmpge_epi64_mask (a, b);
+ f[2] = _mm256_cmpge_epu32_mask (a, b);
+ f[3] = _mm256_cmpge_epu64_mask (a, b);
+ f[4] = _mm256_cmple_epi32_mask (a, b);
+ f[5] = _mm256_cmple_epi64_mask (a, b);
+ f[6] = _mm256_cmple_epu32_mask (a, b);
+ f[7] = _mm256_cmple_epu64_mask (a, b);
+ f[8] = _mm256_cmplt_epi32_mask (a, b);
+ f[9] = _mm256_cmplt_epi64_mask (a, b);
+ f[10] = _mm256_cmplt_epu32_mask (a, b);
+ f[11] = _mm256_cmplt_epu64_mask (a, b);
+ f[12] = _mm256_cmpneq_epi32_mask (a, b);
+ f[13] = _mm256_cmpneq_epi64_mask (a, b);
+ f[14] = _mm256_cmpneq_epu32_mask (a, b);
+ f[15] = _mm256_cmpneq_epu64_mask (a, b);
+ f[16] = _mm256_mask_cmpge_epi32_mask (e, a, b);
+ f[17] = _mm256_mask_cmpge_epi64_mask (e, a, b);
+ f[18] = _mm256_mask_cmpge_epu32_mask (e, a, b);
+ f[19] = _mm256_mask_cmpge_epu64_mask (e, a, b);
+ f[20] = _mm256_mask_cmple_epi32_mask (e, a, b);
+ f[21] = _mm256_mask_cmple_epi64_mask (e, a, b);
+ f[22] = _mm256_mask_cmple_epu32_mask (e, a, b);
+ f[23] = _mm256_mask_cmple_epu64_mask (e, a, b);
+ f[24] = _mm256_mask_cmplt_epi32_mask (e, a, b);
+ f[25] = _mm256_mask_cmplt_epi64_mask (e, a, b);
+ f[26] = _mm256_mask_cmplt_epu32_mask (e, a, b);
+ f[27] = _mm256_mask_cmplt_epu64_mask (e, a, b);
+ f[28] = _mm256_mask_cmpneq_epi32_mask (e, a, b);
+ f[29] = _mm256_mask_cmpneq_epi64_mask (e, a, b);
+ f[30] = _mm256_mask_cmpneq_epu32_mask (e, a, b);
+ f[31] = _mm256_mask_cmpneq_epu64_mask (e, a, b);
+ f[32] = _mm_cmpge_epi32_mask (c, d);
+ f[33] = _mm_cmpge_epi64_mask (c, d);
+ f[34] = _mm_cmpge_epu32_mask (c, d);
+ f[35] = _mm_cmpge_epu64_mask (c, d);
+ f[36] = _mm_cmple_epi32_mask (c, d);
+ f[37] = _mm_cmple_epi64_mask (c, d);
+ f[38] = _mm_cmple_epu32_mask (c, d);
+ f[39] = _mm_cmple_epu64_mask (c, d);
+ f[40] = _mm_cmplt_epi32_mask (c, d);
+ f[41] = _mm_cmplt_epi64_mask (c, d);
+ f[42] = _mm_cmplt_epu32_mask (c, d);
+ f[43] = _mm_cmplt_epu64_mask (c, d);
+ f[44] = _mm_cmpneq_epi32_mask (c, d);
+ f[45] = _mm_cmpneq_epi64_mask (c, d);
+ f[46] = _mm_cmpneq_epu32_mask (c, d);
+ f[47] = _mm_cmpneq_epu64_mask (c, d);
+ f[48] = _mm_mask_cmpge_epi32_mask (e, c, d);
+ f[49] = _mm_mask_cmpge_epi64_mask (e, c, d);
+ f[50] = _mm_mask_cmpge_epu32_mask (e, c, d);
+ f[51] = _mm_mask_cmpge_epu64_mask (e, c, d);
+ f[52] = _mm_mask_cmple_epi32_mask (e, c, d);
+ f[53] = _mm_mask_cmple_epi64_mask (e, c, d);
+ f[54] = _mm_mask_cmple_epu32_mask (e, c, d);
+ f[55] = _mm_mask_cmple_epu64_mask (e, c, d);
+ f[56] = _mm_mask_cmplt_epi32_mask (e, c, d);
+ f[57] = _mm_mask_cmplt_epi64_mask (e, c, d);
+ f[58] = _mm_mask_cmplt_epu32_mask (e, c, d);
+ f[59] = _mm_mask_cmplt_epu64_mask (e, c, d);
+ f[60] = _mm_mask_cmpneq_epi32_mask (e, c, d);
+ f[61] = _mm_mask_cmpneq_epi64_mask (e, c, d);
+ f[62] = _mm_mask_cmpneq_epu32_mask (e, c, d);
+ f[63] = _mm_mask_cmpneq_epu64_mask (e, c, d);
+}