(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
sse-14.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O0 -Werror-implicit-function-declaration -march=k8 -msse4a -m3dnow -mavx -mavx2 -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mlzcnt -mbmi -mbmi2 -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c -mfma -mrtm -mrdseed -mprfchw -madx -mfxsr -mxsaveopt -mavx512f -mavx512er -mavx512cd -mavx512pf -msha -mprefetchwt1 -mxsavec -mxsaves -mclflushopt -mavx512dq -mavx512bw -mavx512vl -mavx512ifma -mavx512vbmi -mavx512vbmi2 -mavx5124fmaps -mavx5124vnniw -mavx512vpopcntdq -mclwb -mmwaitx -mclzero -mpku -msgx -mrdpid -mgfni -mpconfig -mwbnoinvd -mavx512vl -mavx512bf16 -menqcmd -mavx512vp2intersect -mserialize -mtsxldtrk -mamx-tile -mamx-int8 -mamx-bf16 -mkl -mwidekl -mavxvnni -mavx512fp16 -mavxifma -mavxvnniint8 -mavxneconvert -mamx-fp16 -mraoint -mamx-complex" } */
       3  /* { dg-add-options bind_pic_locally } */
       4  
       5  #include <mm_malloc.h>
       6  
       7  /* Test that the intrinsics compile without optimization.  All of them are
       8     defined as inline functions in {,x,e,p,t,s,w,a,b,i}mmintrin.h, mm3dnow.h,
       9     fma4intrin.h, xopintrin.h, abmintrin.h, bmiintrin.h, tbmintrin.h, 
      10     lwpintrin.h, fmaintrin.h gfniintrin.h and mm_malloc.h that reference
      11     the proper builtin functions.
      12  
      13     Defining away "extern" and "__inline" results in all of them being compiled
      14     as proper functions.  */
      15  
      16  #define extern
      17  #define __inline
      18  
      19  #include <x86intrin.h>
      20  
      21  #define _CONCAT(x,y) x ## y
      22  
      23  #define test_0(func, type, imm)						\
      24    type _CONCAT(_,func) (int const I)					\
      25    { return func (imm); }
      26  
      27  #define test_1(func, type, op1_type, imm)				\
      28    type _CONCAT(_,func) (op1_type A, int const I)			\
      29    { return func (A, imm); }
      30  
      31  #define test_1x(func, type, op1_type, imm1, imm2)			\
      32    type _CONCAT(_,func) (op1_type A, int const I, int const L)		\
      33    { return func (A, imm1, imm2); }
      34  
      35  #define test_1y(func, type, op1_type, imm1, imm2, imm3)			\
      36    type _CONCAT(_,func) (op1_type A, int const I, int const L, int const R)\
      37    { return func (A, imm1, imm2, imm3); }
      38  
      39  #define test_2(func, type, op1_type, op2_type, imm)			\
      40    type _CONCAT(_,func) (op1_type A, op2_type B, int const I)		\
      41    { return func (A, B, imm); }
      42  
      43  #define test_2x(func, type, op1_type, op2_type, imm1, imm2)		\
      44    type _CONCAT(_,func) (op1_type A, op2_type B, int const I, int const L) \
      45    { return func (A, B, imm1, imm2); }
      46  
      47  #define test_2y(func, type, op1_type, op2_type, imm1, imm2, imm3)	 \
      48    type _CONCAT(_,func) (op1_type A, op2_type B, int const I, int const L,\
      49  			int const R)					 \
      50    { return func (A, B, imm1, imm2, imm3); }
      51  
      52  #define test_2vx(func, op1_type, op2_type, imm1, imm2)     \
      53    void _CONCAT(_,func) (op1_type A, op2_type B, int const I, int const L) \
      54    { func (A, B, imm1, imm2); }
      55  
      56  #define test_3(func, type, op1_type, op2_type, op3_type, imm)		\
      57    type _CONCAT(_,func) (op1_type A, op2_type B,				\
      58  			op3_type C, int const I)			\
      59    { return func (A, B, C, imm); }
      60  
      61  #define test_3x(func, type, op1_type, op2_type, op3_type, imm1, imm2)		\
      62    type _CONCAT(_,func) (op1_type A, op2_type B,				\
      63  			op3_type C, int const I, int const L)			\
      64    { return func (A, B, C, imm1, imm2); }
      65  
      66  #define test_3y(func, type, op1_type, op2_type, op3_type, imm1, imm2, imm3)	\
      67    type _CONCAT(_,func) (op1_type A, op2_type B,				\
      68  			op3_type C, int const I, int const L, int const R)	\
      69    { return func (A, B, C, imm1, imm2, imm3); }
      70  
      71  #define test_3v(func, op1_type, op2_type, op3_type, imm)		\
      72    int _CONCAT(_,func) (op1_type A, op2_type B,				\
      73  		       op3_type C, int const I)				\
      74    { func (A, B, C, imm); }
      75  
      76  #define test_3vx(func, op1_type, op2_type, op3_type, imm1, imm2)   \
      77    void _CONCAT(_,func) (op1_type A, op2_type B,			   \
      78  		       op3_type C, int const I, int const L)       \
      79    { func (A, B, C, imm1, imm2); }
      80  
      81  #define test_4(func, type, op1_type, op2_type, op3_type, op4_type, imm)	\
      82    type _CONCAT(_,func) (op1_type A, op2_type B,				\
      83  			op3_type C, op4_type D, int const I)		\
      84    { return func (A, B, C, D, imm); }
      85  
      86  #define test_4x(func, type, op1_type, op2_type, op3_type, op4_type, imm1, imm2)	\
      87    type _CONCAT(_,func) (op1_type A, op2_type B,				\
      88  			op3_type C, op4_type D, int const I, int const L)		\
      89    { return func (A, B, C, D, imm1, imm2); }
      90  
      91  #define test_4y(func, type, op1_type, op2_type, op3_type, op4_type, imm1, imm2, imm3)	\
      92    type _CONCAT(_,func) (op1_type A, op2_type B,	op3_type C,		\
      93  			op4_type D, int const I, int const L, int const R)		\
      94    { return func (A, B, C, D, imm1, imm2, imm3); }
      95  
      96  #define test_4v(func, op1_type, op2_type, op3_type, op4_type, imm)	\
      97    int _CONCAT(_,func) (op1_type A, op2_type B,				\
      98  		       op3_type C, op4_type D, int const I)		\
      99    { func (A, B, C, D, imm); }
     100  
     101  
     102  /* Following intrinsics require immediate arguments.  They
     103     are defined as macros for non-optimized compilations. */
     104  
     105  /* ammintrin.h */
     106  test_1x (_mm_extracti_si64, __m128i, __m128i, 1, 1)
     107  test_2x (_mm_inserti_si64, __m128i, __m128i, __m128i, 1, 1)
     108  
     109  /* immintrin.h */
     110  test_2 (_mm256_blend_pd, __m256d, __m256d, __m256d, 1)
     111  test_2 (_mm256_blend_ps, __m256, __m256, __m256, 1)
     112  test_2 (_mm256_dp_ps, __m256, __m256, __m256, 1)
     113  test_2 (_mm256_shuffle_pd, __m256d, __m256d, __m256d, 1)
     114  test_2 (_mm256_shuffle_ps, __m256, __m256, __m256, 1)
     115  test_2 (_mm_cmp_sd, __m128d, __m128d, __m128d, 1)
     116  test_2 (_mm_cmp_ss, __m128, __m128, __m128, 1)
     117  test_2 (_mm_cmp_pd, __m128d, __m128d, __m128d, 1)
     118  test_2 (_mm_cmp_ps, __m128, __m128, __m128, 1)
     119  test_2 (_mm256_cmp_pd, __m256d, __m256d, __m256d, 1)
     120  test_2 (_mm256_cmp_ps, __m256, __m256, __m256, 1)
     121  test_1 (_mm256_extractf128_pd, __m128d, __m256d, 1)
     122  test_1 (_mm256_extractf128_ps, __m128, __m256, 1)
     123  test_1 (_mm256_extractf128_si256, __m128i, __m256i, 1)
     124  test_1 (_mm256_extract_epi8, int, __m256i, 20)
     125  test_1 (_mm256_extract_epi16, int, __m256i, 13)
     126  test_1 (_mm256_extract_epi32, int, __m256i, 6)
     127  #ifdef __x86_64__
     128  test_1 (_mm256_extract_epi64, long long, __m256i, 2)
     129  #endif
     130  test_1 (_mm_permute_pd, __m128d, __m128d, 1)
     131  test_1 (_mm256_permute_pd, __m256d, __m256d, 1)
     132  test_1 (_mm_permute_ps, __m128, __m128, 1)
     133  test_1 (_mm256_permute_ps, __m256, __m256, 1)
     134  test_2 (_mm256_permute2f128_pd, __m256d, __m256d, __m256d, 1)
     135  test_2 (_mm256_permute2f128_ps, __m256, __m256, __m256, 1)
     136  test_2 (_mm256_permute2f128_si256, __m256i, __m256i, __m256i, 1)
     137  test_2 (_mm256_insertf128_pd, __m256d, __m256d, __m128d, 1)
     138  test_2 (_mm256_insertf128_ps, __m256, __m256, __m128, 1)
     139  test_2 (_mm256_insertf128_si256, __m256i, __m256i, __m128i, 1)
     140  test_2 (_mm256_insert_epi8, __m256i, __m256i, int, 30)
     141  test_2 (_mm256_insert_epi16, __m256i, __m256i, int, 7)
     142  test_2 (_mm256_insert_epi32, __m256i, __m256i, int, 3)
     143  #ifdef __x86_64__
     144  test_2 (_mm256_insert_epi64, __m256i, __m256i, long long, 1)
     145  #endif
     146  test_1 (_mm256_round_pd, __m256d, __m256d, 9)
     147  test_1 (_mm256_round_ps, __m256, __m256, 9)
     148  test_1 (_cvtss_sh, unsigned short, float, 1)
     149  test_1 (_mm_cvtps_ph, __m128i, __m128, 1)
     150  test_1 (_mm256_cvtps_ph, __m128i, __m256, 1)
     151  test_0 (_xabort, void, 1)
     152  test_1 (_mm512_cvt_roundepi32_ps, __m512, __m512i, 9)
     153  test_1 (_mm512_cvt_roundepu32_ps, __m512, __m512i, 9)
     154  test_1 (_mm512_cvt_roundpd_epi32, __m256i, __m512d, 9)
     155  test_1 (_mm512_cvt_roundpd_epu32, __m256i, __m512d, 9)
     156  test_1 (_mm512_cvt_roundpd_ps, __m256, __m512d, 9)
     157  test_1 (_mm512_cvt_roundph_ps, __m512, __m256i, 8)
     158  test_1 (_mm512_cvt_roundps_epi32, __m512i, __m512, 9)
     159  test_1 (_mm512_cvt_roundps_epu32, __m512i, __m512, 9)
     160  test_1 (_mm512_cvt_roundps_pd, __m512d, __m256, 8)
     161  test_1 (_mm512_cvtps_ph, __m256i, __m512, 1)
     162  test_1 (_mm512_cvtt_roundpd_epi32, __m256i, __m512d, 8)
     163  test_1 (_mm512_cvtt_roundpd_epu32, __m256i, __m512d, 8)
     164  test_1 (_mm512_cvtt_roundps_epi32, __m512i, __m512, 8)
     165  test_1 (_mm512_cvtt_roundps_epu32, __m512i, __m512, 8)
     166  test_1 (_mm512_extractf32x4_ps, __m128, __m512, 1)
     167  test_1 (_mm512_extractf64x4_pd, __m256d, __m512d, 1)
     168  test_1 (_mm512_extracti32x4_epi32, __m128i, __m512i, 1)
     169  test_1 (_mm512_extracti64x4_epi64, __m256i, __m512i, 1)
     170  test_1 (_mm512_getexp_round_pd, __m512d, __m512d, 8)
     171  test_1 (_mm512_getexp_round_ps, __m512, __m512, 8)
     172  test_1y (_mm512_getmant_round_pd, __m512d, __m512d, 1, 1, 8)
     173  test_1y (_mm512_getmant_round_ps, __m512, __m512, 1, 1, 8)
     174  test_1 (_mm512_permute_pd, __m512d, __m512d, 1)
     175  test_1 (_mm512_permute_ps, __m512, __m512, 1)
     176  test_1 (_mm512_permutex_epi64, __m512i, __m512i, 1)
     177  test_1 (_mm512_permutex_pd, __m512d, __m512d, 1)
     178  test_1 (_mm512_rol_epi32, __m512i, __m512i, 1)
     179  test_1 (_mm512_rol_epi64, __m512i, __m512i, 1)
     180  test_1 (_mm512_ror_epi32, __m512i, __m512i, 1)
     181  test_1 (_mm512_ror_epi64, __m512i, __m512i, 1)
     182  test_1 (_mm512_shuffle_epi32, __m512i, __m512i, 1)
     183  test_1 (_mm512_slli_epi32, __m512i, __m512i, 1)
     184  test_1 (_mm512_slli_epi64, __m512i, __m512i, 1)
     185  test_1 (_mm512_sqrt_round_pd, __m512d, __m512d, 9)
     186  test_1 (_mm512_sqrt_round_ps, __m512, __m512, 9)
     187  test_1 (_mm512_srai_epi32, __m512i, __m512i, 1)
     188  test_1 (_mm512_srai_epi64, __m512i, __m512i, 1)
     189  test_1 (_mm512_srli_epi32, __m512i, __m512i, 1)
     190  test_1 (_mm512_srli_epi64, __m512i, __m512i, 1)
     191  test_1 (_mm_cvt_roundsd_i32, int, __m128d, 9)
     192  test_1 (_mm_cvt_roundsd_u32, unsigned, __m128d, 9)
     193  test_1 (_mm_cvt_roundss_i32, int, __m128, 9)
     194  test_1 (_mm_cvt_roundss_u32, unsigned, __m128, 9)
     195  test_1 (_mm_cvtt_roundsd_i32, int, __m128d, 8)
     196  test_1 (_mm_cvtt_roundsd_u32, unsigned, __m128d, 8)
     197  test_1 (_mm_cvtt_roundss_i32, int, __m128, 8)
     198  test_1 (_mm_cvtt_roundss_u32, unsigned, __m128, 8)
     199  test_1x (_mm512_getmant_pd, __m512d, __m512d, 1, 1)
     200  test_1x (_mm512_getmant_ps, __m512, __m512, 1, 1)
     201  test_1x (_mm512_roundscale_round_pd, __m512d, __m512d, 1, 8)
     202  test_1x (_mm512_roundscale_round_ps, __m512, __m512, 1, 8)
     203  test_1x (_mm_cvt_roundi32_ss, __m128, __m128, 1, 9)
     204  test_2 (_mm512_add_round_pd, __m512d, __m512d, __m512d, 9)
     205  test_2 (_mm512_add_round_ps, __m512, __m512, __m512, 9)
     206  test_2 (_mm512_alignr_epi32, __m512i, __m512i, __m512i, 1)
     207  test_2 (_mm512_alignr_epi64, __m512i, __m512i, __m512i, 1)
     208  test_2 (_mm512_cmp_epi32_mask, __mmask16, __m512i, __m512i, 1)
     209  test_2 (_mm512_cmp_epi64_mask, __mmask8, __m512i, __m512i, 1)
     210  test_2 (_mm512_cmp_epu32_mask, __mmask16, __m512i, __m512i, 1)
     211  test_2 (_mm512_cmp_epu64_mask, __mmask8, __m512i, __m512i, 1)
     212  test_2 (_mm512_cmp_pd_mask, __mmask8, __m512d, __m512d, 1)
     213  test_2 (_mm512_cmp_ps_mask, __mmask16, __m512, __m512, 1)
     214  test_2 (_mm512_div_round_pd, __m512d, __m512d, __m512d, 9)
     215  test_2 (_mm512_div_round_ps, __m512, __m512, __m512, 9)
     216  test_2 (_mm512_i32gather_epi32, __m512i, __m512i, void const *, 1)
     217  test_2 (_mm512_i32gather_epi64, __m512i, __m256i, void const *, 1)
     218  test_2 (_mm512_i32gather_pd, __m512d, __m256i, void const *, 1)
     219  test_2 (_mm512_i32gather_ps, __m512, __m512i, void const *, 1)
     220  test_2 (_mm512_i64gather_epi32, __m256i, __m512i, void const *, 1)
     221  test_2 (_mm512_i64gather_epi64, __m512i, __m512i, void const *, 1)
     222  test_2 (_mm512_i64gather_pd, __m512d, __m512i, void const *, 1)
     223  test_2 (_mm512_i64gather_ps, __m256, __m512i, void const *, 1)
     224  test_2 (_mm512_insertf32x4, __m512, __m512, __m128, 1)
     225  test_2 (_mm512_insertf64x4, __m512d, __m512d, __m256d, 1)
     226  test_2 (_mm512_inserti32x4, __m512i, __m512i, __m128i, 1)
     227  test_2 (_mm512_inserti64x4, __m512i, __m512i, __m256i, 1)
     228  test_2 (_mm512_maskz_cvt_roundepi32_ps, __m512, __mmask16, __m512i, 9)
     229  test_2 (_mm512_maskz_cvt_roundepu32_ps, __m512, __mmask16, __m512i, 9)
     230  test_2 (_mm512_maskz_cvt_roundpd_epi32, __m256i, __mmask8, __m512d, 9)
     231  test_2 (_mm512_maskz_cvt_roundpd_epu32, __m256i, __mmask8, __m512d, 9)
     232  test_2 (_mm512_maskz_cvt_roundpd_ps, __m256, __mmask8, __m512d, 9)
     233  test_2 (_mm512_maskz_cvt_roundph_ps, __m512, __mmask16, __m256i, 8)
     234  test_2 (_mm512_maskz_cvt_roundps_epi32, __m512i, __mmask16, __m512, 9)
     235  test_2 (_mm512_maskz_cvt_roundps_epu32, __m512i, __mmask16, __m512, 9)
     236  test_2 (_mm512_maskz_cvt_roundps_pd, __m512d, __mmask8, __m256, 8)
     237  test_2 (_mm512_maskz_cvtps_ph, __m256i, __mmask16, __m512, 1)
     238  test_2 (_mm512_maskz_cvtt_roundpd_epi32, __m256i, __mmask8, __m512d, 8)
     239  test_2 (_mm512_maskz_cvtt_roundpd_epu32, __m256i, __mmask8, __m512d, 8)
     240  test_2 (_mm512_maskz_cvtt_roundps_epi32, __m512i, __mmask16, __m512, 8)
     241  test_2 (_mm512_maskz_cvtt_roundps_epu32, __m512i, __mmask16, __m512, 8)
     242  test_2 (_mm512_maskz_extractf32x4_ps, __m128, __mmask8, __m512, 1)
     243  test_2 (_mm512_maskz_extractf64x4_pd, __m256d, __mmask8, __m512d, 1)
     244  test_2 (_mm512_maskz_extracti32x4_epi32, __m128i, __mmask8, __m512i, 1)
     245  test_2 (_mm512_maskz_extracti64x4_epi64, __m256i, __mmask8, __m512i, 1)
     246  test_2 (_mm512_maskz_getexp_round_pd, __m512d, __mmask8, __m512d, 8)
     247  test_3 (_mm_maskz_getexp_round_sd, __m128d, __mmask8, __m128d, __m128d, 8)
     248  test_2 (_mm512_maskz_getexp_round_ps, __m512, __mmask16, __m512, 8)
     249  test_3 (_mm_maskz_getexp_round_ss, __m128, __mmask8, __m128, __m128, 8)
     250  test_2y (_mm512_maskz_getmant_round_pd, __m512d, __mmask8, __m512d, 1, 1, 8)
     251  test_2y (_mm512_maskz_getmant_round_ps, __m512, __mmask16, __m512, 1, 1, 8)
     252  test_2 (_mm512_maskz_permute_pd, __m512d, __mmask8, __m512d, 1)
     253  test_2 (_mm512_maskz_permute_ps, __m512, __mmask16, __m512, 1)
     254  test_2 (_mm512_maskz_permutex_epi64, __m512i, __mmask8, __m512i, 1)
     255  test_2 (_mm512_maskz_permutex_pd, __m512d, __mmask8, __m512d, 1)
     256  test_2 (_mm512_maskz_rol_epi32, __m512i, __mmask16, __m512i, 1)
     257  test_2 (_mm512_maskz_rol_epi64, __m512i, __mmask8, __m512i, 1)
     258  test_2 (_mm512_maskz_ror_epi32, __m512i, __mmask16, __m512i, 1)
     259  test_2 (_mm512_maskz_ror_epi64, __m512i, __mmask8, __m512i, 1)
     260  test_2 (_mm512_maskz_shuffle_epi32, __m512i, __mmask16, __m512i, 1)
     261  test_2 (_mm512_maskz_slli_epi32, __m512i, __mmask16, __m512i, 1)
     262  test_2 (_mm512_maskz_slli_epi64, __m512i, __mmask8, __m512i, 1)
     263  test_2 (_mm512_maskz_sqrt_round_pd, __m512d, __mmask8, __m512d, 9)
     264  test_2 (_mm512_maskz_sqrt_round_ps, __m512, __mmask16, __m512, 9)
     265  test_2 (_mm512_maskz_srai_epi32, __m512i, __mmask16, __m512i, 1)
     266  test_2 (_mm512_maskz_srai_epi64, __m512i, __mmask8, __m512i, 1)
     267  test_2 (_mm512_maskz_srli_epi32, __m512i, __mmask16, __m512i, 1)
     268  test_2 (_mm512_maskz_srli_epi64, __m512i, __mmask8, __m512i, 1)
     269  test_2 (_mm512_max_round_pd, __m512d, __m512d, __m512d, 8)
     270  test_2 (_mm512_max_round_ps, __m512, __m512, __m512, 8)
     271  test_2 (_mm512_min_round_pd, __m512d, __m512d, __m512d, 8)
     272  test_2 (_mm512_min_round_ps, __m512, __m512, __m512, 8)
     273  test_2 (_mm512_mul_round_pd, __m512d, __m512d, __m512d, 9)
     274  test_2 (_mm512_mul_round_ps, __m512, __m512, __m512, 9)
     275  test_2 (_mm512_scalef_round_pd, __m512d, __m512d, __m512d, 9)
     276  test_2 (_mm512_scalef_round_ps, __m512, __m512, __m512, 9)
     277  test_2 (_mm512_shuffle_f32x4, __m512, __m512, __m512, 1)
     278  test_2 (_mm512_shuffle_f64x2, __m512d, __m512d, __m512d, 1)
     279  test_2 (_mm512_shuffle_i32x4, __m512i, __m512i, __m512i, 1)
     280  test_2 (_mm512_shuffle_i64x2, __m512i, __m512i, __m512i, 1)
     281  test_2 (_mm512_shuffle_pd, __m512d, __m512d, __m512d, 1)
     282  test_2 (_mm512_shuffle_ps, __m512, __m512, __m512, 1)
     283  test_2 (_mm512_sub_round_pd, __m512d, __m512d, __m512d, 9)
     284  test_2 (_mm512_sub_round_ps, __m512, __m512, __m512, 9)
     285  test_2 (_mm_add_round_sd, __m128d, __m128d, __m128d, 9)
     286  test_2 (_mm_add_round_ss, __m128, __m128, __m128, 9)
     287  test_2 (_mm_cmp_sd_mask, __mmask8, __m128d, __m128d, 1)
     288  test_2 (_mm_cmp_ss_mask, __mmask8, __m128, __m128, 1)
     289  test_2 (_mm_cmp_sh_mask, __mmask8, __m128h, __m128h, 1)
     290  #ifdef __x86_64__
     291  test_2 (_mm_cvt_roundi64_sd, __m128d, __m128d, long long, 9)
     292  test_2 (_mm_cvt_roundi64_ss, __m128, __m128, long long, 9)
     293  #endif
     294  test_2 (_mm_cvt_roundsd_ss, __m128, __m128, __m128d, 9)
     295  test_2 (_mm_cvt_roundss_sd, __m128d, __m128d, __m128, 8)
     296  test_2 (_mm_cvt_roundu32_ss, __m128, __m128, unsigned, 9)
     297  #ifdef __x86_64__
     298  test_2 (_mm_cvt_roundu64_sd, __m128d, __m128d, unsigned long long, 9)
     299  test_2 (_mm_cvt_roundu64_ss, __m128, __m128, unsigned long long, 9)
     300  #endif
     301  test_2 (_mm_div_round_sd, __m128d, __m128d, __m128d, 9)
     302  test_2 (_mm_div_round_ss, __m128, __m128, __m128, 9)
     303  test_2 (_mm_getexp_round_sd, __m128d, __m128d, __m128d, 8)
     304  test_2 (_mm_getexp_round_ss, __m128, __m128, __m128, 8)
     305  test_2y (_mm_getmant_round_sd, __m128d, __m128d, __m128d, 1, 1, 8)
     306  test_4y (_mm_mask_getmant_round_sd, __m128d, __m128d, __mmask8, __m128d, __m128d, 1, 1, 8)
     307  test_3y (_mm_maskz_getmant_round_sd, __m128d, __mmask8, __m128d, __m128d, 1, 1, 8)
     308  test_2y (_mm_getmant_round_ss, __m128, __m128, __m128, 1, 1, 8)
     309  test_4y (_mm_mask_getmant_round_ss, __m128, __m128, __mmask8, __m128, __m128, 1, 1, 8)
     310  test_3y (_mm_maskz_getmant_round_ss, __m128, __mmask8, __m128, __m128, 1, 1, 8)
     311  test_2 (_mm_mul_round_sd, __m128d, __m128d, __m128d, 9)
     312  test_2 (_mm_mul_round_ss, __m128, __m128, __m128, 9)
     313  test_2 (_mm_scalef_round_sd, __m128d, __m128d, __m128d, 9)
     314  test_2 (_mm_scalef_round_ss, __m128, __m128, __m128, 9)
     315  test_2 (_mm_sqrt_round_sd, __m128d, __m128d, __m128d, 9)
     316  test_2 (_mm_sqrt_round_ss, __m128, __m128, __m128, 9)
     317  test_2 (_mm_sub_round_sd, __m128d, __m128d, __m128d, 9)
     318  test_2 (_mm_sub_round_ss, __m128, __m128, __m128, 9)
     319  test_2 (_mm512_shrdi_epi16, __m512i, __m512i, __m512i, 1)
     320  test_2 (_mm512_shrdi_epi32, __m512i, __m512i, __m512i, 1)
     321  test_2 (_mm512_shrdi_epi64, __m512i, __m512i, __m512i, 1)
     322  test_2 (_mm256_shrdi_epi16, __m256i, __m256i, __m256i, 1)
     323  test_2 (_mm256_shrdi_epi32, __m256i, __m256i, __m256i, 1)
     324  test_2 (_mm256_shrdi_epi64, __m256i, __m256i, __m256i, 1)
     325  test_2 (_mm_shrdi_epi16, __m128i, __m128i, __m128i, 1)
     326  test_2 (_mm_shrdi_epi32, __m128i, __m128i, __m128i, 1)
     327  test_2 (_mm_shrdi_epi64, __m128i, __m128i, __m128i, 1)
     328  test_2 (_mm512_shldi_epi16, __m512i, __m512i, __m512i, 1)
     329  test_2 (_mm512_shldi_epi32, __m512i, __m512i, __m512i, 1)
     330  test_2 (_mm512_shldi_epi64, __m512i, __m512i, __m512i, 1)
     331  test_2 (_mm256_shldi_epi16, __m256i, __m256i, __m256i, 1)
     332  test_2 (_mm256_shldi_epi32, __m256i, __m256i, __m256i, 1)
     333  test_2 (_mm256_shldi_epi64, __m256i, __m256i, __m256i, 1)
     334  test_2 (_mm_shldi_epi16, __m128i, __m128i, __m128i, 1)
     335  test_2 (_mm_shldi_epi32, __m128i, __m128i, __m128i, 1)
     336  test_2 (_mm_shldi_epi64, __m128i, __m128i, __m128i, 1)
     337  test_2x (_mm512_cmp_round_pd_mask, __mmask8, __m512d, __m512d, 1, 8)
     338  test_2x (_mm512_cmp_round_ps_mask, __mmask16, __m512, __m512, 1, 8)
     339  test_2x (_mm512_maskz_roundscale_round_pd, __m512d, __mmask8, __m512d, 1, 8)
     340  test_2x (_mm512_maskz_roundscale_round_ps, __m512, __mmask16, __m512, 1, 8)
     341  test_2x (_mm_cmp_round_sd_mask, __mmask8, __m128d, __m128d, 1, 8)
     342  test_2x (_mm_cmp_round_ss_mask, __mmask8, __m128, __m128, 1, 8)
     343  test_2x (_mm_comi_round_sd, int, __m128d, __m128d, 1, 8)
     344  test_2x (_mm_comi_round_ss, int, __m128, __m128, 1, 8)
     345  test_2x (_mm_roundscale_round_sd, __m128d, __m128d, __m128d, 1, 8)
     346  test_2x (_mm_roundscale_round_ss, __m128, __m128, __m128, 1, 8)
     347  test_3 (_mm512_fmadd_round_pd, __m512d, __m512d, __m512d, __m512d, 9)
     348  test_3 (_mm512_fmadd_round_ps, __m512, __m512, __m512, __m512, 9)
     349  test_3 (_mm512_fmaddsub_round_pd, __m512d, __m512d, __m512d, __m512d, 9)
     350  test_3 (_mm512_fmaddsub_round_ps, __m512, __m512, __m512, __m512, 9)
     351  test_3 (_mm512_fmsub_round_pd, __m512d, __m512d, __m512d, __m512d, 9)
     352  test_3 (_mm512_fmsub_round_ps, __m512, __m512, __m512, __m512, 9)
     353  test_3 (_mm512_fmsubadd_round_pd, __m512d, __m512d, __m512d, __m512d, 9)
     354  test_3 (_mm512_fmsubadd_round_ps, __m512, __m512, __m512, __m512, 9)
     355  test_3 (_mm512_fnmadd_round_pd, __m512d, __m512d, __m512d, __m512d, 9)
     356  test_3 (_mm512_fnmadd_round_ps, __m512, __m512, __m512, __m512, 9)
     357  test_3 (_mm512_fnmsub_round_pd, __m512d, __m512d, __m512d, __m512d, 9)
     358  test_3 (_mm512_fnmsub_round_ps, __m512, __m512, __m512, __m512, 9)
     359  test_3 (_mm512_mask_cmp_epi32_mask, __mmask16, __mmask16, __m512i, __m512i, 1)
     360  test_3 (_mm512_mask_cmp_epi64_mask, __mmask8, __mmask8, __m512i, __m512i, 1)
     361  test_3 (_mm512_mask_cmp_epu32_mask, __mmask16, __mmask16, __m512i, __m512i, 1)
     362  test_3 (_mm512_mask_cmp_epu64_mask, __mmask8, __mmask8, __m512i, __m512i, 1)
     363  test_3 (_mm512_mask_cmp_pd_mask, __mmask8, __mmask8, __m512d, __m512d, 1)
     364  test_3 (_mm512_mask_cmp_ps_mask, __mmask16, __mmask16, __m512, __m512, 1)
     365  test_3 (_mm512_mask_cvt_roundepi32_ps, __m512, __m512, __mmask16, __m512i, 9)
     366  test_3 (_mm512_mask_cvt_roundepu32_ps, __m512, __m512, __mmask16, __m512i, 9)
     367  test_3 (_mm512_mask_cvt_roundpd_epi32, __m256i, __m256i, __mmask8, __m512d, 9)
     368  test_3 (_mm512_mask_cvt_roundpd_epu32, __m256i, __m256i, __mmask8, __m512d, 9)
     369  test_3 (_mm512_mask_cvt_roundpd_ps, __m256, __m256, __mmask8, __m512d, 9)
     370  test_3 (_mm512_mask_cvt_roundph_ps, __m512, __m512, __mmask16, __m256i, 8)
     371  test_3 (_mm512_mask_cvt_roundps_epi32, __m512i, __m512i, __mmask16, __m512, 9)
     372  test_3 (_mm512_mask_cvt_roundps_epu32, __m512i, __m512i, __mmask16, __m512, 9)
     373  test_3 (_mm512_mask_cvt_roundps_pd, __m512d, __m512d, __mmask8, __m256, 8)
     374  test_3 (_mm512_mask_cvtps_ph, __m256i, __m256i, __mmask16, __m512, 1)
     375  test_3 (_mm512_mask_cvtt_roundpd_epi32, __m256i, __m256i, __mmask8, __m512d, 8)
     376  test_3 (_mm512_mask_cvtt_roundpd_epu32, __m256i, __m256i, __mmask8, __m512d, 8)
     377  test_3 (_mm512_mask_cvtt_roundps_epi32, __m512i, __m512i, __mmask16, __m512, 8)
     378  test_3 (_mm512_mask_cvtt_roundps_epu32, __m512i, __m512i, __mmask16, __m512, 8)
     379  test_3 (_mm512_mask_extractf32x4_ps, __m128, __m128, __mmask8, __m512, 1)
     380  test_3 (_mm512_mask_extractf64x4_pd, __m256d, __m256d, __mmask8, __m512d, 1)
     381  test_3 (_mm512_mask_extracti32x4_epi32, __m128i, __m128i, __mmask8, __m512i, 1)
     382  test_3 (_mm512_mask_extracti64x4_epi64, __m256i, __m256i, __mmask8, __m512i, 1)
     383  test_3 (_mm512_mask_getexp_round_pd, __m512d, __m512d, __mmask8, __m512d, 8)
     384  test_4 (_mm_mask_getexp_round_sd, __m128d, __m128d, __mmask8, __m128d, __m128d, 8)
     385  test_3 (_mm512_mask_getexp_round_ps, __m512, __m512, __mmask16, __m512, 8)
     386  test_4 (_mm_mask_getexp_round_ss, __m128, __m128, __mmask8, __m128, __m128, 8)
     387  test_3y (_mm512_mask_getmant_round_pd, __m512d, __m512d, __mmask8, __m512d, 1, 1, 8)
     388  test_3y (_mm512_mask_getmant_round_ps, __m512, __m512, __mmask16, __m512, 1, 1, 8)
     389  test_3 (_mm512_mask_permute_pd, __m512d, __m512d, __mmask8, __m512d, 1)
     390  test_3 (_mm512_mask_permute_ps, __m512, __m512, __mmask16, __m512, 1)
     391  test_3 (_mm512_mask_permutex_epi64, __m512i, __m512i, __mmask8, __m512i, 1)
     392  test_3 (_mm512_mask_permutex_pd, __m512d, __m512d, __mmask8, __m512d, 1)
     393  test_3 (_mm512_mask_rol_epi32, __m512i, __m512i, __mmask16, __m512i, 1)
     394  test_3 (_mm512_mask_rol_epi64, __m512i, __m512i, __mmask8, __m512i, 1)
     395  test_3 (_mm512_mask_ror_epi32, __m512i, __m512i, __mmask16, __m512i, 1)
     396  test_3 (_mm512_mask_ror_epi64, __m512i, __m512i, __mmask8, __m512i, 1)
     397  test_3 (_mm512_mask_shuffle_epi32, __m512i, __m512i, __mmask16, __m512i, 1)
     398  test_3 (_mm512_mask_slli_epi32, __m512i, __m512i, __mmask16, __m512i, 1)
     399  test_3 (_mm512_mask_slli_epi64, __m512i, __m512i, __mmask8, __m512i, 1)
     400  test_3 (_mm512_mask_sqrt_round_pd, __m512d, __m512d, __mmask8, __m512d, 9)
     401  test_3 (_mm512_mask_sqrt_round_ps, __m512, __m512, __mmask16, __m512, 9)
     402  test_3 (_mm512_mask_srai_epi32, __m512i, __m512i, __mmask16, __m512i, 1)
     403  test_3 (_mm512_mask_srai_epi64, __m512i, __m512i, __mmask8, __m512i, 1)
     404  test_3 (_mm512_mask_srli_epi32, __m512i, __m512i, __mmask16, __m512i, 1)
     405  test_3 (_mm512_mask_srli_epi64, __m512i, __m512i, __mmask8, __m512i, 1)
     406  test_3 (_mm512_maskz_add_round_pd, __m512d, __mmask8, __m512d, __m512d, 9)
     407  test_3 (_mm_maskz_add_round_sd, __m128d, __mmask8, __m128d, __m128d, 9)
     408  test_3 (_mm512_maskz_add_round_ps, __m512, __mmask16, __m512, __m512, 9)
     409  test_3 (_mm_maskz_add_round_ss, __m128, __mmask8, __m128, __m128, 9)
     410  test_3 (_mm512_maskz_alignr_epi32, __m512i, __mmask16, __m512i, __m512i, 1)
     411  test_3 (_mm512_maskz_alignr_epi64, __m512i, __mmask8, __m512i, __m512i, 1)
     412  test_3 (_mm512_maskz_div_round_pd, __m512d, __mmask8, __m512d, __m512d, 9)
     413  test_3 (_mm_maskz_div_round_sd, __m128d, __mmask8, __m128d, __m128d, 9)
     414  test_3 (_mm512_maskz_div_round_ps, __m512, __mmask16, __m512, __m512, 9)
     415  test_3 (_mm_maskz_div_round_ss, __m128, __mmask8, __m128, __m128, 9)
     416  test_3 (_mm512_maskz_insertf32x4, __m512, __mmask16, __m512, __m128, 1)
     417  test_3 (_mm512_maskz_insertf64x4, __m512d, __mmask8, __m512d, __m256d, 1)
     418  test_3 (_mm512_maskz_inserti32x4, __m512i, __mmask16, __m512i, __m128i, 1)
     419  test_3 (_mm512_maskz_inserti64x4, __m512i, __mmask8, __m512i, __m256i, 1)
     420  test_3 (_mm512_maskz_max_round_pd, __m512d, __mmask8, __m512d, __m512d, 8)
     421  test_3 (_mm_maskz_max_round_sd, __m128d, __mmask8, __m128d, __m128d, 8)
     422  test_3 (_mm512_maskz_max_round_ps, __m512, __mmask16, __m512, __m512, 8)
     423  test_3 (_mm_maskz_max_round_ss, __m128, __mmask8, __m128, __m128, 8)
     424  test_3 (_mm512_maskz_min_round_pd, __m512d, __mmask8, __m512d, __m512d, 8)
     425  test_3 (_mm_maskz_min_round_sd, __m128d, __mmask8, __m128d, __m128d, 8)
     426  test_3 (_mm512_maskz_min_round_ps, __m512, __mmask16, __m512, __m512, 8)
     427  test_3 (_mm_maskz_min_round_ss, __m128, __mmask8, __m128, __m128, 8)
     428  test_3 (_mm512_maskz_mul_round_pd, __m512d, __mmask8, __m512d, __m512d, 9)
     429  test_3 (_mm_maskz_mul_round_sd, __m128d, __mmask8, __m128d, __m128d, 9)
     430  test_3 (_mm512_maskz_mul_round_ps, __m512, __mmask16, __m512, __m512, 9)
     431  test_3 (_mm_maskz_mul_round_ss, __m128, __mmask8, __m128, __m128, 9)
     432  test_3 (_mm512_maskz_scalef_round_pd, __m512d, __mmask8, __m512d, __m512d, 9)
     433  test_3 (_mm_maskz_scalef_round_sd, __m128d, __mmask8, __m128d, __m128d, 9)
     434  test_3 (_mm512_maskz_scalef_round_ps, __m512, __mmask16, __m512, __m512, 9)
     435  test_3 (_mm_maskz_scalef_round_ss, __m128, __mmask8, __m128, __m128, 9)
     436  test_3 (_mm512_maskz_shuffle_f32x4, __m512, __mmask16, __m512, __m512, 1)
     437  test_3 (_mm512_maskz_shuffle_f64x2, __m512d, __mmask8, __m512d, __m512d, 1)
     438  test_3 (_mm512_maskz_shuffle_i32x4, __m512i, __mmask16, __m512i, __m512i, 1)
     439  test_3 (_mm512_maskz_shuffle_i64x2, __m512i, __mmask8, __m512i, __m512i, 1)
     440  test_3 (_mm512_maskz_shuffle_pd, __m512d, __mmask8, __m512d, __m512d, 1)
     441  test_3 (_mm512_maskz_shuffle_ps, __m512, __mmask16, __m512, __m512, 1)
     442  test_3 (_mm512_maskz_sub_round_pd, __m512d, __mmask8, __m512d, __m512d, 9)
     443  test_3 (_mm_maskz_sub_round_sd, __m128d, __mmask8, __m128d, __m128d, 9)
     444  test_3 (_mm512_maskz_sub_round_ps, __m512, __mmask16, __m512, __m512, 9)
     445  test_3 (_mm_maskz_sub_round_ss, __m128, __mmask8, __m128, __m128, 9)
     446  test_3 (_mm512_ternarylogic_epi32, __m512i, __m512i, __m512i, __m512i, 1)
     447  test_3 (_mm512_ternarylogic_epi64, __m512i, __m512i, __m512i, __m512i, 1)
     448  test_3 (_mm_fmadd_round_sd, __m128d, __m128d, __m128d, __m128d, 9)
     449  test_3 (_mm_fmadd_round_ss, __m128, __m128, __m128, __m128, 9)
     450  test_3 (_mm_fmsub_round_sd, __m128d, __m128d, __m128d, __m128d, 9)
     451  test_3 (_mm_fmsub_round_ss, __m128, __m128, __m128, __m128, 9)
     452  test_3 (_mm_fnmadd_round_sd, __m128d, __m128d, __m128d, __m128d, 9)
     453  test_3 (_mm_fnmadd_round_ss, __m128, __m128, __m128, __m128, 9)
     454  test_3 (_mm_fnmsub_round_sd, __m128d, __m128d, __m128d, __m128d, 9)
     455  test_3 (_mm_fnmsub_round_ss, __m128, __m128, __m128, __m128, 9)
     456  test_3 (_mm_mask_cmp_sd_mask, __mmask8, __mmask8, __m128d, __m128d, 1)
     457  test_3 (_mm_mask_cmp_ss_mask, __mmask8, __mmask8, __m128, __m128, 1)
     458  test_3 (_mm512_maskz_shrdi_epi16, __m512i, __mmask32, __m512i, __m512i, 1)
     459  test_3 (_mm512_maskz_shrdi_epi32, __m512i, __mmask16, __m512i, __m512i, 1)
     460  test_3 (_mm512_maskz_shrdi_epi64, __m512i, __mmask8,  __m512i,__m512i, 1)
     461  test_3 (_mm256_maskz_shrdi_epi16, __m256i, __mmask16, __m256i, __m256i, 1)
     462  test_3 (_mm256_maskz_shrdi_epi32, __m256i, __mmask8,  __m256i,__m256i, 1)
     463  test_3 (_mm256_maskz_shrdi_epi64, __m256i, __mmask8,  __m256i,__m256i, 1)
     464  test_3 (_mm_maskz_shrdi_epi16, __m128i, __mmask8,  __m128i, __m128i, 1)
     465  test_3 (_mm_maskz_shrdi_epi32, __m128i, __mmask8,  __m128i, __m128i, 1)
     466  test_3 (_mm_maskz_shrdi_epi64, __m128i, __mmask8,  __m128i, __m128i, 1)
     467  test_3 (_mm512_maskz_shldi_epi16, __m512i, __mmask32, __m512i, __m512i, 1)
     468  test_3 (_mm512_maskz_shldi_epi32, __m512i, __mmask16, __m512i, __m512i, 1)
     469  test_3 (_mm512_maskz_shldi_epi64, __m512i, __mmask8, __m512i, __m512i, 1)
     470  test_3 (_mm256_maskz_shldi_epi16, __m256i, __mmask16, __m256i, __m256i, 1)
     471  test_3 (_mm256_maskz_shldi_epi32, __m256i, __mmask8, __m256i, __m256i, 1)
     472  test_3 (_mm256_maskz_shldi_epi64, __m256i, __mmask8, __m256i, __m256i, 1)
     473  test_3 (_mm_maskz_shldi_epi16, __m128i, __mmask8, __m128i, __m128i, 1)
     474  test_3 (_mm_maskz_shldi_epi32, __m128i, __mmask8, __m128i, __m128i, 1)
     475  test_3 (_mm_maskz_shldi_epi64, __m128i, __mmask8, __m128i, __m128i, 1)
     476  test_3 (_mm_mask_cmp_sh_mask, __mmask8, __mmask8, __m128h, __m128h, 1)
     477  test_3v (_mm512_i32scatter_epi32, void *, __m512i, __m512i, 1)
     478  test_3v (_mm512_i32scatter_epi64, void *, __m256i, __m512i, 1)
     479  test_3v (_mm512_i32scatter_pd, void *, __m256i, __m512d, 1)
     480  test_3v (_mm512_i32scatter_ps, void *, __m512i, __m512, 1)
     481  test_3v (_mm512_i64scatter_epi32, void *, __m512i, __m256i, 1)
     482  test_3v (_mm512_i64scatter_epi64, void *, __m512i, __m512i, 1)
     483  test_3v (_mm512_i64scatter_pd, void *, __m512i, __m512d, 1)
     484  test_3v (_mm512_i64scatter_ps, void *, __m512i, __m256, 1)
     485  test_3x (_mm512_mask_roundscale_round_pd, __m512d, __m512d, __mmask8, __m512d, 1, 8)
     486  test_3x (_mm512_mask_roundscale_round_ps, __m512, __m512, __mmask16, __m512, 1, 8)
     487  test_3x (_mm_fixupimm_round_sd, __m128d, __m128d, __m128d, __m128i, 1, 8)
     488  test_3x (_mm_fixupimm_round_ss, __m128, __m128, __m128, __m128i, 1, 8)
     489  test_3x (_mm_mask_cmp_round_sd_mask, __mmask8, __mmask8, __m128d, __m128d, 1, 8)
     490  test_3x (_mm_mask_cmp_round_ss_mask, __mmask8, __mmask8, __m128, __m128, 1, 8)
     491  test_4 (_mm512_mask3_fmadd_round_pd, __m512d, __m512d, __m512d, __m512d, __mmask8, 9)
     492  test_4 (_mm512_mask3_fmadd_round_ps, __m512, __m512, __m512, __m512, __mmask16, 9)
     493  test_4 (_mm512_mask3_fmaddsub_round_pd, __m512d, __m512d, __m512d, __m512d, __mmask8, 9)
     494  test_4 (_mm512_mask3_fmaddsub_round_ps, __m512, __m512, __m512, __m512, __mmask16, 9)
     495  test_4 (_mm512_mask3_fmsub_round_pd, __m512d, __m512d, __m512d, __m512d, __mmask8, 9)
     496  test_4 (_mm512_mask3_fmsub_round_ps, __m512, __m512, __m512, __m512, __mmask16, 9)
     497  test_4 (_mm512_mask3_fmsubadd_round_pd, __m512d, __m512d, __m512d, __m512d, __mmask8, 9)
     498  test_4 (_mm512_mask3_fmsubadd_round_ps, __m512, __m512, __m512, __m512, __mmask16, 9)
     499  test_4 (_mm512_mask3_fnmadd_round_pd, __m512d, __m512d, __m512d, __m512d, __mmask8, 9)
     500  test_4 (_mm512_mask3_fnmadd_round_ps, __m512, __m512, __m512, __m512, __mmask16, 9)
     501  test_4 (_mm512_mask3_fnmsub_round_pd, __m512d, __m512d, __m512d, __m512d, __mmask8, 9)
     502  test_4 (_mm512_mask3_fnmsub_round_ps, __m512, __m512, __m512, __m512, __mmask16, 9)
     503  test_4 (_mm512_mask_add_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 9)
     504  test_4 (_mm_mask_add_round_sd, __m128d, __m128d, __mmask8, __m128d, __m128d, 9)
     505  test_4 (_mm512_mask_add_round_ps, __m512, __m512, __mmask16, __m512, __m512, 9)
     506  test_4 (_mm_mask_add_round_ss, __m128, __m128, __mmask8, __m128, __m128, 9)
     507  test_4 (_mm512_mask_alignr_epi32, __m512i, __m512i, __mmask16, __m512i, __m512i, 1)
     508  test_4 (_mm512_mask_alignr_epi64, __m512i, __m512i, __mmask8, __m512i, __m512i, 1)
     509  test_4 (_mm512_mask_div_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 9)
     510  test_4 (_mm_mask_div_round_sd, __m128d, __m128d, __mmask8, __m128d, __m128d, 9)
     511  test_4 (_mm512_mask_div_round_ps, __m512, __m512, __mmask16, __m512, __m512, 9)
     512  test_4 (_mm_mask_div_round_ss, __m128, __m128, __mmask8, __m128, __m128, 9)
     513  test_4 (_mm512_mask_fmadd_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 9)
     514  test_4 (_mm512_mask_fmadd_round_ps, __m512, __m512, __mmask16, __m512, __m512, 9)
     515  test_4 (_mm512_mask_fmaddsub_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 9)
     516  test_4 (_mm512_mask_fmaddsub_round_ps, __m512, __m512, __mmask16, __m512, __m512, 9)
     517  test_4 (_mm512_mask_fmsub_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 9)
     518  test_4 (_mm512_mask_fmsub_round_ps, __m512, __m512, __mmask16, __m512, __m512, 9)
     519  test_4 (_mm512_mask_fmsubadd_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 9)
     520  test_4 (_mm512_mask_fmsubadd_round_ps, __m512, __m512, __mmask16, __m512, __m512, 9)
     521  test_4 (_mm512_mask_fnmadd_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 9)
     522  test_4 (_mm512_mask_fnmadd_round_ps, __m512, __m512, __mmask16, __m512, __m512, 9)
     523  test_4 (_mm512_mask_fnmsub_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 9)
     524  test_4 (_mm512_mask_fnmsub_round_ps, __m512, __m512, __mmask16, __m512, __m512, 9)
     525  test_4 (_mm512_mask_i32gather_epi32, __m512i, __m512i, __mmask16, __m512i, void const *, 1)
     526  test_4 (_mm512_mask_i32gather_epi64, __m512i, __m512i, __mmask8, __m256i, void const *, 1)
     527  test_4 (_mm512_mask_i32gather_pd, __m512d, __m512d, __mmask8, __m256i, void const *, 1)
     528  test_4 (_mm512_mask_i32gather_ps, __m512, __m512, __mmask16, __m512i, void const *, 1)
     529  test_4 (_mm512_mask_i64gather_epi32, __m256i, __m256i, __mmask8, __m512i, void const *, 1)
     530  test_4 (_mm512_mask_i64gather_epi64, __m512i, __m512i, __mmask8, __m512i, void const *, 1)
     531  test_4 (_mm512_mask_i64gather_pd, __m512d, __m512d, __mmask8, __m512i, void const *, 1)
     532  test_4 (_mm512_mask_i64gather_ps, __m256, __m256, __mmask8, __m512i, void const *, 1)
     533  test_4 (_mm512_mask_insertf32x4, __m512, __m512, __mmask16, __m512, __m128, 1)
     534  test_4 (_mm512_mask_insertf64x4, __m512d, __m512d, __mmask8, __m512d, __m256d, 1)
     535  test_4 (_mm512_mask_inserti32x4, __m512i, __m512i, __mmask16, __m512i, __m128i, 1)
     536  test_4 (_mm512_mask_inserti64x4, __m512i, __m512i, __mmask8, __m512i, __m256i, 1)
     537  test_4 (_mm512_mask_max_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 8)
     538  test_4 (_mm_mask_max_round_sd, __m128d, __m128d, __mmask8, __m128d, __m128d, 8)
     539  test_4 (_mm512_mask_max_round_ps, __m512, __m512, __mmask16, __m512, __m512, 8)
     540  test_4 (_mm_mask_max_round_ss, __m128, __m128, __mmask8, __m128, __m128, 8)
     541  test_4 (_mm512_mask_min_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 8)
     542  test_4 (_mm_mask_min_round_sd, __m128d, __m128d, __mmask8, __m128d, __m128d, 8)
     543  test_4 (_mm512_mask_min_round_ps, __m512, __m512, __mmask16, __m512, __m512, 8)
     544  test_4 (_mm_mask_min_round_ss, __m128, __m128, __mmask8, __m128, __m128, 8)
     545  test_4 (_mm512_mask_mul_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 9)
     546  test_4 (_mm_mask_mul_round_sd, __m128d, __m128d, __mmask8, __m128d, __m128d, 9)
     547  test_4 (_mm512_mask_mul_round_ps, __m512, __m512, __mmask16, __m512, __m512, 9)
     548  test_4 (_mm_mask_mul_round_ss, __m128, __m128, __mmask8, __m128, __m128, 9)
     549  test_4 (_mm512_mask_scalef_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 9)
     550  test_4 (_mm_mask_scalef_round_sd, __m128d, __m128d, __mmask8, __m128d, __m128d, 9)
     551  test_4 (_mm512_mask_scalef_round_ps, __m512, __m512, __mmask16, __m512, __m512, 9)
     552  test_4 (_mm_mask_scalef_round_ss, __m128, __m128, __mmask8, __m128, __m128, 9)
     553  test_4 (_mm512_mask_shuffle_f32x4, __m512, __m512, __mmask16, __m512, __m512, 1)
     554  test_4 (_mm512_mask_shuffle_f64x2, __m512d, __m512d, __mmask8, __m512d, __m512d, 1)
     555  test_4 (_mm512_mask_shuffle_i32x4, __m512i, __m512i, __mmask16, __m512i, __m512i, 1)
     556  test_4 (_mm512_mask_shuffle_i64x2, __m512i, __m512i, __mmask8, __m512i, __m512i, 1)
     557  test_4 (_mm512_mask_shuffle_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 1)
     558  test_4 (_mm512_mask_shuffle_ps, __m512, __m512, __mmask16, __m512, __m512, 1)
     559  test_4 (_mm512_mask_sub_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 9)
     560  test_4 (_mm_mask_sub_round_sd, __m128d, __m128d, __mmask8, __m128d, __m128d, 9)
     561  test_4 (_mm512_mask_sub_round_ps, __m512, __m512, __mmask16, __m512, __m512, 9)
     562  test_4 (_mm_mask_sub_round_ss, __m128, __m128, __mmask8, __m128, __m128, 9)
     563  test_4 (_mm512_mask_ternarylogic_epi32, __m512i, __m512i, __mmask16, __m512i, __m512i, 1)
     564  test_4 (_mm512_mask_ternarylogic_epi64, __m512i, __m512i, __mmask8, __m512i, __m512i, 1)
     565  test_4 (_mm512_maskz_fmadd_round_pd, __m512d, __mmask8, __m512d, __m512d, __m512d, 9)
     566  test_4 (_mm512_maskz_fmadd_round_ps, __m512, __mmask16, __m512, __m512, __m512, 9)
     567  test_4 (_mm512_maskz_fmaddsub_round_pd, __m512d, __mmask8, __m512d, __m512d, __m512d, 9)
     568  test_4 (_mm512_maskz_fmaddsub_round_ps, __m512, __mmask16, __m512, __m512, __m512, 9)
     569  test_4 (_mm512_maskz_fmsub_round_pd, __m512d, __mmask8, __m512d, __m512d, __m512d, 9)
     570  test_4 (_mm512_maskz_fmsub_round_ps, __m512, __mmask16, __m512, __m512, __m512, 9)
     571  test_4 (_mm512_maskz_fmsubadd_round_pd, __m512d, __mmask8, __m512d, __m512d, __m512d, 9)
     572  test_4 (_mm512_maskz_fmsubadd_round_ps, __m512, __mmask16, __m512, __m512, __m512, 9)
     573  test_4 (_mm512_maskz_fnmadd_round_pd, __m512d, __mmask8, __m512d, __m512d, __m512d, 9)
     574  test_4 (_mm512_maskz_fnmadd_round_ps, __m512, __mmask16, __m512, __m512, __m512, 9)
     575  test_4 (_mm512_maskz_fnmsub_round_pd, __m512d, __mmask8, __m512d, __m512d, __m512d, 9)
     576  test_4 (_mm512_maskz_fnmsub_round_ps, __m512, __mmask16, __m512, __m512, __m512, 9)
     577  test_4 (_mm512_maskz_ternarylogic_epi32, __m512i, __mmask16, __m512i, __m512i, __m512i, 1)
     578  test_4 (_mm512_maskz_ternarylogic_epi64, __m512i, __mmask8, __m512i, __m512i, __m512i, 1)
     579  test_4 (_mm_mask_fmadd_round_sd, __m128d, __m128d, __mmask8, __m128d, __m128d, 9)
     580  test_4 (_mm_mask_fmadd_round_ss, __m128, __m128, __mmask8, __m128, __m128, 9)
     581  test_4 (_mm_mask3_fmadd_round_sd, __m128d, __m128d, __m128d, __m128d, __mmask8, 9)
     582  test_4 (_mm_mask3_fmadd_round_ss, __m128, __m128, __m128, __m128, __mmask8, 9)
     583  test_4 (_mm_maskz_fmadd_round_sd, __m128d, __mmask8, __m128d, __m128d, __m128d, 9)
     584  test_4 (_mm_maskz_fmadd_round_ss, __m128, __mmask8, __m128, __m128, __m128, 9)
     585  test_4 (_mm_mask_fmsub_round_sd, __m128d, __m128d, __mmask8, __m128d, __m128d, 9)
     586  test_4 (_mm_mask_fmsub_round_ss, __m128, __m128, __mmask8, __m128, __m128, 9)
     587  test_4 (_mm_mask3_fmsub_round_sd, __m128d, __m128d, __m128d, __m128d, __mmask8, 9)
     588  test_4 (_mm_mask3_fmsub_round_ss, __m128, __m128, __m128, __m128, __mmask8, 9)
     589  test_4 (_mm_maskz_fmsub_round_sd, __m128d, __mmask8, __m128d, __m128d, __m128d, 9)
     590  test_4 (_mm_maskz_fmsub_round_ss, __m128, __mmask8, __m128, __m128, __m128, 9)
     591  test_4 (_mm_mask_fnmadd_round_sd, __m128d, __m128d, __mmask8, __m128d, __m128d, 9)
     592  test_4 (_mm_mask_fnmadd_round_ss, __m128, __m128, __mmask8, __m128, __m128, 9)
     593  test_4 (_mm_mask3_fnmadd_round_sd, __m128d, __m128d, __m128d, __m128d, __mmask8, 9)
     594  test_4 (_mm_mask3_fnmadd_round_ss, __m128, __m128, __m128, __m128, __mmask8, 9)
     595  test_4 (_mm_maskz_fnmadd_round_sd, __m128d, __mmask8, __m128d, __m128d, __m128d, 9)
     596  test_4 (_mm_maskz_fnmadd_round_ss, __m128, __mmask8, __m128, __m128, __m128, 9)
     597  test_4 (_mm_mask_fnmsub_round_sd, __m128d, __m128d, __mmask8, __m128d, __m128d, 9)
     598  test_4 (_mm_mask_fnmsub_round_ss, __m128, __m128, __mmask8, __m128, __m128, 9)
     599  test_4 (_mm_mask3_fnmsub_round_sd, __m128d, __m128d, __m128d, __m128d, __mmask8, 9)
     600  test_4 (_mm_mask3_fnmsub_round_ss, __m128, __m128, __m128, __m128, __mmask8, 9)
     601  test_4 (_mm_maskz_fnmsub_round_sd, __m128d, __mmask8, __m128d, __m128d, __m128d, 9)
     602  test_4 (_mm_maskz_fnmsub_round_ss, __m128, __mmask8, __m128, __m128, __m128, 9)
     603  test_4 (_mm512_mask_shrdi_epi16, __m512i, __m512i, __mmask32, __m512i, __m512i, 1)
     604  test_4 (_mm512_mask_shrdi_epi32, __m512i, __m512i, __mmask16, __m512i, __m512i, 1)
     605  test_4 (_mm512_mask_shrdi_epi64, __m512i, __m512i, __mmask8, __m512i, __m512i, 1)
     606  test_4 (_mm256_mask_shrdi_epi16, __m256i, __m256i, __mmask16, __m256i, __m256i, 1)
     607  test_4 (_mm256_mask_shrdi_epi32, __m256i, __m256i, __mmask8, __m256i, __m256i, 1)
     608  test_4 (_mm256_mask_shrdi_epi64, __m256i, __m256i, __mmask8, __m256i, __m256i, 1)
     609  test_4 (_mm_mask_shrdi_epi16, __m128i, __m128i, __mmask8, __m128i, __m128i, 1)
     610  test_4 (_mm_mask_shrdi_epi32, __m128i, __m128i, __mmask8, __m128i, __m128i, 1)
     611  test_4 (_mm_mask_shrdi_epi64, __m128i, __m128i, __mmask8, __m128i, __m128i, 1)
     612  test_4 (_mm512_mask_shldi_epi16, __m512i, __m512i, __mmask32, __m512i, __m512i, 1)
     613  test_4 (_mm512_mask_shldi_epi32, __m512i, __m512i, __mmask16, __m512i, __m512i, 1)
     614  test_4 (_mm512_mask_shldi_epi64, __m512i, __m512i, __mmask8, __m512i, __m512i, 1)
     615  test_4 (_mm256_mask_shldi_epi16, __m256i, __m256i, __mmask16, __m256i, __m256i, 1)
     616  test_4 (_mm256_mask_shldi_epi32, __m256i, __m256i, __mmask8, __m256i, __m256i, 1)
     617  test_4 (_mm256_mask_shldi_epi64, __m256i, __m256i, __mmask8, __m256i, __m256i, 1)
     618  test_4 (_mm_mask_shldi_epi16, __m128i, __m128i, __mmask8, __m128i, __m128i, 1)
     619  test_4 (_mm_mask_shldi_epi32, __m128i, __m128i, __mmask8, __m128i, __m128i, 1)
     620  test_4 (_mm_mask_shldi_epi64, __m128i, __m128i, __mmask8, __m128i, __m128i, 1)
     621  test_4v (_mm512_mask_i32scatter_epi32, void *, __mmask16, __m512i, __m512i, 1)
     622  test_4v (_mm512_mask_i32scatter_epi64, void *, __mmask8, __m256i, __m512i, 1)
     623  test_4v (_mm512_mask_i32scatter_pd, void *, __mmask8, __m256i, __m512d, 1)
     624  test_4v (_mm512_mask_i32scatter_ps, void *, __mmask16, __m512i, __m512, 1)
     625  test_4v (_mm512_mask_i64scatter_epi32, void *, __mmask8, __m512i, __m256i, 1)
     626  test_4v (_mm512_mask_i64scatter_epi64, void *, __mmask8, __m512i, __m512i, 1)
     627  test_4v (_mm512_mask_i64scatter_pd, void *, __mmask8, __m512i, __m512d, 1)
     628  test_4v (_mm512_mask_i64scatter_ps, void *, __mmask8, __m512i, __m256, 1)
     629  test_4x (_mm512_mask_fixupimm_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512i, 1, 8)
     630  test_4x (_mm512_mask_fixupimm_round_ps, __m512, __m512, __mmask16, __m512, __m512i, 1, 8)
     631  test_4x (_mm512_maskz_fixupimm_round_pd, __m512d, __mmask8, __m512d, __m512d, __m512i, 1, 8)
     632  test_4x (_mm512_maskz_fixupimm_round_ps, __m512, __mmask16, __m512, __m512, __m512i, 1, 8)
     633  test_4x (_mm_mask_fixupimm_round_sd, __m128d, __m128d, __mmask8, __m128d, __m128i, 1, 8)
     634  test_4x (_mm_mask_fixupimm_round_ss, __m128, __m128, __mmask8, __m128, __m128i, 1, 8)
     635  test_4x (_mm_maskz_fixupimm_round_sd, __m128d, __mmask8, __m128d, __m128d, __m128i, 1, 8)
     636  test_4x (_mm_maskz_fixupimm_round_ss, __m128, __mmask8, __m128, __m128, __m128i, 1, 8)
     637  
     638  /* avx512pfintrin.h */
     639  test_2vx (_mm512_prefetch_i32gather_ps, __m512i, void const *, 1, _MM_HINT_T0)
     640  test_2vx (_mm512_prefetch_i32scatter_ps, void const *, __m512i, 1, _MM_HINT_T0)
     641  test_2vx (_mm512_prefetch_i64gather_ps, __m512i, void const *, 1, _MM_HINT_T0)
     642  test_2vx (_mm512_prefetch_i64scatter_ps, void const *, __m512i, 1, _MM_HINT_T0)
     643  test_2vx (_mm512_prefetch_i32gather_pd, __m256i, void const *, 1, _MM_HINT_T0)
     644  test_2vx (_mm512_prefetch_i32scatter_pd, void const *, __m256i, 1, _MM_HINT_T0)
     645  test_2vx (_mm512_prefetch_i64gather_pd, __m512i, void const *, 1, _MM_HINT_T0)
     646  test_2vx (_mm512_prefetch_i64scatter_pd, void const *, __m512i, 1, _MM_HINT_T0)
     647  test_3vx (_mm512_mask_prefetch_i32gather_ps, __m512i, __mmask16, void const *, 1, _MM_HINT_T0)
     648  test_3vx (_mm512_mask_prefetch_i32scatter_ps, void const *, __mmask16, __m512i, 1, _MM_HINT_T0)
     649  test_3vx (_mm512_mask_prefetch_i64gather_ps, __m512i, __mmask8, void const *, 1, _MM_HINT_T0)
     650  test_3vx (_mm512_mask_prefetch_i64scatter_ps, void const *, __mmask8, __m512i, 1, _MM_HINT_T0)
     651  test_3vx (_mm512_mask_prefetch_i32gather_pd, __m256i, __mmask8, void const *, 1, _MM_HINT_T0)
     652  test_3vx (_mm512_mask_prefetch_i32scatter_pd, void const *, __mmask8, __m256i, 1, _MM_HINT_T0)
     653  test_3vx (_mm512_mask_prefetch_i64gather_pd, __m512i, __mmask8, void const *, 1, _MM_HINT_T0)
     654  test_3vx (_mm512_mask_prefetch_i64scatter_pd, void const *, __mmask8, __m512i, 1, _MM_HINT_T0)
     655  
     656  /* avx512erintrin.h */
     657  test_1 (_mm512_exp2a23_round_pd, __m512d, __m512d, 8)
     658  test_1 (_mm512_exp2a23_round_ps, __m512, __m512, 8)
     659  test_1 (_mm512_rcp28_round_pd, __m512d, __m512d, 8)
     660  test_1 (_mm512_rcp28_round_ps, __m512, __m512, 8)
     661  test_1 (_mm512_rsqrt28_round_pd, __m512d, __m512d, 8)
     662  test_1 (_mm512_rsqrt28_round_ps, __m512, __m512, 8)
     663  test_2 (_mm512_maskz_exp2a23_round_pd, __m512d, __mmask8, __m512d, 8)
     664  test_2 (_mm512_maskz_exp2a23_round_ps, __m512, __mmask16, __m512, 8)
     665  test_2 (_mm512_maskz_rcp28_round_pd, __m512d, __mmask8, __m512d, 8)
     666  test_2 (_mm512_maskz_rcp28_round_ps, __m512, __mmask16, __m512, 8)
     667  test_2 (_mm512_maskz_rsqrt28_round_pd, __m512d, __mmask8, __m512d, 8)
     668  test_2 (_mm512_maskz_rsqrt28_round_ps, __m512, __mmask16, __m512, 8)
     669  test_3 (_mm512_mask_exp2a23_round_pd, __m512d, __m512d, __mmask8, __m512d, 8)
     670  test_3 (_mm512_mask_exp2a23_round_ps, __m512, __m512, __mmask16, __m512, 8)
     671  test_3 (_mm512_mask_rcp28_round_pd, __m512d, __m512d, __mmask8, __m512d, 8)
     672  test_3 (_mm512_mask_rcp28_round_ps, __m512, __m512, __mmask16, __m512, 8)
     673  test_3 (_mm512_mask_rsqrt28_round_pd, __m512d, __m512d, __mmask8, __m512d, 8)
     674  test_3 (_mm512_mask_rsqrt28_round_ps, __m512, __m512, __mmask16, __m512, 8)
     675  
     676  /* avx512fp16intrin.h */
     677  test_1 (_mm512_sqrt_round_ph, __m512h, __m512h, 8)
     678  test_1 (_mm_reduce_ph, __m128h, __m128h, 123)
     679  test_1 (_mm256_reduce_ph, __m256h, __m256h, 123)
     680  test_1 (_mm512_reduce_ph, __m512h, __m512h, 123)
     681  test_1 (_mm_roundscale_ph, __m128h, __m128h, 123)
     682  test_1 (_mm256_roundscale_ph, __m256h, __m256h, 123)
     683  test_1 (_mm512_roundscale_ph, __m512h, __m512h, 123)
     684  test_1 (_mm512_getexp_round_ph, __m512h, __m512h, 8)
     685  test_1 (_mm512_cvt_roundph_epi16, __m512i, __m512h, 8)
     686  test_1 (_mm512_cvt_roundph_epu16, __m512i, __m512h, 8)
     687  test_1 (_mm512_cvtt_roundph_epi16, __m512i, __m512h, 8)
     688  test_1 (_mm512_cvtt_roundph_epu16, __m512i, __m512h, 8)
     689  test_1 (_mm512_cvt_roundph_epi32, __m512i, __m256h, 8)
     690  test_1 (_mm512_cvt_roundph_epu32, __m512i, __m256h, 8)
     691  test_1 (_mm512_cvtt_roundph_epi32, __m512i, __m256h, 8)
     692  test_1 (_mm512_cvtt_roundph_epu32, __m512i, __m256h, 8)
     693  test_1 (_mm512_cvtt_roundph_epi64, __m512i, __m128h, 8)
     694  test_1 (_mm512_cvt_roundph_pd, __m512d, __m128h, 8)
     695  test_1 (_mm512_cvtx_roundph_ps, __m512, __m256h, 8)
     696  test_1 (_mm512_cvtt_roundph_epu64, __m512i, __m128h, 8)
     697  test_1 (_mm512_cvt_roundph_epi64, __m512i, __m128h, 8)
     698  test_1 (_mm512_cvt_roundph_epu64, __m512i, __m128h, 8)
     699  test_1 (_mm512_cvt_roundepi16_ph, __m512h, __m512i, 8)
     700  test_1 (_mm512_cvt_roundepu16_ph, __m512h, __m512i, 8)
     701  test_1 (_mm512_cvt_roundepi32_ph, __m256h, __m512i, 8)
     702  test_1 (_mm512_cvt_roundepu32_ph, __m256h, __m512i, 8)
     703  test_1 (_mm512_cvt_roundepi64_ph, __m128h, __m512i, 8)
     704  test_1 (_mm512_cvt_roundepu64_ph, __m128h, __m512i, 8)
     705  test_1 (_mm512_cvtx_roundps_ph, __m256h, __m512, 8)
     706  test_1 (_mm512_cvt_roundpd_ph, __m128h, __m512d, 8)
     707  test_1 (_mm_cvt_roundsh_i32, int, __m128h, 8)
     708  test_1 (_mm_cvt_roundsh_u32, unsigned, __m128h, 8)
     709  test_1 (_mm_cvtt_roundsh_i32, int, __m128h, 8)
     710  test_1 (_mm_cvtt_roundsh_u32, unsigned, __m128h, 8)
     711  #ifdef __x86_64__
     712  test_1 (_mm_cvt_roundsh_i64, long long, __m128h, 8)
     713  test_1 (_mm_cvt_roundsh_u64, unsigned long long, __m128h, 8)
     714  test_1 (_mm_cvtt_roundsh_i64, long long, __m128h, 8)
     715  test_1 (_mm_cvtt_roundsh_u64, unsigned long long, __m128h, 8)
     716  test_2 (_mm_cvt_roundi64_sh, __m128h, __m128h, long long, 8)
     717  test_2 (_mm_cvt_roundu64_sh, __m128h, __m128h, unsigned long long, 8)
     718  #endif
     719  test_1x (_mm512_reduce_round_ph, __m512h, __m512h, 123, 8)
     720  test_1x (_mm512_roundscale_round_ph, __m512h, __m512h, 123, 8)
     721  test_1x (_mm512_getmant_ph, __m512h, __m512h, 1, 1)
     722  test_1y (_mm512_getmant_round_ph, __m512h, __m512h, 1, 1, 8)
     723  test_2 (_mm512_add_round_ph, __m512h, __m512h, __m512h, 8)
     724  test_2 (_mm512_sub_round_ph, __m512h, __m512h, __m512h, 8)
     725  test_2 (_mm512_mul_round_ph, __m512h, __m512h, __m512h, 8)
     726  test_2 (_mm512_div_round_ph, __m512h, __m512h, __m512h, 8)
     727  test_2 (_mm_add_round_sh, __m128h, __m128h, __m128h, 8)
     728  test_2 (_mm_sub_round_sh, __m128h, __m128h, __m128h, 8)
     729  test_2 (_mm_mul_round_sh, __m128h, __m128h, __m128h, 8)
     730  test_2 (_mm_div_round_sh, __m128h, __m128h, __m128h, 8)
     731  test_2 (_mm512_max_round_ph, __m512h, __m512h, __m512h, 8)
     732  test_2 (_mm512_min_round_ph, __m512h, __m512h, __m512h, 8)
     733  test_2 (_mm_max_round_sh, __m128h, __m128h, __m128h, 8)
     734  test_2 (_mm_min_round_sh, __m128h, __m128h, __m128h, 8)
     735  test_2 (_mm512_cmp_ph_mask, __mmask32, __m512h, __m512h, 1)
     736  test_2 (_mm_comi_sh, int, __m128h, __m128h, 1)
     737  test_2 (_mm512_maskz_sqrt_round_ph, __m512h, __mmask32, __m512h, 8)
     738  test_2 (_mm_sqrt_round_sh, __m128h, __m128h, __m128h, 8)
     739  test_2 (_mm512_scalef_round_ph, __m512h, __m512h, __m512h, 8)
     740  test_2 (_mm_scalef_round_sh, __m128h, __m128h, __m128h, 8)
     741  test_2 (_mm_maskz_reduce_ph, __m128h, __mmask8, __m128h, 123)
     742  test_2 (_mm256_maskz_reduce_ph, __m256h, __mmask16, __m256h, 123)
     743  test_2 (_mm512_maskz_reduce_ph, __m512h, __mmask32, __m512h, 123)
     744  test_2 (_mm_reduce_sh, __m128h, __m128h, __m128h, 123)
     745  test_2 (_mm_maskz_roundscale_ph, __m128h, __mmask8, __m128h, 123)
     746  test_2 (_mm256_maskz_roundscale_ph, __m256h, __mmask16, __m256h, 123)
     747  test_2 (_mm512_maskz_roundscale_ph, __m512h, __mmask32, __m512h, 123)
     748  test_2 (_mm_roundscale_sh, __m128h, __m128h, __m128h, 123)
     749  test_2 (_mm512_maskz_getexp_round_ph, __m512h, __mmask32, __m512h, 8)
     750  test_2 (_mm_getexp_round_sh, __m128h, __m128h, __m128h, 8)
     751  test_2 (_mm512_maskz_cvt_roundph_epi16, __m512i, __mmask32, __m512h, 8)
     752  test_2 (_mm512_maskz_cvt_roundph_epu16, __m512i, __mmask32, __m512h, 8)
     753  test_2 (_mm512_maskz_cvtt_roundph_epi16, __m512i, __mmask32, __m512h, 8)
     754  test_2 (_mm512_maskz_cvtt_roundph_epu16, __m512i, __mmask32, __m512h, 8)
     755  test_2 (_mm512_maskz_cvt_roundph_epi32, __m512i, __mmask16, __m256h, 8)
     756  test_2 (_mm512_maskz_cvt_roundph_epu32, __m512i, __mmask16, __m256h, 8)
     757  test_2 (_mm512_maskz_cvt_roundph_epi64, __m512i, __mmask8, __m128h, 8)
     758  test_2 (_mm512_maskz_cvt_roundph_epu64, __m512i, __mmask8, __m128h, 8)
     759  test_2 (_mm512_maskz_cvtt_roundph_epi32, __m512i, __mmask16, __m256h, 8)
     760  test_2 (_mm512_maskz_cvtt_roundph_epu32, __m512i, __mmask16, __m256h, 8)
     761  test_2 (_mm512_maskz_cvtt_roundph_epi64, __m512i, __mmask8, __m128h, 8)
     762  test_2 (_mm512_maskz_cvt_roundph_pd, __m512d, __mmask8, __m128h, 8)
     763  test_2 (_mm512_maskz_cvtx_roundph_ps, __m512, __mmask16, __m256h, 8)
     764  test_2 (_mm512_maskz_cvtt_roundph_epu64, __m512i, __mmask8, __m128h, 8)
     765  test_2 (_mm512_maskz_cvt_roundepi16_ph, __m512h, __mmask32, __m512i, 8)
     766  test_2 (_mm512_maskz_cvt_roundepu16_ph, __m512h, __mmask32, __m512i, 8)
     767  test_2 (_mm512_maskz_cvt_roundepi32_ph, __m256h, __mmask16, __m512i, 8)
     768  test_2 (_mm512_maskz_cvt_roundepu32_ph, __m256h, __mmask16, __m512i, 8)
     769  test_2 (_mm512_maskz_cvt_roundepi64_ph, __m128h, __mmask8, __m512i, 8)
     770  test_2 (_mm512_maskz_cvt_roundepu64_ph, __m128h, __mmask8, __m512i, 8)
     771  test_2 (_mm512_maskz_cvtx_roundps_ph, __m256h, __mmask16, __m512, 8)
     772  test_2 (_mm512_maskz_cvt_roundpd_ph, __m128h, __mmask8, __m512d, 8)
     773  test_2 (_mm_cvt_roundsh_ss, __m128, __m128, __m128h, 8)
     774  test_2 (_mm_cvt_roundsh_sd, __m128d, __m128d, __m128h, 8)
     775  test_2 (_mm_cvt_roundss_sh, __m128h, __m128h, __m128, 8)
     776  test_2 (_mm_cvt_roundsd_sh, __m128h, __m128h, __m128d, 8)
     777  test_2 (_mm_cvt_roundi32_sh, __m128h, __m128h, int, 8)
     778  test_2 (_mm_cvt_roundu32_sh, __m128h, __m128h, unsigned, 8)
     779  test_2 (_mm512_fmul_round_pch, __m512h, __m512h, __m512h, 8)
     780  test_2 (_mm512_fcmul_round_pch, __m512h, __m512h, __m512h, 8)
     781  test_2 (_mm_fmul_round_sch, __m128h, __m128h, __m128h, 8)
     782  test_2 (_mm_fcmul_round_sch, __m128h, __m128h, __m128h, 8)
     783  test_2x (_mm512_cmp_round_ph_mask, __mmask32, __m512h, __m512h, 1, 8)
     784  test_2x (_mm_cmp_round_sh_mask, __mmask8, __m128h, __m128h, 1, 8)
     785  test_2x (_mm_comi_round_sh, int, __m128h, __m128h, 1, 8)
     786  test_2x (_mm512_maskz_reduce_round_ph, __m512h, __mmask32, __m512h, 123, 8)
     787  test_2x (_mm512_maskz_roundscale_round_ph, __m512h, __mmask32, __m512h, 123, 8)
     788  test_2x (_mm_reduce_round_sh, __m128h, __m128h, __m128h, 123, 8)
     789  test_2x (_mm_roundscale_round_sh, __m128h, __m128h, __m128h, 123, 8)
     790  test_2x (_mm512_maskz_getmant_ph, __m512h, __mmask32, __m512h, 1, 1)
     791  test_2x (_mm_getmant_sh, __m128h, __m128h, __m128h, 1, 1)
     792  test_2y (_mm512_maskz_getmant_round_ph, __m512h, __mmask32, __m512h, 1, 1, 8)
     793  test_2y (_mm_getmant_round_sh, __m128h, __m128h, __m128h, 1, 1, 8)
     794  test_3 (_mm512_maskz_add_round_ph, __m512h, __mmask32, __m512h, __m512h, 8)
     795  test_3 (_mm512_maskz_sub_round_ph, __m512h, __mmask32, __m512h, __m512h, 8)
     796  test_3 (_mm512_maskz_mul_round_ph, __m512h, __mmask32, __m512h, __m512h, 8)
     797  test_3 (_mm512_maskz_div_round_ph, __m512h, __mmask32, __m512h, __m512h, 8)
     798  test_3 (_mm_maskz_add_round_sh, __m128h, __mmask32, __m128h, __m128h, 8)
     799  test_3 (_mm_maskz_sub_round_sh, __m128h, __mmask32, __m128h, __m128h, 8)
     800  test_3 (_mm_maskz_mul_round_sh, __m128h, __mmask32, __m128h, __m128h, 8)
     801  test_3 (_mm_maskz_div_round_sh, __m128h, __mmask32, __m128h, __m128h, 8)
     802  test_3 (_mm512_maskz_max_round_ph, __m512h, __mmask32, __m512h, __m512h, 8)
     803  test_3 (_mm512_maskz_min_round_ph, __m512h, __mmask32, __m512h, __m512h, 8)
     804  test_3 (_mm_maskz_max_round_sh, __m128h, __mmask8, __m128h, __m128h, 8)
     805  test_3 (_mm_maskz_min_round_sh, __m128h, __mmask8, __m128h, __m128h, 8)
     806  test_3 (_mm512_mask_cmp_ph_mask, __mmask32, __mmask32, __m512h, __m512h, 1)
     807  test_3 (_mm512_mask_sqrt_round_ph, __m512h, __m512h, __mmask32, __m512h, 8)
     808  test_3 (_mm_maskz_sqrt_round_sh, __m128h, __mmask8, __m128h, __m128h, 8)
     809  test_3 (_mm512_maskz_scalef_round_ph, __m512h, __mmask32, __m512h, __m512h, 8)
     810  test_3 (_mm_maskz_scalef_round_sh, __m128h, __mmask8, __m128h, __m128h, 8)
     811  test_3 (_mm_mask_reduce_ph, __m128h, __m128h, __mmask8, __m128h, 123)
     812  test_3 (_mm256_mask_reduce_ph, __m256h, __m256h, __mmask16, __m256h, 123)
     813  test_3 (_mm512_mask_reduce_ph, __m512h, __m512h, __mmask32, __m512h, 123)
     814  test_3 (_mm_maskz_reduce_sh, __m128h, __mmask8, __m128h, __m128h, 123)
     815  test_3 (_mm_mask_roundscale_ph, __m128h, __m128h, __mmask8, __m128h, 123)
     816  test_3 (_mm256_mask_roundscale_ph, __m256h, __m256h, __mmask16, __m256h, 123)
     817  test_3 (_mm512_mask_roundscale_ph, __m512h, __m512h, __mmask32, __m512h, 123)
     818  test_3 (_mm_maskz_roundscale_sh, __m128h, __mmask8, __m128h, __m128h, 123)
     819  test_3 (_mm_maskz_getexp_round_sh, __m128h, __mmask8, __m128h, __m128h, 8)
     820  test_3 (_mm512_mask_getexp_round_ph, __m512h, __m512h, __mmask32, __m512h, 8)
     821  test_3 (_mm512_mask_cvt_roundph_epi16, __m512i, __m512i, __mmask32, __m512h, 8)
     822  test_3 (_mm512_mask_cvt_roundph_epu16, __m512i, __m512i, __mmask32, __m512h, 8)
     823  test_3 (_mm512_mask_cvtt_roundph_epi16, __m512i, __m512i, __mmask32, __m512h, 8)
     824  test_3 (_mm512_mask_cvtt_roundph_epu16, __m512i, __m512i, __mmask32, __m512h, 8)
     825  test_3 (_mm512_mask_cvt_roundph_epi32, __m512i, __m512i, __mmask16, __m256h, 8)
     826  test_3 (_mm512_mask_cvt_roundph_epu32, __m512i, __m512i, __mmask16, __m256h, 8)
     827  test_3 (_mm512_mask_cvt_roundph_epi64, __m512i, __m512i, __mmask8, __m128h, 8)
     828  test_3 (_mm512_mask_cvt_roundph_epu64, __m512i, __m512i, __mmask8, __m128h, 8)
     829  test_3 (_mm512_mask_cvtt_roundph_epi32, __m512i, __m512i, __mmask16, __m256h, 8)
     830  test_3 (_mm512_mask_cvtt_roundph_epu32, __m512i, __m512i, __mmask16, __m256h, 8)
     831  test_3 (_mm512_mask_cvtt_roundph_epi64, __m512i, __m512i, __mmask8, __m128h, 8)
     832  test_3 (_mm512_mask_cvt_roundph_pd, __m512d, __m512d, __mmask8, __m128h, 8)
     833  test_3 (_mm512_mask_cvtx_roundph_ps, __m512, __m512, __mmask16, __m256h, 8)
     834  test_3 (_mm512_mask_cvtt_roundph_epu64, __m512i, __m512i, __mmask8, __m128h, 8)
     835  test_3 (_mm512_mask_cvt_roundepi16_ph, __m512h, __m512h, __mmask32, __m512i, 8)
     836  test_3 (_mm512_mask_cvt_roundepu16_ph, __m512h, __m512h, __mmask32, __m512i, 8)
     837  test_3 (_mm512_mask_cvt_roundepi32_ph, __m256h, __m256h, __mmask16, __m512i, 8)
     838  test_3 (_mm512_mask_cvt_roundepu32_ph, __m256h, __m256h, __mmask16, __m512i, 8)
     839  test_3 (_mm512_mask_cvt_roundepi64_ph, __m128h, __m128h, __mmask8, __m512i, 8)
     840  test_3 (_mm512_mask_cvt_roundepu64_ph, __m128h, __m128h, __mmask8, __m512i, 8)
     841  test_3 (_mm512_mask_cvtx_roundps_ph, __m256h, __m256h, __mmask16, __m512, 8)
     842  test_3 (_mm512_mask_cvt_roundpd_ph, __m128h, __m128h, __mmask8, __m512d, 8)
     843  test_3 (_mm_maskz_cvt_roundsh_ss, __m128, __mmask8, __m128, __m128h, 8)
     844  test_3 (_mm_maskz_cvt_roundsh_sd, __m128d, __mmask8, __m128d, __m128h, 8)
     845  test_3 (_mm_maskz_cvt_roundss_sh, __m128h, __mmask8, __m128h, __m128, 8)
     846  test_3 (_mm_maskz_cvt_roundsd_sh, __m128h, __mmask8, __m128h, __m128d, 8)
     847  test_3 (_mm512_fmaddsub_round_ph, __m512h, __m512h, __m512h, __m512h, 9)
     848  test_3 (_mm512_fmsubadd_round_ph, __m512h, __m512h, __m512h, __m512h, 9)
     849  test_3 (_mm512_fmadd_round_ph, __m512h, __m512h, __m512h, __m512h, 9)
     850  test_3 (_mm512_fnmadd_round_ph, __m512h, __m512h, __m512h, __m512h, 9)
     851  test_3 (_mm512_fmsub_round_ph, __m512h, __m512h, __m512h, __m512h, 9)
     852  test_3 (_mm512_fnmsub_round_ph, __m512h, __m512h, __m512h, __m512h, 9)
     853  test_3 (_mm_fmadd_round_sh, __m128h, __m128h, __m128h, __m128h, 9)
     854  test_3 (_mm_fnmadd_round_sh, __m128h, __m128h, __m128h, __m128h, 9)
     855  test_3 (_mm_fmsub_round_sh, __m128h, __m128h, __m128h, __m128h, 9)
     856  test_3 (_mm_fnmsub_round_sh, __m128h, __m128h, __m128h, __m128h, 9)
     857  test_3 (_mm512_fmadd_round_pch, __m512h, __m512h, __m512h, __m512h, 8)
     858  test_3 (_mm512_fcmadd_round_pch, __m512h, __m512h, __m512h, __m512h, 8)
     859  test_3 (_mm_fmadd_round_sch, __m128h, __m128h, __m128h, __m128h, 8)
     860  test_3 (_mm_fcmadd_round_sch, __m128h, __m128h, __m128h, __m128h, 8)
     861  test_3 (_mm512_maskz_fmul_round_pch, __m512h, __mmask16, __m512h, __m512h, 8)
     862  test_3 (_mm512_maskz_fcmul_round_pch, __m512h, __mmask16, __m512h, __m512h, 8)
     863  test_3 (_mm_maskz_fmul_round_sch, __m128h, __mmask8, __m128h, __m128h, 8)
     864  test_3 (_mm_maskz_fcmul_round_sch, __m128h, __mmask8, __m128h, __m128h, 8)
     865  test_3x (_mm512_mask_cmp_round_ph_mask, __mmask32, __mmask32, __m512h, __m512h, 1, 8)
     866  test_3x (_mm_mask_cmp_round_sh_mask, __mmask8, __mmask8, __m128h, __m128h, 1, 8)
     867  test_3x (_mm512_mask_reduce_round_ph, __m512h, __m512h, __mmask32, __m512h, 123, 8)
     868  test_3x (_mm512_mask_roundscale_round_ph, __m512h, __m512h, __mmask32, __m512h, 123, 8)
     869  test_3x (_mm_maskz_reduce_round_sh, __m128h, __mmask8, __m128h, __m128h, 123, 8)
     870  test_3x (_mm_maskz_roundscale_round_sh, __m128h, __mmask8, __m128h, __m128h, 123, 8)
     871  test_3x (_mm512_mask_getmant_ph, __m512h, __m512h, __mmask32, __m512h, 1, 1)
     872  test_3x (_mm_maskz_getmant_sh, __m128h, __mmask8, __m128h, __m128h, 1, 1)
     873  test_3y (_mm_maskz_getmant_round_sh, __m128h, __mmask8, __m128h, __m128h, 1, 1, 8)
     874  test_3y (_mm512_mask_getmant_round_ph, __m512h, __m512h, __mmask32, __m512h, 1, 1, 8)
     875  test_4 (_mm512_mask_add_round_ph, __m512h, __m512h, __mmask32, __m512h, __m512h, 8)
     876  test_4 (_mm512_mask_sub_round_ph, __m512h, __m512h, __mmask32, __m512h, __m512h, 8)
     877  test_4 (_mm512_mask_mul_round_ph, __m512h, __m512h, __mmask32, __m512h, __m512h, 8)
     878  test_4 (_mm512_mask_div_round_ph, __m512h, __m512h, __mmask32, __m512h, __m512h, 8)
     879  test_4 (_mm_mask_add_round_sh, __m128h, __m128h, __mmask32, __m128h, __m128h, 8)
     880  test_4 (_mm_mask_sub_round_sh, __m128h, __m128h, __mmask32, __m128h, __m128h, 8)
     881  test_4 (_mm_mask_mul_round_sh, __m128h, __m128h, __mmask32, __m128h, __m128h, 8)
     882  test_4 (_mm_mask_div_round_sh, __m128h, __m128h, __mmask32, __m128h, __m128h, 8)
     883  test_4 (_mm512_mask_max_round_ph, __m512h, __m512h, __mmask32, __m512h, __m512h, 8)
     884  test_4 (_mm512_mask_min_round_ph, __m512h, __m512h, __mmask32, __m512h, __m512h, 8)
     885  test_4 (_mm_mask_max_round_sh, __m128h, __m128h, __mmask8, __m128h, __m128h, 8)
     886  test_4 (_mm_mask_min_round_sh, __m128h, __m128h, __mmask8, __m128h, __m128h, 8)
     887  test_4 (_mm_mask_sqrt_round_sh, __m128h, __m128h, __mmask8, __m128h, __m128h, 8)
     888  test_4 (_mm512_mask_scalef_round_ph, __m512h, __m512h, __mmask32, __m512h, __m512h, 8)
     889  test_4 (_mm_mask_scalef_round_sh, __m128h, __m128h, __mmask8, __m128h, __m128h, 8)
     890  test_4 (_mm_mask_reduce_sh, __m128h, __m128h, __mmask8, __m128h, __m128h, 123)
     891  test_4 (_mm_mask_roundscale_sh, __m128h, __m128h, __mmask8, __m128h, __m128h, 123)
     892  test_4 (_mm_mask_getexp_round_sh, __m128h, __m128h, __mmask8, __m128h, __m128h, 8)
     893  test_4 (_mm_mask_cvt_roundsh_ss, __m128, __m128, __mmask8, __m128, __m128h, 8)
     894  test_4 (_mm_mask_cvt_roundsh_sd, __m128d, __m128d, __mmask8, __m128d, __m128h, 8)
     895  test_4 (_mm_mask_cvt_roundss_sh, __m128h, __m128h, __mmask8, __m128h, __m128, 8)
     896  test_4 (_mm_mask_cvt_roundsd_sh, __m128h, __m128h, __mmask8, __m128h, __m128d, 8)
     897  test_4 (_mm512_mask_fmaddsub_round_ph, __m512h, __m512h, __mmask32, __m512h, __m512h, 9)
     898  test_4 (_mm512_mask3_fmaddsub_round_ph, __m512h, __m512h, __m512h, __m512h, __mmask32, 9)
     899  test_4 (_mm512_maskz_fmaddsub_round_ph, __m512h, __mmask32, __m512h, __m512h, __m512h, 9)
     900  test_4 (_mm512_mask3_fmsubadd_round_ph, __m512h, __m512h, __m512h, __m512h, __mmask32, 9)
     901  test_4 (_mm512_mask_fmsubadd_round_ph, __m512h, __m512h, __mmask32, __m512h, __m512h, 9)
     902  test_4 (_mm512_maskz_fmsubadd_round_ph, __m512h, __mmask32, __m512h, __m512h, __m512h, 9)
     903  test_4 (_mm512_mask_fmadd_round_ph, __m512h, __m512h, __mmask32, __m512h, __m512h, 9)
     904  test_4 (_mm512_mask3_fmadd_round_ph, __m512h, __m512h, __m512h, __m512h, __mmask32, 9)
     905  test_4 (_mm512_maskz_fmadd_round_ph, __m512h, __mmask32, __m512h, __m512h, __m512h, 9)
     906  test_4 (_mm512_mask_fnmadd_round_ph, __m512h, __m512h, __mmask32, __m512h, __m512h, 9)
     907  test_4 (_mm512_mask3_fnmadd_round_ph, __m512h, __m512h, __m512h, __m512h, __mmask32, 9)
     908  test_4 (_mm512_maskz_fnmadd_round_ph, __m512h, __mmask32, __m512h, __m512h, __m512h, 9)
     909  test_4 (_mm512_mask_fmsub_round_ph, __m512h, __m512h, __mmask32, __m512h, __m512h, 9)
     910  test_4 (_mm512_mask3_fmsub_round_ph, __m512h, __m512h, __m512h, __m512h, __mmask32, 9)
     911  test_4 (_mm512_maskz_fmsub_round_ph, __m512h, __mmask32, __m512h, __m512h, __m512h, 9)
     912  test_4 (_mm512_mask_fnmsub_round_ph, __m512h, __m512h, __mmask32, __m512h, __m512h, 9)
     913  test_4 (_mm512_mask3_fnmsub_round_ph, __m512h, __m512h, __m512h, __m512h, __mmask32, 9)
     914  test_4 (_mm512_maskz_fnmsub_round_ph, __m512h, __mmask32, __m512h, __m512h, __m512h, 9)
     915  test_4 (_mm_mask_fmadd_round_sh, __m128h, __m128h, __mmask8, __m128h, __m128h, 9)
     916  test_4 (_mm_mask3_fmadd_round_sh, __m128h, __m128h, __m128h, __m128h, __mmask8, 9)
     917  test_4 (_mm_maskz_fmadd_round_sh, __m128h, __mmask8, __m128h, __m128h, __m128h, 9)
     918  test_4 (_mm_mask_fnmadd_round_sh, __m128h, __m128h, __mmask8, __m128h, __m128h, 9)
     919  test_4 (_mm_mask3_fnmadd_round_sh, __m128h, __m128h, __m128h, __m128h, __mmask8, 9)
     920  test_4 (_mm_maskz_fnmadd_round_sh, __m128h, __mmask8, __m128h, __m128h, __m128h, 9)
     921  test_4 (_mm_mask_fmsub_round_sh, __m128h, __m128h, __mmask8, __m128h, __m128h, 9)
     922  test_4 (_mm_mask3_fmsub_round_sh, __m128h, __m128h, __m128h, __m128h, __mmask8, 9)
     923  test_4 (_mm_maskz_fmsub_round_sh, __m128h, __mmask8, __m128h, __m128h, __m128h, 9)
     924  test_4 (_mm_mask_fnmsub_round_sh, __m128h, __m128h, __mmask8, __m128h, __m128h, 9)
     925  test_4 (_mm_mask3_fnmsub_round_sh, __m128h, __m128h, __m128h, __m128h, __mmask8, 9)
     926  test_4 (_mm_maskz_fnmsub_round_sh, __m128h, __mmask8, __m128h, __m128h, __m128h, 9)
     927  test_4 (_mm512_mask_fmadd_round_pch, __m512h, __m512h, __mmask16, __m512h, __m512h, 8)
     928  test_4 (_mm512_mask_fcmadd_round_pch, __m512h, __m512h, __mmask16, __m512h, __m512h, 8)
     929  test_4 (_mm512_mask3_fmadd_round_pch, __m512h, __m512h, __m512h, __m512h, __mmask16, 8)
     930  test_4 (_mm512_mask3_fcmadd_round_pch, __m512h, __m512h, __m512h, __m512h, __mmask16, 8)
     931  test_4 (_mm512_maskz_fmadd_round_pch, __m512h, __mmask16, __m512h, __m512h, __m512h, 8)
     932  test_4 (_mm512_maskz_fcmadd_round_pch, __m512h, __mmask16, __m512h, __m512h, __m512h, 8)
     933  test_4 (_mm_mask_fmadd_round_sch, __m128h, __m128h, __mmask8, __m128h, __m128h, 8)
     934  test_4 (_mm_mask_fcmadd_round_sch, __m128h, __m128h, __mmask8, __m128h, __m128h, 8)
     935  test_4 (_mm_mask3_fmadd_round_sch, __m128h, __m128h, __m128h, __m128h, __mmask8, 8)
     936  test_4 (_mm_mask3_fcmadd_round_sch, __m128h, __m128h, __m128h, __m128h, __mmask8, 8)
     937  test_4 (_mm_maskz_fmadd_round_sch, __m128h, __mmask8, __m128h, __m128h, __m128h, 8)
     938  test_4 (_mm_maskz_fcmadd_round_sch, __m128h, __mmask8, __m128h, __m128h, __m128h, 8)
     939  test_4 (_mm512_mask_fmul_round_pch, __m512h, __m512h, __mmask16, __m512h, __m512h, 8)
     940  test_4 (_mm512_mask_fcmul_round_pch, __m512h, __m512h, __mmask16, __m512h, __m512h, 8)
     941  test_4 (_mm_mask_fmul_round_sch, __m128h, __m128h, __mmask8, __m128h, __m128h, 8)
     942  test_4 (_mm_mask_fcmul_round_sch, __m128h, __m128h, __mmask8, __m128h, __m128h, 8)
     943  test_4x (_mm_mask_reduce_round_sh, __m128h, __m128h, __mmask8, __m128h, __m128h, 123, 8)
     944  test_4x (_mm_mask_roundscale_round_sh, __m128h, __m128h, __mmask8, __m128h, __m128h, 123, 8)
     945  test_4x (_mm_mask_getmant_sh, __m128h, __m128h, __mmask8, __m128h, __m128h, 1, 1)
     946  test_4y (_mm_mask_getmant_round_sh, __m128h, __m128h, __mmask8, __m128h, __m128h, 1, 1, 8)
     947  
     948  /* avx512fp16vlintrin.h */
     949  test_2 (_mm_cmp_ph_mask, __mmask8, __m128h, __m128h, 1)
     950  test_2 (_mm256_cmp_ph_mask, __mmask16, __m256h, __m256h, 1)
     951  test_3 (_mm_mask_cmp_ph_mask, __mmask8, __mmask8, __m128h, __m128h, 1)
     952  test_3 (_mm256_mask_cmp_ph_mask, __mmask16, __mmask16, __m256h, __m256h, 1)
     953  
     954  /* shaintrin.h */
     955  test_2 (_mm_sha1rnds4_epu32, __m128i, __m128i, __m128i, 1)
     956  
     957  /* wmmintrin.h */
     958  test_1 (_mm_aeskeygenassist_si128, __m128i, __m128i, 1)
     959  test_2 (_mm_clmulepi64_si128, __m128i, __m128i, __m128i, 1)
     960  
     961  /* smmintrin.h */
     962  test_1 (_mm_round_pd, __m128d, __m128d, 9)
     963  test_1 (_mm_round_ps, __m128, __m128, 9)
     964  test_2 (_mm_round_sd, __m128d, __m128d, __m128d, 9)
     965  test_2 (_mm_round_ss, __m128, __m128, __m128, 9)
     966  
     967  test_2 (_mm_blend_epi16, __m128i, __m128i, __m128i, 1)
     968  test_2 (_mm_blend_ps, __m128, __m128, __m128, 1)
     969  test_2 (_mm_blend_pd, __m128d, __m128d, __m128d, 1)
     970  test_2 (_mm_dp_ps, __m128, __m128, __m128, 1)
     971  test_2 (_mm_dp_pd, __m128d, __m128d, __m128d, 1)
     972  test_2 (_mm_insert_ps, __m128, __m128, __m128, 1)
     973  test_1 (_mm_extract_ps, int, __m128, 1)
     974  test_2 (_mm_insert_epi8, __m128i, __m128i, int, 1)
     975  test_2 (_mm_insert_epi32, __m128i, __m128i, int, 1)
     976  #ifdef __x86_64__
     977  test_2 (_mm_insert_epi64, __m128i, __m128i, long long, 1)
     978  #endif
     979  test_1 (_mm_extract_epi8, int, __m128i, 1)
     980  test_1 (_mm_extract_epi32, int, __m128i, 1)
     981  #ifdef __x86_64__
     982  test_1 (_mm_extract_epi64, long long, __m128i, 1)
     983  #endif
     984  test_2 (_mm_mpsadbw_epu8, __m128i, __m128i, __m128i, 1)
     985  test_2 (_mm_cmpistrm, __m128i, __m128i, __m128i, 1)
     986  test_2 (_mm_cmpistri, int, __m128i, __m128i, 1)
     987  test_4 (_mm_cmpestrm, __m128i, __m128i, int, __m128i, int, 1)
     988  test_4 (_mm_cmpestri, int, __m128i, int, __m128i, int, 1)
     989  test_2 (_mm_cmpistra, int, __m128i, __m128i, 1)
     990  test_2 (_mm_cmpistrc, int, __m128i, __m128i, 1)
     991  test_2 (_mm_cmpistro, int, __m128i, __m128i, 1)
     992  test_2 (_mm_cmpistrs, int, __m128i, __m128i, 1)
     993  test_2 (_mm_cmpistrz, int, __m128i, __m128i, 1)
     994  test_4 (_mm_cmpestra, int, __m128i, int, __m128i, int, 1)
     995  test_4 (_mm_cmpestrc, int, __m128i, int, __m128i, int, 1)
     996  test_4 (_mm_cmpestro, int, __m128i, int, __m128i, int, 1)
     997  test_4 (_mm_cmpestrs, int, __m128i, int, __m128i, int, 1)
     998  test_4 (_mm_cmpestrz, int, __m128i, int, __m128i, int, 1)
     999  
    1000  /* tmmintrin.h */
    1001  test_2 (_mm_alignr_epi8, __m128i, __m128i, __m128i, 1)
    1002  test_2 (_mm_alignr_pi8, __m64, __m64, __m64, 1)
    1003  
    1004  /* emmintrin.h */
    1005  test_2 (_mm_shuffle_pd, __m128d, __m128d, __m128d, 1)
    1006  test_1 (_mm_bsrli_si128, __m128i, __m128i, 1)
    1007  test_1 (_mm_bslli_si128, __m128i, __m128i, 1)
    1008  test_1 (_mm_srli_si128, __m128i, __m128i, 1)
    1009  test_1 (_mm_slli_si128, __m128i, __m128i, 1)
    1010  test_1 (_mm_extract_epi16, int, __m128i, 1)
    1011  test_2 (_mm_insert_epi16, __m128i, __m128i, int, 1)
    1012  test_1 (_mm_shufflehi_epi16, __m128i, __m128i, 1)
    1013  test_1 (_mm_shufflelo_epi16, __m128i, __m128i, 1)
    1014  test_1 (_mm_shuffle_epi32, __m128i, __m128i, 1)
    1015  
    1016  /* xmmintrin.h */
    1017  test_2 (_mm_shuffle_ps, __m128, __m128, __m128, 1)
    1018  test_1 (_mm_extract_pi16, int, __m64, 1)
    1019  test_1 (_m_pextrw, int, __m64, 1)
    1020  test_2 (_mm_insert_pi16, __m64, __m64, int, 1)
    1021  test_2 (_m_pinsrw, __m64, __m64, int, 1)
    1022  test_1 (_mm_shuffle_pi16, __m64, __m64, 1)
    1023  test_1 (_m_pshufw, __m64, __m64, 1)
    1024  test_1 (_mm_prefetch, void, void *, _MM_HINT_NTA)
    1025  
    1026  /* xopintrin.h */
    1027  test_1 ( _mm_roti_epi8, __m128i, __m128i, 1)
    1028  test_1 ( _mm_roti_epi16, __m128i, __m128i, 1)
    1029  test_1 ( _mm_roti_epi32, __m128i, __m128i, 1)
    1030  test_1 ( _mm_roti_epi64, __m128i, __m128i, 1)
    1031  test_3 (_mm_permute2_pd, __m128d, __m128d, __m128d, __m128d, 1)
    1032  test_3 (_mm256_permute2_pd, __m256d, __m256d, __m256d, __m256d, 1)
    1033  test_3 (_mm_permute2_ps, __m128, __m128, __m128, __m128, 1)
    1034  test_3 (_mm256_permute2_ps, __m256, __m256, __m256, __m256, 1)
    1035  
    1036  /* lwpintrin.h */
    1037  test_2 ( __lwpval32, void, unsigned int, unsigned int, 1)
    1038  test_2 ( __lwpins32, unsigned char, unsigned int, unsigned int, 1)
    1039  #ifdef __x86_64__
    1040  test_2 ( __lwpval64, void, unsigned long long, unsigned int, 1)
    1041  test_2 ( __lwpins64, unsigned char, unsigned long long, unsigned int, 1)
    1042  #endif
    1043  
    1044  /* tbmintrin.h */
    1045  test_1 ( __bextri_u32, unsigned int, unsigned int, 1)
    1046  #ifdef __x86_64__
    1047  test_1 ( __bextri_u64, unsigned long long, unsigned long long, 1)
    1048  #endif
    1049  
    1050  /* gfniintrin.h */
    1051  test_2 (_mm_gf2p8affineinv_epi64_epi8, __m128i, __m128i, __m128i, 1)
    1052  test_2 (_mm256_gf2p8affineinv_epi64_epi8, __m256i, __m256i, __m256i, 1)
    1053  test_2 (_mm512_gf2p8affineinv_epi64_epi8, __m512i, __m512i, __m512i, 1)
    1054  test_2 (_mm_gf2p8affine_epi64_epi8, __m128i, __m128i, __m128i, 1)
    1055  test_2 (_mm256_gf2p8affine_epi64_epi8, __m256i, __m256i, __m256i, 1)
    1056  test_2 (_mm512_gf2p8affine_epi64_epi8, __m512i, __m512i, __m512i, 1)