Home | History | Annotate | Line # | Download | only in i386
avx512bwintrin.h revision 1.1.1.1
      1  1.1  mrg /* Copyright (C) 2014-2015 Free Software Foundation, Inc.
      2  1.1  mrg 
      3  1.1  mrg    This file is part of GCC.
      4  1.1  mrg 
      5  1.1  mrg    GCC is free software; you can redistribute it and/or modify
      6  1.1  mrg    it under the terms of the GNU General Public License as published by
      7  1.1  mrg    the Free Software Foundation; either version 3, or (at your option)
      8  1.1  mrg    any later version.
      9  1.1  mrg 
     10  1.1  mrg    GCC is distributed in the hope that it will be useful,
     11  1.1  mrg    but WITHOUT ANY WARRANTY; without even the implied warranty of
     12  1.1  mrg    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     13  1.1  mrg    GNU General Public License for more details.
     14  1.1  mrg 
     15  1.1  mrg    Under Section 7 of GPL version 3, you are granted additional
     16  1.1  mrg    permissions described in the GCC Runtime Library Exception, version
     17  1.1  mrg    3.1, as published by the Free Software Foundation.
     18  1.1  mrg 
     19  1.1  mrg    You should have received a copy of the GNU General Public License and
     20  1.1  mrg    a copy of the GCC Runtime Library Exception along with this program;
     21  1.1  mrg    see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
     22  1.1  mrg    <http://www.gnu.org/licenses/>.  */
     23  1.1  mrg 
     24  1.1  mrg #ifndef _IMMINTRIN_H_INCLUDED
     25  1.1  mrg #error "Never use <avx512bwintrin.h> directly; include <immintrin.h> instead."
     26  1.1  mrg #endif
     27  1.1  mrg 
     28  1.1  mrg #ifndef _AVX512BWINTRIN_H_INCLUDED
     29  1.1  mrg #define _AVX512BWINTRIN_H_INCLUDED
     30  1.1  mrg 
     31  1.1  mrg #ifndef __AVX512BW__
     32  1.1  mrg #pragma GCC push_options
     33  1.1  mrg #pragma GCC target("avx512bw")
     34  1.1  mrg #define __DISABLE_AVX512BW__
     35  1.1  mrg #endif /* __AVX512BW__ */
     36  1.1  mrg 
     37  1.1  mrg /* Internal data types for implementing the intrinsics.  */
     38  1.1  mrg typedef short __v32hi __attribute__ ((__vector_size__ (64)));
     39  1.1  mrg typedef char __v64qi __attribute__ ((__vector_size__ (64)));
     40  1.1  mrg 
     41  1.1  mrg typedef unsigned long long __mmask64;
     42  1.1  mrg 
     43  1.1  mrg extern __inline __m512i
     44  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
     45  1.1  mrg _mm512_setzero_qi (void)
     46  1.1  mrg {
     47  1.1  mrg   return __extension__ (__m512i)(__v64qi){ 0, 0, 0, 0, 0, 0, 0, 0,
     48  1.1  mrg 					   0, 0, 0, 0, 0, 0, 0, 0,
     49  1.1  mrg 					   0, 0, 0, 0, 0, 0, 0, 0,
     50  1.1  mrg 					   0, 0, 0, 0, 0, 0, 0, 0,
     51  1.1  mrg 					   0, 0, 0, 0, 0, 0, 0, 0,
     52  1.1  mrg 					   0, 0, 0, 0, 0, 0, 0, 0,
     53  1.1  mrg 					   0, 0, 0, 0, 0, 0, 0, 0,
     54  1.1  mrg 					   0, 0, 0, 0, 0, 0, 0, 0 };
     55  1.1  mrg }
     56  1.1  mrg 
     57  1.1  mrg extern __inline __m512i
     58  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
     59  1.1  mrg _mm512_setzero_hi (void)
     60  1.1  mrg {
     61  1.1  mrg   return __extension__ (__m512i)(__v32hi){ 0, 0, 0, 0, 0, 0, 0, 0,
     62  1.1  mrg 					   0, 0, 0, 0, 0, 0, 0, 0,
     63  1.1  mrg 					   0, 0, 0, 0, 0, 0, 0, 0,
     64  1.1  mrg 					   0, 0, 0, 0, 0, 0, 0, 0 };
     65  1.1  mrg }
     66  1.1  mrg 
     67  1.1  mrg extern __inline __m512i
     68  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
     69  1.1  mrg _mm512_mask_mov_epi16 (__m512i __W, __mmask32 __U, __m512i __A)
     70  1.1  mrg {
     71  1.1  mrg   return (__m512i) __builtin_ia32_movdquhi512_mask ((__v32hi) __A,
     72  1.1  mrg 						    (__v32hi) __W,
     73  1.1  mrg 						    (__mmask32) __U);
     74  1.1  mrg }
     75  1.1  mrg 
     76  1.1  mrg extern __inline __m512i
     77  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
     78  1.1  mrg _mm512_maskz_mov_epi16 (__mmask32 __U, __m512i __A)
     79  1.1  mrg {
     80  1.1  mrg   return (__m512i) __builtin_ia32_movdquhi512_mask ((__v32hi) __A,
     81  1.1  mrg 						    (__v32hi)
     82  1.1  mrg 						    _mm512_setzero_hi (),
     83  1.1  mrg 						    (__mmask32) __U);
     84  1.1  mrg }
     85  1.1  mrg 
     86  1.1  mrg extern __inline __m512i
     87  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
     88  1.1  mrg _mm512_mask_loadu_epi16 (__m512i __W, __mmask32 __U, void const *__P)
     89  1.1  mrg {
     90  1.1  mrg   return (__m512i) __builtin_ia32_loaddquhi512_mask ((__v32hi *) __P,
     91  1.1  mrg 						     (__v32hi) __W,
     92  1.1  mrg 						     (__mmask32) __U);
     93  1.1  mrg }
     94  1.1  mrg 
     95  1.1  mrg extern __inline __m512i
     96  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
     97  1.1  mrg _mm512_maskz_loadu_epi16 (__mmask32 __U, void const *__P)
     98  1.1  mrg {
     99  1.1  mrg   return (__m512i) __builtin_ia32_loaddquhi512_mask ((__v32hi *) __P,
    100  1.1  mrg 						     (__v32hi)
    101  1.1  mrg 						     _mm512_setzero_hi (),
    102  1.1  mrg 						     (__mmask32) __U);
    103  1.1  mrg }
    104  1.1  mrg 
    105  1.1  mrg extern __inline void
    106  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    107  1.1  mrg _mm512_mask_storeu_epi16 (void *__P, __mmask32 __U, __m512i __A)
    108  1.1  mrg {
    109  1.1  mrg   __builtin_ia32_storedquhi512_mask ((__v32hi *) __P,
    110  1.1  mrg 				     (__v32hi) __A,
    111  1.1  mrg 				     (__mmask32) __U);
    112  1.1  mrg }
    113  1.1  mrg 
    114  1.1  mrg extern __inline __m512i
    115  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    116  1.1  mrg _mm512_mask_mov_epi8 (__m512i __W, __mmask64 __U, __m512i __A)
    117  1.1  mrg {
    118  1.1  mrg   return (__m512i) __builtin_ia32_movdquqi512_mask ((__v64qi) __A,
    119  1.1  mrg 						    (__v64qi) __W,
    120  1.1  mrg 						    (__mmask64) __U);
    121  1.1  mrg }
    122  1.1  mrg 
    123  1.1  mrg extern __inline __m512i
    124  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    125  1.1  mrg _mm512_maskz_mov_epi8 (__mmask64 __U, __m512i __A)
    126  1.1  mrg {
    127  1.1  mrg   return (__m512i) __builtin_ia32_movdquqi512_mask ((__v64qi) __A,
    128  1.1  mrg 						    (__v64qi)
    129  1.1  mrg 						    _mm512_setzero_hi (),
    130  1.1  mrg 						    (__mmask64) __U);
    131  1.1  mrg }
    132  1.1  mrg 
    133  1.1  mrg extern __inline __mmask32
    134  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    135  1.1  mrg _mm512_kunpackw (__mmask32 __A, __mmask32 __B)
    136  1.1  mrg {
    137  1.1  mrg   return (__mmask32) __builtin_ia32_kunpcksi ((__mmask32) __A,
    138  1.1  mrg 					      (__mmask32) __B);
    139  1.1  mrg }
    140  1.1  mrg 
    141  1.1  mrg extern __inline __mmask64
    142  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    143  1.1  mrg _mm512_kunpackd (__mmask64 __A, __mmask64 __B)
    144  1.1  mrg {
    145  1.1  mrg   return (__mmask64) __builtin_ia32_kunpckdi ((__mmask64) __A,
    146  1.1  mrg 					      (__mmask64) __B);
    147  1.1  mrg }
    148  1.1  mrg 
    149  1.1  mrg extern __inline __m512i
    150  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    151  1.1  mrg _mm512_mask_loadu_epi8 (__m512i __W, __mmask64 __U, void const *__P)
    152  1.1  mrg {
    153  1.1  mrg   return (__m512i) __builtin_ia32_loaddquqi512_mask ((__v64qi *) __P,
    154  1.1  mrg 						     (__v64qi) __W,
    155  1.1  mrg 						     (__mmask64) __U);
    156  1.1  mrg }
    157  1.1  mrg 
    158  1.1  mrg extern __inline __m512i
    159  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    160  1.1  mrg _mm512_maskz_loadu_epi8 (__mmask64 __U, void const *__P)
    161  1.1  mrg {
    162  1.1  mrg   return (__m512i) __builtin_ia32_loaddquqi512_mask ((__v64qi *) __P,
    163  1.1  mrg 						     (__v64qi)
    164  1.1  mrg 						     _mm512_setzero_hi (),
    165  1.1  mrg 						     (__mmask64) __U);
    166  1.1  mrg }
    167  1.1  mrg 
    168  1.1  mrg extern __inline void
    169  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    170  1.1  mrg _mm512_mask_storeu_epi8 (void *__P, __mmask64 __U, __m512i __A)
    171  1.1  mrg {
    172  1.1  mrg   __builtin_ia32_storedquqi512_mask ((__v64qi *) __P,
    173  1.1  mrg 				     (__v64qi) __A,
    174  1.1  mrg 				     (__mmask64) __U);
    175  1.1  mrg }
    176  1.1  mrg 
    177  1.1  mrg extern __inline __m512i
    178  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    179  1.1  mrg _mm512_sad_epu8 (__m512i __A, __m512i __B)
    180  1.1  mrg {
    181  1.1  mrg   return (__m512i) __builtin_ia32_psadbw512 ((__v64qi) __A,
    182  1.1  mrg 					     (__v64qi) __B);
    183  1.1  mrg }
    184  1.1  mrg 
    185  1.1  mrg extern __inline __m256i
    186  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    187  1.1  mrg _mm512_cvtepi16_epi8 (__m512i __A)
    188  1.1  mrg {
    189  1.1  mrg   return (__m256i) __builtin_ia32_pmovwb512_mask ((__v32hi) __A,
    190  1.1  mrg 						  (__v32qi) _mm256_undefined_si256(),
    191  1.1  mrg 						  (__mmask32) -1);
    192  1.1  mrg }
    193  1.1  mrg 
    194  1.1  mrg extern __inline __m256i
    195  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    196  1.1  mrg _mm512_mask_cvtepi16_epi8 (__m256i __O, __mmask32 __M, __m512i __A)
    197  1.1  mrg {
    198  1.1  mrg   return (__m256i) __builtin_ia32_pmovwb512_mask ((__v32hi) __A,
    199  1.1  mrg 						  (__v32qi) __O, __M);
    200  1.1  mrg }
    201  1.1  mrg 
    202  1.1  mrg extern __inline __m256i
    203  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    204  1.1  mrg _mm512_maskz_cvtepi16_epi8 (__mmask32 __M, __m512i __A)
    205  1.1  mrg {
    206  1.1  mrg   return (__m256i) __builtin_ia32_pmovwb512_mask ((__v32hi) __A,
    207  1.1  mrg 						  (__v32qi)
    208  1.1  mrg 						  _mm256_setzero_si256 (),
    209  1.1  mrg 						  __M);
    210  1.1  mrg }
    211  1.1  mrg 
    212  1.1  mrg extern __inline __m256i
    213  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    214  1.1  mrg _mm512_cvtsepi16_epi8 (__m512i __A)
    215  1.1  mrg {
    216  1.1  mrg   return (__m256i) __builtin_ia32_pmovswb512_mask ((__v32hi) __A,
    217  1.1  mrg 						   (__v32qi)_mm256_undefined_si256(),
    218  1.1  mrg 						   (__mmask32) -1);
    219  1.1  mrg }
    220  1.1  mrg 
    221  1.1  mrg extern __inline __m256i
    222  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    223  1.1  mrg _mm512_mask_cvtsepi16_epi8 (__m256i __O, __mmask32 __M, __m512i __A)
    224  1.1  mrg {
    225  1.1  mrg   return (__m256i) __builtin_ia32_pmovswb512_mask ((__v32hi) __A,
    226  1.1  mrg 						   (__v32qi)__O,
    227  1.1  mrg 						   __M);
    228  1.1  mrg }
    229  1.1  mrg 
    230  1.1  mrg extern __inline __m256i
    231  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    232  1.1  mrg _mm512_maskz_cvtsepi16_epi8 (__mmask32 __M, __m512i __A)
    233  1.1  mrg {
    234  1.1  mrg   return (__m256i) __builtin_ia32_pmovswb512_mask ((__v32hi) __A,
    235  1.1  mrg 						   (__v32qi)
    236  1.1  mrg 						   _mm256_setzero_si256 (),
    237  1.1  mrg 						   __M);
    238  1.1  mrg }
    239  1.1  mrg 
    240  1.1  mrg extern __inline __m256i
    241  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    242  1.1  mrg _mm512_cvtusepi16_epi8 (__m512i __A)
    243  1.1  mrg {
    244  1.1  mrg   return (__m256i) __builtin_ia32_pmovuswb512_mask ((__v32hi) __A,
    245  1.1  mrg 						    (__v32qi)_mm256_undefined_si256(),
    246  1.1  mrg 						    (__mmask32) -1);
    247  1.1  mrg }
    248  1.1  mrg 
    249  1.1  mrg extern __inline __m256i
    250  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    251  1.1  mrg _mm512_mask_cvtusepi16_epi8 (__m256i __O, __mmask32 __M, __m512i __A)
    252  1.1  mrg {
    253  1.1  mrg   return (__m256i) __builtin_ia32_pmovuswb512_mask ((__v32hi) __A,
    254  1.1  mrg 						    (__v32qi) __O,
    255  1.1  mrg 						    __M);
    256  1.1  mrg }
    257  1.1  mrg 
    258  1.1  mrg extern __inline __m256i
    259  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    260  1.1  mrg _mm512_maskz_cvtusepi16_epi8 (__mmask32 __M, __m512i __A)
    261  1.1  mrg {
    262  1.1  mrg   return (__m256i) __builtin_ia32_pmovuswb512_mask ((__v32hi) __A,
    263  1.1  mrg 						    (__v32qi)
    264  1.1  mrg 						    _mm256_setzero_si256 (),
    265  1.1  mrg 						    __M);
    266  1.1  mrg }
    267  1.1  mrg 
    268  1.1  mrg extern __inline __m512i
    269  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    270  1.1  mrg _mm512_broadcastb_epi8 (__m128i __A)
    271  1.1  mrg {
    272  1.1  mrg   return (__m512i) __builtin_ia32_pbroadcastb512_mask ((__v16qi) __A,
    273  1.1  mrg 						       (__v64qi)_mm512_undefined_si512(),
    274  1.1  mrg 						       (__mmask64) -
    275  1.1  mrg 						       1);
    276  1.1  mrg }
    277  1.1  mrg 
    278  1.1  mrg extern __inline __m512i
    279  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    280  1.1  mrg _mm512_mask_broadcastb_epi8 (__m512i __O, __mmask64 __M, __m128i __A)
    281  1.1  mrg {
    282  1.1  mrg   return (__m512i) __builtin_ia32_pbroadcastb512_mask ((__v16qi) __A,
    283  1.1  mrg 						       (__v64qi) __O,
    284  1.1  mrg 						       __M);
    285  1.1  mrg }
    286  1.1  mrg 
    287  1.1  mrg extern __inline __m512i
    288  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    289  1.1  mrg _mm512_maskz_broadcastb_epi8 (__mmask64 __M, __m128i __A)
    290  1.1  mrg {
    291  1.1  mrg   return (__m512i) __builtin_ia32_pbroadcastb512_mask ((__v16qi) __A,
    292  1.1  mrg 						       (__v64qi)
    293  1.1  mrg 						       _mm512_setzero_qi(),
    294  1.1  mrg 						       __M);
    295  1.1  mrg }
    296  1.1  mrg 
    297  1.1  mrg extern __inline __m512i
    298  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    299  1.1  mrg _mm512_mask_set1_epi8 (__m512i __O, __mmask64 __M, char __A)
    300  1.1  mrg {
    301  1.1  mrg   return (__m512i) __builtin_ia32_pbroadcastb512_gpr_mask (__A,
    302  1.1  mrg 							   (__v64qi) __O,
    303  1.1  mrg 							   __M);
    304  1.1  mrg }
    305  1.1  mrg 
    306  1.1  mrg extern __inline __m512i
    307  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    308  1.1  mrg _mm512_maskz_set1_epi8 (__mmask64 __M, char __A)
    309  1.1  mrg {
    310  1.1  mrg   return (__m512i) __builtin_ia32_pbroadcastb512_gpr_mask (__A,
    311  1.1  mrg 							   (__v64qi)
    312  1.1  mrg 							   _mm512_setzero_qi(),
    313  1.1  mrg 							   __M);
    314  1.1  mrg }
    315  1.1  mrg 
    316  1.1  mrg extern __inline __m512i
    317  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    318  1.1  mrg _mm512_broadcastw_epi16 (__m128i __A)
    319  1.1  mrg {
    320  1.1  mrg   return (__m512i) __builtin_ia32_pbroadcastw512_mask ((__v8hi) __A,
    321  1.1  mrg 						       (__v32hi)_mm512_undefined_si512(),
    322  1.1  mrg 						       (__mmask32)-1);
    323  1.1  mrg }
    324  1.1  mrg 
    325  1.1  mrg extern __inline __m512i
    326  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    327  1.1  mrg _mm512_mask_broadcastw_epi16 (__m512i __O, __mmask32 __M, __m128i __A)
    328  1.1  mrg {
    329  1.1  mrg   return (__m512i) __builtin_ia32_pbroadcastw512_mask ((__v8hi) __A,
    330  1.1  mrg 						       (__v32hi) __O,
    331  1.1  mrg 						       __M);
    332  1.1  mrg }
    333  1.1  mrg 
    334  1.1  mrg extern __inline __m512i
    335  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    336  1.1  mrg _mm512_maskz_broadcastw_epi16 (__mmask32 __M, __m128i __A)
    337  1.1  mrg {
    338  1.1  mrg   return (__m512i) __builtin_ia32_pbroadcastw512_mask ((__v8hi) __A,
    339  1.1  mrg 						       (__v32hi)
    340  1.1  mrg 						       _mm512_setzero_hi(),
    341  1.1  mrg 						       __M);
    342  1.1  mrg }
    343  1.1  mrg 
    344  1.1  mrg extern __inline __m512i
    345  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    346  1.1  mrg _mm512_mask_set1_epi16 (__m512i __O, __mmask32 __M, short __A)
    347  1.1  mrg {
    348  1.1  mrg   return (__m512i) __builtin_ia32_pbroadcastw512_gpr_mask (__A,
    349  1.1  mrg 							   (__v32hi) __O,
    350  1.1  mrg 							   __M);
    351  1.1  mrg }
    352  1.1  mrg 
    353  1.1  mrg extern __inline __m512i
    354  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    355  1.1  mrg _mm512_maskz_set1_epi16 (__mmask32 __M, short __A)
    356  1.1  mrg {
    357  1.1  mrg   return (__m512i) __builtin_ia32_pbroadcastw512_gpr_mask (__A,
    358  1.1  mrg 							   (__v32hi)
    359  1.1  mrg 							   _mm512_setzero_hi(),
    360  1.1  mrg 							   __M);
    361  1.1  mrg }
    362  1.1  mrg 
    363  1.1  mrg extern __inline __m512i
    364  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    365  1.1  mrg _mm512_mulhrs_epi16 (__m512i __A, __m512i __B)
    366  1.1  mrg {
    367  1.1  mrg   return (__m512i) __builtin_ia32_pmulhrsw512_mask ((__v32hi) __A,
    368  1.1  mrg 						    (__v32hi) __B,
    369  1.1  mrg 						    (__v32hi)
    370  1.1  mrg 						    _mm512_setzero_hi (),
    371  1.1  mrg 						    (__mmask32) -1);
    372  1.1  mrg }
    373  1.1  mrg 
    374  1.1  mrg extern __inline __m512i
    375  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    376  1.1  mrg _mm512_mask_mulhrs_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
    377  1.1  mrg 			  __m512i __B)
    378  1.1  mrg {
    379  1.1  mrg   return (__m512i) __builtin_ia32_pmulhrsw512_mask ((__v32hi) __A,
    380  1.1  mrg 						    (__v32hi) __B,
    381  1.1  mrg 						    (__v32hi) __W,
    382  1.1  mrg 						    (__mmask32) __U);
    383  1.1  mrg }
    384  1.1  mrg 
    385  1.1  mrg extern __inline __m512i
    386  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    387  1.1  mrg _mm512_maskz_mulhrs_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
    388  1.1  mrg {
    389  1.1  mrg   return (__m512i) __builtin_ia32_pmulhrsw512_mask ((__v32hi) __A,
    390  1.1  mrg 						    (__v32hi) __B,
    391  1.1  mrg 						    (__v32hi)
    392  1.1  mrg 						    _mm512_setzero_hi (),
    393  1.1  mrg 						    (__mmask32) __U);
    394  1.1  mrg }
    395  1.1  mrg 
    396  1.1  mrg extern __inline __m512i
    397  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    398  1.1  mrg _mm512_mulhi_epi16 (__m512i __A, __m512i __B)
    399  1.1  mrg {
    400  1.1  mrg   return (__m512i) __builtin_ia32_pmulhw512_mask ((__v32hi) __A,
    401  1.1  mrg 						  (__v32hi) __B,
    402  1.1  mrg 						  (__v32hi)
    403  1.1  mrg 						  _mm512_setzero_hi (),
    404  1.1  mrg 						  (__mmask32) -1);
    405  1.1  mrg }
    406  1.1  mrg 
    407  1.1  mrg extern __inline __m512i
    408  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    409  1.1  mrg _mm512_mask_mulhi_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
    410  1.1  mrg 			 __m512i __B)
    411  1.1  mrg {
    412  1.1  mrg   return (__m512i) __builtin_ia32_pmulhw512_mask ((__v32hi) __A,
    413  1.1  mrg 						  (__v32hi) __B,
    414  1.1  mrg 						  (__v32hi) __W,
    415  1.1  mrg 						  (__mmask32) __U);
    416  1.1  mrg }
    417  1.1  mrg 
    418  1.1  mrg extern __inline __m512i
    419  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    420  1.1  mrg _mm512_maskz_mulhi_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
    421  1.1  mrg {
    422  1.1  mrg   return (__m512i) __builtin_ia32_pmulhw512_mask ((__v32hi) __A,
    423  1.1  mrg 						  (__v32hi) __B,
    424  1.1  mrg 						  (__v32hi)
    425  1.1  mrg 						  _mm512_setzero_hi (),
    426  1.1  mrg 						  (__mmask32) __U);
    427  1.1  mrg }
    428  1.1  mrg 
    429  1.1  mrg extern __inline __m512i
    430  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    431  1.1  mrg _mm512_mulhi_epu16 (__m512i __A, __m512i __B)
    432  1.1  mrg {
    433  1.1  mrg   return (__m512i) __builtin_ia32_pmulhuw512_mask ((__v32hi) __A,
    434  1.1  mrg 						   (__v32hi) __B,
    435  1.1  mrg 						   (__v32hi)
    436  1.1  mrg 						   _mm512_setzero_hi (),
    437  1.1  mrg 						   (__mmask32) -1);
    438  1.1  mrg }
    439  1.1  mrg 
    440  1.1  mrg extern __inline __m512i
    441  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    442  1.1  mrg _mm512_mask_mulhi_epu16 (__m512i __W, __mmask32 __U, __m512i __A,
    443  1.1  mrg 			 __m512i __B)
    444  1.1  mrg {
    445  1.1  mrg   return (__m512i) __builtin_ia32_pmulhuw512_mask ((__v32hi) __A,
    446  1.1  mrg 						   (__v32hi) __B,
    447  1.1  mrg 						   (__v32hi) __W,
    448  1.1  mrg 						   (__mmask32) __U);
    449  1.1  mrg }
    450  1.1  mrg 
    451  1.1  mrg extern __inline __m512i
    452  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    453  1.1  mrg _mm512_maskz_mulhi_epu16 (__mmask32 __U, __m512i __A, __m512i __B)
    454  1.1  mrg {
    455  1.1  mrg   return (__m512i) __builtin_ia32_pmulhuw512_mask ((__v32hi) __A,
    456  1.1  mrg 						   (__v32hi) __B,
    457  1.1  mrg 						   (__v32hi)
    458  1.1  mrg 						   _mm512_setzero_hi (),
    459  1.1  mrg 						   (__mmask32) __U);
    460  1.1  mrg }
    461  1.1  mrg 
    462  1.1  mrg extern __inline __m512i
    463  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    464  1.1  mrg _mm512_mullo_epi16 (__m512i __A, __m512i __B)
    465  1.1  mrg {
    466  1.1  mrg   return (__m512i) ((__v32hu) __A * (__v32hu) __B);
    467  1.1  mrg }
    468  1.1  mrg 
    469  1.1  mrg extern __inline __m512i
    470  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    471  1.1  mrg _mm512_mask_mullo_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
    472  1.1  mrg 			 __m512i __B)
    473  1.1  mrg {
    474  1.1  mrg   return (__m512i) __builtin_ia32_pmullw512_mask ((__v32hi) __A,
    475  1.1  mrg 						  (__v32hi) __B,
    476  1.1  mrg 						  (__v32hi) __W,
    477  1.1  mrg 						  (__mmask32) __U);
    478  1.1  mrg }
    479  1.1  mrg 
    480  1.1  mrg extern __inline __m512i
    481  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    482  1.1  mrg _mm512_maskz_mullo_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
    483  1.1  mrg {
    484  1.1  mrg   return (__m512i) __builtin_ia32_pmullw512_mask ((__v32hi) __A,
    485  1.1  mrg 						  (__v32hi) __B,
    486  1.1  mrg 						  (__v32hi)
    487  1.1  mrg 						  _mm512_setzero_hi (),
    488  1.1  mrg 						  (__mmask32) __U);
    489  1.1  mrg }
    490  1.1  mrg 
    491  1.1  mrg extern __inline __m512i
    492  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    493  1.1  mrg _mm512_cvtepi8_epi16 (__m256i __A)
    494  1.1  mrg {
    495  1.1  mrg   return (__m512i) __builtin_ia32_pmovsxbw512_mask ((__v32qi) __A,
    496  1.1  mrg 						    (__v32hi)
    497  1.1  mrg 						    _mm512_setzero_hi (),
    498  1.1  mrg 						    (__mmask32) -1);
    499  1.1  mrg }
    500  1.1  mrg 
    501  1.1  mrg extern __inline __m512i
    502  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    503  1.1  mrg _mm512_mask_cvtepi8_epi16 (__m512i __W, __mmask32 __U, __m256i __A)
    504  1.1  mrg {
    505  1.1  mrg   return (__m512i) __builtin_ia32_pmovsxbw512_mask ((__v32qi) __A,
    506  1.1  mrg 						    (__v32hi) __W,
    507  1.1  mrg 						    (__mmask32) __U);
    508  1.1  mrg }
    509  1.1  mrg 
    510  1.1  mrg extern __inline __m512i
    511  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    512  1.1  mrg _mm512_maskz_cvtepi8_epi16 (__mmask32 __U, __m256i __A)
    513  1.1  mrg {
    514  1.1  mrg   return (__m512i) __builtin_ia32_pmovsxbw512_mask ((__v32qi) __A,
    515  1.1  mrg 						    (__v32hi)
    516  1.1  mrg 						    _mm512_setzero_hi(),
    517  1.1  mrg 						    (__mmask32) __U);
    518  1.1  mrg }
    519  1.1  mrg 
    520  1.1  mrg extern __inline __m512i
    521  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    522  1.1  mrg _mm512_cvtepu8_epi16 (__m256i __A)
    523  1.1  mrg {
    524  1.1  mrg   return (__m512i) __builtin_ia32_pmovzxbw512_mask ((__v32qi) __A,
    525  1.1  mrg 						    (__v32hi)
    526  1.1  mrg 						    _mm512_setzero_hi (),
    527  1.1  mrg 						    (__mmask32) -1);
    528  1.1  mrg }
    529  1.1  mrg 
    530  1.1  mrg extern __inline __m512i
    531  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    532  1.1  mrg _mm512_mask_cvtepu8_epi16 (__m512i __W, __mmask32 __U, __m256i __A)
    533  1.1  mrg {
    534  1.1  mrg   return (__m512i) __builtin_ia32_pmovzxbw512_mask ((__v32qi) __A,
    535  1.1  mrg 						    (__v32hi) __W,
    536  1.1  mrg 						    (__mmask32) __U);
    537  1.1  mrg }
    538  1.1  mrg 
    539  1.1  mrg extern __inline __m512i
    540  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    541  1.1  mrg _mm512_maskz_cvtepu8_epi16 (__mmask32 __U, __m256i __A)
    542  1.1  mrg {
    543  1.1  mrg   return (__m512i) __builtin_ia32_pmovzxbw512_mask ((__v32qi) __A,
    544  1.1  mrg 						    (__v32hi)
    545  1.1  mrg 						    _mm512_setzero_hi(),
    546  1.1  mrg 						    (__mmask32) __U);
    547  1.1  mrg }
    548  1.1  mrg 
    549  1.1  mrg extern __inline __m512i
    550  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    551  1.1  mrg _mm512_permutexvar_epi16 (__m512i __A, __m512i __B)
    552  1.1  mrg {
    553  1.1  mrg   return (__m512i) __builtin_ia32_permvarhi512_mask ((__v32hi) __B,
    554  1.1  mrg 						     (__v32hi) __A,
    555  1.1  mrg 						     (__v32hi)
    556  1.1  mrg 						     _mm512_setzero_hi (),
    557  1.1  mrg 						     (__mmask32) -1);
    558  1.1  mrg }
    559  1.1  mrg 
    560  1.1  mrg extern __inline __m512i
    561  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    562  1.1  mrg _mm512_maskz_permutexvar_epi16 (__mmask32 __M, __m512i __A,
    563  1.1  mrg 				__m512i __B)
    564  1.1  mrg {
    565  1.1  mrg   return (__m512i) __builtin_ia32_permvarhi512_mask ((__v32hi) __B,
    566  1.1  mrg 						     (__v32hi) __A,
    567  1.1  mrg 						     (__v32hi)
    568  1.1  mrg 						     _mm512_setzero_hi(),
    569  1.1  mrg 						     (__mmask32) __M);
    570  1.1  mrg }
    571  1.1  mrg 
    572  1.1  mrg extern __inline __m512i
    573  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    574  1.1  mrg _mm512_mask_permutexvar_epi16 (__m512i __W, __mmask32 __M, __m512i __A,
    575  1.1  mrg 			       __m512i __B)
    576  1.1  mrg {
    577  1.1  mrg   return (__m512i) __builtin_ia32_permvarhi512_mask ((__v32hi) __B,
    578  1.1  mrg 						     (__v32hi) __A,
    579  1.1  mrg 						     (__v32hi) __W,
    580  1.1  mrg 						     (__mmask32) __M);
    581  1.1  mrg }
    582  1.1  mrg 
    583  1.1  mrg extern __inline __m512i
    584  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    585  1.1  mrg _mm512_permutex2var_epi16 (__m512i __A, __m512i __I, __m512i __B)
    586  1.1  mrg {
    587  1.1  mrg   return (__m512i) __builtin_ia32_vpermt2varhi512_mask ((__v32hi) __I
    588  1.1  mrg 							/* idx */ ,
    589  1.1  mrg 							(__v32hi) __A,
    590  1.1  mrg 							(__v32hi) __B,
    591  1.1  mrg 							(__mmask32) -
    592  1.1  mrg 							1);
    593  1.1  mrg }
    594  1.1  mrg 
    595  1.1  mrg extern __inline __m512i
    596  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    597  1.1  mrg _mm512_mask_permutex2var_epi16 (__m512i __A, __mmask32 __U,
    598  1.1  mrg 				__m512i __I, __m512i __B)
    599  1.1  mrg {
    600  1.1  mrg   return (__m512i) __builtin_ia32_vpermt2varhi512_mask ((__v32hi) __I
    601  1.1  mrg 							/* idx */ ,
    602  1.1  mrg 							(__v32hi) __A,
    603  1.1  mrg 							(__v32hi) __B,
    604  1.1  mrg 							(__mmask32)
    605  1.1  mrg 							__U);
    606  1.1  mrg }
    607  1.1  mrg 
    608  1.1  mrg extern __inline __m512i
    609  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    610  1.1  mrg _mm512_mask2_permutex2var_epi16 (__m512i __A, __m512i __I,
    611  1.1  mrg 				 __mmask32 __U, __m512i __B)
    612  1.1  mrg {
    613  1.1  mrg   return (__m512i) __builtin_ia32_vpermi2varhi512_mask ((__v32hi) __A,
    614  1.1  mrg 							(__v32hi) __I
    615  1.1  mrg 							/* idx */ ,
    616  1.1  mrg 							(__v32hi) __B,
    617  1.1  mrg 							(__mmask32)
    618  1.1  mrg 							__U);
    619  1.1  mrg }
    620  1.1  mrg 
    621  1.1  mrg extern __inline __m512i
    622  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    623  1.1  mrg _mm512_maskz_permutex2var_epi16 (__mmask32 __U, __m512i __A,
    624  1.1  mrg 				 __m512i __I, __m512i __B)
    625  1.1  mrg {
    626  1.1  mrg   return (__m512i) __builtin_ia32_vpermt2varhi512_maskz ((__v32hi) __I
    627  1.1  mrg 							 /* idx */ ,
    628  1.1  mrg 							 (__v32hi) __A,
    629  1.1  mrg 							 (__v32hi) __B,
    630  1.1  mrg 							 (__mmask32)
    631  1.1  mrg 							 __U);
    632  1.1  mrg }
    633  1.1  mrg 
    634  1.1  mrg extern __inline __m512i
    635  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    636  1.1  mrg _mm512_avg_epu8 (__m512i __A, __m512i __B)
    637  1.1  mrg {
    638  1.1  mrg   return (__m512i) __builtin_ia32_pavgb512_mask ((__v64qi) __A,
    639  1.1  mrg 						 (__v64qi) __B,
    640  1.1  mrg 						 (__v64qi)
    641  1.1  mrg 						 _mm512_setzero_qi (),
    642  1.1  mrg 						 (__mmask64) -1);
    643  1.1  mrg }
    644  1.1  mrg 
    645  1.1  mrg extern __inline __m512i
    646  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    647  1.1  mrg _mm512_mask_avg_epu8 (__m512i __W, __mmask64 __U, __m512i __A,
    648  1.1  mrg 		      __m512i __B)
    649  1.1  mrg {
    650  1.1  mrg   return (__m512i) __builtin_ia32_pavgb512_mask ((__v64qi) __A,
    651  1.1  mrg 						 (__v64qi) __B,
    652  1.1  mrg 						 (__v64qi) __W,
    653  1.1  mrg 						 (__mmask64) __U);
    654  1.1  mrg }
    655  1.1  mrg 
    656  1.1  mrg extern __inline __m512i
    657  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    658  1.1  mrg _mm512_maskz_avg_epu8 (__mmask64 __U, __m512i __A, __m512i __B)
    659  1.1  mrg {
    660  1.1  mrg   return (__m512i) __builtin_ia32_pavgb512_mask ((__v64qi) __A,
    661  1.1  mrg 						 (__v64qi) __B,
    662  1.1  mrg 						 (__v64qi)
    663  1.1  mrg 						 _mm512_setzero_qi(),
    664  1.1  mrg 						 (__mmask64) __U);
    665  1.1  mrg }
    666  1.1  mrg 
    667  1.1  mrg extern __inline __m512i
    668  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    669  1.1  mrg _mm512_add_epi8 (__m512i __A, __m512i __B)
    670  1.1  mrg {
    671  1.1  mrg   return (__m512i) ((__v64qu) __A + (__v64qu) __B);
    672  1.1  mrg }
    673  1.1  mrg 
    674  1.1  mrg extern __inline __m512i
    675  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    676  1.1  mrg _mm512_mask_add_epi8 (__m512i __W, __mmask64 __U, __m512i __A,
    677  1.1  mrg 		      __m512i __B)
    678  1.1  mrg {
    679  1.1  mrg   return (__m512i) __builtin_ia32_paddb512_mask ((__v64qi) __A,
    680  1.1  mrg 						 (__v64qi) __B,
    681  1.1  mrg 						 (__v64qi) __W,
    682  1.1  mrg 						 (__mmask64) __U);
    683  1.1  mrg }
    684  1.1  mrg 
    685  1.1  mrg extern __inline __m512i
    686  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    687  1.1  mrg _mm512_maskz_add_epi8 (__mmask64 __U, __m512i __A, __m512i __B)
    688  1.1  mrg {
    689  1.1  mrg   return (__m512i) __builtin_ia32_paddb512_mask ((__v64qi) __A,
    690  1.1  mrg 						 (__v64qi) __B,
    691  1.1  mrg 						 (__v64qi)
    692  1.1  mrg 						 _mm512_setzero_qi (),
    693  1.1  mrg 						 (__mmask64) __U);
    694  1.1  mrg }
    695  1.1  mrg 
    696  1.1  mrg extern __inline __m512i
    697  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    698  1.1  mrg _mm512_sub_epi8 (__m512i __A, __m512i __B)
    699  1.1  mrg {
    700  1.1  mrg   return (__m512i) ((__v64qu) __A - (__v64qu) __B);
    701  1.1  mrg }
    702  1.1  mrg 
    703  1.1  mrg extern __inline __m512i
    704  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    705  1.1  mrg _mm512_mask_sub_epi8 (__m512i __W, __mmask64 __U, __m512i __A,
    706  1.1  mrg 		      __m512i __B)
    707  1.1  mrg {
    708  1.1  mrg   return (__m512i) __builtin_ia32_psubb512_mask ((__v64qi) __A,
    709  1.1  mrg 						 (__v64qi) __B,
    710  1.1  mrg 						 (__v64qi) __W,
    711  1.1  mrg 						 (__mmask64) __U);
    712  1.1  mrg }
    713  1.1  mrg 
    714  1.1  mrg extern __inline __m512i
    715  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    716  1.1  mrg _mm512_maskz_sub_epi8 (__mmask64 __U, __m512i __A, __m512i __B)
    717  1.1  mrg {
    718  1.1  mrg   return (__m512i) __builtin_ia32_psubb512_mask ((__v64qi) __A,
    719  1.1  mrg 						 (__v64qi) __B,
    720  1.1  mrg 						 (__v64qi)
    721  1.1  mrg 						 _mm512_setzero_qi (),
    722  1.1  mrg 						 (__mmask64) __U);
    723  1.1  mrg }
    724  1.1  mrg 
    725  1.1  mrg extern __inline __m512i
    726  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    727  1.1  mrg _mm512_avg_epu16 (__m512i __A, __m512i __B)
    728  1.1  mrg {
    729  1.1  mrg   return (__m512i) __builtin_ia32_pavgw512_mask ((__v32hi) __A,
    730  1.1  mrg 						 (__v32hi) __B,
    731  1.1  mrg 						 (__v32hi)
    732  1.1  mrg 						 _mm512_setzero_hi (),
    733  1.1  mrg 						 (__mmask32) -1);
    734  1.1  mrg }
    735  1.1  mrg 
    736  1.1  mrg extern __inline __m512i
    737  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    738  1.1  mrg _mm512_mask_avg_epu16 (__m512i __W, __mmask32 __U, __m512i __A,
    739  1.1  mrg 		       __m512i __B)
    740  1.1  mrg {
    741  1.1  mrg   return (__m512i) __builtin_ia32_pavgw512_mask ((__v32hi) __A,
    742  1.1  mrg 						 (__v32hi) __B,
    743  1.1  mrg 						 (__v32hi) __W,
    744  1.1  mrg 						 (__mmask32) __U);
    745  1.1  mrg }
    746  1.1  mrg 
    747  1.1  mrg extern __inline __m512i
    748  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    749  1.1  mrg _mm512_maskz_avg_epu16 (__mmask32 __U, __m512i __A, __m512i __B)
    750  1.1  mrg {
    751  1.1  mrg   return (__m512i) __builtin_ia32_pavgw512_mask ((__v32hi) __A,
    752  1.1  mrg 						 (__v32hi) __B,
    753  1.1  mrg 						 (__v32hi)
    754  1.1  mrg 						 _mm512_setzero_hi(),
    755  1.1  mrg 						 (__mmask32) __U);
    756  1.1  mrg }
    757  1.1  mrg 
    758  1.1  mrg extern __inline __m512i
    759  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    760  1.1  mrg _mm512_subs_epi8 (__m512i __A, __m512i __B)
    761  1.1  mrg {
    762  1.1  mrg   return (__m512i) __builtin_ia32_psubsb512_mask ((__v64qi) __A,
    763  1.1  mrg 						  (__v64qi) __B,
    764  1.1  mrg 						  (__v64qi)
    765  1.1  mrg 						  _mm512_setzero_qi (),
    766  1.1  mrg 						  (__mmask64) -1);
    767  1.1  mrg }
    768  1.1  mrg 
    769  1.1  mrg extern __inline __m512i
    770  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    771  1.1  mrg _mm512_mask_subs_epi8 (__m512i __W, __mmask64 __U, __m512i __A,
    772  1.1  mrg 		       __m512i __B)
    773  1.1  mrg {
    774  1.1  mrg   return (__m512i) __builtin_ia32_psubsb512_mask ((__v64qi) __A,
    775  1.1  mrg 						  (__v64qi) __B,
    776  1.1  mrg 						  (__v64qi) __W,
    777  1.1  mrg 						  (__mmask64) __U);
    778  1.1  mrg }
    779  1.1  mrg 
    780  1.1  mrg extern __inline __m512i
    781  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    782  1.1  mrg _mm512_maskz_subs_epi8 (__mmask64 __U, __m512i __A, __m512i __B)
    783  1.1  mrg {
    784  1.1  mrg   return (__m512i) __builtin_ia32_psubsb512_mask ((__v64qi) __A,
    785  1.1  mrg 						  (__v64qi) __B,
    786  1.1  mrg 						  (__v64qi)
    787  1.1  mrg 						  _mm512_setzero_qi (),
    788  1.1  mrg 						  (__mmask64) __U);
    789  1.1  mrg }
    790  1.1  mrg 
    791  1.1  mrg extern __inline __m512i
    792  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    793  1.1  mrg _mm512_subs_epu8 (__m512i __A, __m512i __B)
    794  1.1  mrg {
    795  1.1  mrg   return (__m512i) __builtin_ia32_psubusb512_mask ((__v64qi) __A,
    796  1.1  mrg 						   (__v64qi) __B,
    797  1.1  mrg 						   (__v64qi)
    798  1.1  mrg 						   _mm512_setzero_qi (),
    799  1.1  mrg 						   (__mmask64) -1);
    800  1.1  mrg }
    801  1.1  mrg 
    802  1.1  mrg extern __inline __m512i
    803  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    804  1.1  mrg _mm512_mask_subs_epu8 (__m512i __W, __mmask64 __U, __m512i __A,
    805  1.1  mrg 		       __m512i __B)
    806  1.1  mrg {
    807  1.1  mrg   return (__m512i) __builtin_ia32_psubusb512_mask ((__v64qi) __A,
    808  1.1  mrg 						   (__v64qi) __B,
    809  1.1  mrg 						   (__v64qi) __W,
    810  1.1  mrg 						   (__mmask64) __U);
    811  1.1  mrg }
    812  1.1  mrg 
    813  1.1  mrg extern __inline __m512i
    814  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    815  1.1  mrg _mm512_maskz_subs_epu8 (__mmask64 __U, __m512i __A, __m512i __B)
    816  1.1  mrg {
    817  1.1  mrg   return (__m512i) __builtin_ia32_psubusb512_mask ((__v64qi) __A,
    818  1.1  mrg 						   (__v64qi) __B,
    819  1.1  mrg 						   (__v64qi)
    820  1.1  mrg 						   _mm512_setzero_qi (),
    821  1.1  mrg 						   (__mmask64) __U);
    822  1.1  mrg }
    823  1.1  mrg 
    824  1.1  mrg extern __inline __m512i
    825  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    826  1.1  mrg _mm512_adds_epi8 (__m512i __A, __m512i __B)
    827  1.1  mrg {
    828  1.1  mrg   return (__m512i) __builtin_ia32_paddsb512_mask ((__v64qi) __A,
    829  1.1  mrg 						  (__v64qi) __B,
    830  1.1  mrg 						  (__v64qi)
    831  1.1  mrg 						  _mm512_setzero_qi (),
    832  1.1  mrg 						  (__mmask64) -1);
    833  1.1  mrg }
    834  1.1  mrg 
    835  1.1  mrg extern __inline __m512i
    836  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    837  1.1  mrg _mm512_mask_adds_epi8 (__m512i __W, __mmask64 __U, __m512i __A,
    838  1.1  mrg 		       __m512i __B)
    839  1.1  mrg {
    840  1.1  mrg   return (__m512i) __builtin_ia32_paddsb512_mask ((__v64qi) __A,
    841  1.1  mrg 						  (__v64qi) __B,
    842  1.1  mrg 						  (__v64qi) __W,
    843  1.1  mrg 						  (__mmask64) __U);
    844  1.1  mrg }
    845  1.1  mrg 
    846  1.1  mrg extern __inline __m512i
    847  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    848  1.1  mrg _mm512_maskz_adds_epi8 (__mmask64 __U, __m512i __A, __m512i __B)
    849  1.1  mrg {
    850  1.1  mrg   return (__m512i) __builtin_ia32_paddsb512_mask ((__v64qi) __A,
    851  1.1  mrg 						  (__v64qi) __B,
    852  1.1  mrg 						  (__v64qi)
    853  1.1  mrg 						  _mm512_setzero_qi (),
    854  1.1  mrg 						  (__mmask64) __U);
    855  1.1  mrg }
    856  1.1  mrg 
    857  1.1  mrg extern __inline __m512i
    858  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    859  1.1  mrg _mm512_adds_epu8 (__m512i __A, __m512i __B)
    860  1.1  mrg {
    861  1.1  mrg   return (__m512i) __builtin_ia32_paddusb512_mask ((__v64qi) __A,
    862  1.1  mrg 						   (__v64qi) __B,
    863  1.1  mrg 						   (__v64qi)
    864  1.1  mrg 						   _mm512_setzero_qi (),
    865  1.1  mrg 						   (__mmask64) -1);
    866  1.1  mrg }
    867  1.1  mrg 
    868  1.1  mrg extern __inline __m512i
    869  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    870  1.1  mrg _mm512_mask_adds_epu8 (__m512i __W, __mmask64 __U, __m512i __A,
    871  1.1  mrg 		       __m512i __B)
    872  1.1  mrg {
    873  1.1  mrg   return (__m512i) __builtin_ia32_paddusb512_mask ((__v64qi) __A,
    874  1.1  mrg 						   (__v64qi) __B,
    875  1.1  mrg 						   (__v64qi) __W,
    876  1.1  mrg 						   (__mmask64) __U);
    877  1.1  mrg }
    878  1.1  mrg 
    879  1.1  mrg extern __inline __m512i
    880  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    881  1.1  mrg _mm512_maskz_adds_epu8 (__mmask64 __U, __m512i __A, __m512i __B)
    882  1.1  mrg {
    883  1.1  mrg   return (__m512i) __builtin_ia32_paddusb512_mask ((__v64qi) __A,
    884  1.1  mrg 						   (__v64qi) __B,
    885  1.1  mrg 						   (__v64qi)
    886  1.1  mrg 						   _mm512_setzero_qi (),
    887  1.1  mrg 						   (__mmask64) __U);
    888  1.1  mrg }
    889  1.1  mrg 
    890  1.1  mrg extern __inline __m512i
    891  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    892  1.1  mrg _mm512_sub_epi16 (__m512i __A, __m512i __B)
    893  1.1  mrg {
    894  1.1  mrg   return (__m512i) ((__v32hu) __A - (__v32hu) __B);
    895  1.1  mrg }
    896  1.1  mrg 
    897  1.1  mrg extern __inline __m512i
    898  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    899  1.1  mrg _mm512_mask_sub_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
    900  1.1  mrg 		       __m512i __B)
    901  1.1  mrg {
    902  1.1  mrg   return (__m512i) __builtin_ia32_psubw512_mask ((__v32hi) __A,
    903  1.1  mrg 						 (__v32hi) __B,
    904  1.1  mrg 						 (__v32hi) __W,
    905  1.1  mrg 						 (__mmask32) __U);
    906  1.1  mrg }
    907  1.1  mrg 
    908  1.1  mrg extern __inline __m512i
    909  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    910  1.1  mrg _mm512_maskz_sub_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
    911  1.1  mrg {
    912  1.1  mrg   return (__m512i) __builtin_ia32_psubw512_mask ((__v32hi) __A,
    913  1.1  mrg 						 (__v32hi) __B,
    914  1.1  mrg 						 (__v32hi)
    915  1.1  mrg 						 _mm512_setzero_hi (),
    916  1.1  mrg 						 (__mmask32) __U);
    917  1.1  mrg }
    918  1.1  mrg 
    919  1.1  mrg extern __inline __m512i
    920  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    921  1.1  mrg _mm512_subs_epi16 (__m512i __A, __m512i __B)
    922  1.1  mrg {
    923  1.1  mrg   return (__m512i) __builtin_ia32_psubsw512_mask ((__v32hi) __A,
    924  1.1  mrg 						  (__v32hi) __B,
    925  1.1  mrg 						  (__v32hi)
    926  1.1  mrg 						  _mm512_setzero_hi (),
    927  1.1  mrg 						  (__mmask32) -1);
    928  1.1  mrg }
    929  1.1  mrg 
    930  1.1  mrg extern __inline __m512i
    931  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    932  1.1  mrg _mm512_mask_subs_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
    933  1.1  mrg 			__m512i __B)
    934  1.1  mrg {
    935  1.1  mrg   return (__m512i) __builtin_ia32_psubsw512_mask ((__v32hi) __A,
    936  1.1  mrg 						  (__v32hi) __B,
    937  1.1  mrg 						  (__v32hi) __W,
    938  1.1  mrg 						  (__mmask32) __U);
    939  1.1  mrg }
    940  1.1  mrg 
    941  1.1  mrg extern __inline __m512i
    942  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    943  1.1  mrg _mm512_maskz_subs_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
    944  1.1  mrg {
    945  1.1  mrg   return (__m512i) __builtin_ia32_psubsw512_mask ((__v32hi) __A,
    946  1.1  mrg 						  (__v32hi) __B,
    947  1.1  mrg 						  (__v32hi)
    948  1.1  mrg 						  _mm512_setzero_hi (),
    949  1.1  mrg 						  (__mmask32) __U);
    950  1.1  mrg }
    951  1.1  mrg 
    952  1.1  mrg extern __inline __m512i
    953  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    954  1.1  mrg _mm512_subs_epu16 (__m512i __A, __m512i __B)
    955  1.1  mrg {
    956  1.1  mrg   return (__m512i) __builtin_ia32_psubusw512_mask ((__v32hi) __A,
    957  1.1  mrg 						   (__v32hi) __B,
    958  1.1  mrg 						   (__v32hi)
    959  1.1  mrg 						   _mm512_setzero_hi (),
    960  1.1  mrg 						   (__mmask32) -1);
    961  1.1  mrg }
    962  1.1  mrg 
    963  1.1  mrg extern __inline __m512i
    964  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    965  1.1  mrg _mm512_mask_subs_epu16 (__m512i __W, __mmask32 __U, __m512i __A,
    966  1.1  mrg 			__m512i __B)
    967  1.1  mrg {
    968  1.1  mrg   return (__m512i) __builtin_ia32_psubusw512_mask ((__v32hi) __A,
    969  1.1  mrg 						   (__v32hi) __B,
    970  1.1  mrg 						   (__v32hi) __W,
    971  1.1  mrg 						   (__mmask32) __U);
    972  1.1  mrg }
    973  1.1  mrg 
    974  1.1  mrg extern __inline __m512i
    975  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    976  1.1  mrg _mm512_maskz_subs_epu16 (__mmask32 __U, __m512i __A, __m512i __B)
    977  1.1  mrg {
    978  1.1  mrg   return (__m512i) __builtin_ia32_psubusw512_mask ((__v32hi) __A,
    979  1.1  mrg 						   (__v32hi) __B,
    980  1.1  mrg 						   (__v32hi)
    981  1.1  mrg 						   _mm512_setzero_hi (),
    982  1.1  mrg 						   (__mmask32) __U);
    983  1.1  mrg }
    984  1.1  mrg 
    985  1.1  mrg extern __inline __m512i
    986  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    987  1.1  mrg _mm512_add_epi16 (__m512i __A, __m512i __B)
    988  1.1  mrg {
    989  1.1  mrg   return (__m512i) ((__v32hu) __A + (__v32hu) __B);
    990  1.1  mrg }
    991  1.1  mrg 
    992  1.1  mrg extern __inline __m512i
    993  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
    994  1.1  mrg _mm512_mask_add_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
    995  1.1  mrg 		       __m512i __B)
    996  1.1  mrg {
    997  1.1  mrg   return (__m512i) __builtin_ia32_paddw512_mask ((__v32hi) __A,
    998  1.1  mrg 						 (__v32hi) __B,
    999  1.1  mrg 						 (__v32hi) __W,
   1000  1.1  mrg 						 (__mmask32) __U);
   1001  1.1  mrg }
   1002  1.1  mrg 
   1003  1.1  mrg extern __inline __m512i
   1004  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1005  1.1  mrg _mm512_maskz_add_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
   1006  1.1  mrg {
   1007  1.1  mrg   return (__m512i) __builtin_ia32_paddw512_mask ((__v32hi) __A,
   1008  1.1  mrg 						 (__v32hi) __B,
   1009  1.1  mrg 						 (__v32hi)
   1010  1.1  mrg 						 _mm512_setzero_hi (),
   1011  1.1  mrg 						 (__mmask32) __U);
   1012  1.1  mrg }
   1013  1.1  mrg 
   1014  1.1  mrg extern __inline __m512i
   1015  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1016  1.1  mrg _mm512_adds_epi16 (__m512i __A, __m512i __B)
   1017  1.1  mrg {
   1018  1.1  mrg   return (__m512i) __builtin_ia32_paddsw512_mask ((__v32hi) __A,
   1019  1.1  mrg 						  (__v32hi) __B,
   1020  1.1  mrg 						  (__v32hi)
   1021  1.1  mrg 						  _mm512_setzero_hi (),
   1022  1.1  mrg 						  (__mmask32) -1);
   1023  1.1  mrg }
   1024  1.1  mrg 
   1025  1.1  mrg extern __inline __m512i
   1026  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1027  1.1  mrg _mm512_mask_adds_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
   1028  1.1  mrg 			__m512i __B)
   1029  1.1  mrg {
   1030  1.1  mrg   return (__m512i) __builtin_ia32_paddsw512_mask ((__v32hi) __A,
   1031  1.1  mrg 						  (__v32hi) __B,
   1032  1.1  mrg 						  (__v32hi) __W,
   1033  1.1  mrg 						  (__mmask32) __U);
   1034  1.1  mrg }
   1035  1.1  mrg 
   1036  1.1  mrg extern __inline __m512i
   1037  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1038  1.1  mrg _mm512_maskz_adds_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
   1039  1.1  mrg {
   1040  1.1  mrg   return (__m512i) __builtin_ia32_paddsw512_mask ((__v32hi) __A,
   1041  1.1  mrg 						  (__v32hi) __B,
   1042  1.1  mrg 						  (__v32hi)
   1043  1.1  mrg 						  _mm512_setzero_hi (),
   1044  1.1  mrg 						  (__mmask32) __U);
   1045  1.1  mrg }
   1046  1.1  mrg 
   1047  1.1  mrg extern __inline __m512i
   1048  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1049  1.1  mrg _mm512_adds_epu16 (__m512i __A, __m512i __B)
   1050  1.1  mrg {
   1051  1.1  mrg   return (__m512i) __builtin_ia32_paddusw512_mask ((__v32hi) __A,
   1052  1.1  mrg 						   (__v32hi) __B,
   1053  1.1  mrg 						   (__v32hi)
   1054  1.1  mrg 						   _mm512_setzero_hi (),
   1055  1.1  mrg 						   (__mmask32) -1);
   1056  1.1  mrg }
   1057  1.1  mrg 
   1058  1.1  mrg extern __inline __m512i
   1059  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1060  1.1  mrg _mm512_mask_adds_epu16 (__m512i __W, __mmask32 __U, __m512i __A,
   1061  1.1  mrg 			__m512i __B)
   1062  1.1  mrg {
   1063  1.1  mrg   return (__m512i) __builtin_ia32_paddusw512_mask ((__v32hi) __A,
   1064  1.1  mrg 						   (__v32hi) __B,
   1065  1.1  mrg 						   (__v32hi) __W,
   1066  1.1  mrg 						   (__mmask32) __U);
   1067  1.1  mrg }
   1068  1.1  mrg 
   1069  1.1  mrg extern __inline __m512i
   1070  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1071  1.1  mrg _mm512_maskz_adds_epu16 (__mmask32 __U, __m512i __A, __m512i __B)
   1072  1.1  mrg {
   1073  1.1  mrg   return (__m512i) __builtin_ia32_paddusw512_mask ((__v32hi) __A,
   1074  1.1  mrg 						   (__v32hi) __B,
   1075  1.1  mrg 						   (__v32hi)
   1076  1.1  mrg 						   _mm512_setzero_hi (),
   1077  1.1  mrg 						   (__mmask32) __U);
   1078  1.1  mrg }
   1079  1.1  mrg 
   1080  1.1  mrg extern __inline __m512i
   1081  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1082  1.1  mrg _mm512_srl_epi16 (__m512i __A, __m128i __B)
   1083  1.1  mrg {
   1084  1.1  mrg   return (__m512i) __builtin_ia32_psrlw512_mask ((__v32hi) __A,
   1085  1.1  mrg 						 (__v8hi) __B,
   1086  1.1  mrg 						 (__v32hi)
   1087  1.1  mrg 						 _mm512_setzero_hi (),
   1088  1.1  mrg 						 (__mmask32) -1);
   1089  1.1  mrg }
   1090  1.1  mrg 
   1091  1.1  mrg extern __inline __m512i
   1092  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1093  1.1  mrg _mm512_mask_srl_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
   1094  1.1  mrg 		       __m128i __B)
   1095  1.1  mrg {
   1096  1.1  mrg   return (__m512i) __builtin_ia32_psrlw512_mask ((__v32hi) __A,
   1097  1.1  mrg 						 (__v8hi) __B,
   1098  1.1  mrg 						 (__v32hi) __W,
   1099  1.1  mrg 						 (__mmask32) __U);
   1100  1.1  mrg }
   1101  1.1  mrg 
   1102  1.1  mrg extern __inline __m512i
   1103  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1104  1.1  mrg _mm512_maskz_srl_epi16 (__mmask32 __U, __m512i __A, __m128i __B)
   1105  1.1  mrg {
   1106  1.1  mrg   return (__m512i) __builtin_ia32_psrlw512_mask ((__v32hi) __A,
   1107  1.1  mrg 						 (__v8hi) __B,
   1108  1.1  mrg 						 (__v32hi)
   1109  1.1  mrg 						 _mm512_setzero_hi (),
   1110  1.1  mrg 						 (__mmask32) __U);
   1111  1.1  mrg }
   1112  1.1  mrg 
   1113  1.1  mrg extern __inline __m512i
   1114  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1115  1.1  mrg _mm512_packs_epi16 (__m512i __A, __m512i __B)
   1116  1.1  mrg {
   1117  1.1  mrg   return (__m512i) __builtin_ia32_packsswb512_mask ((__v32hi) __A,
   1118  1.1  mrg 						    (__v32hi) __B,
   1119  1.1  mrg 						    (__v64qi)
   1120  1.1  mrg 						    _mm512_setzero_qi (),
   1121  1.1  mrg 						    (__mmask64) -1);
   1122  1.1  mrg }
   1123  1.1  mrg 
   1124  1.1  mrg extern __inline __m512i
   1125  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1126  1.1  mrg _mm512_sll_epi16 (__m512i __A, __m128i __B)
   1127  1.1  mrg {
   1128  1.1  mrg   return (__m512i) __builtin_ia32_psllw512_mask ((__v32hi) __A,
   1129  1.1  mrg 						 (__v8hi) __B,
   1130  1.1  mrg 						 (__v32hi)
   1131  1.1  mrg 						 _mm512_setzero_hi (),
   1132  1.1  mrg 						 (__mmask32) -1);
   1133  1.1  mrg }
   1134  1.1  mrg 
   1135  1.1  mrg extern __inline __m512i
   1136  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1137  1.1  mrg _mm512_mask_sll_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
   1138  1.1  mrg 		       __m128i __B)
   1139  1.1  mrg {
   1140  1.1  mrg   return (__m512i) __builtin_ia32_psllw512_mask ((__v32hi) __A,
   1141  1.1  mrg 						 (__v8hi) __B,
   1142  1.1  mrg 						 (__v32hi) __W,
   1143  1.1  mrg 						 (__mmask32) __U);
   1144  1.1  mrg }
   1145  1.1  mrg 
   1146  1.1  mrg extern __inline __m512i
   1147  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1148  1.1  mrg _mm512_maskz_sll_epi16 (__mmask32 __U, __m512i __A, __m128i __B)
   1149  1.1  mrg {
   1150  1.1  mrg   return (__m512i) __builtin_ia32_psllw512_mask ((__v32hi) __A,
   1151  1.1  mrg 						 (__v8hi) __B,
   1152  1.1  mrg 						 (__v32hi)
   1153  1.1  mrg 						 _mm512_setzero_hi (),
   1154  1.1  mrg 						 (__mmask32) __U);
   1155  1.1  mrg }
   1156  1.1  mrg 
   1157  1.1  mrg extern __inline __m512i
   1158  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1159  1.1  mrg _mm512_maddubs_epi16 (__m512i __X, __m512i __Y)
   1160  1.1  mrg {
   1161  1.1  mrg   return (__m512i) __builtin_ia32_pmaddubsw512_mask ((__v64qi) __X,
   1162  1.1  mrg 						     (__v64qi) __Y,
   1163  1.1  mrg 						     (__v32hi)
   1164  1.1  mrg 						     _mm512_setzero_hi (),
   1165  1.1  mrg 						     (__mmask32) -1);
   1166  1.1  mrg }
   1167  1.1  mrg 
   1168  1.1  mrg extern __inline __m512i
   1169  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1170  1.1  mrg _mm512_mask_maddubs_epi16 (__m512i __W, __mmask32 __U, __m512i __X,
   1171  1.1  mrg 			   __m512i __Y)
   1172  1.1  mrg {
   1173  1.1  mrg   return (__m512i) __builtin_ia32_pmaddubsw512_mask ((__v64qi) __X,
   1174  1.1  mrg 						     (__v64qi) __Y,
   1175  1.1  mrg 						     (__v32hi) __W,
   1176  1.1  mrg 						     (__mmask32) __U);
   1177  1.1  mrg }
   1178  1.1  mrg 
   1179  1.1  mrg extern __inline __m512i
   1180  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1181  1.1  mrg _mm512_maskz_maddubs_epi16 (__mmask32 __U, __m512i __X, __m512i __Y)
   1182  1.1  mrg {
   1183  1.1  mrg   return (__m512i) __builtin_ia32_pmaddubsw512_mask ((__v64qi) __X,
   1184  1.1  mrg 						     (__v64qi) __Y,
   1185  1.1  mrg 						     (__v32hi)
   1186  1.1  mrg 						     _mm512_setzero_hi (),
   1187  1.1  mrg 						     (__mmask32) __U);
   1188  1.1  mrg }
   1189  1.1  mrg 
   1190  1.1  mrg extern __inline __m512i
   1191  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1192  1.1  mrg _mm512_madd_epi16 (__m512i __A, __m512i __B)
   1193  1.1  mrg {
   1194  1.1  mrg   return (__m512i) __builtin_ia32_pmaddwd512_mask ((__v32hi) __A,
   1195  1.1  mrg 						   (__v32hi) __B,
   1196  1.1  mrg 						   (__v16si)
   1197  1.1  mrg 						   _mm512_setzero_si512 (),
   1198  1.1  mrg 						   (__mmask16) -1);
   1199  1.1  mrg }
   1200  1.1  mrg 
   1201  1.1  mrg extern __inline __m512i
   1202  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1203  1.1  mrg _mm512_mask_madd_epi16 (__m512i __W, __mmask16 __U, __m512i __A,
   1204  1.1  mrg 			__m512i __B)
   1205  1.1  mrg {
   1206  1.1  mrg   return (__m512i) __builtin_ia32_pmaddwd512_mask ((__v32hi) __A,
   1207  1.1  mrg 						   (__v32hi) __B,
   1208  1.1  mrg 						   (__v16si) __W,
   1209  1.1  mrg 						   (__mmask16) __U);
   1210  1.1  mrg }
   1211  1.1  mrg 
   1212  1.1  mrg extern __inline __m512i
   1213  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1214  1.1  mrg _mm512_maskz_madd_epi16 (__mmask16 __U, __m512i __A, __m512i __B)
   1215  1.1  mrg {
   1216  1.1  mrg   return (__m512i) __builtin_ia32_pmaddwd512_mask ((__v32hi) __A,
   1217  1.1  mrg 						   (__v32hi) __B,
   1218  1.1  mrg 						   (__v16si)
   1219  1.1  mrg 						   _mm512_setzero_si512 (),
   1220  1.1  mrg 						   (__mmask16) __U);
   1221  1.1  mrg }
   1222  1.1  mrg 
   1223  1.1  mrg extern __inline __m512i
   1224  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1225  1.1  mrg _mm512_unpackhi_epi8 (__m512i __A, __m512i __B)
   1226  1.1  mrg {
   1227  1.1  mrg   return (__m512i) __builtin_ia32_punpckhbw512_mask ((__v64qi) __A,
   1228  1.1  mrg 						     (__v64qi) __B,
   1229  1.1  mrg 						     (__v64qi)
   1230  1.1  mrg 						     _mm512_setzero_qi (),
   1231  1.1  mrg 						     (__mmask64) -1);
   1232  1.1  mrg }
   1233  1.1  mrg 
   1234  1.1  mrg extern __inline __m512i
   1235  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1236  1.1  mrg _mm512_mask_unpackhi_epi8 (__m512i __W, __mmask64 __U, __m512i __A,
   1237  1.1  mrg 			   __m512i __B)
   1238  1.1  mrg {
   1239  1.1  mrg   return (__m512i) __builtin_ia32_punpckhbw512_mask ((__v64qi) __A,
   1240  1.1  mrg 						     (__v64qi) __B,
   1241  1.1  mrg 						     (__v64qi) __W,
   1242  1.1  mrg 						     (__mmask64) __U);
   1243  1.1  mrg }
   1244  1.1  mrg 
   1245  1.1  mrg extern __inline __m512i
   1246  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1247  1.1  mrg _mm512_maskz_unpackhi_epi8 (__mmask64 __U, __m512i __A, __m512i __B)
   1248  1.1  mrg {
   1249  1.1  mrg   return (__m512i) __builtin_ia32_punpckhbw512_mask ((__v64qi) __A,
   1250  1.1  mrg 						     (__v64qi) __B,
   1251  1.1  mrg 						     (__v64qi)
   1252  1.1  mrg 						     _mm512_setzero_qi(),
   1253  1.1  mrg 						     (__mmask64) __U);
   1254  1.1  mrg }
   1255  1.1  mrg 
   1256  1.1  mrg extern __inline __m512i
   1257  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1258  1.1  mrg _mm512_unpackhi_epi16 (__m512i __A, __m512i __B)
   1259  1.1  mrg {
   1260  1.1  mrg   return (__m512i) __builtin_ia32_punpckhwd512_mask ((__v32hi) __A,
   1261  1.1  mrg 						     (__v32hi) __B,
   1262  1.1  mrg 						     (__v32hi)
   1263  1.1  mrg 						     _mm512_setzero_hi (),
   1264  1.1  mrg 						     (__mmask32) -1);
   1265  1.1  mrg }
   1266  1.1  mrg 
   1267  1.1  mrg extern __inline __m512i
   1268  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1269  1.1  mrg _mm512_mask_unpackhi_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
   1270  1.1  mrg 			    __m512i __B)
   1271  1.1  mrg {
   1272  1.1  mrg   return (__m512i) __builtin_ia32_punpckhwd512_mask ((__v32hi) __A,
   1273  1.1  mrg 						     (__v32hi) __B,
   1274  1.1  mrg 						     (__v32hi) __W,
   1275  1.1  mrg 						     (__mmask32) __U);
   1276  1.1  mrg }
   1277  1.1  mrg 
   1278  1.1  mrg extern __inline __m512i
   1279  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1280  1.1  mrg _mm512_maskz_unpackhi_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
   1281  1.1  mrg {
   1282  1.1  mrg   return (__m512i) __builtin_ia32_punpckhwd512_mask ((__v32hi) __A,
   1283  1.1  mrg 						     (__v32hi) __B,
   1284  1.1  mrg 						     (__v32hi)
   1285  1.1  mrg 						     _mm512_setzero_hi(),
   1286  1.1  mrg 						     (__mmask32) __U);
   1287  1.1  mrg }
   1288  1.1  mrg 
   1289  1.1  mrg extern __inline __m512i
   1290  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1291  1.1  mrg _mm512_unpacklo_epi8 (__m512i __A, __m512i __B)
   1292  1.1  mrg {
   1293  1.1  mrg   return (__m512i) __builtin_ia32_punpcklbw512_mask ((__v64qi) __A,
   1294  1.1  mrg 						     (__v64qi) __B,
   1295  1.1  mrg 						     (__v64qi)
   1296  1.1  mrg 						     _mm512_setzero_qi (),
   1297  1.1  mrg 						     (__mmask64) -1);
   1298  1.1  mrg }
   1299  1.1  mrg 
   1300  1.1  mrg extern __inline __m512i
   1301  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1302  1.1  mrg _mm512_mask_unpacklo_epi8 (__m512i __W, __mmask64 __U, __m512i __A,
   1303  1.1  mrg 			   __m512i __B)
   1304  1.1  mrg {
   1305  1.1  mrg   return (__m512i) __builtin_ia32_punpcklbw512_mask ((__v64qi) __A,
   1306  1.1  mrg 						     (__v64qi) __B,
   1307  1.1  mrg 						     (__v64qi) __W,
   1308  1.1  mrg 						     (__mmask64) __U);
   1309  1.1  mrg }
   1310  1.1  mrg 
   1311  1.1  mrg extern __inline __m512i
   1312  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1313  1.1  mrg _mm512_maskz_unpacklo_epi8 (__mmask64 __U, __m512i __A, __m512i __B)
   1314  1.1  mrg {
   1315  1.1  mrg   return (__m512i) __builtin_ia32_punpcklbw512_mask ((__v64qi) __A,
   1316  1.1  mrg 						     (__v64qi) __B,
   1317  1.1  mrg 						     (__v64qi)
   1318  1.1  mrg 						     _mm512_setzero_qi(),
   1319  1.1  mrg 						     (__mmask64) __U);
   1320  1.1  mrg }
   1321  1.1  mrg 
   1322  1.1  mrg extern __inline __m512i
   1323  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1324  1.1  mrg _mm512_unpacklo_epi16 (__m512i __A, __m512i __B)
   1325  1.1  mrg {
   1326  1.1  mrg   return (__m512i) __builtin_ia32_punpcklwd512_mask ((__v32hi) __A,
   1327  1.1  mrg 						     (__v32hi) __B,
   1328  1.1  mrg 						     (__v32hi)
   1329  1.1  mrg 						     _mm512_setzero_hi (),
   1330  1.1  mrg 						     (__mmask32) -1);
   1331  1.1  mrg }
   1332  1.1  mrg 
   1333  1.1  mrg extern __inline __m512i
   1334  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1335  1.1  mrg _mm512_mask_unpacklo_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
   1336  1.1  mrg 			    __m512i __B)
   1337  1.1  mrg {
   1338  1.1  mrg   return (__m512i) __builtin_ia32_punpcklwd512_mask ((__v32hi) __A,
   1339  1.1  mrg 						     (__v32hi) __B,
   1340  1.1  mrg 						     (__v32hi) __W,
   1341  1.1  mrg 						     (__mmask32) __U);
   1342  1.1  mrg }
   1343  1.1  mrg 
   1344  1.1  mrg extern __inline __m512i
   1345  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1346  1.1  mrg _mm512_maskz_unpacklo_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
   1347  1.1  mrg {
   1348  1.1  mrg   return (__m512i) __builtin_ia32_punpcklwd512_mask ((__v32hi) __A,
   1349  1.1  mrg 						     (__v32hi) __B,
   1350  1.1  mrg 						     (__v32hi)
   1351  1.1  mrg 						     _mm512_setzero_hi(),
   1352  1.1  mrg 						     (__mmask32) __U);
   1353  1.1  mrg }
   1354  1.1  mrg 
   1355  1.1  mrg extern __inline __mmask64
   1356  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1357  1.1  mrg _mm512_cmpeq_epu8_mask (__m512i __A, __m512i __B)
   1358  1.1  mrg {
   1359  1.1  mrg   return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __A,
   1360  1.1  mrg 						    (__v64qi) __B, 0,
   1361  1.1  mrg 						    (__mmask64) -1);
   1362  1.1  mrg }
   1363  1.1  mrg 
   1364  1.1  mrg extern __inline __mmask64
   1365  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1366  1.1  mrg _mm512_cmpeq_epi8_mask (__m512i __A, __m512i __B)
   1367  1.1  mrg {
   1368  1.1  mrg   return (__mmask64) __builtin_ia32_pcmpeqb512_mask ((__v64qi) __A,
   1369  1.1  mrg 						     (__v64qi) __B,
   1370  1.1  mrg 						     (__mmask64) -1);
   1371  1.1  mrg }
   1372  1.1  mrg 
   1373  1.1  mrg extern __inline __mmask64
   1374  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1375  1.1  mrg _mm512_mask_cmpeq_epu8_mask (__mmask64 __U, __m512i __A, __m512i __B)
   1376  1.1  mrg {
   1377  1.1  mrg   return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __A,
   1378  1.1  mrg 						    (__v64qi) __B, 0,
   1379  1.1  mrg 						    __U);
   1380  1.1  mrg }
   1381  1.1  mrg 
   1382  1.1  mrg extern __inline __mmask64
   1383  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1384  1.1  mrg _mm512_mask_cmpeq_epi8_mask (__mmask64 __U, __m512i __A, __m512i __B)
   1385  1.1  mrg {
   1386  1.1  mrg   return (__mmask64) __builtin_ia32_pcmpeqb512_mask ((__v64qi) __A,
   1387  1.1  mrg 						     (__v64qi) __B,
   1388  1.1  mrg 						     __U);
   1389  1.1  mrg }
   1390  1.1  mrg 
   1391  1.1  mrg extern __inline __mmask32
   1392  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1393  1.1  mrg _mm512_cmpeq_epu16_mask (__m512i __A, __m512i __B)
   1394  1.1  mrg {
   1395  1.1  mrg   return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __A,
   1396  1.1  mrg 						    (__v32hi) __B, 0,
   1397  1.1  mrg 						    (__mmask32) -1);
   1398  1.1  mrg }
   1399  1.1  mrg 
   1400  1.1  mrg extern __inline __mmask32
   1401  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1402  1.1  mrg _mm512_cmpeq_epi16_mask (__m512i __A, __m512i __B)
   1403  1.1  mrg {
   1404  1.1  mrg   return (__mmask32) __builtin_ia32_pcmpeqw512_mask ((__v32hi) __A,
   1405  1.1  mrg 						     (__v32hi) __B,
   1406  1.1  mrg 						     (__mmask32) -1);
   1407  1.1  mrg }
   1408  1.1  mrg 
   1409  1.1  mrg extern __inline __mmask32
   1410  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1411  1.1  mrg _mm512_mask_cmpeq_epu16_mask (__mmask32 __U, __m512i __A, __m512i __B)
   1412  1.1  mrg {
   1413  1.1  mrg   return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __A,
   1414  1.1  mrg 						    (__v32hi) __B, 0,
   1415  1.1  mrg 						    __U);
   1416  1.1  mrg }
   1417  1.1  mrg 
   1418  1.1  mrg extern __inline __mmask32
   1419  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1420  1.1  mrg _mm512_mask_cmpeq_epi16_mask (__mmask32 __U, __m512i __A, __m512i __B)
   1421  1.1  mrg {
   1422  1.1  mrg   return (__mmask32) __builtin_ia32_pcmpeqw512_mask ((__v32hi) __A,
   1423  1.1  mrg 						     (__v32hi) __B,
   1424  1.1  mrg 						     __U);
   1425  1.1  mrg }
   1426  1.1  mrg 
   1427  1.1  mrg extern __inline __mmask64
   1428  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1429  1.1  mrg _mm512_cmpgt_epu8_mask (__m512i __A, __m512i __B)
   1430  1.1  mrg {
   1431  1.1  mrg   return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __A,
   1432  1.1  mrg 						    (__v64qi) __B, 6,
   1433  1.1  mrg 						    (__mmask64) -1);
   1434  1.1  mrg }
   1435  1.1  mrg 
   1436  1.1  mrg extern __inline __mmask64
   1437  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1438  1.1  mrg _mm512_cmpgt_epi8_mask (__m512i __A, __m512i __B)
   1439  1.1  mrg {
   1440  1.1  mrg   return (__mmask64) __builtin_ia32_pcmpgtb512_mask ((__v64qi) __A,
   1441  1.1  mrg 						     (__v64qi) __B,
   1442  1.1  mrg 						     (__mmask64) -1);
   1443  1.1  mrg }
   1444  1.1  mrg 
   1445  1.1  mrg extern __inline __mmask64
   1446  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1447  1.1  mrg _mm512_mask_cmpgt_epu8_mask (__mmask64 __U, __m512i __A, __m512i __B)
   1448  1.1  mrg {
   1449  1.1  mrg   return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __A,
   1450  1.1  mrg 						    (__v64qi) __B, 6,
   1451  1.1  mrg 						    __U);
   1452  1.1  mrg }
   1453  1.1  mrg 
   1454  1.1  mrg extern __inline __mmask64
   1455  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1456  1.1  mrg _mm512_mask_cmpgt_epi8_mask (__mmask64 __U, __m512i __A, __m512i __B)
   1457  1.1  mrg {
   1458  1.1  mrg   return (__mmask64) __builtin_ia32_pcmpgtb512_mask ((__v64qi) __A,
   1459  1.1  mrg 						     (__v64qi) __B,
   1460  1.1  mrg 						     __U);
   1461  1.1  mrg }
   1462  1.1  mrg 
   1463  1.1  mrg extern __inline __mmask32
   1464  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1465  1.1  mrg _mm512_cmpgt_epu16_mask (__m512i __A, __m512i __B)
   1466  1.1  mrg {
   1467  1.1  mrg   return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __A,
   1468  1.1  mrg 						    (__v32hi) __B, 6,
   1469  1.1  mrg 						    (__mmask32) -1);
   1470  1.1  mrg }
   1471  1.1  mrg 
   1472  1.1  mrg extern __inline __mmask32
   1473  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1474  1.1  mrg _mm512_cmpgt_epi16_mask (__m512i __A, __m512i __B)
   1475  1.1  mrg {
   1476  1.1  mrg   return (__mmask32) __builtin_ia32_pcmpgtw512_mask ((__v32hi) __A,
   1477  1.1  mrg 						     (__v32hi) __B,
   1478  1.1  mrg 						     (__mmask32) -1);
   1479  1.1  mrg }
   1480  1.1  mrg 
   1481  1.1  mrg extern __inline __mmask32
   1482  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1483  1.1  mrg _mm512_mask_cmpgt_epu16_mask (__mmask32 __U, __m512i __A, __m512i __B)
   1484  1.1  mrg {
   1485  1.1  mrg   return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __A,
   1486  1.1  mrg 						    (__v32hi) __B, 6,
   1487  1.1  mrg 						    __U);
   1488  1.1  mrg }
   1489  1.1  mrg 
   1490  1.1  mrg extern __inline __mmask32
   1491  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1492  1.1  mrg _mm512_mask_cmpgt_epi16_mask (__mmask32 __U, __m512i __A, __m512i __B)
   1493  1.1  mrg {
   1494  1.1  mrg   return (__mmask32) __builtin_ia32_pcmpgtw512_mask ((__v32hi) __A,
   1495  1.1  mrg 						     (__v32hi) __B,
   1496  1.1  mrg 						     __U);
   1497  1.1  mrg }
   1498  1.1  mrg 
   1499  1.1  mrg extern __inline __mmask64
   1500  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1501  1.1  mrg _mm512_movepi8_mask (__m512i __A)
   1502  1.1  mrg {
   1503  1.1  mrg   return (__mmask64) __builtin_ia32_cvtb2mask512 ((__v64qi) __A);
   1504  1.1  mrg }
   1505  1.1  mrg 
   1506  1.1  mrg extern __inline __mmask32
   1507  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1508  1.1  mrg _mm512_movepi16_mask (__m512i __A)
   1509  1.1  mrg {
   1510  1.1  mrg   return (__mmask32) __builtin_ia32_cvtw2mask512 ((__v32hi) __A);
   1511  1.1  mrg }
   1512  1.1  mrg 
   1513  1.1  mrg extern __inline __m512i
   1514  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1515  1.1  mrg _mm512_movm_epi8 (__mmask64 __A)
   1516  1.1  mrg {
   1517  1.1  mrg   return (__m512i) __builtin_ia32_cvtmask2b512 (__A);
   1518  1.1  mrg }
   1519  1.1  mrg 
   1520  1.1  mrg extern __inline __m512i
   1521  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1522  1.1  mrg _mm512_movm_epi16 (__mmask32 __A)
   1523  1.1  mrg {
   1524  1.1  mrg   return (__m512i) __builtin_ia32_cvtmask2w512 (__A);
   1525  1.1  mrg }
   1526  1.1  mrg 
   1527  1.1  mrg extern __inline __mmask64
   1528  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1529  1.1  mrg _mm512_test_epi8_mask (__m512i __A, __m512i __B)
   1530  1.1  mrg {
   1531  1.1  mrg   return (__mmask64) __builtin_ia32_ptestmb512 ((__v64qi) __A,
   1532  1.1  mrg 						(__v64qi) __B,
   1533  1.1  mrg 						(__mmask64) -1);
   1534  1.1  mrg }
   1535  1.1  mrg 
   1536  1.1  mrg extern __inline __mmask64
   1537  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1538  1.1  mrg _mm512_mask_test_epi8_mask (__mmask64 __U, __m512i __A, __m512i __B)
   1539  1.1  mrg {
   1540  1.1  mrg   return (__mmask64) __builtin_ia32_ptestmb512 ((__v64qi) __A,
   1541  1.1  mrg 						(__v64qi) __B, __U);
   1542  1.1  mrg }
   1543  1.1  mrg 
   1544  1.1  mrg extern __inline __mmask32
   1545  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1546  1.1  mrg _mm512_test_epi16_mask (__m512i __A, __m512i __B)
   1547  1.1  mrg {
   1548  1.1  mrg   return (__mmask32) __builtin_ia32_ptestmw512 ((__v32hi) __A,
   1549  1.1  mrg 						(__v32hi) __B,
   1550  1.1  mrg 						(__mmask32) -1);
   1551  1.1  mrg }
   1552  1.1  mrg 
   1553  1.1  mrg extern __inline __mmask32
   1554  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1555  1.1  mrg _mm512_mask_test_epi16_mask (__mmask32 __U, __m512i __A, __m512i __B)
   1556  1.1  mrg {
   1557  1.1  mrg   return (__mmask32) __builtin_ia32_ptestmw512 ((__v32hi) __A,
   1558  1.1  mrg 						(__v32hi) __B, __U);
   1559  1.1  mrg }
   1560  1.1  mrg 
   1561  1.1  mrg extern __inline __mmask64
   1562  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1563  1.1  mrg _mm512_testn_epi8_mask (__m512i __A, __m512i __B)
   1564  1.1  mrg {
   1565  1.1  mrg   return (__mmask64) __builtin_ia32_ptestnmb512 ((__v64qi) __A,
   1566  1.1  mrg 						 (__v64qi) __B,
   1567  1.1  mrg 						 (__mmask64) -1);
   1568  1.1  mrg }
   1569  1.1  mrg 
   1570  1.1  mrg extern __inline __mmask64
   1571  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1572  1.1  mrg _mm512_mask_testn_epi8_mask (__mmask64 __U, __m512i __A, __m512i __B)
   1573  1.1  mrg {
   1574  1.1  mrg   return (__mmask64) __builtin_ia32_ptestnmb512 ((__v64qi) __A,
   1575  1.1  mrg 						 (__v64qi) __B, __U);
   1576  1.1  mrg }
   1577  1.1  mrg 
   1578  1.1  mrg extern __inline __mmask32
   1579  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1580  1.1  mrg _mm512_testn_epi16_mask (__m512i __A, __m512i __B)
   1581  1.1  mrg {
   1582  1.1  mrg   return (__mmask32) __builtin_ia32_ptestnmw512 ((__v32hi) __A,
   1583  1.1  mrg 						 (__v32hi) __B,
   1584  1.1  mrg 						 (__mmask32) -1);
   1585  1.1  mrg }
   1586  1.1  mrg 
   1587  1.1  mrg extern __inline __mmask32
   1588  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1589  1.1  mrg _mm512_mask_testn_epi16_mask (__mmask32 __U, __m512i __A, __m512i __B)
   1590  1.1  mrg {
   1591  1.1  mrg   return (__mmask32) __builtin_ia32_ptestnmw512 ((__v32hi) __A,
   1592  1.1  mrg 						 (__v32hi) __B, __U);
   1593  1.1  mrg }
   1594  1.1  mrg 
   1595  1.1  mrg extern __inline __m512i
   1596  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1597  1.1  mrg _mm512_shuffle_epi8 (__m512i __A, __m512i __B)
   1598  1.1  mrg {
   1599  1.1  mrg   return (__m512i) __builtin_ia32_pshufb512_mask ((__v64qi) __A,
   1600  1.1  mrg 						  (__v64qi) __B,
   1601  1.1  mrg 						  (__v64qi)
   1602  1.1  mrg 						  _mm512_setzero_qi (),
   1603  1.1  mrg 						  (__mmask64) -1);
   1604  1.1  mrg }
   1605  1.1  mrg 
   1606  1.1  mrg extern __inline __m512i
   1607  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1608  1.1  mrg _mm512_mask_shuffle_epi8 (__m512i __W, __mmask64 __U, __m512i __A,
   1609  1.1  mrg 			  __m512i __B)
   1610  1.1  mrg {
   1611  1.1  mrg   return (__m512i) __builtin_ia32_pshufb512_mask ((__v64qi) __A,
   1612  1.1  mrg 						  (__v64qi) __B,
   1613  1.1  mrg 						  (__v64qi) __W,
   1614  1.1  mrg 						  (__mmask64) __U);
   1615  1.1  mrg }
   1616  1.1  mrg 
   1617  1.1  mrg extern __inline __m512i
   1618  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1619  1.1  mrg _mm512_maskz_shuffle_epi8 (__mmask64 __U, __m512i __A, __m512i __B)
   1620  1.1  mrg {
   1621  1.1  mrg   return (__m512i) __builtin_ia32_pshufb512_mask ((__v64qi) __A,
   1622  1.1  mrg 						  (__v64qi) __B,
   1623  1.1  mrg 						  (__v64qi)
   1624  1.1  mrg 						  _mm512_setzero_qi (),
   1625  1.1  mrg 						  (__mmask64) __U);
   1626  1.1  mrg }
   1627  1.1  mrg 
   1628  1.1  mrg extern __inline __m512i
   1629  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1630  1.1  mrg _mm512_min_epu16 (__m512i __A, __m512i __B)
   1631  1.1  mrg {
   1632  1.1  mrg   return (__m512i) __builtin_ia32_pminuw512_mask ((__v32hi) __A,
   1633  1.1  mrg 						  (__v32hi) __B,
   1634  1.1  mrg 						  (__v32hi)
   1635  1.1  mrg 						  _mm512_setzero_hi (),
   1636  1.1  mrg 						  (__mmask32) -1);
   1637  1.1  mrg }
   1638  1.1  mrg 
   1639  1.1  mrg extern __inline __m512i
   1640  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1641  1.1  mrg _mm512_maskz_min_epu16 (__mmask32 __M, __m512i __A, __m512i __B)
   1642  1.1  mrg {
   1643  1.1  mrg   return (__m512i) __builtin_ia32_pminuw512_mask ((__v32hi) __A,
   1644  1.1  mrg 						  (__v32hi) __B,
   1645  1.1  mrg 						  (__v32hi)
   1646  1.1  mrg 						  _mm512_setzero_hi(),
   1647  1.1  mrg 						  (__mmask32) __M);
   1648  1.1  mrg }
   1649  1.1  mrg 
   1650  1.1  mrg extern __inline __m512i
   1651  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1652  1.1  mrg _mm512_mask_min_epu16 (__m512i __W, __mmask32 __M, __m512i __A,
   1653  1.1  mrg 		       __m512i __B)
   1654  1.1  mrg {
   1655  1.1  mrg   return (__m512i) __builtin_ia32_pminuw512_mask ((__v32hi) __A,
   1656  1.1  mrg 						  (__v32hi) __B,
   1657  1.1  mrg 						  (__v32hi) __W,
   1658  1.1  mrg 						  (__mmask32) __M);
   1659  1.1  mrg }
   1660  1.1  mrg 
   1661  1.1  mrg extern __inline __m512i
   1662  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1663  1.1  mrg _mm512_min_epi16 (__m512i __A, __m512i __B)
   1664  1.1  mrg {
   1665  1.1  mrg   return (__m512i) __builtin_ia32_pminsw512_mask ((__v32hi) __A,
   1666  1.1  mrg 						  (__v32hi) __B,
   1667  1.1  mrg 						  (__v32hi)
   1668  1.1  mrg 						  _mm512_setzero_hi (),
   1669  1.1  mrg 						  (__mmask32) -1);
   1670  1.1  mrg }
   1671  1.1  mrg 
   1672  1.1  mrg extern __inline __m512i
   1673  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1674  1.1  mrg _mm512_maskz_min_epi16 (__mmask32 __M, __m512i __A, __m512i __B)
   1675  1.1  mrg {
   1676  1.1  mrg   return (__m512i) __builtin_ia32_pminsw512_mask ((__v32hi) __A,
   1677  1.1  mrg 						  (__v32hi) __B,
   1678  1.1  mrg 						  (__v32hi)
   1679  1.1  mrg 						  _mm512_setzero_hi(),
   1680  1.1  mrg 						  (__mmask32) __M);
   1681  1.1  mrg }
   1682  1.1  mrg 
   1683  1.1  mrg extern __inline __m512i
   1684  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1685  1.1  mrg _mm512_mask_min_epi16 (__m512i __W, __mmask32 __M, __m512i __A,
   1686  1.1  mrg 		       __m512i __B)
   1687  1.1  mrg {
   1688  1.1  mrg   return (__m512i) __builtin_ia32_pminsw512_mask ((__v32hi) __A,
   1689  1.1  mrg 						  (__v32hi) __B,
   1690  1.1  mrg 						  (__v32hi) __W,
   1691  1.1  mrg 						  (__mmask32) __M);
   1692  1.1  mrg }
   1693  1.1  mrg 
   1694  1.1  mrg extern __inline __m512i
   1695  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1696  1.1  mrg _mm512_max_epu8 (__m512i __A, __m512i __B)
   1697  1.1  mrg {
   1698  1.1  mrg   return (__m512i) __builtin_ia32_pmaxub512_mask ((__v64qi) __A,
   1699  1.1  mrg 						  (__v64qi) __B,
   1700  1.1  mrg 						  (__v64qi)
   1701  1.1  mrg 						  _mm512_setzero_qi (),
   1702  1.1  mrg 						  (__mmask64) -1);
   1703  1.1  mrg }
   1704  1.1  mrg 
   1705  1.1  mrg extern __inline __m512i
   1706  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1707  1.1  mrg _mm512_maskz_max_epu8 (__mmask64 __M, __m512i __A, __m512i __B)
   1708  1.1  mrg {
   1709  1.1  mrg   return (__m512i) __builtin_ia32_pmaxub512_mask ((__v64qi) __A,
   1710  1.1  mrg 						  (__v64qi) __B,
   1711  1.1  mrg 						  (__v64qi)
   1712  1.1  mrg 						  _mm512_setzero_qi(),
   1713  1.1  mrg 						  (__mmask64) __M);
   1714  1.1  mrg }
   1715  1.1  mrg 
   1716  1.1  mrg extern __inline __m512i
   1717  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1718  1.1  mrg _mm512_mask_max_epu8 (__m512i __W, __mmask64 __M, __m512i __A,
   1719  1.1  mrg 		      __m512i __B)
   1720  1.1  mrg {
   1721  1.1  mrg   return (__m512i) __builtin_ia32_pmaxub512_mask ((__v64qi) __A,
   1722  1.1  mrg 						  (__v64qi) __B,
   1723  1.1  mrg 						  (__v64qi) __W,
   1724  1.1  mrg 						  (__mmask64) __M);
   1725  1.1  mrg }
   1726  1.1  mrg 
   1727  1.1  mrg extern __inline __m512i
   1728  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1729  1.1  mrg _mm512_max_epi8 (__m512i __A, __m512i __B)
   1730  1.1  mrg {
   1731  1.1  mrg   return (__m512i) __builtin_ia32_pmaxsb512_mask ((__v64qi) __A,
   1732  1.1  mrg 						  (__v64qi) __B,
   1733  1.1  mrg 						  (__v64qi)
   1734  1.1  mrg 						  _mm512_setzero_qi (),
   1735  1.1  mrg 						  (__mmask64) -1);
   1736  1.1  mrg }
   1737  1.1  mrg 
   1738  1.1  mrg extern __inline __m512i
   1739  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1740  1.1  mrg _mm512_maskz_max_epi8 (__mmask64 __M, __m512i __A, __m512i __B)
   1741  1.1  mrg {
   1742  1.1  mrg   return (__m512i) __builtin_ia32_pmaxsb512_mask ((__v64qi) __A,
   1743  1.1  mrg 						  (__v64qi) __B,
   1744  1.1  mrg 						  (__v64qi)
   1745  1.1  mrg 						  _mm512_setzero_qi(),
   1746  1.1  mrg 						  (__mmask64) __M);
   1747  1.1  mrg }
   1748  1.1  mrg 
   1749  1.1  mrg extern __inline __m512i
   1750  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1751  1.1  mrg _mm512_mask_max_epi8 (__m512i __W, __mmask64 __M, __m512i __A,
   1752  1.1  mrg 		      __m512i __B)
   1753  1.1  mrg {
   1754  1.1  mrg   return (__m512i) __builtin_ia32_pmaxsb512_mask ((__v64qi) __A,
   1755  1.1  mrg 						  (__v64qi) __B,
   1756  1.1  mrg 						  (__v64qi) __W,
   1757  1.1  mrg 						  (__mmask64) __M);
   1758  1.1  mrg }
   1759  1.1  mrg 
   1760  1.1  mrg extern __inline __m512i
   1761  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1762  1.1  mrg _mm512_min_epu8 (__m512i __A, __m512i __B)
   1763  1.1  mrg {
   1764  1.1  mrg   return (__m512i) __builtin_ia32_pminub512_mask ((__v64qi) __A,
   1765  1.1  mrg 						  (__v64qi) __B,
   1766  1.1  mrg 						  (__v64qi)
   1767  1.1  mrg 						  _mm512_setzero_qi (),
   1768  1.1  mrg 						  (__mmask64) -1);
   1769  1.1  mrg }
   1770  1.1  mrg 
   1771  1.1  mrg extern __inline __m512i
   1772  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1773  1.1  mrg _mm512_maskz_min_epu8 (__mmask64 __M, __m512i __A, __m512i __B)
   1774  1.1  mrg {
   1775  1.1  mrg   return (__m512i) __builtin_ia32_pminub512_mask ((__v64qi) __A,
   1776  1.1  mrg 						  (__v64qi) __B,
   1777  1.1  mrg 						  (__v64qi)
   1778  1.1  mrg 						  _mm512_setzero_qi(),
   1779  1.1  mrg 						  (__mmask64) __M);
   1780  1.1  mrg }
   1781  1.1  mrg 
   1782  1.1  mrg extern __inline __m512i
   1783  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1784  1.1  mrg _mm512_mask_min_epu8 (__m512i __W, __mmask64 __M, __m512i __A,
   1785  1.1  mrg 		      __m512i __B)
   1786  1.1  mrg {
   1787  1.1  mrg   return (__m512i) __builtin_ia32_pminub512_mask ((__v64qi) __A,
   1788  1.1  mrg 						  (__v64qi) __B,
   1789  1.1  mrg 						  (__v64qi) __W,
   1790  1.1  mrg 						  (__mmask64) __M);
   1791  1.1  mrg }
   1792  1.1  mrg 
   1793  1.1  mrg extern __inline __m512i
   1794  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1795  1.1  mrg _mm512_min_epi8 (__m512i __A, __m512i __B)
   1796  1.1  mrg {
   1797  1.1  mrg   return (__m512i) __builtin_ia32_pminsb512_mask ((__v64qi) __A,
   1798  1.1  mrg 						  (__v64qi) __B,
   1799  1.1  mrg 						  (__v64qi)
   1800  1.1  mrg 						  _mm512_setzero_qi (),
   1801  1.1  mrg 						  (__mmask64) -1);
   1802  1.1  mrg }
   1803  1.1  mrg 
   1804  1.1  mrg extern __inline __m512i
   1805  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1806  1.1  mrg _mm512_maskz_min_epi8 (__mmask64 __M, __m512i __A, __m512i __B)
   1807  1.1  mrg {
   1808  1.1  mrg   return (__m512i) __builtin_ia32_pminsb512_mask ((__v64qi) __A,
   1809  1.1  mrg 						  (__v64qi) __B,
   1810  1.1  mrg 						  (__v64qi)
   1811  1.1  mrg 						  _mm512_setzero_qi(),
   1812  1.1  mrg 						  (__mmask64) __M);
   1813  1.1  mrg }
   1814  1.1  mrg 
   1815  1.1  mrg extern __inline __m512i
   1816  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1817  1.1  mrg _mm512_mask_min_epi8 (__m512i __W, __mmask64 __M, __m512i __A,
   1818  1.1  mrg 		      __m512i __B)
   1819  1.1  mrg {
   1820  1.1  mrg   return (__m512i) __builtin_ia32_pminsb512_mask ((__v64qi) __A,
   1821  1.1  mrg 						  (__v64qi) __B,
   1822  1.1  mrg 						  (__v64qi) __W,
   1823  1.1  mrg 						  (__mmask64) __M);
   1824  1.1  mrg }
   1825  1.1  mrg 
   1826  1.1  mrg extern __inline __m512i
   1827  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1828  1.1  mrg _mm512_max_epi16 (__m512i __A, __m512i __B)
   1829  1.1  mrg {
   1830  1.1  mrg   return (__m512i) __builtin_ia32_pmaxsw512_mask ((__v32hi) __A,
   1831  1.1  mrg 						  (__v32hi) __B,
   1832  1.1  mrg 						  (__v32hi)
   1833  1.1  mrg 						  _mm512_setzero_hi (),
   1834  1.1  mrg 						  (__mmask32) -1);
   1835  1.1  mrg }
   1836  1.1  mrg 
   1837  1.1  mrg extern __inline __m512i
   1838  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1839  1.1  mrg _mm512_maskz_max_epi16 (__mmask32 __M, __m512i __A, __m512i __B)
   1840  1.1  mrg {
   1841  1.1  mrg   return (__m512i) __builtin_ia32_pmaxsw512_mask ((__v32hi) __A,
   1842  1.1  mrg 						  (__v32hi) __B,
   1843  1.1  mrg 						  (__v32hi)
   1844  1.1  mrg 						  _mm512_setzero_hi(),
   1845  1.1  mrg 						  (__mmask32) __M);
   1846  1.1  mrg }
   1847  1.1  mrg 
   1848  1.1  mrg extern __inline __m512i
   1849  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1850  1.1  mrg _mm512_mask_max_epi16 (__m512i __W, __mmask32 __M, __m512i __A,
   1851  1.1  mrg 		       __m512i __B)
   1852  1.1  mrg {
   1853  1.1  mrg   return (__m512i) __builtin_ia32_pmaxsw512_mask ((__v32hi) __A,
   1854  1.1  mrg 						  (__v32hi) __B,
   1855  1.1  mrg 						  (__v32hi) __W,
   1856  1.1  mrg 						  (__mmask32) __M);
   1857  1.1  mrg }
   1858  1.1  mrg 
   1859  1.1  mrg extern __inline __m512i
   1860  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1861  1.1  mrg _mm512_max_epu16 (__m512i __A, __m512i __B)
   1862  1.1  mrg {
   1863  1.1  mrg   return (__m512i) __builtin_ia32_pmaxuw512_mask ((__v32hi) __A,
   1864  1.1  mrg 						  (__v32hi) __B,
   1865  1.1  mrg 						  (__v32hi)
   1866  1.1  mrg 						  _mm512_setzero_hi (),
   1867  1.1  mrg 						  (__mmask32) -1);
   1868  1.1  mrg }
   1869  1.1  mrg 
   1870  1.1  mrg extern __inline __m512i
   1871  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1872  1.1  mrg _mm512_maskz_max_epu16 (__mmask32 __M, __m512i __A, __m512i __B)
   1873  1.1  mrg {
   1874  1.1  mrg   return (__m512i) __builtin_ia32_pmaxuw512_mask ((__v32hi) __A,
   1875  1.1  mrg 						  (__v32hi) __B,
   1876  1.1  mrg 						  (__v32hi)
   1877  1.1  mrg 						  _mm512_setzero_hi(),
   1878  1.1  mrg 						  (__mmask32) __M);
   1879  1.1  mrg }
   1880  1.1  mrg 
   1881  1.1  mrg extern __inline __m512i
   1882  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1883  1.1  mrg _mm512_mask_max_epu16 (__m512i __W, __mmask32 __M, __m512i __A,
   1884  1.1  mrg 		       __m512i __B)
   1885  1.1  mrg {
   1886  1.1  mrg   return (__m512i) __builtin_ia32_pmaxuw512_mask ((__v32hi) __A,
   1887  1.1  mrg 						  (__v32hi) __B,
   1888  1.1  mrg 						  (__v32hi) __W,
   1889  1.1  mrg 						  (__mmask32) __M);
   1890  1.1  mrg }
   1891  1.1  mrg 
   1892  1.1  mrg extern __inline __m512i
   1893  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1894  1.1  mrg _mm512_sra_epi16 (__m512i __A, __m128i __B)
   1895  1.1  mrg {
   1896  1.1  mrg   return (__m512i) __builtin_ia32_psraw512_mask ((__v32hi) __A,
   1897  1.1  mrg 						 (__v8hi) __B,
   1898  1.1  mrg 						 (__v32hi)
   1899  1.1  mrg 						 _mm512_setzero_hi (),
   1900  1.1  mrg 						 (__mmask32) -1);
   1901  1.1  mrg }
   1902  1.1  mrg 
   1903  1.1  mrg extern __inline __m512i
   1904  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1905  1.1  mrg _mm512_mask_sra_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
   1906  1.1  mrg 		       __m128i __B)
   1907  1.1  mrg {
   1908  1.1  mrg   return (__m512i) __builtin_ia32_psraw512_mask ((__v32hi) __A,
   1909  1.1  mrg 						 (__v8hi) __B,
   1910  1.1  mrg 						 (__v32hi) __W,
   1911  1.1  mrg 						 (__mmask32) __U);
   1912  1.1  mrg }
   1913  1.1  mrg 
   1914  1.1  mrg extern __inline __m512i
   1915  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1916  1.1  mrg _mm512_maskz_sra_epi16 (__mmask32 __U, __m512i __A, __m128i __B)
   1917  1.1  mrg {
   1918  1.1  mrg   return (__m512i) __builtin_ia32_psraw512_mask ((__v32hi) __A,
   1919  1.1  mrg 						 (__v8hi) __B,
   1920  1.1  mrg 						 (__v32hi)
   1921  1.1  mrg 						 _mm512_setzero_hi (),
   1922  1.1  mrg 						 (__mmask32) __U);
   1923  1.1  mrg }
   1924  1.1  mrg 
   1925  1.1  mrg extern __inline __m512i
   1926  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1927  1.1  mrg _mm512_srav_epi16 (__m512i __A, __m512i __B)
   1928  1.1  mrg {
   1929  1.1  mrg   return (__m512i) __builtin_ia32_psrav32hi_mask ((__v32hi) __A,
   1930  1.1  mrg 						  (__v32hi) __B,
   1931  1.1  mrg 						  (__v32hi)
   1932  1.1  mrg 						  _mm512_setzero_hi (),
   1933  1.1  mrg 						  (__mmask32) -1);
   1934  1.1  mrg }
   1935  1.1  mrg 
   1936  1.1  mrg extern __inline __m512i
   1937  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1938  1.1  mrg _mm512_mask_srav_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
   1939  1.1  mrg 			__m512i __B)
   1940  1.1  mrg {
   1941  1.1  mrg   return (__m512i) __builtin_ia32_psrav32hi_mask ((__v32hi) __A,
   1942  1.1  mrg 						  (__v32hi) __B,
   1943  1.1  mrg 						  (__v32hi) __W,
   1944  1.1  mrg 						  (__mmask32) __U);
   1945  1.1  mrg }
   1946  1.1  mrg 
   1947  1.1  mrg extern __inline __m512i
   1948  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1949  1.1  mrg _mm512_maskz_srav_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
   1950  1.1  mrg {
   1951  1.1  mrg   return (__m512i) __builtin_ia32_psrav32hi_mask ((__v32hi) __A,
   1952  1.1  mrg 						  (__v32hi) __B,
   1953  1.1  mrg 						  (__v32hi)
   1954  1.1  mrg 						  _mm512_setzero_hi (),
   1955  1.1  mrg 						  (__mmask32) __U);
   1956  1.1  mrg }
   1957  1.1  mrg 
   1958  1.1  mrg extern __inline __m512i
   1959  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1960  1.1  mrg _mm512_srlv_epi16 (__m512i __A, __m512i __B)
   1961  1.1  mrg {
   1962  1.1  mrg   return (__m512i) __builtin_ia32_psrlv32hi_mask ((__v32hi) __A,
   1963  1.1  mrg 						  (__v32hi) __B,
   1964  1.1  mrg 						  (__v32hi)
   1965  1.1  mrg 						  _mm512_setzero_hi (),
   1966  1.1  mrg 						  (__mmask32) -1);
   1967  1.1  mrg }
   1968  1.1  mrg 
   1969  1.1  mrg extern __inline __m512i
   1970  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1971  1.1  mrg _mm512_mask_srlv_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
   1972  1.1  mrg 			__m512i __B)
   1973  1.1  mrg {
   1974  1.1  mrg   return (__m512i) __builtin_ia32_psrlv32hi_mask ((__v32hi) __A,
   1975  1.1  mrg 						  (__v32hi) __B,
   1976  1.1  mrg 						  (__v32hi) __W,
   1977  1.1  mrg 						  (__mmask32) __U);
   1978  1.1  mrg }
   1979  1.1  mrg 
   1980  1.1  mrg extern __inline __m512i
   1981  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1982  1.1  mrg _mm512_maskz_srlv_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
   1983  1.1  mrg {
   1984  1.1  mrg   return (__m512i) __builtin_ia32_psrlv32hi_mask ((__v32hi) __A,
   1985  1.1  mrg 						  (__v32hi) __B,
   1986  1.1  mrg 						  (__v32hi)
   1987  1.1  mrg 						  _mm512_setzero_hi (),
   1988  1.1  mrg 						  (__mmask32) __U);
   1989  1.1  mrg }
   1990  1.1  mrg 
   1991  1.1  mrg extern __inline __m512i
   1992  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   1993  1.1  mrg _mm512_sllv_epi16 (__m512i __A, __m512i __B)
   1994  1.1  mrg {
   1995  1.1  mrg   return (__m512i) __builtin_ia32_psllv32hi_mask ((__v32hi) __A,
   1996  1.1  mrg 						  (__v32hi) __B,
   1997  1.1  mrg 						  (__v32hi)
   1998  1.1  mrg 						  _mm512_setzero_hi (),
   1999  1.1  mrg 						  (__mmask32) -1);
   2000  1.1  mrg }
   2001  1.1  mrg 
   2002  1.1  mrg extern __inline __m512i
   2003  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2004  1.1  mrg _mm512_mask_sllv_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
   2005  1.1  mrg 			__m512i __B)
   2006  1.1  mrg {
   2007  1.1  mrg   return (__m512i) __builtin_ia32_psllv32hi_mask ((__v32hi) __A,
   2008  1.1  mrg 						  (__v32hi) __B,
   2009  1.1  mrg 						  (__v32hi) __W,
   2010  1.1  mrg 						  (__mmask32) __U);
   2011  1.1  mrg }
   2012  1.1  mrg 
   2013  1.1  mrg extern __inline __m512i
   2014  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2015  1.1  mrg _mm512_maskz_sllv_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
   2016  1.1  mrg {
   2017  1.1  mrg   return (__m512i) __builtin_ia32_psllv32hi_mask ((__v32hi) __A,
   2018  1.1  mrg 						  (__v32hi) __B,
   2019  1.1  mrg 						  (__v32hi)
   2020  1.1  mrg 						  _mm512_setzero_hi (),
   2021  1.1  mrg 						  (__mmask32) __U);
   2022  1.1  mrg }
   2023  1.1  mrg 
   2024  1.1  mrg extern __inline __m512i
   2025  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2026  1.1  mrg _mm512_mask_packs_epi16 (__m512i __W, __mmask64 __M, __m512i __A,
   2027  1.1  mrg 			 __m512i __B)
   2028  1.1  mrg {
   2029  1.1  mrg   return (__m512i) __builtin_ia32_packsswb512_mask ((__v32hi) __A,
   2030  1.1  mrg 						    (__v32hi) __B,
   2031  1.1  mrg 						    (__v64qi) __W,
   2032  1.1  mrg 						    (__mmask64) __M);
   2033  1.1  mrg }
   2034  1.1  mrg 
   2035  1.1  mrg extern __inline __m512i
   2036  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2037  1.1  mrg _mm512_maskz_packs_epi16 (__mmask64 __M, __m512i __A, __m512i __B)
   2038  1.1  mrg {
   2039  1.1  mrg   return (__m512i) __builtin_ia32_packsswb512_mask ((__v32hi) __A,
   2040  1.1  mrg 						    (__v32hi) __B,
   2041  1.1  mrg 						    (__v64qi)
   2042  1.1  mrg 						    _mm512_setzero_qi(),
   2043  1.1  mrg 						    __M);
   2044  1.1  mrg }
   2045  1.1  mrg 
   2046  1.1  mrg extern __inline __m512i
   2047  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2048  1.1  mrg _mm512_packus_epi16 (__m512i __A, __m512i __B)
   2049  1.1  mrg {
   2050  1.1  mrg   return (__m512i) __builtin_ia32_packuswb512_mask ((__v32hi) __A,
   2051  1.1  mrg 						    (__v32hi) __B,
   2052  1.1  mrg 						    (__v64qi)
   2053  1.1  mrg 						    _mm512_setzero_qi (),
   2054  1.1  mrg 						    (__mmask64) -1);
   2055  1.1  mrg }
   2056  1.1  mrg 
   2057  1.1  mrg extern __inline __m512i
   2058  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2059  1.1  mrg _mm512_mask_packus_epi16 (__m512i __W, __mmask64 __M, __m512i __A,
   2060  1.1  mrg 			  __m512i __B)
   2061  1.1  mrg {
   2062  1.1  mrg   return (__m512i) __builtin_ia32_packuswb512_mask ((__v32hi) __A,
   2063  1.1  mrg 						    (__v32hi) __B,
   2064  1.1  mrg 						    (__v64qi) __W,
   2065  1.1  mrg 						    (__mmask64) __M);
   2066  1.1  mrg }
   2067  1.1  mrg 
   2068  1.1  mrg extern __inline __m512i
   2069  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2070  1.1  mrg _mm512_maskz_packus_epi16 (__mmask64 __M, __m512i __A, __m512i __B)
   2071  1.1  mrg {
   2072  1.1  mrg   return (__m512i) __builtin_ia32_packuswb512_mask ((__v32hi) __A,
   2073  1.1  mrg 						    (__v32hi) __B,
   2074  1.1  mrg 						    (__v64qi)
   2075  1.1  mrg 						    _mm512_setzero_qi(),
   2076  1.1  mrg 						    (__mmask64) __M);
   2077  1.1  mrg }
   2078  1.1  mrg 
   2079  1.1  mrg extern __inline __m512i
   2080  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2081  1.1  mrg _mm512_abs_epi8 (__m512i __A)
   2082  1.1  mrg {
   2083  1.1  mrg   return (__m512i) __builtin_ia32_pabsb512_mask ((__v64qi) __A,
   2084  1.1  mrg 						 (__v64qi)
   2085  1.1  mrg 						 _mm512_setzero_qi (),
   2086  1.1  mrg 						 (__mmask64) -1);
   2087  1.1  mrg }
   2088  1.1  mrg 
   2089  1.1  mrg extern __inline __m512i
   2090  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2091  1.1  mrg _mm512_mask_abs_epi8 (__m512i __W, __mmask64 __U, __m512i __A)
   2092  1.1  mrg {
   2093  1.1  mrg   return (__m512i) __builtin_ia32_pabsb512_mask ((__v64qi) __A,
   2094  1.1  mrg 						 (__v64qi) __W,
   2095  1.1  mrg 						 (__mmask64) __U);
   2096  1.1  mrg }
   2097  1.1  mrg 
   2098  1.1  mrg extern __inline __m512i
   2099  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2100  1.1  mrg _mm512_maskz_abs_epi8 (__mmask64 __U, __m512i __A)
   2101  1.1  mrg {
   2102  1.1  mrg   return (__m512i) __builtin_ia32_pabsb512_mask ((__v64qi) __A,
   2103  1.1  mrg 						 (__v64qi)
   2104  1.1  mrg 						 _mm512_setzero_qi (),
   2105  1.1  mrg 						 (__mmask64) __U);
   2106  1.1  mrg }
   2107  1.1  mrg 
   2108  1.1  mrg extern __inline __m512i
   2109  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2110  1.1  mrg _mm512_abs_epi16 (__m512i __A)
   2111  1.1  mrg {
   2112  1.1  mrg   return (__m512i) __builtin_ia32_pabsw512_mask ((__v32hi) __A,
   2113  1.1  mrg 						 (__v32hi)
   2114  1.1  mrg 						 _mm512_setzero_hi (),
   2115  1.1  mrg 						 (__mmask32) -1);
   2116  1.1  mrg }
   2117  1.1  mrg 
   2118  1.1  mrg extern __inline __m512i
   2119  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2120  1.1  mrg _mm512_mask_abs_epi16 (__m512i __W, __mmask32 __U, __m512i __A)
   2121  1.1  mrg {
   2122  1.1  mrg   return (__m512i) __builtin_ia32_pabsw512_mask ((__v32hi) __A,
   2123  1.1  mrg 						 (__v32hi) __W,
   2124  1.1  mrg 						 (__mmask32) __U);
   2125  1.1  mrg }
   2126  1.1  mrg 
   2127  1.1  mrg extern __inline __m512i
   2128  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2129  1.1  mrg _mm512_maskz_abs_epi16 (__mmask32 __U, __m512i __A)
   2130  1.1  mrg {
   2131  1.1  mrg   return (__m512i) __builtin_ia32_pabsw512_mask ((__v32hi) __A,
   2132  1.1  mrg 						 (__v32hi)
   2133  1.1  mrg 						 _mm512_setzero_hi (),
   2134  1.1  mrg 						 (__mmask32) __U);
   2135  1.1  mrg }
   2136  1.1  mrg 
   2137  1.1  mrg extern __inline __mmask64
   2138  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2139  1.1  mrg _mm512_mask_cmpneq_epu8_mask (__mmask64 __M, __m512i __X, __m512i __Y)
   2140  1.1  mrg {
   2141  1.1  mrg   return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X,
   2142  1.1  mrg 						   (__v64qi) __Y, 4,
   2143  1.1  mrg 						   (__mmask64) __M);
   2144  1.1  mrg }
   2145  1.1  mrg 
   2146  1.1  mrg extern __inline __mmask64
   2147  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2148  1.1  mrg _mm512_mask_cmplt_epu8_mask (__mmask64 __M, __m512i __X, __m512i __Y)
   2149  1.1  mrg {
   2150  1.1  mrg   return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X,
   2151  1.1  mrg 						   (__v64qi) __Y, 1,
   2152  1.1  mrg 						   (__mmask64) __M);
   2153  1.1  mrg }
   2154  1.1  mrg 
   2155  1.1  mrg extern __inline __mmask64
   2156  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2157  1.1  mrg _mm512_mask_cmpge_epu8_mask (__mmask64 __M, __m512i __X, __m512i __Y)
   2158  1.1  mrg {
   2159  1.1  mrg   return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X,
   2160  1.1  mrg 						   (__v64qi) __Y, 5,
   2161  1.1  mrg 						   (__mmask64) __M);
   2162  1.1  mrg }
   2163  1.1  mrg 
   2164  1.1  mrg extern __inline __mmask64
   2165  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2166  1.1  mrg _mm512_mask_cmple_epu8_mask (__mmask64 __M, __m512i __X, __m512i __Y)
   2167  1.1  mrg {
   2168  1.1  mrg   return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X,
   2169  1.1  mrg 						   (__v64qi) __Y, 2,
   2170  1.1  mrg 						   (__mmask64) __M);
   2171  1.1  mrg }
   2172  1.1  mrg 
   2173  1.1  mrg extern __inline __mmask32
   2174  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2175  1.1  mrg _mm512_mask_cmpneq_epu16_mask (__mmask32 __M, __m512i __X, __m512i __Y)
   2176  1.1  mrg {
   2177  1.1  mrg   return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X,
   2178  1.1  mrg 						   (__v32hi) __Y, 4,
   2179  1.1  mrg 						   (__mmask32) __M);
   2180  1.1  mrg }
   2181  1.1  mrg 
   2182  1.1  mrg extern __inline __mmask32
   2183  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2184  1.1  mrg _mm512_mask_cmplt_epu16_mask (__mmask32 __M, __m512i __X, __m512i __Y)
   2185  1.1  mrg {
   2186  1.1  mrg   return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X,
   2187  1.1  mrg 						   (__v32hi) __Y, 1,
   2188  1.1  mrg 						   (__mmask32) __M);
   2189  1.1  mrg }
   2190  1.1  mrg 
   2191  1.1  mrg extern __inline __mmask32
   2192  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2193  1.1  mrg _mm512_mask_cmpge_epu16_mask (__mmask32 __M, __m512i __X, __m512i __Y)
   2194  1.1  mrg {
   2195  1.1  mrg   return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X,
   2196  1.1  mrg 						   (__v32hi) __Y, 5,
   2197  1.1  mrg 						   (__mmask32) __M);
   2198  1.1  mrg }
   2199  1.1  mrg 
   2200  1.1  mrg extern __inline __mmask32
   2201  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2202  1.1  mrg _mm512_mask_cmple_epu16_mask (__mmask32 __M, __m512i __X, __m512i __Y)
   2203  1.1  mrg {
   2204  1.1  mrg   return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X,
   2205  1.1  mrg 						   (__v32hi) __Y, 2,
   2206  1.1  mrg 						   (__mmask32) __M);
   2207  1.1  mrg }
   2208  1.1  mrg 
   2209  1.1  mrg extern __inline __mmask64
   2210  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2211  1.1  mrg _mm512_mask_cmpneq_epi8_mask (__mmask64 __M, __m512i __X, __m512i __Y)
   2212  1.1  mrg {
   2213  1.1  mrg   return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X,
   2214  1.1  mrg 						  (__v64qi) __Y, 4,
   2215  1.1  mrg 						  (__mmask64) __M);
   2216  1.1  mrg }
   2217  1.1  mrg 
   2218  1.1  mrg extern __inline __mmask64
   2219  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2220  1.1  mrg _mm512_mask_cmplt_epi8_mask (__mmask64 __M, __m512i __X, __m512i __Y)
   2221  1.1  mrg {
   2222  1.1  mrg   return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X,
   2223  1.1  mrg 						  (__v64qi) __Y, 1,
   2224  1.1  mrg 						  (__mmask64) __M);
   2225  1.1  mrg }
   2226  1.1  mrg 
   2227  1.1  mrg extern __inline __mmask64
   2228  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2229  1.1  mrg _mm512_mask_cmpge_epi8_mask (__mmask64 __M, __m512i __X, __m512i __Y)
   2230  1.1  mrg {
   2231  1.1  mrg   return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X,
   2232  1.1  mrg 						  (__v64qi) __Y, 5,
   2233  1.1  mrg 						  (__mmask64) __M);
   2234  1.1  mrg }
   2235  1.1  mrg 
   2236  1.1  mrg extern __inline __mmask64
   2237  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2238  1.1  mrg _mm512_mask_cmple_epi8_mask (__mmask64 __M, __m512i __X, __m512i __Y)
   2239  1.1  mrg {
   2240  1.1  mrg   return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X,
   2241  1.1  mrg 						  (__v64qi) __Y, 2,
   2242  1.1  mrg 						  (__mmask64) __M);
   2243  1.1  mrg }
   2244  1.1  mrg 
   2245  1.1  mrg extern __inline __mmask32
   2246  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2247  1.1  mrg _mm512_mask_cmpneq_epi16_mask (__mmask32 __M, __m512i __X, __m512i __Y)
   2248  1.1  mrg {
   2249  1.1  mrg   return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X,
   2250  1.1  mrg 						  (__v32hi) __Y, 4,
   2251  1.1  mrg 						  (__mmask32) __M);
   2252  1.1  mrg }
   2253  1.1  mrg 
   2254  1.1  mrg extern __inline __mmask32
   2255  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2256  1.1  mrg _mm512_mask_cmplt_epi16_mask (__mmask32 __M, __m512i __X, __m512i __Y)
   2257  1.1  mrg {
   2258  1.1  mrg   return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X,
   2259  1.1  mrg 						  (__v32hi) __Y, 1,
   2260  1.1  mrg 						  (__mmask32) __M);
   2261  1.1  mrg }
   2262  1.1  mrg 
   2263  1.1  mrg extern __inline __mmask32
   2264  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2265  1.1  mrg _mm512_mask_cmpge_epi16_mask (__mmask32 __M, __m512i __X, __m512i __Y)
   2266  1.1  mrg {
   2267  1.1  mrg   return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X,
   2268  1.1  mrg 						  (__v32hi) __Y, 5,
   2269  1.1  mrg 						  (__mmask32) __M);
   2270  1.1  mrg }
   2271  1.1  mrg 
   2272  1.1  mrg extern __inline __mmask32
   2273  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2274  1.1  mrg _mm512_mask_cmple_epi16_mask (__mmask32 __M, __m512i __X, __m512i __Y)
   2275  1.1  mrg {
   2276  1.1  mrg   return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X,
   2277  1.1  mrg 						  (__v32hi) __Y, 2,
   2278  1.1  mrg 						  (__mmask32) __M);
   2279  1.1  mrg }
   2280  1.1  mrg 
   2281  1.1  mrg extern __inline __mmask64
   2282  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2283  1.1  mrg _mm512_cmpneq_epu8_mask (__m512i __X, __m512i __Y)
   2284  1.1  mrg {
   2285  1.1  mrg   return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X,
   2286  1.1  mrg 						   (__v64qi) __Y, 4,
   2287  1.1  mrg 						   (__mmask64) - 1);
   2288  1.1  mrg }
   2289  1.1  mrg 
   2290  1.1  mrg extern __inline __mmask64
   2291  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2292  1.1  mrg _mm512_cmplt_epu8_mask (__m512i __X, __m512i __Y)
   2293  1.1  mrg {
   2294  1.1  mrg   return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X,
   2295  1.1  mrg 						   (__v64qi) __Y, 1,
   2296  1.1  mrg 						   (__mmask64) - 1);
   2297  1.1  mrg }
   2298  1.1  mrg 
   2299  1.1  mrg extern __inline __mmask64
   2300  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2301  1.1  mrg _mm512_cmpge_epu8_mask (__m512i __X, __m512i __Y)
   2302  1.1  mrg {
   2303  1.1  mrg   return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X,
   2304  1.1  mrg 						   (__v64qi) __Y, 5,
   2305  1.1  mrg 						   (__mmask64) - 1);
   2306  1.1  mrg }
   2307  1.1  mrg 
   2308  1.1  mrg extern __inline __mmask64
   2309  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2310  1.1  mrg _mm512_cmple_epu8_mask (__m512i __X, __m512i __Y)
   2311  1.1  mrg {
   2312  1.1  mrg   return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X,
   2313  1.1  mrg 						   (__v64qi) __Y, 2,
   2314  1.1  mrg 						   (__mmask64) - 1);
   2315  1.1  mrg }
   2316  1.1  mrg 
   2317  1.1  mrg extern __inline __mmask32
   2318  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2319  1.1  mrg _mm512_cmpneq_epu16_mask (__m512i __X, __m512i __Y)
   2320  1.1  mrg {
   2321  1.1  mrg   return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X,
   2322  1.1  mrg 						   (__v32hi) __Y, 4,
   2323  1.1  mrg 						   (__mmask32) - 1);
   2324  1.1  mrg }
   2325  1.1  mrg 
   2326  1.1  mrg extern __inline __mmask32
   2327  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2328  1.1  mrg _mm512_cmplt_epu16_mask (__m512i __X, __m512i __Y)
   2329  1.1  mrg {
   2330  1.1  mrg   return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X,
   2331  1.1  mrg 						   (__v32hi) __Y, 1,
   2332  1.1  mrg 						   (__mmask32) - 1);
   2333  1.1  mrg }
   2334  1.1  mrg 
   2335  1.1  mrg extern __inline __mmask32
   2336  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2337  1.1  mrg _mm512_cmpge_epu16_mask (__m512i __X, __m512i __Y)
   2338  1.1  mrg {
   2339  1.1  mrg   return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X,
   2340  1.1  mrg 						   (__v32hi) __Y, 5,
   2341  1.1  mrg 						   (__mmask32) - 1);
   2342  1.1  mrg }
   2343  1.1  mrg 
   2344  1.1  mrg extern __inline __mmask32
   2345  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2346  1.1  mrg _mm512_cmple_epu16_mask (__m512i __X, __m512i __Y)
   2347  1.1  mrg {
   2348  1.1  mrg   return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X,
   2349  1.1  mrg 						   (__v32hi) __Y, 2,
   2350  1.1  mrg 						   (__mmask32) - 1);
   2351  1.1  mrg }
   2352  1.1  mrg 
   2353  1.1  mrg extern __inline __mmask64
   2354  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2355  1.1  mrg _mm512_cmpneq_epi8_mask (__m512i __X, __m512i __Y)
   2356  1.1  mrg {
   2357  1.1  mrg   return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X,
   2358  1.1  mrg 						  (__v64qi) __Y, 4,
   2359  1.1  mrg 						  (__mmask64) - 1);
   2360  1.1  mrg }
   2361  1.1  mrg 
   2362  1.1  mrg extern __inline __mmask64
   2363  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2364  1.1  mrg _mm512_cmplt_epi8_mask (__m512i __X, __m512i __Y)
   2365  1.1  mrg {
   2366  1.1  mrg   return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X,
   2367  1.1  mrg 						  (__v64qi) __Y, 1,
   2368  1.1  mrg 						  (__mmask64) - 1);
   2369  1.1  mrg }
   2370  1.1  mrg 
   2371  1.1  mrg extern __inline __mmask64
   2372  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2373  1.1  mrg _mm512_cmpge_epi8_mask (__m512i __X, __m512i __Y)
   2374  1.1  mrg {
   2375  1.1  mrg   return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X,
   2376  1.1  mrg 						  (__v64qi) __Y, 5,
   2377  1.1  mrg 						  (__mmask64) - 1);
   2378  1.1  mrg }
   2379  1.1  mrg 
   2380  1.1  mrg extern __inline __mmask64
   2381  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2382  1.1  mrg _mm512_cmple_epi8_mask (__m512i __X, __m512i __Y)
   2383  1.1  mrg {
   2384  1.1  mrg   return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X,
   2385  1.1  mrg 						  (__v64qi) __Y, 2,
   2386  1.1  mrg 						  (__mmask64) - 1);
   2387  1.1  mrg }
   2388  1.1  mrg 
   2389  1.1  mrg extern __inline __mmask32
   2390  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2391  1.1  mrg _mm512_cmpneq_epi16_mask (__m512i __X, __m512i __Y)
   2392  1.1  mrg {
   2393  1.1  mrg   return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X,
   2394  1.1  mrg 						  (__v32hi) __Y, 4,
   2395  1.1  mrg 						  (__mmask32) - 1);
   2396  1.1  mrg }
   2397  1.1  mrg 
   2398  1.1  mrg extern __inline __mmask32
   2399  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2400  1.1  mrg _mm512_cmplt_epi16_mask (__m512i __X, __m512i __Y)
   2401  1.1  mrg {
   2402  1.1  mrg   return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X,
   2403  1.1  mrg 						  (__v32hi) __Y, 1,
   2404  1.1  mrg 						  (__mmask32) - 1);
   2405  1.1  mrg }
   2406  1.1  mrg 
   2407  1.1  mrg extern __inline __mmask32
   2408  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2409  1.1  mrg _mm512_cmpge_epi16_mask (__m512i __X, __m512i __Y)
   2410  1.1  mrg {
   2411  1.1  mrg   return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X,
   2412  1.1  mrg 						  (__v32hi) __Y, 5,
   2413  1.1  mrg 						  (__mmask32) - 1);
   2414  1.1  mrg }
   2415  1.1  mrg 
   2416  1.1  mrg extern __inline __mmask32
   2417  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2418  1.1  mrg _mm512_cmple_epi16_mask (__m512i __X, __m512i __Y)
   2419  1.1  mrg {
   2420  1.1  mrg   return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X,
   2421  1.1  mrg 						  (__v32hi) __Y, 2,
   2422  1.1  mrg 						  (__mmask32) - 1);
   2423  1.1  mrg }
   2424  1.1  mrg 
   2425  1.1  mrg #ifdef __OPTIMIZE__
   2426  1.1  mrg extern __inline __m512i
   2427  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2428  1.1  mrg _mm512_alignr_epi8 (__m512i __A, __m512i __B, const int __N)
   2429  1.1  mrg {
   2430  1.1  mrg   return (__m512i) __builtin_ia32_palignr512 ((__v8di) __A,
   2431  1.1  mrg 					      (__v8di) __B, __N * 8);
   2432  1.1  mrg }
   2433  1.1  mrg 
   2434  1.1  mrg extern __inline __m512i
   2435  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2436  1.1  mrg _mm512_mask_alignr_epi8 (__m512i __W, __mmask64 __U, __m512i __A,
   2437  1.1  mrg 			 __m512i __B, const int __N)
   2438  1.1  mrg {
   2439  1.1  mrg   return (__m512i) __builtin_ia32_palignr512_mask ((__v8di) __A,
   2440  1.1  mrg 						   (__v8di) __B,
   2441  1.1  mrg 						   __N * 8,
   2442  1.1  mrg 						   (__v8di) __W,
   2443  1.1  mrg 						   (__mmask64) __U);
   2444  1.1  mrg }
   2445  1.1  mrg 
   2446  1.1  mrg extern __inline __m512i
   2447  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2448  1.1  mrg _mm512_maskz_alignr_epi8 (__mmask64 __U, __m512i __A, __m512i __B,
   2449  1.1  mrg 			  const int __N)
   2450  1.1  mrg {
   2451  1.1  mrg   return (__m512i) __builtin_ia32_palignr512_mask ((__v8di) __A,
   2452  1.1  mrg 						   (__v8di) __B,
   2453  1.1  mrg 						   __N * 8,
   2454  1.1  mrg 						   (__v8di)
   2455  1.1  mrg 						   _mm512_setzero_si512 (),
   2456  1.1  mrg 						   (__mmask64) __U);
   2457  1.1  mrg }
   2458  1.1  mrg 
   2459  1.1  mrg extern __inline __m512i
   2460  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2461  1.1  mrg _mm512_dbsad_epu8 (__m512i __A, __m512i __B, const int __imm)
   2462  1.1  mrg {
   2463  1.1  mrg   return (__m512i) __builtin_ia32_dbpsadbw512_mask ((__v64qi) __A,
   2464  1.1  mrg 						    (__v64qi) __B,
   2465  1.1  mrg 						    __imm,
   2466  1.1  mrg 						    (__v32hi)
   2467  1.1  mrg 						    _mm512_setzero_hi (),
   2468  1.1  mrg 						    (__mmask32) -1);
   2469  1.1  mrg }
   2470  1.1  mrg 
   2471  1.1  mrg extern __inline __m512i
   2472  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2473  1.1  mrg _mm512_mask_dbsad_epu8 (__m512i __W, __mmask32 __U, __m512i __A,
   2474  1.1  mrg 			__m512i __B, const int __imm)
   2475  1.1  mrg {
   2476  1.1  mrg   return (__m512i) __builtin_ia32_dbpsadbw512_mask ((__v64qi) __A,
   2477  1.1  mrg 						    (__v64qi) __B,
   2478  1.1  mrg 						    __imm,
   2479  1.1  mrg 						    (__v32hi) __W,
   2480  1.1  mrg 						    (__mmask32) __U);
   2481  1.1  mrg }
   2482  1.1  mrg 
   2483  1.1  mrg extern __inline __m512i
   2484  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2485  1.1  mrg _mm512_maskz_dbsad_epu8 (__mmask32 __U, __m512i __A, __m512i __B,
   2486  1.1  mrg 			 const int __imm)
   2487  1.1  mrg {
   2488  1.1  mrg   return (__m512i) __builtin_ia32_dbpsadbw512_mask ((__v64qi) __A,
   2489  1.1  mrg 						    (__v64qi) __B,
   2490  1.1  mrg 						    __imm,
   2491  1.1  mrg 						    (__v32hi)
   2492  1.1  mrg 						    _mm512_setzero_hi(),
   2493  1.1  mrg 						    (__mmask32) __U);
   2494  1.1  mrg }
   2495  1.1  mrg 
   2496  1.1  mrg extern __inline __m512i
   2497  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2498  1.1  mrg _mm512_srli_epi16 (__m512i __A, const int __imm)
   2499  1.1  mrg {
   2500  1.1  mrg   return (__m512i) __builtin_ia32_psrlwi512_mask ((__v32hi) __A, __imm,
   2501  1.1  mrg 						  (__v32hi)
   2502  1.1  mrg 						  _mm512_setzero_hi (),
   2503  1.1  mrg 						  (__mmask32) -1);
   2504  1.1  mrg }
   2505  1.1  mrg 
   2506  1.1  mrg extern __inline __m512i
   2507  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2508  1.1  mrg _mm512_mask_srli_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
   2509  1.1  mrg 			const int __imm)
   2510  1.1  mrg {
   2511  1.1  mrg   return (__m512i) __builtin_ia32_psrlwi512_mask ((__v32hi) __A, __imm,
   2512  1.1  mrg 						  (__v32hi) __W,
   2513  1.1  mrg 						  (__mmask32) __U);
   2514  1.1  mrg }
   2515  1.1  mrg 
   2516  1.1  mrg extern __inline __m512i
   2517  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2518  1.1  mrg _mm512_maskz_srli_epi16 (__mmask32 __U, __m512i __A, const int __imm)
   2519  1.1  mrg {
   2520  1.1  mrg   return (__m512i) __builtin_ia32_psrlwi512_mask ((__v32hi) __A, __imm,
   2521  1.1  mrg 						  (__v32hi)
   2522  1.1  mrg 						  _mm512_setzero_hi (),
   2523  1.1  mrg 						  (__mmask32) __U);
   2524  1.1  mrg }
   2525  1.1  mrg 
   2526  1.1  mrg extern __inline __m512i
   2527  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2528  1.1  mrg _mm512_slli_epi16 (__m512i __A, const int __B)
   2529  1.1  mrg {
   2530  1.1  mrg   return (__m512i) __builtin_ia32_psllwi512_mask ((__v32hi) __A, __B,
   2531  1.1  mrg 						  (__v32hi)
   2532  1.1  mrg 						  _mm512_setzero_hi (),
   2533  1.1  mrg 						  (__mmask32) -1);
   2534  1.1  mrg }
   2535  1.1  mrg 
   2536  1.1  mrg extern __inline __m512i
   2537  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2538  1.1  mrg _mm512_mask_slli_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
   2539  1.1  mrg 			const int __B)
   2540  1.1  mrg {
   2541  1.1  mrg   return (__m512i) __builtin_ia32_psllwi512_mask ((__v32hi) __A, __B,
   2542  1.1  mrg 						  (__v32hi) __W,
   2543  1.1  mrg 						  (__mmask32) __U);
   2544  1.1  mrg }
   2545  1.1  mrg 
   2546  1.1  mrg extern __inline __m512i
   2547  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2548  1.1  mrg _mm512_maskz_slli_epi16 (__mmask32 __U, __m512i __A, const int __B)
   2549  1.1  mrg {
   2550  1.1  mrg   return (__m512i) __builtin_ia32_psllwi512_mask ((__v32hi) __A, __B,
   2551  1.1  mrg 						  (__v32hi)
   2552  1.1  mrg 						  _mm512_setzero_hi (),
   2553  1.1  mrg 						  (__mmask32) __U);
   2554  1.1  mrg }
   2555  1.1  mrg 
   2556  1.1  mrg extern __inline __m512i
   2557  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2558  1.1  mrg _mm512_shufflehi_epi16 (__m512i __A, const int __imm)
   2559  1.1  mrg {
   2560  1.1  mrg   return (__m512i) __builtin_ia32_pshufhw512_mask ((__v32hi) __A,
   2561  1.1  mrg 						   __imm,
   2562  1.1  mrg 						   (__v32hi)
   2563  1.1  mrg 						   _mm512_setzero_hi (),
   2564  1.1  mrg 						   (__mmask32) -1);
   2565  1.1  mrg }
   2566  1.1  mrg 
   2567  1.1  mrg extern __inline __m512i
   2568  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2569  1.1  mrg _mm512_mask_shufflehi_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
   2570  1.1  mrg 			     const int __imm)
   2571  1.1  mrg {
   2572  1.1  mrg   return (__m512i) __builtin_ia32_pshufhw512_mask ((__v32hi) __A,
   2573  1.1  mrg 						   __imm,
   2574  1.1  mrg 						   (__v32hi) __W,
   2575  1.1  mrg 						   (__mmask32) __U);
   2576  1.1  mrg }
   2577  1.1  mrg 
   2578  1.1  mrg extern __inline __m512i
   2579  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2580  1.1  mrg _mm512_maskz_shufflehi_epi16 (__mmask32 __U, __m512i __A,
   2581  1.1  mrg 			      const int __imm)
   2582  1.1  mrg {
   2583  1.1  mrg   return (__m512i) __builtin_ia32_pshufhw512_mask ((__v32hi) __A,
   2584  1.1  mrg 						   __imm,
   2585  1.1  mrg 						   (__v32hi)
   2586  1.1  mrg 						   _mm512_setzero_hi (),
   2587  1.1  mrg 						   (__mmask32) __U);
   2588  1.1  mrg }
   2589  1.1  mrg 
   2590  1.1  mrg extern __inline __m512i
   2591  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2592  1.1  mrg _mm512_shufflelo_epi16 (__m512i __A, const int __imm)
   2593  1.1  mrg {
   2594  1.1  mrg   return (__m512i) __builtin_ia32_pshuflw512_mask ((__v32hi) __A,
   2595  1.1  mrg 						   __imm,
   2596  1.1  mrg 						   (__v32hi)
   2597  1.1  mrg 						   _mm512_setzero_hi (),
   2598  1.1  mrg 						   (__mmask32) -1);
   2599  1.1  mrg }
   2600  1.1  mrg 
   2601  1.1  mrg extern __inline __m512i
   2602  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2603  1.1  mrg _mm512_mask_shufflelo_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
   2604  1.1  mrg 			     const int __imm)
   2605  1.1  mrg {
   2606  1.1  mrg   return (__m512i) __builtin_ia32_pshuflw512_mask ((__v32hi) __A,
   2607  1.1  mrg 						   __imm,
   2608  1.1  mrg 						   (__v32hi) __W,
   2609  1.1  mrg 						   (__mmask32) __U);
   2610  1.1  mrg }
   2611  1.1  mrg 
   2612  1.1  mrg extern __inline __m512i
   2613  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2614  1.1  mrg _mm512_maskz_shufflelo_epi16 (__mmask32 __U, __m512i __A,
   2615  1.1  mrg 			      const int __imm)
   2616  1.1  mrg {
   2617  1.1  mrg   return (__m512i) __builtin_ia32_pshuflw512_mask ((__v32hi) __A,
   2618  1.1  mrg 						   __imm,
   2619  1.1  mrg 						   (__v32hi)
   2620  1.1  mrg 						   _mm512_setzero_hi (),
   2621  1.1  mrg 						   (__mmask32) __U);
   2622  1.1  mrg }
   2623  1.1  mrg 
   2624  1.1  mrg extern __inline __m512i
   2625  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2626  1.1  mrg _mm512_srai_epi16 (__m512i __A, const int __imm)
   2627  1.1  mrg {
   2628  1.1  mrg   return (__m512i) __builtin_ia32_psrawi512_mask ((__v32hi) __A, __imm,
   2629  1.1  mrg 						  (__v32hi)
   2630  1.1  mrg 						  _mm512_setzero_hi (),
   2631  1.1  mrg 						  (__mmask32) -1);
   2632  1.1  mrg }
   2633  1.1  mrg 
   2634  1.1  mrg extern __inline __m512i
   2635  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2636  1.1  mrg _mm512_mask_srai_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
   2637  1.1  mrg 			const int __imm)
   2638  1.1  mrg {
   2639  1.1  mrg   return (__m512i) __builtin_ia32_psrawi512_mask ((__v32hi) __A, __imm,
   2640  1.1  mrg 						  (__v32hi) __W,
   2641  1.1  mrg 						  (__mmask32) __U);
   2642  1.1  mrg }
   2643  1.1  mrg 
   2644  1.1  mrg extern __inline __m512i
   2645  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2646  1.1  mrg _mm512_maskz_srai_epi16 (__mmask32 __U, __m512i __A, const int __imm)
   2647  1.1  mrg {
   2648  1.1  mrg   return (__m512i) __builtin_ia32_psrawi512_mask ((__v32hi) __A, __imm,
   2649  1.1  mrg 						  (__v32hi)
   2650  1.1  mrg 						  _mm512_setzero_hi (),
   2651  1.1  mrg 						  (__mmask32) __U);
   2652  1.1  mrg }
   2653  1.1  mrg 
   2654  1.1  mrg extern __inline __m512i
   2655  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2656  1.1  mrg _mm512_mask_blend_epi16 (__mmask32 __U, __m512i __A, __m512i __W)
   2657  1.1  mrg {
   2658  1.1  mrg   return (__m512i) __builtin_ia32_blendmw_512_mask ((__v32hi) __A,
   2659  1.1  mrg 						    (__v32hi) __W,
   2660  1.1  mrg 						    (__mmask32) __U);
   2661  1.1  mrg }
   2662  1.1  mrg 
   2663  1.1  mrg extern __inline __m512i
   2664  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2665  1.1  mrg _mm512_mask_blend_epi8 (__mmask64 __U, __m512i __A, __m512i __W)
   2666  1.1  mrg {
   2667  1.1  mrg   return (__m512i) __builtin_ia32_blendmb_512_mask ((__v64qi) __A,
   2668  1.1  mrg 						    (__v64qi) __W,
   2669  1.1  mrg 						    (__mmask64) __U);
   2670  1.1  mrg }
   2671  1.1  mrg 
   2672  1.1  mrg extern __inline __mmask32
   2673  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2674  1.1  mrg _mm512_mask_cmp_epi16_mask (__mmask32 __U, __m512i __X, __m512i __Y,
   2675  1.1  mrg 			    const int __P)
   2676  1.1  mrg {
   2677  1.1  mrg   return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X,
   2678  1.1  mrg 						  (__v32hi) __Y, __P,
   2679  1.1  mrg 						  (__mmask32) __U);
   2680  1.1  mrg }
   2681  1.1  mrg 
   2682  1.1  mrg extern __inline __mmask32
   2683  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2684  1.1  mrg _mm512_cmp_epi16_mask (__m512i __X, __m512i __Y, const int __P)
   2685  1.1  mrg {
   2686  1.1  mrg   return (__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi) __X,
   2687  1.1  mrg 						  (__v32hi) __Y, __P,
   2688  1.1  mrg 						  (__mmask32) -1);
   2689  1.1  mrg }
   2690  1.1  mrg 
   2691  1.1  mrg extern __inline __mmask64
   2692  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2693  1.1  mrg _mm512_mask_cmp_epi8_mask (__mmask32 __U, __m512i __X, __m512i __Y,
   2694  1.1  mrg 			   const int __P)
   2695  1.1  mrg {
   2696  1.1  mrg   return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X,
   2697  1.1  mrg 						  (__v64qi) __Y, __P,
   2698  1.1  mrg 						  (__mmask64) __U);
   2699  1.1  mrg }
   2700  1.1  mrg 
   2701  1.1  mrg extern __inline __mmask64
   2702  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2703  1.1  mrg _mm512_cmp_epi8_mask (__m512i __X, __m512i __Y, const int __P)
   2704  1.1  mrg {
   2705  1.1  mrg   return (__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi) __X,
   2706  1.1  mrg 						  (__v64qi) __Y, __P,
   2707  1.1  mrg 						  (__mmask64) -1);
   2708  1.1  mrg }
   2709  1.1  mrg 
   2710  1.1  mrg extern __inline __mmask32
   2711  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2712  1.1  mrg _mm512_mask_cmp_epu16_mask (__mmask32 __U, __m512i __X, __m512i __Y,
   2713  1.1  mrg 			    const int __P)
   2714  1.1  mrg {
   2715  1.1  mrg   return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X,
   2716  1.1  mrg 						   (__v32hi) __Y, __P,
   2717  1.1  mrg 						   (__mmask32) __U);
   2718  1.1  mrg }
   2719  1.1  mrg 
   2720  1.1  mrg extern __inline __mmask32
   2721  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2722  1.1  mrg _mm512_cmp_epu16_mask (__m512i __X, __m512i __Y, const int __P)
   2723  1.1  mrg {
   2724  1.1  mrg   return (__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi) __X,
   2725  1.1  mrg 						   (__v32hi) __Y, __P,
   2726  1.1  mrg 						   (__mmask32) -1);
   2727  1.1  mrg }
   2728  1.1  mrg 
   2729  1.1  mrg extern __inline __mmask64
   2730  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2731  1.1  mrg _mm512_mask_cmp_epu8_mask (__mmask32 __U, __m512i __X, __m512i __Y,
   2732  1.1  mrg 			   const int __P)
   2733  1.1  mrg {
   2734  1.1  mrg   return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X,
   2735  1.1  mrg 						   (__v64qi) __Y, __P,
   2736  1.1  mrg 						   (__mmask64) __U);
   2737  1.1  mrg }
   2738  1.1  mrg 
   2739  1.1  mrg extern __inline __mmask64
   2740  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2741  1.1  mrg _mm512_cmp_epu8_mask (__m512i __X, __m512i __Y, const int __P)
   2742  1.1  mrg {
   2743  1.1  mrg   return (__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi) __X,
   2744  1.1  mrg 						   (__v64qi) __Y, __P,
   2745  1.1  mrg 						   (__mmask64) -1);
   2746  1.1  mrg }
   2747  1.1  mrg 
   2748  1.1  mrg extern __inline __m512i
   2749  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2750  1.1  mrg _mm512_packs_epi32 (__m512i __A, __m512i __B)
   2751  1.1  mrg {
   2752  1.1  mrg   return (__m512i) __builtin_ia32_packssdw512_mask ((__v16si) __A,
   2753  1.1  mrg 						    (__v16si) __B,
   2754  1.1  mrg 						    (__v32hi)
   2755  1.1  mrg 						    _mm512_setzero_hi (),
   2756  1.1  mrg 						    (__mmask32) -1);
   2757  1.1  mrg }
   2758  1.1  mrg 
   2759  1.1  mrg extern __inline __m512i
   2760  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2761  1.1  mrg _mm512_maskz_packs_epi32 (__mmask32 __M, __m512i __A, __m512i __B)
   2762  1.1  mrg {
   2763  1.1  mrg   return (__m512i) __builtin_ia32_packssdw512_mask ((__v16si) __A,
   2764  1.1  mrg 						    (__v16si) __B,
   2765  1.1  mrg 						    (__v32hi)
   2766  1.1  mrg 						    _mm512_setzero_hi(),
   2767  1.1  mrg 						    __M);
   2768  1.1  mrg }
   2769  1.1  mrg 
   2770  1.1  mrg extern __inline __m512i
   2771  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2772  1.1  mrg _mm512_mask_packs_epi32 (__m512i __W, __mmask32 __M, __m512i __A,
   2773  1.1  mrg 			 __m512i __B)
   2774  1.1  mrg {
   2775  1.1  mrg   return (__m512i) __builtin_ia32_packssdw512_mask ((__v16si) __A,
   2776  1.1  mrg 						    (__v16si) __B,
   2777  1.1  mrg 						    (__v32hi) __W,
   2778  1.1  mrg 						    __M);
   2779  1.1  mrg }
   2780  1.1  mrg 
   2781  1.1  mrg extern __inline __m512i
   2782  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2783  1.1  mrg _mm512_packus_epi32 (__m512i __A, __m512i __B)
   2784  1.1  mrg {
   2785  1.1  mrg   return (__m512i) __builtin_ia32_packusdw512_mask ((__v16si) __A,
   2786  1.1  mrg 						    (__v16si) __B,
   2787  1.1  mrg 						    (__v32hi)
   2788  1.1  mrg 						    _mm512_setzero_hi (),
   2789  1.1  mrg 						    (__mmask32) -1);
   2790  1.1  mrg }
   2791  1.1  mrg 
   2792  1.1  mrg extern __inline __m512i
   2793  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2794  1.1  mrg _mm512_maskz_packus_epi32 (__mmask32 __M, __m512i __A, __m512i __B)
   2795  1.1  mrg {
   2796  1.1  mrg   return (__m512i) __builtin_ia32_packusdw512_mask ((__v16si) __A,
   2797  1.1  mrg 						    (__v16si) __B,
   2798  1.1  mrg 						    (__v32hi)
   2799  1.1  mrg 						    _mm512_setzero_hi(),
   2800  1.1  mrg 						    __M);
   2801  1.1  mrg }
   2802  1.1  mrg 
   2803  1.1  mrg extern __inline __m512i
   2804  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2805  1.1  mrg _mm512_mask_packus_epi32 (__m512i __W, __mmask32 __M, __m512i __A,
   2806  1.1  mrg 			  __m512i __B)
   2807  1.1  mrg {
   2808  1.1  mrg   return (__m512i) __builtin_ia32_packusdw512_mask ((__v16si) __A,
   2809  1.1  mrg 						    (__v16si) __B,
   2810  1.1  mrg 						    (__v32hi) __W,
   2811  1.1  mrg 						    __M);
   2812  1.1  mrg }
   2813  1.1  mrg 
   2814  1.1  mrg extern __inline __m512i
   2815  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2816  1.1  mrg _mm512_bslli_epi128 (__m512i __A, const int __N)
   2817  1.1  mrg {
   2818  1.1  mrg   return (__m512i) __builtin_ia32_pslldq512 (__A, __N * 8);
   2819  1.1  mrg }
   2820  1.1  mrg 
   2821  1.1  mrg extern __inline __m512i
   2822  1.1  mrg __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
   2823  1.1  mrg _mm512_bsrli_epi128 (__m512i __A, const int __N)
   2824  1.1  mrg {
   2825  1.1  mrg   return (__m512i) __builtin_ia32_psrldq512 (__A, __N * 8);
   2826  1.1  mrg }
   2827  1.1  mrg 
   2828  1.1  mrg #else
   2829  1.1  mrg #define _mm512_alignr_epi8(X, Y, N)						    \
   2830  1.1  mrg   ((__m512i) __builtin_ia32_palignr512 ((__v8di)(__m512i)(X),			    \
   2831  1.1  mrg 					(__v8di)(__m512i)(Y),			    \
   2832  1.1  mrg 					(int)(N * 8)))
   2833  1.1  mrg 
   2834  1.1  mrg #define _mm512_mask_alignr_epi8(W, U, X, Y, N)					    \
   2835  1.1  mrg   ((__m512i) __builtin_ia32_palignr512_mask ((__v8di)(__m512i)(X),		    \
   2836  1.1  mrg 					    (__v8di)(__m512i)(Y), (int)(N * 8),	    \
   2837  1.1  mrg 					    (__v8di)(__m512i)(W), (__mmask64)(U)))
   2838  1.1  mrg 
   2839  1.1  mrg #define _mm512_maskz_alignr_epi8(U, X, Y, N)					    \
   2840  1.1  mrg   ((__m512i) __builtin_ia32_palignr512_mask ((__v8di)(__m512i)(X),		    \
   2841  1.1  mrg 					    (__v8di)(__m512i)(Y), (int)(N * 8),	    \
   2842  1.1  mrg 					    (__v8di)(__m512i)_mm512_setzero_si512 (),   \
   2843  1.1  mrg 					    (__mmask64)(U)))
   2844  1.1  mrg 
   2845  1.1  mrg #define _mm512_dbsad_epu8(X, Y, C)                                                  \
   2846  1.1  mrg   ((__m512i) __builtin_ia32_dbpsadbw512_mask ((__v64qi)(__m512i) (X),               \
   2847  1.1  mrg                                               (__v64qi)(__m512i) (Y), (int) (C),    \
   2848  1.1  mrg                                               (__v32hi)(__m512i)_mm512_setzero_si512 (),\
   2849  1.1  mrg                                               (__mmask32)-1))
   2850  1.1  mrg 
   2851  1.1  mrg #define _mm512_mask_dbsad_epu8(W, U, X, Y, C)                                       \
   2852  1.1  mrg   ((__m512i) __builtin_ia32_dbpsadbw512_mask ((__v64qi)(__m512i) (X),               \
   2853  1.1  mrg                                               (__v64qi)(__m512i) (Y), (int) (C),    \
   2854  1.1  mrg                                               (__v32hi)(__m512i)(W),                \
   2855  1.1  mrg                                               (__mmask32)(U)))
   2856  1.1  mrg 
   2857  1.1  mrg #define _mm512_maskz_dbsad_epu8(U, X, Y, C)                                         \
   2858  1.1  mrg   ((__m512i) __builtin_ia32_dbpsadbw512_mask ((__v64qi)(__m512i) (X),               \
   2859  1.1  mrg                                               (__v64qi)(__m512i) (Y), (int) (C),    \
   2860  1.1  mrg                                               (__v32hi)(__m512i)_mm512_setzero_si512 (),\
   2861  1.1  mrg                                               (__mmask32)(U)))
   2862  1.1  mrg 
   2863  1.1  mrg #define _mm512_srli_epi16(A, B)                                         \
   2864  1.1  mrg   ((__m512i) __builtin_ia32_psrlwi512_mask ((__v32hi)(__m512i)(A),      \
   2865  1.1  mrg     (int)(B), (__v32hi)_mm512_setzero_hi(), (__mmask32)-1))
   2866  1.1  mrg 
   2867  1.1  mrg #define _mm512_mask_srli_epi16(W, U, A, B)                              \
   2868  1.1  mrg   ((__m512i) __builtin_ia32_psrlwi512_mask ((__v32hi)(__m512i)(A),      \
   2869  1.1  mrg     (int)(B), (__v32hi)(__m512i)(W), (__mmask32)(U)))
   2870  1.1  mrg 
   2871  1.1  mrg #define _mm512_maskz_srli_epi16(U, A, B)                                \
   2872  1.1  mrg   ((__m512i) __builtin_ia32_psrlwi512_mask ((__v32hi)(__m512i)(A),      \
   2873  1.1  mrg     (int)(B), (__v32hi)_mm512_setzero_hi(), (__mmask32)(U)))
   2874  1.1  mrg 
   2875  1.1  mrg #define _mm512_slli_epi16(X, C)						   \
   2876  1.1  mrg   ((__m512i)__builtin_ia32_psllwi512_mask ((__v32hi)(__m512i)(X), (int)(C),\
   2877  1.1  mrg     (__v32hi)(__m512i)_mm512_setzero_hi(),\
   2878  1.1  mrg     (__mmask32)-1))
   2879  1.1  mrg 
   2880  1.1  mrg #define _mm512_mask_slli_epi16(W, U, X, C)                                 \
   2881  1.1  mrg   ((__m512i)__builtin_ia32_psllwi512_mask ((__v32hi)(__m512i)(X), (int)(C),\
   2882  1.1  mrg     (__v32hi)(__m512i)(W),\
   2883  1.1  mrg     (__mmask32)(U)))
   2884  1.1  mrg 
   2885  1.1  mrg #define _mm512_maskz_slli_epi16(U, X, C)                                   \
   2886  1.1  mrg   ((__m512i)__builtin_ia32_psllwi512_mask ((__v32hi)(__m512i)(X), (int)(C),\
   2887  1.1  mrg     (__v32hi)(__m512i)_mm512_setzero_hi(),\
   2888  1.1  mrg     (__mmask32)(U)))
   2889  1.1  mrg 
   2890  1.1  mrg #define _mm512_shufflehi_epi16(A, B)                                                \
   2891  1.1  mrg   ((__m512i) __builtin_ia32_pshufhw512_mask ((__v32hi)(__m512i)(A), (int)(B),       \
   2892  1.1  mrg                                              (__v32hi)(__m512i)_mm512_setzero_hi(), \
   2893  1.1  mrg                                              (__mmask32)-1))
   2894  1.1  mrg 
   2895  1.1  mrg #define _mm512_mask_shufflehi_epi16(W, U, A, B)                                     \
   2896  1.1  mrg   ((__m512i) __builtin_ia32_pshufhw512_mask ((__v32hi)(__m512i)(A), (int)(B),       \
   2897  1.1  mrg                                              (__v32hi)(__m512i)(W),                 \
   2898  1.1  mrg                                              (__mmask32)(U)))
   2899  1.1  mrg 
   2900  1.1  mrg #define _mm512_maskz_shufflehi_epi16(U, A, B)                                       \
   2901  1.1  mrg   ((__m512i) __builtin_ia32_pshufhw512_mask ((__v32hi)(__m512i)(A), (int)(B),       \
   2902  1.1  mrg                                              (__v32hi)(__m512i)_mm512_setzero_hi(), \
   2903  1.1  mrg                                              (__mmask32)(U)))
   2904  1.1  mrg 
   2905  1.1  mrg #define _mm512_shufflelo_epi16(A, B)                                                \
   2906  1.1  mrg   ((__m512i) __builtin_ia32_pshuflw512_mask ((__v32hi)(__m512i)(A), (int)(B),       \
   2907  1.1  mrg                                              (__v32hi)(__m512i)_mm512_setzero_hi(), \
   2908  1.1  mrg                                              (__mmask32)-1))
   2909  1.1  mrg 
   2910  1.1  mrg #define _mm512_mask_shufflelo_epi16(W, U, A, B)                                     \
   2911  1.1  mrg   ((__m512i) __builtin_ia32_pshuflw512_mask ((__v32hi)(__m512i)(A), (int)(B),       \
   2912  1.1  mrg                                              (__v32hi)(__m512i)(W),                 \
   2913  1.1  mrg                                              (__mmask32)(U)))
   2914  1.1  mrg 
   2915  1.1  mrg #define _mm512_maskz_shufflelo_epi16(U, A, B)                                       \
   2916  1.1  mrg   ((__m512i) __builtin_ia32_pshuflw512_mask ((__v32hi)(__m512i)(A), (int)(B),       \
   2917  1.1  mrg                                              (__v32hi)(__m512i)_mm512_setzero_hi(), \
   2918  1.1  mrg                                              (__mmask32)(U)))
   2919  1.1  mrg 
   2920  1.1  mrg #define _mm512_srai_epi16(A, B)                                         \
   2921  1.1  mrg   ((__m512i) __builtin_ia32_psrawi512_mask ((__v32hi)(__m512i)(A),      \
   2922  1.1  mrg     (int)(B), (__v32hi)_mm512_setzero_hi(), (__mmask32)-1))
   2923  1.1  mrg 
   2924  1.1  mrg #define _mm512_mask_srai_epi16(W, U, A, B)                              \
   2925  1.1  mrg   ((__m512i) __builtin_ia32_psrawi512_mask ((__v32hi)(__m512i)(A),      \
   2926  1.1  mrg     (int)(B), (__v32hi)(__m512i)(W), (__mmask32)(U)))
   2927  1.1  mrg 
   2928  1.1  mrg #define _mm512_maskz_srai_epi16(U, A, B)                                \
   2929  1.1  mrg   ((__m512i) __builtin_ia32_psrawi512_mask ((__v32hi)(__m512i)(A),      \
   2930  1.1  mrg     (int)(B), (__v32hi)_mm512_setzero_hi(), (__mmask32)(U)))
   2931  1.1  mrg 
   2932  1.1  mrg #define _mm512_mask_blend_epi16(__U, __A, __W)			      \
   2933  1.1  mrg   ((__m512i) __builtin_ia32_blendmw_512_mask ((__v32hi) (__A),	      \
   2934  1.1  mrg 						    (__v32hi) (__W),  \
   2935  1.1  mrg 						    (__mmask32) (__U)))
   2936  1.1  mrg 
   2937  1.1  mrg #define _mm512_mask_blend_epi8(__U, __A, __W)			      \
   2938  1.1  mrg   ((__m512i) __builtin_ia32_blendmb_512_mask ((__v64qi) (__A),	      \
   2939  1.1  mrg 						    (__v64qi) (__W),  \
   2940  1.1  mrg 						    (__mmask64) (__U)))
   2941  1.1  mrg 
   2942  1.1  mrg #define _mm512_cmp_epi16_mask(X, Y, P)				\
   2943  1.1  mrg   ((__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi)(__m512i)(X),	\
   2944  1.1  mrg 					    (__v32hi)(__m512i)(Y), (int)(P),\
   2945  1.1  mrg 					    (__mmask32)(-1)))
   2946  1.1  mrg 
   2947  1.1  mrg #define _mm512_cmp_epi8_mask(X, Y, P)				\
   2948  1.1  mrg   ((__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi)(__m512i)(X),	\
   2949  1.1  mrg 					    (__v64qi)(__m512i)(Y), (int)(P),\
   2950  1.1  mrg 					    (__mmask64)(-1)))
   2951  1.1  mrg 
   2952  1.1  mrg #define _mm512_cmp_epu16_mask(X, Y, P)				\
   2953  1.1  mrg   ((__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi)(__m512i)(X),	\
   2954  1.1  mrg 					    (__v32hi)(__m512i)(Y), (int)(P),\
   2955  1.1  mrg 					    (__mmask32)(-1)))
   2956  1.1  mrg 
   2957  1.1  mrg #define _mm512_cmp_epu8_mask(X, Y, P)				\
   2958  1.1  mrg   ((__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi)(__m512i)(X),	\
   2959  1.1  mrg 					    (__v64qi)(__m512i)(Y), (int)(P),\
   2960  1.1  mrg 					    (__mmask64)(-1)))
   2961  1.1  mrg 
   2962  1.1  mrg #define _mm512_mask_cmp_epi16_mask(M, X, Y, P)				\
   2963  1.1  mrg   ((__mmask32) __builtin_ia32_cmpw512_mask ((__v32hi)(__m512i)(X),	\
   2964  1.1  mrg 					    (__v32hi)(__m512i)(Y), (int)(P),\
   2965  1.1  mrg 					    (__mmask32)(M)))
   2966  1.1  mrg 
   2967  1.1  mrg #define _mm512_mask_cmp_epi8_mask(M, X, Y, P)				\
   2968  1.1  mrg   ((__mmask64) __builtin_ia32_cmpb512_mask ((__v64qi)(__m512i)(X),	\
   2969  1.1  mrg 					    (__v64qi)(__m512i)(Y), (int)(P),\
   2970  1.1  mrg 					    (__mmask64)(M)))
   2971  1.1  mrg 
   2972  1.1  mrg #define _mm512_mask_cmp_epu16_mask(M, X, Y, P)				\
   2973  1.1  mrg   ((__mmask32) __builtin_ia32_ucmpw512_mask ((__v32hi)(__m512i)(X),	\
   2974  1.1  mrg 					    (__v32hi)(__m512i)(Y), (int)(P),\
   2975  1.1  mrg 					    (__mmask32)(M)))
   2976  1.1  mrg 
   2977  1.1  mrg #define _mm512_mask_cmp_epu8_mask(M, X, Y, P)				\
   2978  1.1  mrg   ((__mmask64) __builtin_ia32_ucmpb512_mask ((__v64qi)(__m512i)(X),	\
   2979  1.1  mrg 					    (__v64qi)(__m512i)(Y), (int)(P),\
   2980  1.1  mrg 					    (__mmask64)(M)))
   2981  1.1  mrg 
   2982  1.1  mrg #define _mm512_bslli_epi128(A, N)                                         \
   2983  1.1  mrg   ((__m512i)__builtin_ia32_pslldq512 ((__m512i)(A), (int)(N) * 8))
   2984  1.1  mrg 
   2985  1.1  mrg #define _mm512_bsrli_epi128(A, N)                                         \
   2986  1.1  mrg   ((__m512i)__builtin_ia32_psrldq512 ((__m512i)(A), (int)(N) * 8))
   2987  1.1  mrg 
   2988  1.1  mrg #endif
   2989  1.1  mrg 
   2990  1.1  mrg #ifdef __DISABLE_AVX512BW__
   2991  1.1  mrg #undef __DISABLE_AVX512BW__
   2992  1.1  mrg #pragma GCC pop_options
   2993  1.1  mrg #endif /* __DISABLE_AVX512BW__ */
   2994  1.1  mrg 
   2995  1.1  mrg #endif /* _AVX512BWINTRIN_H_INCLUDED */
   2996