-/* Copyright (C) 2014-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2014-2020 Free Software Foundation, Inc.
This file is part of GCC.
{
return (__m128i) __builtin_ia32_movdquqi128_mask ((__v16qi) __A,
(__v16qi)
- _mm_setzero_hi (),
+ _mm_setzero_si128 (),
(__mmask16) __U);
}
__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);
}
__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);
}
__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);
}
__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);
__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);
}
__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);
}
{
return (__m128i) __builtin_ia32_movdquhi128_mask ((__v8hi) __A,
(__v8hi)
- _mm_setzero_hi (),
+ _mm_setzero_si128 (),
(__mmask8) __U);
}
__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);
}
__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);
__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);
}
__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);
}
(__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)
(__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)
(__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)
(__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)
(__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)
return (__m128i) __builtin_ia32_permvarhi128_mask ((__v8hi) __B,
(__v8hi) __A,
(__v8hi)
- _mm_setzero_hi (),
+ _mm_setzero_si128 (),
(__mmask8) -1);
}
/* idx */ ,
(__v16hi) __A,
(__v16hi) __B,
- (__mmask16) -
- 1);
+ (__mmask16) -1);
}
extern __inline __m256i
/* idx */ ,
(__v8hi) __A,
(__v8hi) __B,
- (__mmask8) -
- 1);
+ (__mmask8) -1);
}
extern __inline __m128i
return (__m128i) __builtin_ia32_pmaddubsw128_mask ((__v16qi) __X,
(__v16qi) __Y,
(__v8hi)
- _mm_setzero_hi (),
+ _mm_setzero_si128 (),
(__mmask8) __U);
}
return (__m128i) __builtin_ia32_pminuw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi)
- _mm_setzero_di (),
+ _mm_setzero_si128 (),
(__mmask8) __M);
}
return (__m128i) __builtin_ia32_pmaxub128_mask ((__v16qi) __A,
(__v16qi) __B,
(__v16qi)
- _mm_setzero_di (),
+ _mm_setzero_si128 (),
(__mmask16) __M);
}
return (__m128i) __builtin_ia32_pmaxsb128_mask ((__v16qi) __A,
(__v16qi) __B,
(__v16qi)
- _mm_setzero_di (),
+ _mm_setzero_si128 (),
(__mmask16) __M);
}
return (__m128i) __builtin_ia32_pminub128_mask ((__v16qi) __A,
(__v16qi) __B,
(__v16qi)
- _mm_setzero_di (),
+ _mm_setzero_si128 (),
(__mmask16) __M);
}
return (__m128i) __builtin_ia32_pminsb128_mask ((__v16qi) __A,
(__v16qi) __B,
(__v16qi)
- _mm_setzero_di (),
+ _mm_setzero_si128 (),
(__mmask16) __M);
}
return (__m128i) __builtin_ia32_pmaxsw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi)
- _mm_setzero_di (),
+ _mm_setzero_si128 (),
(__mmask8) __M);
}
return (__m128i) __builtin_ia32_pmaxuw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi)
- _mm_setzero_di (),
+ _mm_setzero_si128 (),
(__mmask8) __M);
}
return (__m128i) __builtin_ia32_pminsw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi)
- _mm_setzero_di (),
+ _mm_setzero_si128 (),
(__mmask8) __M);
}
(__v16qi) __B,
__imm,
(__v8hi)
- _mm_setzero_hi (),
+ _mm_setzero_si128 (),
(__mmask8) -1);
}
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,
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,
(__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)
{
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,
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,
(__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)
{
{
return (__m128i) __builtin_ia32_pshufhw128_mask ((__v8hi) __A, __imm,
(__v8hi)
- _mm_setzero_hi (),
+ _mm_setzero_si128 (),
(__mmask8) __U);
}
{
return (__m128i) __builtin_ia32_pshuflw128_mask ((__v8hi) __A, __imm,
(__v8hi)
- _mm_setzero_hi (),
+ _mm_setzero_si128 (),
(__mmask8) __U);
}
#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) \
#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) \
#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) \
#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) \
#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), \
{
return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
(__v32qi) __Y, 4,
- (__mmask32) - 1);
+ (__mmask32) -1);
}
extern __inline __mmask32
{
return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
(__v32qi) __Y, 1,
- (__mmask32) - 1);
+ (__mmask32) -1);
}
extern __inline __mmask32
{
return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
(__v32qi) __Y, 5,
- (__mmask32) - 1);
+ (__mmask32) -1);
}
extern __inline __mmask32
{
return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
(__v32qi) __Y, 2,
- (__mmask32) - 1);
+ (__mmask32) -1);
}
extern __inline __mmask16
{
return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
(__v16hi) __Y, 4,
- (__mmask16) - 1);
+ (__mmask16) -1);
}
extern __inline __mmask16
{
return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
(__v16hi) __Y, 1,
- (__mmask16) - 1);
+ (__mmask16) -1);
}
extern __inline __mmask16
{
return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
(__v16hi) __Y, 5,
- (__mmask16) - 1);
+ (__mmask16) -1);
}
extern __inline __mmask16
{
return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
(__v16hi) __Y, 2,
- (__mmask16) - 1);
+ (__mmask16) -1);
}
extern __inline __mmask16
{
return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X,
(__v16qi) __Y, 4,
- (__mmask16) - 1);
+ (__mmask16) -1);
}
extern __inline __mmask16
{
return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X,
(__v16qi) __Y, 1,
- (__mmask16) - 1);
+ (__mmask16) -1);
}
extern __inline __mmask16
{
return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X,
(__v16qi) __Y, 5,
- (__mmask16) - 1);
+ (__mmask16) -1);
}
extern __inline __mmask16
{
return (__mmask16) __builtin_ia32_ucmpb128_mask ((__v16qi) __X,
(__v16qi) __Y, 2,
- (__mmask16) - 1);
+ (__mmask16) -1);
}
extern __inline __mmask8
{
return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X,
(__v8hi) __Y, 4,
- (__mmask8) - 1);
+ (__mmask8) -1);
}
extern __inline __mmask8
{
return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X,
(__v8hi) __Y, 1,
- (__mmask8) - 1);
+ (__mmask8) -1);
}
extern __inline __mmask8
{
return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X,
(__v8hi) __Y, 5,
- (__mmask8) - 1);
+ (__mmask8) -1);
}
extern __inline __mmask8
{
return (__mmask8) __builtin_ia32_ucmpw128_mask ((__v8hi) __X,
(__v8hi) __Y, 2,
- (__mmask8) - 1);
+ (__mmask8) -1);
}
extern __inline __mmask16
{
return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X,
(__v16qi) __Y, 4,
- (__mmask16) - 1);
+ (__mmask16) -1);
}
extern __inline __mmask16
{
return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X,
(__v16qi) __Y, 1,
- (__mmask16) - 1);
+ (__mmask16) -1);
}
extern __inline __mmask16
{
return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X,
(__v16qi) __Y, 5,
- (__mmask16) - 1);
+ (__mmask16) -1);
}
extern __inline __mmask16
{
return (__mmask16) __builtin_ia32_cmpb128_mask ((__v16qi) __X,
(__v16qi) __Y, 2,
- (__mmask16) - 1);
+ (__mmask16) -1);
}
extern __inline __mmask8
{
return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X,
(__v8hi) __Y, 4,
- (__mmask8) - 1);
+ (__mmask8) -1);
}
extern __inline __mmask8
{
return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X,
(__v8hi) __Y, 1,
- (__mmask8) - 1);
+ (__mmask8) -1);
}
extern __inline __mmask8
{
return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X,
(__v8hi) __Y, 5,
- (__mmask8) - 1);
+ (__mmask8) -1);
}
extern __inline __mmask8
{
return (__mmask8) __builtin_ia32_cmpw128_mask ((__v8hi) __X,
(__v8hi) __Y, 2,
- (__mmask8) - 1);
+ (__mmask8) -1);
}
extern __inline __m256i
return (__m128i) __builtin_ia32_pmulhw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi)
- _mm_setzero_hi (),
+ _mm_setzero_si128 (),
(__mmask8) __U);
}
return (__m128i) __builtin_ia32_pmulhuw128_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi)
- _mm_setzero_hi (),
+ _mm_setzero_si128 (),
(__mmask8) __U);
}
return (__m128i) __builtin_ia32_pmulhrsw128_mask ((__v8hi) __X,
(__v8hi) __Y,
(__v8hi)
- _mm_setzero_hi (),
+ _mm_setzero_si128 (),
(__mmask8) __U);
}
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,
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,
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,
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,
{
return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
(__v32qi) __Y, 4,
- (__mmask32) - 1);
+ (__mmask32) -1);
}
extern __inline __mmask32
{
return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
(__v32qi) __Y, 1,
- (__mmask32) - 1);
+ (__mmask32) -1);
}
extern __inline __mmask32
{
return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
(__v32qi) __Y, 5,
- (__mmask32) - 1);
+ (__mmask32) -1);
}
extern __inline __mmask32
{
return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
(__v32qi) __Y, 2,
- (__mmask32) - 1);
+ (__mmask32) -1);
}
extern __inline __mmask16
{
return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
(__v16hi) __Y, 4,
- (__mmask16) - 1);
+ (__mmask16) -1);
}
extern __inline __mmask16
{
return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
(__v16hi) __Y, 1,
- (__mmask16) - 1);
+ (__mmask16) -1);
}
extern __inline __mmask16
{
return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
(__v16hi) __Y, 5,
- (__mmask16) - 1);
+ (__mmask16) -1);
}
extern __inline __mmask16
{
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);
}
__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);
}
(__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)
return (__m128i) __builtin_ia32_psrav8hi_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi)
- _mm_setzero_hi (),
+ _mm_setzero_si128 (),
(__mmask8) -1);
}
return (__m128i) __builtin_ia32_psrlv8hi_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi)
- _mm_setzero_hi (),
+ _mm_setzero_si128 (),
(__mmask8) -1);
}
return (__m128i) __builtin_ia32_psllv8hi_mask ((__v8hi) __A,
(__v8hi) __B,
(__v8hi)
- _mm_setzero_hi (),
+ _mm_setzero_si128 (),
(__mmask8) -1);
}
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,
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,
(__mmask8) __M);
}
-extern __inline __mmask8
+extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpneq_epu8_mask (__mmask8 __M, __m256i __X, __m256i __Y)
+_mm256_mask_cmpneq_epu8_mask (__mmask32 __M, __m256i __X, __m256i __Y)
{
- return (__mmask8) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
- (__v32qi) __Y, 4,
- (__mmask8) __M);
+ return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
+ (__v32qi) __Y, 4,
+ (__mmask32) __M);
}
-extern __inline __mmask8
+extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmplt_epu8_mask (__mmask8 __M, __m256i __X, __m256i __Y)
+_mm256_mask_cmplt_epu8_mask (__mmask32 __M, __m256i __X, __m256i __Y)
{
- return (__mmask8) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
- (__v32qi) __Y, 1,
- (__mmask8) __M);
+ return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
+ (__v32qi) __Y, 1,
+ (__mmask32) __M);
}
-extern __inline __mmask8
+extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpge_epu8_mask (__mmask8 __M, __m256i __X, __m256i __Y)
+_mm256_mask_cmpge_epu8_mask (__mmask32 __M, __m256i __X, __m256i __Y)
{
- return (__mmask8) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
- (__v32qi) __Y, 5,
- (__mmask8) __M);
+ return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
+ (__v32qi) __Y, 5,
+ (__mmask32) __M);
}
-extern __inline __mmask8
+extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmple_epu8_mask (__mmask8 __M, __m256i __X, __m256i __Y)
+_mm256_mask_cmple_epu8_mask (__mmask32 __M, __m256i __X, __m256i __Y)
{
- return (__mmask8) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
- (__v32qi) __Y, 2,
- (__mmask8) __M);
+ return (__mmask32) __builtin_ia32_ucmpb256_mask ((__v32qi) __X,
+ (__v32qi) __Y, 2,
+ (__mmask32) __M);
}
-extern __inline __mmask8
+extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpneq_epu16_mask (__mmask8 __M, __m256i __X, __m256i __Y)
+_mm256_mask_cmpneq_epu16_mask (__mmask16 __M, __m256i __X, __m256i __Y)
{
- return (__mmask8) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
- (__v16hi) __Y, 4,
- (__mmask8) __M);
+ return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
+ (__v16hi) __Y, 4,
+ (__mmask16) __M);
}
-extern __inline __mmask8
+extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmplt_epu16_mask (__mmask8 __M, __m256i __X, __m256i __Y)
+_mm256_mask_cmplt_epu16_mask (__mmask16 __M, __m256i __X, __m256i __Y)
{
- return (__mmask8) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
- (__v16hi) __Y, 1,
- (__mmask8) __M);
+ return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
+ (__v16hi) __Y, 1,
+ (__mmask16) __M);
}
-extern __inline __mmask8
+extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpge_epu16_mask (__mmask8 __M, __m256i __X, __m256i __Y)
+_mm256_mask_cmpge_epu16_mask (__mmask16 __M, __m256i __X, __m256i __Y)
{
- return (__mmask8) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
- (__v16hi) __Y, 5,
- (__mmask8) __M);
+ return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
+ (__v16hi) __Y, 5,
+ (__mmask16) __M);
}
-extern __inline __mmask8
+extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmple_epu16_mask (__mmask8 __M, __m256i __X, __m256i __Y)
+_mm256_mask_cmple_epu16_mask (__mmask16 __M, __m256i __X, __m256i __Y)
{
- return (__mmask8) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
- (__v16hi) __Y, 2,
- (__mmask8) __M);
+ return (__mmask16) __builtin_ia32_ucmpw256_mask ((__v16hi) __X,
+ (__v16hi) __Y, 2,
+ (__mmask16) __M);
}
-extern __inline __mmask8
+extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpneq_epi8_mask (__mmask8 __M, __m256i __X, __m256i __Y)
+_mm256_mask_cmpneq_epi8_mask (__mmask32 __M, __m256i __X, __m256i __Y)
{
- return (__mmask8) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
- (__v32qi) __Y, 4,
- (__mmask8) __M);
+ return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
+ (__v32qi) __Y, 4,
+ (__mmask32) __M);
}
-extern __inline __mmask8
+extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmplt_epi8_mask (__mmask8 __M, __m256i __X, __m256i __Y)
+_mm256_mask_cmplt_epi8_mask (__mmask32 __M, __m256i __X, __m256i __Y)
{
- return (__mmask8) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
- (__v32qi) __Y, 1,
- (__mmask8) __M);
+ return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
+ (__v32qi) __Y, 1,
+ (__mmask32) __M);
}
-extern __inline __mmask8
+extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpge_epi8_mask (__mmask8 __M, __m256i __X, __m256i __Y)
+_mm256_mask_cmpge_epi8_mask (__mmask32 __M, __m256i __X, __m256i __Y)
{
- return (__mmask8) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
- (__v32qi) __Y, 5,
- (__mmask8) __M);
+ return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
+ (__v32qi) __Y, 5,
+ (__mmask32) __M);
}
-extern __inline __mmask8
+extern __inline __mmask32
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmple_epi8_mask (__mmask8 __M, __m256i __X, __m256i __Y)
+_mm256_mask_cmple_epi8_mask (__mmask32 __M, __m256i __X, __m256i __Y)
{
- return (__mmask8) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
- (__v32qi) __Y, 2,
- (__mmask8) __M);
+ return (__mmask32) __builtin_ia32_cmpb256_mask ((__v32qi) __X,
+ (__v32qi) __Y, 2,
+ (__mmask32) __M);
}
-extern __inline __mmask8
+extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpneq_epi16_mask (__mmask8 __M, __m256i __X, __m256i __Y)
+_mm256_mask_cmpneq_epi16_mask (__mmask16 __M, __m256i __X, __m256i __Y)
{
- return (__mmask8) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
- (__v16hi) __Y, 4,
- (__mmask8) __M);
+ return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
+ (__v16hi) __Y, 4,
+ (__mmask16) __M);
}
-extern __inline __mmask8
+extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmplt_epi16_mask (__mmask8 __M, __m256i __X, __m256i __Y)
+_mm256_mask_cmplt_epi16_mask (__mmask16 __M, __m256i __X, __m256i __Y)
{
- return (__mmask8) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
- (__v16hi) __Y, 1,
- (__mmask8) __M);
+ return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
+ (__v16hi) __Y, 1,
+ (__mmask16) __M);
}
-extern __inline __mmask8
+extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmpge_epi16_mask (__mmask8 __M, __m256i __X, __m256i __Y)
+_mm256_mask_cmpge_epi16_mask (__mmask16 __M, __m256i __X, __m256i __Y)
{
- return (__mmask8) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
- (__v16hi) __Y, 5,
- (__mmask8) __M);
+ return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
+ (__v16hi) __Y, 5,
+ (__mmask16) __M);
}
-extern __inline __mmask8
+extern __inline __mmask16
__attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
-_mm256_mask_cmple_epi16_mask (__mmask8 __M, __m256i __X, __m256i __Y)
+_mm256_mask_cmple_epi16_mask (__mmask16 __M, __m256i __X, __m256i __Y)
{
- return (__mmask8) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
- (__v16hi) __Y, 2,
- (__mmask8) __M);
+ return (__mmask16) __builtin_ia32_cmpw256_mask ((__v16hi) __X,
+ (__v16hi) __Y, 2,
+ (__mmask16) __M);
}
#ifdef __DISABLE_AVX512VLBW__