]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - gcc/config/i386/avx512vlbwintrin.h
Update copyright years.
[thirdparty/gcc.git] / gcc / config / i386 / avx512vlbwintrin.h
index 1a4fe2ca2c6274c2bde735df321099f15aa8944b..19293e4d6f0d5d814381c725e753acd690f0a601 100644 (file)
@@ -1,5 +1,4 @@
-/* Copyright (C) 2014
-   Free Software Foundation, Inc.
+/* Copyright (C) 2014-2020 Free Software Foundation, Inc.
 
    This file is part of GCC.
 
@@ -70,7 +69,7 @@ _mm_maskz_mov_epi8 (__mmask16 __U, __m128i __A)
 {
   return (__m128i) __builtin_ia32_movdquqi128_mask ((__v16qi) __A,
                                                    (__v16qi)
-                                                   _mm_setzero_hi (),
+                                                   _mm_setzero_si128 (),
                                                    (__mmask16) __U);
 }
 
@@ -78,7 +77,7 @@ extern __inline void
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm256_mask_storeu_epi8 (void *__P, __mmask32 __U, __m256i __A)
 {
-  __builtin_ia32_storedquqi256_mask ((__v32qi *) __P,
+  __builtin_ia32_storedquqi256_mask ((char *) __P,
                                     (__v32qi) __A,
                                     (__mmask32) __U);
 }
@@ -87,7 +86,7 @@ extern __inline void
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm_mask_storeu_epi8 (void *__P, __mmask16 __U, __m128i __A)
 {
-  __builtin_ia32_storedquqi128_mask ((__v16qi *) __P,
+  __builtin_ia32_storedquqi128_mask ((char *) __P,
                                     (__v16qi) __A,
                                     (__mmask16) __U);
 }
@@ -96,7 +95,7 @@ extern __inline __m256i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm256_mask_loadu_epi16 (__m256i __W, __mmask16 __U, void const *__P)
 {
-  return (__m256i) __builtin_ia32_loaddquhi256_mask ((__v16hi *) __P,
+  return (__m256i) __builtin_ia32_loaddquhi256_mask ((const short *) __P,
                                                     (__v16hi) __W,
                                                     (__mmask16) __U);
 }
@@ -105,7 +104,7 @@ extern __inline __m256i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm256_maskz_loadu_epi16 (__mmask16 __U, void const *__P)
 {
-  return (__m256i) __builtin_ia32_loaddquhi256_mask ((__v16hi *) __P,
+  return (__m256i) __builtin_ia32_loaddquhi256_mask ((const short *) __P,
                                                     (__v16hi)
                                                     _mm256_setzero_si256 (),
                                                     (__mmask16) __U);
@@ -115,7 +114,7 @@ extern __inline __m128i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm_mask_loadu_epi16 (__m128i __W, __mmask8 __U, void const *__P)
 {
-  return (__m128i) __builtin_ia32_loaddquhi128_mask ((__v8hi *) __P,
+  return (__m128i) __builtin_ia32_loaddquhi128_mask ((const short *) __P,
                                                     (__v8hi) __W,
                                                     (__mmask8) __U);
 }
@@ -124,9 +123,9 @@ extern __inline __m128i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm_maskz_loadu_epi16 (__mmask8 __U, void const *__P)
 {
-  return (__m128i) __builtin_ia32_loaddquhi128_mask ((__v8hi *) __P,
+  return (__m128i) __builtin_ia32_loaddquhi128_mask ((const short *) __P,
                                                     (__v8hi)
-                                                    _mm_setzero_hi (),
+                                                    _mm_setzero_si128 (),
                                                     (__mmask8) __U);
 }
 
@@ -165,7 +164,7 @@ _mm_maskz_mov_epi16 (__mmask8 __U, __m128i __A)
 {
   return (__m128i) __builtin_ia32_movdquhi128_mask ((__v8hi) __A,
                                                    (__v8hi)
-                                                   _mm_setzero_hi (),
+                                                   _mm_setzero_si128 (),
                                                    (__mmask8) __U);
 }
 
@@ -173,7 +172,7 @@ extern __inline __m256i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm256_mask_loadu_epi8 (__m256i __W, __mmask32 __U, void const *__P)
 {
-  return (__m256i) __builtin_ia32_loaddquqi256_mask ((__v32qi *) __P,
+  return (__m256i) __builtin_ia32_loaddquqi256_mask ((const char *) __P,
                                                     (__v32qi) __W,
                                                     (__mmask32) __U);
 }
@@ -182,7 +181,7 @@ extern __inline __m256i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm256_maskz_loadu_epi8 (__mmask32 __U, void const *__P)
 {
-  return (__m256i) __builtin_ia32_loaddquqi256_mask ((__v32qi *) __P,
+  return (__m256i) __builtin_ia32_loaddquqi256_mask ((const char *) __P,
                                                     (__v32qi)
                                                     _mm256_setzero_si256 (),
                                                     (__mmask32) __U);
@@ -192,7 +191,7 @@ extern __inline __m128i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm_mask_loadu_epi8 (__m128i __W, __mmask16 __U, void const *__P)
 {
-  return (__m128i) __builtin_ia32_loaddquqi128_mask ((__v16qi *) __P,
+  return (__m128i) __builtin_ia32_loaddquqi128_mask ((const char *) __P,
                                                     (__v16qi) __W,
                                                     (__mmask16) __U);
 }
@@ -201,9 +200,9 @@ extern __inline __m128i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm_maskz_loadu_epi8 (__mmask16 __U, void const *__P)
 {
-  return (__m128i) __builtin_ia32_loaddquqi128_mask ((__v16qi *) __P,
+  return (__m128i) __builtin_ia32_loaddquqi128_mask ((const char *) __P,
                                                     (__v16qi)
-                                                    _mm_setzero_hi (),
+                                                    _mm_setzero_si128 (),
                                                     (__mmask16) __U);
 }
 
@@ -217,6 +216,13 @@ _mm256_cvtepi16_epi8 (__m256i __A)
                                                  (__mmask16) -1);
 }
 
+extern __inline void
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cvtepi16_storeu_epi8 (void * __P, __mmask16 __M,__m256i __A)
+{
+  __builtin_ia32_pmovwb256mem_mask ((__v16qi *) __P , (__v16hi) __A, __M);
+}
+
 extern __inline __m128i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm256_mask_cvtepi16_epi8 (__m128i __O, __mmask16 __M, __m256i __A)
@@ -245,6 +251,13 @@ _mm_cvtsepi16_epi8 (__m128i __A)
                                                   (__mmask8) -1);
 }
 
+extern __inline void
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cvtsepi16_storeu_epi8 (void * __P, __mmask8 __M,__m128i __A)
+{
+  __builtin_ia32_pmovswb128mem_mask ((__v8qi *) __P , (__v8hi) __A, __M);
+}
+
 extern __inline __m128i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm_mask_cvtsepi16_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
@@ -273,6 +286,13 @@ _mm256_cvtsepi16_epi8 (__m256i __A)
                                                   (__mmask16) -1);
 }
 
+extern __inline void
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cvtsepi16_storeu_epi8 (void * __P, __mmask16 __M,__m256i __A)
+{
+  __builtin_ia32_pmovswb256mem_mask ((__v16qi *) __P , (__v16hi) __A, __M);
+}
+
 extern __inline __m128i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm256_mask_cvtsepi16_epi8 (__m128i __O, __mmask16 __M, __m256i __A)
@@ -301,6 +321,13 @@ _mm_cvtusepi16_epi8 (__m128i __A)
                                                    (__mmask8) -1);
 }
 
+extern __inline void
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cvtusepi16_storeu_epi8 (void * __P, __mmask8 __M,__m128i __A)
+{
+  __builtin_ia32_pmovuswb128mem_mask ((__v8qi *) __P , (__v8hi) __A, __M);
+}
+
 extern __inline __m128i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm_mask_cvtusepi16_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
@@ -330,6 +357,13 @@ _mm256_cvtusepi16_epi8 (__m256i __A)
                                                    (__mmask16) -1);
 }
 
+extern __inline void
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cvtusepi16_storeu_epi8 (void * __P, __mmask16 __M,__m256i __A)
+{
+  __builtin_ia32_pmovuswb256mem_mask ((__v16qi *) __P , (__v16hi) __A, __M);
+}
+
 extern __inline __m128i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm256_mask_cvtusepi16_epi8 (__m128i __O, __mmask16 __M, __m256i __A)
@@ -542,7 +576,7 @@ _mm_permutexvar_epi16 (__m128i __A, __m128i __B)
   return (__m128i) __builtin_ia32_permvarhi128_mask ((__v8hi) __B,
                                                     (__v8hi) __A,
                                                     (__v8hi)
-                                                    _mm_setzero_hi (),
+                                                    _mm_setzero_si128 (),
                                                     (__mmask8) -1);
 }
 
@@ -576,8 +610,7 @@ _mm256_permutex2var_epi16 (__m256i __A, __m256i __I, __m256i __B)
                                                        /* idx */ ,
                                                        (__v16hi) __A,
                                                        (__v16hi) __B,
-                                                       (__mmask16) -
-                                                       1);
+                                                       (__mmask16) -1);
 }
 
 extern __inline __m256i
@@ -627,8 +660,7 @@ _mm_permutex2var_epi16 (__m128i __A, __m128i __I, __m128i __B)
                                                        /* idx */ ,
                                                        (__v8hi) __A,
                                                        (__v8hi) __B,
-                                                       (__mmask8) -
-                                                       1);
+                                                       (__mmask8) -1);
 }
 
 extern __inline __m128i
@@ -710,7 +742,7 @@ _mm_maskz_maddubs_epi16 (__mmask8 __U, __m128i __X, __m128i __Y)
   return (__m128i) __builtin_ia32_pmaddubsw128_mask ((__v16qi) __X,
                                                     (__v16qi) __Y,
                                                     (__v8hi)
-                                                    _mm_setzero_hi (),
+                                                    _mm_setzero_si128 (),
                                                     (__mmask8) __U);
 }
 
@@ -911,7 +943,7 @@ _mm_maskz_min_epu16 (__mmask8 __M, __m128i __A, __m128i __B)
   return (__m128i) __builtin_ia32_pminuw128_mask ((__v8hi) __A,
                                                  (__v8hi) __B,
                                                  (__v8hi)
-                                                 _mm_setzero_di (),
+                                                 _mm_setzero_si128 (),
                                                  (__mmask8) __M);
 }
 
@@ -977,7 +1009,7 @@ _mm_maskz_max_epu8 (__mmask16 __M, __m128i __A, __m128i __B)
   return (__m128i) __builtin_ia32_pmaxub128_mask ((__v16qi) __A,
                                                  (__v16qi) __B,
                                                  (__v16qi)
-                                                 _mm_setzero_di (),
+                                                 _mm_setzero_si128 (),
                                                  (__mmask16) __M);
 }
 
@@ -1021,7 +1053,7 @@ _mm_maskz_max_epi8 (__mmask16 __M, __m128i __A, __m128i __B)
   return (__m128i) __builtin_ia32_pmaxsb128_mask ((__v16qi) __A,
                                                  (__v16qi) __B,
                                                  (__v16qi)
-                                                 _mm_setzero_di (),
+                                                 _mm_setzero_si128 (),
                                                  (__mmask16) __M);
 }
 
@@ -1065,7 +1097,7 @@ _mm_maskz_min_epu8 (__mmask16 __M, __m128i __A, __m128i __B)
   return (__m128i) __builtin_ia32_pminub128_mask ((__v16qi) __A,
                                                  (__v16qi) __B,
                                                  (__v16qi)
-                                                 _mm_setzero_di (),
+                                                 _mm_setzero_si128 (),
                                                  (__mmask16) __M);
 }
 
@@ -1109,7 +1141,7 @@ _mm_maskz_min_epi8 (__mmask16 __M, __m128i __A, __m128i __B)
   return (__m128i) __builtin_ia32_pminsb128_mask ((__v16qi) __A,
                                                  (__v16qi) __B,
                                                  (__v16qi)
-                                                 _mm_setzero_di (),
+                                                 _mm_setzero_si128 (),
                                                  (__mmask16) __M);
 }
 
@@ -1153,7 +1185,7 @@ _mm_maskz_max_epi16 (__mmask8 __M, __m128i __A, __m128i __B)
   return (__m128i) __builtin_ia32_pmaxsw128_mask ((__v8hi) __A,
                                                  (__v8hi) __B,
                                                  (__v8hi)
-                                                 _mm_setzero_di (),
+                                                 _mm_setzero_si128 (),
                                                  (__mmask8) __M);
 }
 
@@ -1197,7 +1229,7 @@ _mm_maskz_max_epu16 (__mmask8 __M, __m128i __A, __m128i __B)
   return (__m128i) __builtin_ia32_pmaxuw128_mask ((__v8hi) __A,
                                                  (__v8hi) __B,
                                                  (__v8hi)
-                                                 _mm_setzero_di (),
+                                                 _mm_setzero_si128 (),
                                                  (__mmask8) __M);
 }
 
@@ -1219,7 +1251,7 @@ _mm_maskz_min_epi16 (__mmask8 __M, __m128i __A, __m128i __B)
   return (__m128i) __builtin_ia32_pminsw128_mask ((__v8hi) __A,
                                                  (__v8hi) __B,
                                                  (__v8hi)
-                                                 _mm_setzero_di (),
+                                                 _mm_setzero_si128 (),
                                                  (__mmask8) __M);
 }
 
@@ -1330,7 +1362,7 @@ _mm_dbsad_epu8 (__m128i __A, __m128i __B, const int __imm)
                                                    (__v16qi) __B,
                                                    __imm,
                                                    (__v8hi)
-                                                   _mm_setzero_hi (),
+                                                   _mm_setzero_si128 (),
                                                    (__mmask8) -1);
 }
 
@@ -1435,7 +1467,7 @@ _mm256_cmp_epi16_mask (__m256i __X, __m256i __Y, const int __P)
 
 extern __inline __mmask16
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmp_epi8_mask (__mmask8 __U, __m128i __X, __m128i __Y,
+_mm_mask_cmp_epi8_mask (__mmask16 __U, __m128i __X, __m128i __Y,
                        const int __P)
 {
   return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X,
@@ -1454,7 +1486,7 @@ _mm_cmp_epi8_mask (__m128i __X, __m128i __Y, const int __P)
 
 extern __inline __mmask32
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmp_epi8_mask (__mmask16 __U, __m256i __X, __m256i __Y,
+_mm256_mask_cmp_epi8_mask (__mmask32 __U, __m256i __X, __m256i __Y,
                           const int __P)
 {
   return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
@@ -1462,7 +1494,7 @@ _mm256_mask_cmp_epi8_mask (__mmask16 __U, __m256i __X, __m256i __Y,
                                                  (__mmask32) __U);
 }
 
-extern __inline __mmask16
+extern __inline __mmask32
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm256_cmp_epi8_mask (__m256i __X, __m256i __Y, const int __P)
 {
@@ -1511,7 +1543,7 @@ _mm256_cmp_epu16_mask (__m256i __X, __m256i __Y, const int __P)
 
 extern __inline __mmask16
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cmp_epu8_mask (__mmask8 __U, __m128i __X, __m128i __Y,
+_mm_mask_cmp_epu8_mask (__mmask16 __U, __m128i __X, __m128i __Y,
                        const int __P)
 {
   return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X,
@@ -1530,7 +1562,7 @@ _mm_cmp_epu8_mask (__m128i __X, __m128i __Y, const int __P)
 
 extern __inline __mmask32
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmp_epu8_mask (__mmask16 __U, __m256i __X, __m256i __Y,
+_mm256_mask_cmp_epu8_mask (__mmask32 __U, __m256i __X, __m256i __Y,
                           const int __P)
 {
   return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
@@ -1538,7 +1570,7 @@ _mm256_mask_cmp_epu8_mask (__mmask16 __U, __m256i __X, __m256i __Y,
                                                   (__mmask32) __U);
 }
 
-extern __inline __mmask16
+extern __inline __mmask32
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm256_cmp_epu8_mask (__m256i __X, __m256i __Y, const int __P)
 {
@@ -1626,7 +1658,7 @@ _mm_maskz_shufflehi_epi16 (__mmask8 __U, __m128i __A, const int __imm)
 {
   return (__m128i) __builtin_ia32_pshufhw128_mask ((__v8hi) __A, __imm,
                                                   (__v8hi)
-                                                  _mm_setzero_hi (),
+                                                  _mm_setzero_si128 (),
                                                   (__mmask8) __U);
 }
 
@@ -1669,7 +1701,7 @@ _mm_maskz_shufflelo_epi16 (__mmask8 __U, __m128i __A, const int __imm)
 {
   return (__m128i) __builtin_ia32_pshuflw128_mask ((__v8hi) __A, __imm,
                                                   (__v8hi)
-                                                  _mm_setzero_hi (),
+                                                  _mm_setzero_si128 (),
                                                   (__mmask8) __U);
 }
 
@@ -1807,7 +1839,7 @@ _mm_maskz_slli_epi16 (__mmask8 __U, __m128i __A, int __B)
 
 #define _mm_maskz_shufflehi_epi16(U, A, B)                                          \
   ((__m128i) __builtin_ia32_pshufhw128_mask ((__v8hi)(__m128i)(A), (int)(B),        \
-                                             (__v8hi)(__m128i)_mm_setzero_hi(),     \
+                                            (__v8hi)(__m128i)_mm_setzero_si128 (), \
                                              (__mmask8)(U)))
 
 #define _mm256_mask_shufflelo_epi16(W, U, A, B)                                     \
@@ -1827,7 +1859,7 @@ _mm_maskz_slli_epi16 (__mmask8 __U, __m128i __A, int __B)
 
 #define _mm_maskz_shufflelo_epi16(U, A, B)                                          \
   ((__m128i) __builtin_ia32_pshuflw128_mask ((__v8hi)(__m128i)(A), (int)(B),        \
-                                             (__v8hi)(__m128i)_mm_setzero_hi(),     \
+                                            (__v8hi)(__m128i)_mm_setzero_si128 (), \
                                              (__mmask8)(U)))
 
 #define _mm256_maskz_alignr_epi8(U, X, Y, N)                                       \
@@ -1844,7 +1876,7 @@ _mm_maskz_slli_epi16 (__mmask8 __U, __m128i __A, int __B)
 #define _mm_maskz_alignr_epi8(U, X, Y, N)                                          \
   ((__m128i) __builtin_ia32_palignr128_mask ((__v2di)(__m128i)(X),                 \
                                            (__v2di)(__m128i)(Y), (int)(N * 8),     \
-                                           (__v2di)(__m128i)_mm_setzero_di(),      \
+                                           (__v2di)(__m128i)_mm_setzero_si128 (),  \
                                            (__mmask16)(U)))
 
 #define _mm_mask_slli_epi16(W, U, X, C)                                          \
@@ -1854,7 +1886,7 @@ _mm_maskz_slli_epi16 (__mmask8 __U, __m128i __A, int __B)
 
 #define _mm_maskz_slli_epi16(U, X, C)                                    \
   ((__m128i)__builtin_ia32_psllwi128_mask ((__v8hi)(__m128i)(X), (int)(C),\
-    (__v8hi)(__m128i)_mm_setzero_hi(),\
+    (__v8hi)(__m128i)_mm_setzero_si128 (),\
     (__mmask8)(U)))
 
 #define _mm256_dbsad_epu8(X, Y, C)                                                  \
@@ -1966,7 +1998,7 @@ _mm_maskz_slli_epi16 (__mmask8 __U, __m128i __A, int __B)
 #define _mm_mask_cmp_epi16_mask(M, X, Y, P)                            \
   ((__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi)(__m128i)(X),       \
                                            (__v8hi)(__m128i)(Y), (int)(P),\
-                                           (__mmask16)(M)))
+                                           (__mmask8)(M)))
 
 #define _mm_mask_cmp_epi8_mask(M, X, Y, P)                             \
   ((__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi)(__m128i)(X),     \
@@ -2010,7 +2042,7 @@ _mm256_cmpneq_epi8_mask (__m256i __X, __m256i __Y)
 {
   return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
                                                  (__v32qi) __Y, 4,
-                                                 (__mmask32) - 1);
+                                                 (__mmask32) -1);
 }
 
 extern __inline __mmask32
@@ -2019,7 +2051,7 @@ _mm256_cmplt_epi8_mask (__m256i __X, __m256i __Y)
 {
   return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
                                                  (__v32qi) __Y, 1,
-                                                 (__mmask32) - 1);
+                                                 (__mmask32) -1);
 }
 
 extern __inline __mmask32
@@ -2028,7 +2060,7 @@ _mm256_cmpge_epi8_mask (__m256i __X, __m256i __Y)
 {
   return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
                                                  (__v32qi) __Y, 5,
-                                                 (__mmask32) - 1);
+                                                 (__mmask32) -1);
 }
 
 extern __inline __mmask32
@@ -2037,7 +2069,7 @@ _mm256_cmple_epi8_mask (__m256i __X, __m256i __Y)
 {
   return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
                                                  (__v32qi) __Y, 2,
-                                                 (__mmask32) - 1);
+                                                 (__mmask32) -1);
 }
 
 extern __inline __mmask16
@@ -2046,7 +2078,7 @@ _mm256_cmpneq_epi16_mask (__m256i __X, __m256i __Y)
 {
   return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
                                                  (__v16hi) __Y, 4,
-                                                 (__mmask16) - 1);
+                                                 (__mmask16) -1);
 }
 
 extern __inline __mmask16
@@ -2055,7 +2087,7 @@ _mm256_cmplt_epi16_mask (__m256i __X, __m256i __Y)
 {
   return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
                                                  (__v16hi) __Y, 1,
-                                                 (__mmask16) - 1);
+                                                 (__mmask16) -1);
 }
 
 extern __inline __mmask16
@@ -2064,7 +2096,7 @@ _mm256_cmpge_epi16_mask (__m256i __X, __m256i __Y)
 {
   return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
                                                  (__v16hi) __Y, 5,
-                                                 (__mmask16) - 1);
+                                                 (__mmask16) -1);
 }
 
 extern __inline __mmask16
@@ -2073,7 +2105,7 @@ _mm256_cmple_epi16_mask (__m256i __X, __m256i __Y)
 {
   return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
                                                  (__v16hi) __Y, 2,
-                                                 (__mmask16) - 1);
+                                                 (__mmask16) -1);
 }
 
 extern __inline __mmask16
@@ -2082,7 +2114,7 @@ _mm_cmpneq_epu8_mask (__m128i __X, __m128i __Y)
 {
   return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X,
                                                   (__v16qi) __Y, 4,
-                                                  (__mmask16) - 1);
+                                                  (__mmask16) -1);
 }
 
 extern __inline __mmask16
@@ -2091,7 +2123,7 @@ _mm_cmplt_epu8_mask (__m128i __X, __m128i __Y)
 {
   return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X,
                                                   (__v16qi) __Y, 1,
-                                                  (__mmask16) - 1);
+                                                  (__mmask16) -1);
 }
 
 extern __inline __mmask16
@@ -2100,7 +2132,7 @@ _mm_cmpge_epu8_mask (__m128i __X, __m128i __Y)
 {
   return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X,
                                                   (__v16qi) __Y, 5,
-                                                  (__mmask16) - 1);
+                                                  (__mmask16) -1);
 }
 
 extern __inline __mmask16
@@ -2109,7 +2141,7 @@ _mm_cmple_epu8_mask (__m128i __X, __m128i __Y)
 {
   return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X,
                                                   (__v16qi) __Y, 2,
-                                                  (__mmask16) - 1);
+                                                  (__mmask16) -1);
 }
 
 extern __inline __mmask8
@@ -2118,7 +2150,7 @@ _mm_cmpneq_epu16_mask (__m128i __X, __m128i __Y)
 {
   return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X,
                                                  (__v8hi) __Y, 4,
-                                                 (__mmask8) - 1);
+                                                 (__mmask8) -1);
 }
 
 extern __inline __mmask8
@@ -2127,7 +2159,7 @@ _mm_cmplt_epu16_mask (__m128i __X, __m128i __Y)
 {
   return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X,
                                                  (__v8hi) __Y, 1,
-                                                 (__mmask8) - 1);
+                                                 (__mmask8) -1);
 }
 
 extern __inline __mmask8
@@ -2136,7 +2168,7 @@ _mm_cmpge_epu16_mask (__m128i __X, __m128i __Y)
 {
   return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X,
                                                  (__v8hi) __Y, 5,
-                                                 (__mmask8) - 1);
+                                                 (__mmask8) -1);
 }
 
 extern __inline __mmask8
@@ -2145,7 +2177,7 @@ _mm_cmple_epu16_mask (__m128i __X, __m128i __Y)
 {
   return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X,
                                                  (__v8hi) __Y, 2,
-                                                 (__mmask8) - 1);
+                                                 (__mmask8) -1);
 }
 
 extern __inline __mmask16
@@ -2154,7 +2186,7 @@ _mm_cmpneq_epi8_mask (__m128i __X, __m128i __Y)
 {
   return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X,
                                                  (__v16qi) __Y, 4,
-                                                 (__mmask16) - 1);
+                                                 (__mmask16) -1);
 }
 
 extern __inline __mmask16
@@ -2163,7 +2195,7 @@ _mm_cmplt_epi8_mask (__m128i __X, __m128i __Y)
 {
   return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X,
                                                  (__v16qi) __Y, 1,
-                                                 (__mmask16) - 1);
+                                                 (__mmask16) -1);
 }
 
 extern __inline __mmask16
@@ -2172,7 +2204,7 @@ _mm_cmpge_epi8_mask (__m128i __X, __m128i __Y)
 {
   return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X,
                                                  (__v16qi) __Y, 5,
-                                                 (__mmask16) - 1);
+                                                 (__mmask16) -1);
 }
 
 extern __inline __mmask16
@@ -2181,7 +2213,7 @@ _mm_cmple_epi8_mask (__m128i __X, __m128i __Y)
 {
   return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X,
                                                  (__v16qi) __Y, 2,
-                                                 (__mmask16) - 1);
+                                                 (__mmask16) -1);
 }
 
 extern __inline __mmask8
@@ -2190,7 +2222,7 @@ _mm_cmpneq_epi16_mask (__m128i __X, __m128i __Y)
 {
   return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X,
                                                 (__v8hi) __Y, 4,
-                                                (__mmask8) - 1);
+                                                (__mmask8) -1);
 }
 
 extern __inline __mmask8
@@ -2199,7 +2231,7 @@ _mm_cmplt_epi16_mask (__m128i __X, __m128i __Y)
 {
   return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X,
                                                 (__v8hi) __Y, 1,
-                                                (__mmask8) - 1);
+                                                (__mmask8) -1);
 }
 
 extern __inline __mmask8
@@ -2208,7 +2240,7 @@ _mm_cmpge_epi16_mask (__m128i __X, __m128i __Y)
 {
   return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X,
                                                 (__v8hi) __Y, 5,
-                                                (__mmask8) - 1);
+                                                (__mmask8) -1);
 }
 
 extern __inline __mmask8
@@ -2217,7 +2249,7 @@ _mm_cmple_epi16_mask (__m128i __X, __m128i __Y)
 {
   return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X,
                                                 (__v8hi) __Y, 2,
-                                                (__mmask8) - 1);
+                                                (__mmask8) -1);
 }
 
 extern __inline __m256i
@@ -2304,7 +2336,7 @@ _mm_maskz_mulhi_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
   return (__m128i) __builtin_ia32_pmulhw128_mask ((__v8hi) __A,
                                                  (__v8hi) __B,
                                                  (__v8hi)
-                                                 _mm_setzero_hi (),
+                                                 _mm_setzero_si128 (),
                                                  (__mmask8) __U);
 }
 
@@ -2326,7 +2358,7 @@ _mm_maskz_mulhi_epu16 (__mmask8 __U, __m128i __A, __m128i __B)
   return (__m128i) __builtin_ia32_pmulhuw128_mask ((__v8hi) __A,
                                                   (__v8hi) __B,
                                                   (__v8hi)
-                                                  _mm_setzero_hi (),
+                                                  _mm_setzero_si128 (),
                                                   (__mmask8) __U);
 }
 
@@ -2348,7 +2380,7 @@ _mm_maskz_mulhrs_epi16 (__mmask8 __U, __m128i __X, __m128i __Y)
   return (__m128i) __builtin_ia32_pmulhrsw128_mask ((__v8hi) __X,
                                                    (__v8hi) __Y,
                                                    (__v8hi)
-                                                   _mm_setzero_hi (),
+                                                   _mm_setzero_si128 (),
                                                    (__mmask8) __U);
 }
 
@@ -2392,13 +2424,13 @@ _mm_maskz_mullo_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
   return (__m128i) __builtin_ia32_pmullw128_mask ((__v8hi) __A,
                                                  (__v8hi) __B,
                                                  (__v8hi)
-                                                 _mm_setzero_hi (),
+                                                 _mm_setzero_si128 (),
                                                  (__mmask8) __U);
 }
 
 extern __inline __m256i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtepi8_epi16 (__m256i __W, __mmask32 __U, __m128i __A)
+_mm256_mask_cvtepi8_epi16 (__m256i __W, __mmask16 __U, __m128i __A)
 {
   return (__m256i) __builtin_ia32_pmovsxbw256_mask ((__v16qi) __A,
                                                    (__v16hi) __W,
@@ -2417,7 +2449,7 @@ _mm256_maskz_cvtepi8_epi16 (__mmask16 __U, __m128i __A)
 
 extern __inline __m128i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtepi8_epi16 (__m128i __W, __mmask32 __U, __m128i __A)
+_mm_mask_cvtepi8_epi16 (__m128i __W, __mmask8 __U, __m128i __A)
 {
   return (__m128i) __builtin_ia32_pmovsxbw128_mask ((__v16qi) __A,
                                                    (__v8hi) __W,
@@ -2436,7 +2468,7 @@ _mm_maskz_cvtepi8_epi16 (__mmask8 __U, __m128i __A)
 
 extern __inline __m256i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cvtepu8_epi16 (__m256i __W, __mmask32 __U, __m128i __A)
+_mm256_mask_cvtepu8_epi16 (__m256i __W, __mmask16 __U, __m128i __A)
 {
   return (__m256i) __builtin_ia32_pmovzxbw256_mask ((__v16qi) __A,
                                                    (__v16hi) __W,
@@ -2455,7 +2487,7 @@ _mm256_maskz_cvtepu8_epi16 (__mmask16 __U, __m128i __A)
 
 extern __inline __m128i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_cvtepu8_epi16 (__m128i __W, __mmask32 __U, __m128i __A)
+_mm_mask_cvtepu8_epi16 (__m128i __W, __mmask8 __U, __m128i __A)
 {
   return (__m128i) __builtin_ia32_pmovzxbw128_mask ((__v16qi) __A,
                                                    (__v8hi) __W,
@@ -3053,6 +3085,24 @@ _mm_cmpeq_epi8_mask (__m128i __A, __m128i __B)
                                                     (__mmask16) -1);
 }
 
+extern __inline __mmask16
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_cmpeq_epu8_mask (__m128i __A, __m128i __B)
+{
+  return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __A,
+                                                   (__v16qi) __B, 0,
+                                                   (__mmask16) -1);
+}
+
+extern __inline __mmask16
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmpeq_epu8_mask (__mmask16 __U, __m128i __A, __m128i __B)
+{
+  return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __A,
+                                                   (__v16qi) __B, 0,
+                                                   __U);
+}
+
 extern __inline __mmask16
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm_mask_cmpeq_epi8_mask (__mmask16 __U, __m128i __A, __m128i __B)
@@ -3062,6 +3112,15 @@ _mm_mask_cmpeq_epi8_mask (__mmask16 __U, __m128i __A, __m128i __B)
                                                     __U);
 }
 
+extern __inline __mmask32
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_cmpeq_epu8_mask (__m256i __A, __m256i __B)
+{
+  return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __A,
+                                                   (__v32qi) __B, 0,
+                                                   (__mmask32) -1);
+}
+
 extern __inline __mmask32
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm256_cmpeq_epi8_mask (__m256i __A, __m256i __B)
@@ -3071,6 +3130,15 @@ _mm256_cmpeq_epi8_mask (__m256i __A, __m256i __B)
                                                     (__mmask32) -1);
 }
 
+extern __inline __mmask32
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmpeq_epu8_mask (__mmask32 __U, __m256i __A, __m256i __B)
+{
+  return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __A,
+                                                   (__v32qi) __B, 0,
+                                                   __U);
+}
+
 extern __inline __mmask32
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm256_mask_cmpeq_epi8_mask (__mmask32 __U, __m256i __A, __m256i __B)
@@ -3080,6 +3148,15 @@ _mm256_mask_cmpeq_epi8_mask (__mmask32 __U, __m256i __A, __m256i __B)
                                                     __U);
 }
 
+extern __inline __mmask8
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_cmpeq_epu16_mask (__m128i __A, __m128i __B)
+{
+  return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __A,
+                                                  (__v8hi) __B, 0,
+                                                  (__mmask8) -1);
+}
+
 extern __inline __mmask8
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm_cmpeq_epi16_mask (__m128i __A, __m128i __B)
@@ -3089,6 +3166,14 @@ _mm_cmpeq_epi16_mask (__m128i __A, __m128i __B)
                                                    (__mmask8) -1);
 }
 
+extern __inline __mmask8
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmpeq_epu16_mask (__mmask8 __U, __m128i __A, __m128i __B)
+{
+  return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __A,
+                                                  (__v8hi) __B, 0, __U);
+}
+
 extern __inline __mmask8
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm_mask_cmpeq_epi16_mask (__mmask8 __U, __m128i __A, __m128i __B)
@@ -3097,6 +3182,15 @@ _mm_mask_cmpeq_epi16_mask (__mmask8 __U, __m128i __A, __m128i __B)
                                                    (__v8hi) __B, __U);
 }
 
+extern __inline __mmask16
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_cmpeq_epu16_mask (__m256i __A, __m256i __B)
+{
+  return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __A,
+                                                   (__v16hi) __B, 0,
+                                                   (__mmask16) -1);
+}
+
 extern __inline __mmask16
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm256_cmpeq_epi16_mask (__m256i __A, __m256i __B)
@@ -3106,6 +3200,15 @@ _mm256_cmpeq_epi16_mask (__m256i __A, __m256i __B)
                                                     (__mmask16) -1);
 }
 
+extern __inline __mmask16
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmpeq_epu16_mask (__mmask16 __U, __m256i __A, __m256i __B)
+{
+  return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __A,
+                                                   (__v16hi) __B, 0,
+                                                   __U);
+}
+
 extern __inline __mmask16
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm256_mask_cmpeq_epi16_mask (__mmask16 __U, __m256i __A, __m256i __B)
@@ -3115,6 +3218,15 @@ _mm256_mask_cmpeq_epi16_mask (__mmask16 __U, __m256i __A, __m256i __B)
                                                     __U);
 }
 
+extern __inline __mmask16
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_cmpgt_epu8_mask (__m128i __A, __m128i __B)
+{
+  return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __A,
+                                                   (__v16qi) __B, 6,
+                                                   (__mmask16) -1);
+}
+
 extern __inline __mmask16
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm_cmpgt_epi8_mask (__m128i __A, __m128i __B)
@@ -3124,6 +3236,15 @@ _mm_cmpgt_epi8_mask (__m128i __A, __m128i __B)
                                                     (__mmask16) -1);
 }
 
+extern __inline __mmask16
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmpgt_epu8_mask (__mmask16 __U, __m128i __A, __m128i __B)
+{
+  return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __A,
+                                                   (__v16qi) __B, 6,
+                                                   __U);
+}
+
 extern __inline __mmask16
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm_mask_cmpgt_epi8_mask (__mmask16 __U, __m128i __A, __m128i __B)
@@ -3133,6 +3254,15 @@ _mm_mask_cmpgt_epi8_mask (__mmask16 __U, __m128i __A, __m128i __B)
                                                     __U);
 }
 
+extern __inline __mmask32
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_cmpgt_epu8_mask (__m256i __A, __m256i __B)
+{
+  return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __A,
+                                                   (__v32qi) __B, 6,
+                                                   (__mmask32) -1);
+}
+
 extern __inline __mmask32
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm256_cmpgt_epi8_mask (__m256i __A, __m256i __B)
@@ -3142,6 +3272,15 @@ _mm256_cmpgt_epi8_mask (__m256i __A, __m256i __B)
                                                     (__mmask32) -1);
 }
 
+extern __inline __mmask32
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmpgt_epu8_mask (__mmask32 __U, __m256i __A, __m256i __B)
+{
+  return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __A,
+                                                   (__v32qi) __B, 6,
+                                                   __U);
+}
+
 extern __inline __mmask32
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm256_mask_cmpgt_epi8_mask (__mmask32 __U, __m256i __A, __m256i __B)
@@ -3151,6 +3290,15 @@ _mm256_mask_cmpgt_epi8_mask (__mmask32 __U, __m256i __A, __m256i __B)
                                                     __U);
 }
 
+extern __inline __mmask8
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_cmpgt_epu16_mask (__m128i __A, __m128i __B)
+{
+  return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __A,
+                                                  (__v8hi) __B, 6,
+                                                  (__mmask8) -1);
+}
+
 extern __inline __mmask8
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm_cmpgt_epi16_mask (__m128i __A, __m128i __B)
@@ -3160,6 +3308,14 @@ _mm_cmpgt_epi16_mask (__m128i __A, __m128i __B)
                                                    (__mmask8) -1);
 }
 
+extern __inline __mmask8
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmpgt_epu16_mask (__mmask8 __U, __m128i __A, __m128i __B)
+{
+  return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __A,
+                                                  (__v8hi) __B, 6, __U);
+}
+
 extern __inline __mmask8
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm_mask_cmpgt_epi16_mask (__mmask8 __U, __m128i __A, __m128i __B)
@@ -3168,6 +3324,15 @@ _mm_mask_cmpgt_epi16_mask (__mmask8 __U, __m128i __A, __m128i __B)
                                                    (__v8hi) __B, __U);
 }
 
+extern __inline __mmask16
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_cmpgt_epu16_mask (__m256i __A, __m256i __B)
+{
+  return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __A,
+                                                   (__v16hi) __B, 6,
+                                                   (__mmask16) -1);
+}
+
 extern __inline __mmask16
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm256_cmpgt_epi16_mask (__m256i __A, __m256i __B)
@@ -3177,6 +3342,15 @@ _mm256_cmpgt_epi16_mask (__m256i __A, __m256i __B)
                                                     (__mmask16) -1);
 }
 
+extern __inline __mmask16
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmpgt_epu16_mask (__mmask16 __U, __m256i __A, __m256i __B)
+{
+  return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __A,
+                                                   (__v16hi) __B, 6,
+                                                   __U);
+}
+
 extern __inline __mmask16
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm256_mask_cmpgt_epi16_mask (__mmask16 __U, __m256i __A, __m256i __B)
@@ -3468,7 +3642,7 @@ _mm256_cmpneq_epu8_mask (__m256i __X, __m256i __Y)
 {
   return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
                                                   (__v32qi) __Y, 4,
-                                                  (__mmask32) - 1);
+                                                  (__mmask32) -1);
 }
 
 extern __inline __mmask32
@@ -3477,7 +3651,7 @@ _mm256_cmplt_epu8_mask (__m256i __X, __m256i __Y)
 {
   return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
                                                   (__v32qi) __Y, 1,
-                                                  (__mmask32) - 1);
+                                                  (__mmask32) -1);
 }
 
 extern __inline __mmask32
@@ -3486,7 +3660,7 @@ _mm256_cmpge_epu8_mask (__m256i __X, __m256i __Y)
 {
   return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
                                                   (__v32qi) __Y, 5,
-                                                  (__mmask32) - 1);
+                                                  (__mmask32) -1);
 }
 
 extern __inline __mmask32
@@ -3495,7 +3669,7 @@ _mm256_cmple_epu8_mask (__m256i __X, __m256i __Y)
 {
   return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
                                                   (__v32qi) __Y, 2,
-                                                  (__mmask32) - 1);
+                                                  (__mmask32) -1);
 }
 
 extern __inline __mmask16
@@ -3504,7 +3678,7 @@ _mm256_cmpneq_epu16_mask (__m256i __X, __m256i __Y)
 {
   return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
                                                   (__v16hi) __Y, 4,
-                                                  (__mmask16) - 1);
+                                                  (__mmask16) -1);
 }
 
 extern __inline __mmask16
@@ -3513,7 +3687,7 @@ _mm256_cmplt_epu16_mask (__m256i __X, __m256i __Y)
 {
   return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
                                                   (__v16hi) __Y, 1,
-                                                  (__mmask16) - 1);
+                                                  (__mmask16) -1);
 }
 
 extern __inline __mmask16
@@ -3522,7 +3696,7 @@ _mm256_cmpge_epu16_mask (__m256i __X, __m256i __Y)
 {
   return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
                                                   (__v16hi) __Y, 5,
-                                                  (__mmask16) - 1);
+                                                  (__mmask16) -1);
 }
 
 extern __inline __mmask16
@@ -3531,14 +3705,14 @@ _mm256_cmple_epu16_mask (__m256i __X, __m256i __Y)
 {
   return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
                                                   (__v16hi) __Y, 2,
-                                                  (__mmask16) - 1);
+                                                  (__mmask16) -1);
 }
 
 extern __inline void
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm256_mask_storeu_epi16 (void *__P, __mmask16 __U, __m256i __A)
 {
-  __builtin_ia32_storedquhi256_mask ((__v16hi *) __P,
+  __builtin_ia32_storedquhi256_mask ((short *) __P,
                                     (__v16hi) __A,
                                     (__mmask16) __U);
 }
@@ -3547,7 +3721,7 @@ extern __inline void
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm_mask_storeu_epi16 (void *__P, __mmask8 __U, __m128i __A)
 {
-  __builtin_ia32_storedquhi128_mask ((__v8hi *) __P,
+  __builtin_ia32_storedquhi128_mask ((short *) __P,
                                     (__v8hi) __A,
                                     (__mmask8) __U);
 }
@@ -3870,6 +4044,13 @@ _mm_cvtepi16_epi8 (__m128i __A)
                                                  (__mmask8) -1);
 }
 
+extern __inline void
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cvtepi16_storeu_epi8 (void * __P, __mmask8 __M,__m128i __A)
+{
+  __builtin_ia32_pmovwb128mem_mask ((__v8qi *) __P , (__v8hi) __A, __M);
+}
+
 extern __inline __m128i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
 _mm_mask_cvtepi16_epi8 (__m128i __O, __mmask8 __M, __m128i __A)
@@ -3928,7 +4109,7 @@ _mm_srav_epi16 (__m128i __A, __m128i __B)
   return (__m128i) __builtin_ia32_psrav8hi_mask ((__v8hi) __A,
                                                 (__v8hi) __B,
                                                 (__v8hi)
-                                                _mm_setzero_hi (),
+                                                _mm_setzero_si128 (),
                                                 (__mmask8) -1);
 }
 
@@ -3994,7 +4175,7 @@ _mm_srlv_epi16 (__m128i __A, __m128i __B)
   return (__m128i) __builtin_ia32_psrlv8hi_mask ((__v8hi) __A,
                                                 (__v8hi) __B,
                                                 (__v8hi)
-                                                _mm_setzero_hi (),
+                                                _mm_setzero_si128 (),
                                                 (__mmask8) -1);
 }
 
@@ -4060,7 +4241,7 @@ _mm_sllv_epi16 (__m128i __A, __m128i __B)
   return (__m128i) __builtin_ia32_psllv8hi_mask ((__v8hi) __A,
                                                 (__v8hi) __B,
                                                 (__v8hi)
-                                                _mm_setzero_hi (),
+                                                _mm_setzero_si128 (),
                                                 (__mmask8) -1);
 }
 
@@ -4165,7 +4346,7 @@ _mm_maskz_packus_epi32 (__mmask8 __M, __m128i __A, __m128i __B)
 
 extern __inline __m128i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_packus_epi32 (__m128i __W, __mmask16 __M, __m128i __A,
+_mm_mask_packus_epi32 (__m128i __W, __mmask8 __M, __m128i __A,
                       __m128i __B)
 {
   return (__m128i) __builtin_ia32_packusdw128_mask ((__v4si) __A,
@@ -4208,7 +4389,7 @@ _mm_maskz_packs_epi32 (__mmask8 __M, __m128i __A, __m128i __B)
 
 extern __inline __m128i
 __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mask_packs_epi32 (__m128i __W, __mmask16 __M, __m128i __A,
+_mm_mask_packs_epi32 (__m128i __W, __mmask8 __M, __m128i __A,
                      __m128i __B)
 {
   return (__m128i) __builtin_ia32_packssdw128_mask ((__v4si) __A,
@@ -4216,6 +4397,294 @@ _mm_mask_packs_epi32 (__m128i __W, __mmask16 __M, __m128i __A,
                                                    (__v8hi) __W, __M);
 }
 
+extern __inline __mmask16
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmpneq_epu8_mask (__mmask16 __M, __m128i __X, __m128i __Y)
+{
+  return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X,
+                                                  (__v16qi) __Y, 4,
+                                                  (__mmask16) __M);
+}
+
+extern __inline __mmask16
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmplt_epu8_mask (__mmask16 __M, __m128i __X, __m128i __Y)
+{
+  return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X,
+                                                  (__v16qi) __Y, 1,
+                                                  (__mmask16) __M);
+}
+
+extern __inline __mmask16
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmpge_epu8_mask (__mmask16 __M, __m128i __X, __m128i __Y)
+{
+  return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X,
+                                                  (__v16qi) __Y, 5,
+                                                  (__mmask16) __M);
+}
+
+extern __inline __mmask16
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmple_epu8_mask (__mmask16 __M, __m128i __X, __m128i __Y)
+{
+  return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X,
+                                                  (__v16qi) __Y, 2,
+                                                  (__mmask16) __M);
+}
+
+extern __inline __mmask8
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmpneq_epu16_mask (__mmask8 __M, __m128i __X, __m128i __Y)
+{
+  return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X,
+                                                 (__v8hi) __Y, 4,
+                                                 (__mmask8) __M);
+}
+
+extern __inline __mmask8
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmplt_epu16_mask (__mmask8 __M, __m128i __X, __m128i __Y)
+{
+  return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X,
+                                                 (__v8hi) __Y, 1,
+                                                 (__mmask8) __M);
+}
+
+extern __inline __mmask8
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmpge_epu16_mask (__mmask8 __M, __m128i __X, __m128i __Y)
+{
+  return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X,
+                                                 (__v8hi) __Y, 5,
+                                                 (__mmask8) __M);
+}
+
+extern __inline __mmask8
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmple_epu16_mask (__mmask8 __M, __m128i __X, __m128i __Y)
+{
+  return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X,
+                                                 (__v8hi) __Y, 2,
+                                                 (__mmask8) __M);
+}
+
+extern __inline __mmask16
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmpneq_epi8_mask (__mmask16 __M, __m128i __X, __m128i __Y)
+{
+  return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X,
+                                                 (__v16qi) __Y, 4,
+                                                 (__mmask16) __M);
+}
+
+extern __inline __mmask16
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmplt_epi8_mask (__mmask16 __M, __m128i __X, __m128i __Y)
+{
+  return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X,
+                                                 (__v16qi) __Y, 1,
+                                                 (__mmask16) __M);
+}
+
+extern __inline __mmask16
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmpge_epi8_mask (__mmask16 __M, __m128i __X, __m128i __Y)
+{
+  return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X,
+                                                 (__v16qi) __Y, 5,
+                                                 (__mmask16) __M);
+}
+
+extern __inline __mmask16
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmple_epi8_mask (__mmask16 __M, __m128i __X, __m128i __Y)
+{
+  return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X,
+                                                 (__v16qi) __Y, 2,
+                                                 (__mmask16) __M);
+}
+
+extern __inline __mmask8
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmpneq_epi16_mask (__mmask8 __M, __m128i __X, __m128i __Y)
+{
+  return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X,
+                                                (__v8hi) __Y, 4,
+                                                (__mmask8) __M);
+}
+
+extern __inline __mmask8
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmplt_epi16_mask (__mmask8 __M, __m128i __X, __m128i __Y)
+{
+  return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X,
+                                                (__v8hi) __Y, 1,
+                                                (__mmask8) __M);
+}
+
+extern __inline __mmask8
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmpge_epi16_mask (__mmask8 __M, __m128i __X, __m128i __Y)
+{
+  return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X,
+                                                (__v8hi) __Y, 5,
+                                                (__mmask8) __M);
+}
+
+extern __inline __mmask8
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mask_cmple_epi16_mask (__mmask8 __M, __m128i __X, __m128i __Y)
+{
+  return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X,
+                                                (__v8hi) __Y, 2,
+                                                (__mmask8) __M);
+}
+
+extern __inline __mmask32
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmpneq_epu8_mask (__mmask32 __M, __m256i __X, __m256i __Y)
+{
+  return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
+                                                  (__v32qi) __Y, 4,
+                                                  (__mmask32) __M);
+}
+
+extern __inline __mmask32
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmplt_epu8_mask (__mmask32 __M, __m256i __X, __m256i __Y)
+{
+  return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
+                                                  (__v32qi) __Y, 1,
+                                                  (__mmask32) __M);
+}
+
+extern __inline __mmask32
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmpge_epu8_mask (__mmask32 __M, __m256i __X, __m256i __Y)
+{
+  return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
+                                                  (__v32qi) __Y, 5,
+                                                  (__mmask32) __M);
+}
+
+extern __inline __mmask32
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmple_epu8_mask (__mmask32 __M, __m256i __X, __m256i __Y)
+{
+  return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
+                                                  (__v32qi) __Y, 2,
+                                                  (__mmask32) __M);
+}
+
+extern __inline __mmask16
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmpneq_epu16_mask (__mmask16 __M, __m256i __X, __m256i __Y)
+{
+  return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
+                                                  (__v16hi) __Y, 4,
+                                                  (__mmask16) __M);
+}
+
+extern __inline __mmask16
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmplt_epu16_mask (__mmask16 __M, __m256i __X, __m256i __Y)
+{
+  return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
+                                                  (__v16hi) __Y, 1,
+                                                  (__mmask16) __M);
+}
+
+extern __inline __mmask16
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmpge_epu16_mask (__mmask16 __M, __m256i __X, __m256i __Y)
+{
+  return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
+                                                  (__v16hi) __Y, 5,
+                                                  (__mmask16) __M);
+}
+
+extern __inline __mmask16
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmple_epu16_mask (__mmask16 __M, __m256i __X, __m256i __Y)
+{
+  return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
+                                                  (__v16hi) __Y, 2,
+                                                  (__mmask16) __M);
+}
+
+extern __inline __mmask32
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmpneq_epi8_mask (__mmask32 __M, __m256i __X, __m256i __Y)
+{
+  return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
+                                                 (__v32qi) __Y, 4,
+                                                 (__mmask32) __M);
+}
+
+extern __inline __mmask32
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmplt_epi8_mask (__mmask32 __M, __m256i __X, __m256i __Y)
+{
+  return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
+                                                 (__v32qi) __Y, 1,
+                                                 (__mmask32) __M);
+}
+
+extern __inline __mmask32
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmpge_epi8_mask (__mmask32 __M, __m256i __X, __m256i __Y)
+{
+  return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
+                                                 (__v32qi) __Y, 5,
+                                                 (__mmask32) __M);
+}
+
+extern __inline __mmask32
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmple_epi8_mask (__mmask32 __M, __m256i __X, __m256i __Y)
+{
+  return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
+                                                 (__v32qi) __Y, 2,
+                                                 (__mmask32) __M);
+}
+
+extern __inline __mmask16
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmpneq_epi16_mask (__mmask16 __M, __m256i __X, __m256i __Y)
+{
+  return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
+                                                 (__v16hi) __Y, 4,
+                                                 (__mmask16) __M);
+}
+
+extern __inline __mmask16
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmplt_epi16_mask (__mmask16 __M, __m256i __X, __m256i __Y)
+{
+  return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
+                                                 (__v16hi) __Y, 1,
+                                                 (__mmask16) __M);
+}
+
+extern __inline __mmask16
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmpge_epi16_mask (__mmask16 __M, __m256i __X, __m256i __Y)
+{
+  return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
+                                                 (__v16hi) __Y, 5,
+                                                 (__mmask16) __M);
+}
+
+extern __inline __mmask16
+__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
+_mm256_mask_cmple_epi16_mask (__mmask16 __M, __m256i __X, __m256i __Y)
+{
+  return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
+                                                 (__v16hi) __Y, 2,
+                                                 (__mmask16) __M);
+}
+
 #ifdef __DISABLE_AVX512VLBW__
 #undef __DISABLE_AVX512VLBW__
 #pragma GCC pop_options