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" } */ 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 #ifdef __x86_64__ 290 test_2 (_mm_cvt_roundi64_sd, __m128d, __m128d, long long, 9) 291 test_2 (_mm_cvt_roundi64_ss, __m128, __m128, long long, 9) 292 #endif 293 test_2 (_mm_cvt_roundsd_ss, __m128, __m128, __m128d, 9) 294 test_2 (_mm_cvt_roundss_sd, __m128d, __m128d, __m128, 8) 295 test_2 (_mm_cvt_roundu32_ss, __m128, __m128, unsigned, 9) 296 #ifdef __x86_64__ 297 test_2 (_mm_cvt_roundu64_sd, __m128d, __m128d, unsigned long long, 9) 298 test_2 (_mm_cvt_roundu64_ss, __m128, __m128, unsigned long long, 9) 299 #endif 300 test_2 (_mm_div_round_sd, __m128d, __m128d, __m128d, 9) 301 test_2 (_mm_div_round_ss, __m128, __m128, __m128, 9) 302 test_2 (_mm_getexp_round_sd, __m128d, __m128d, __m128d, 8) 303 test_2 (_mm_getexp_round_ss, __m128, __m128, __m128, 8) 304 test_2y (_mm_getmant_round_sd, __m128d, __m128d, __m128d, 1, 1, 8) 305 test_4y (_mm_mask_getmant_round_sd, __m128d, __m128d, __mmask8, __m128d, __m128d, 1, 1, 8) 306 test_3y (_mm_maskz_getmant_round_sd, __m128d, __mmask8, __m128d, __m128d, 1, 1, 8) 307 test_2y (_mm_getmant_round_ss, __m128, __m128, __m128, 1, 1, 8) 308 test_4y (_mm_mask_getmant_round_ss, __m128, __m128, __mmask8, __m128, __m128, 1, 1, 8) 309 test_3y (_mm_maskz_getmant_round_ss, __m128, __mmask8, __m128, __m128, 1, 1, 8) 310 test_2 (_mm_mul_round_sd, __m128d, __m128d, __m128d, 9) 311 test_2 (_mm_mul_round_ss, __m128, __m128, __m128, 9) 312 test_2 (_mm_scalef_round_sd, __m128d, __m128d, __m128d, 9) 313 test_2 (_mm_scalef_round_ss, __m128, __m128, __m128, 9) 314 test_2 (_mm_sqrt_round_sd, __m128d, __m128d, __m128d, 9) 315 test_2 (_mm_sqrt_round_ss, __m128, __m128, __m128, 9) 316 test_2 (_mm_sub_round_sd, __m128d, __m128d, __m128d, 9) 317 test_2 (_mm_sub_round_ss, __m128, __m128, __m128, 9) 318 test_2 (_mm512_shrdi_epi16, __m512i, __m512i, __m512i, 1) 319 test_2 (_mm512_shrdi_epi32, __m512i, __m512i, __m512i, 1) 320 test_2 (_mm512_shrdi_epi64, __m512i, __m512i, __m512i, 1) 321 test_2 (_mm256_shrdi_epi16, __m256i, __m256i, __m256i, 1) 322 test_2 (_mm256_shrdi_epi32, __m256i, __m256i, __m256i, 1) 323 test_2 (_mm256_shrdi_epi64, __m256i, __m256i, __m256i, 1) 324 test_2 (_mm_shrdi_epi16, __m128i, __m128i, __m128i, 1) 325 test_2 (_mm_shrdi_epi32, __m128i, __m128i, __m128i, 1) 326 test_2 (_mm_shrdi_epi64, __m128i, __m128i, __m128i, 1) 327 test_2 (_mm512_shldi_epi16, __m512i, __m512i, __m512i, 1) 328 test_2 (_mm512_shldi_epi32, __m512i, __m512i, __m512i, 1) 329 test_2 (_mm512_shldi_epi64, __m512i, __m512i, __m512i, 1) 330 test_2 (_mm256_shldi_epi16, __m256i, __m256i, __m256i, 1) 331 test_2 (_mm256_shldi_epi32, __m256i, __m256i, __m256i, 1) 332 test_2 (_mm256_shldi_epi64, __m256i, __m256i, __m256i, 1) 333 test_2 (_mm_shldi_epi16, __m128i, __m128i, __m128i, 1) 334 test_2 (_mm_shldi_epi32, __m128i, __m128i, __m128i, 1) 335 test_2 (_mm_shldi_epi64, __m128i, __m128i, __m128i, 1) 336 test_2x (_mm512_cmp_round_pd_mask, __mmask8, __m512d, __m512d, 1, 8) 337 test_2x (_mm512_cmp_round_ps_mask, __mmask16, __m512, __m512, 1, 8) 338 test_2x (_mm512_maskz_roundscale_round_pd, __m512d, __mmask8, __m512d, 1, 8) 339 test_2x (_mm512_maskz_roundscale_round_ps, __m512, __mmask16, __m512, 1, 8) 340 test_2x (_mm_cmp_round_sd_mask, __mmask8, __m128d, __m128d, 1, 8) 341 test_2x (_mm_cmp_round_ss_mask, __mmask8, __m128, __m128, 1, 8) 342 test_2x (_mm_comi_round_sd, int, __m128d, __m128d, 1, 8) 343 test_2x (_mm_comi_round_ss, int, __m128, __m128, 1, 8) 344 test_2x (_mm_roundscale_round_sd, __m128d, __m128d, __m128d, 1, 8) 345 test_2x (_mm_roundscale_round_ss, __m128, __m128, __m128, 1, 8) 346 test_3 (_mm512_fmadd_round_pd, __m512d, __m512d, __m512d, __m512d, 9) 347 test_3 (_mm512_fmadd_round_ps, __m512, __m512, __m512, __m512, 9) 348 test_3 (_mm512_fmaddsub_round_pd, __m512d, __m512d, __m512d, __m512d, 9) 349 test_3 (_mm512_fmaddsub_round_ps, __m512, __m512, __m512, __m512, 9) 350 test_3 (_mm512_fmsub_round_pd, __m512d, __m512d, __m512d, __m512d, 9) 351 test_3 (_mm512_fmsub_round_ps, __m512, __m512, __m512, __m512, 9) 352 test_3 (_mm512_fmsubadd_round_pd, __m512d, __m512d, __m512d, __m512d, 9) 353 test_3 (_mm512_fmsubadd_round_ps, __m512, __m512, __m512, __m512, 9) 354 test_3 (_mm512_fnmadd_round_pd, __m512d, __m512d, __m512d, __m512d, 9) 355 test_3 (_mm512_fnmadd_round_ps, __m512, __m512, __m512, __m512, 9) 356 test_3 (_mm512_fnmsub_round_pd, __m512d, __m512d, __m512d, __m512d, 9) 357 test_3 (_mm512_fnmsub_round_ps, __m512, __m512, __m512, __m512, 9) 358 test_3 (_mm512_mask_cmp_epi32_mask, __mmask16, __mmask16, __m512i, __m512i, 1) 359 test_3 (_mm512_mask_cmp_epi64_mask, __mmask8, __mmask8, __m512i, __m512i, 1) 360 test_3 (_mm512_mask_cmp_epu32_mask, __mmask16, __mmask16, __m512i, __m512i, 1) 361 test_3 (_mm512_mask_cmp_epu64_mask, __mmask8, __mmask8, __m512i, __m512i, 1) 362 test_3 (_mm512_mask_cmp_pd_mask, __mmask8, __mmask8, __m512d, __m512d, 1) 363 test_3 (_mm512_mask_cmp_ps_mask, __mmask16, __mmask16, __m512, __m512, 1) 364 test_3 (_mm512_mask_cvt_roundepi32_ps, __m512, __m512, __mmask16, __m512i, 9) 365 test_3 (_mm512_mask_cvt_roundepu32_ps, __m512, __m512, __mmask16, __m512i, 9) 366 test_3 (_mm512_mask_cvt_roundpd_epi32, __m256i, __m256i, __mmask8, __m512d, 9) 367 test_3 (_mm512_mask_cvt_roundpd_epu32, __m256i, __m256i, __mmask8, __m512d, 9) 368 test_3 (_mm512_mask_cvt_roundpd_ps, __m256, __m256, __mmask8, __m512d, 9) 369 test_3 (_mm512_mask_cvt_roundph_ps, __m512, __m512, __mmask16, __m256i, 8) 370 test_3 (_mm512_mask_cvt_roundps_epi32, __m512i, __m512i, __mmask16, __m512, 9) 371 test_3 (_mm512_mask_cvt_roundps_epu32, __m512i, __m512i, __mmask16, __m512, 9) 372 test_3 (_mm512_mask_cvt_roundps_pd, __m512d, __m512d, __mmask8, __m256, 8) 373 test_3 (_mm512_mask_cvtps_ph, __m256i, __m256i, __mmask16, __m512, 1) 374 test_3 (_mm512_mask_cvtt_roundpd_epi32, __m256i, __m256i, __mmask8, __m512d, 8) 375 test_3 (_mm512_mask_cvtt_roundpd_epu32, __m256i, __m256i, __mmask8, __m512d, 8) 376 test_3 (_mm512_mask_cvtt_roundps_epi32, __m512i, __m512i, __mmask16, __m512, 8) 377 test_3 (_mm512_mask_cvtt_roundps_epu32, __m512i, __m512i, __mmask16, __m512, 8) 378 test_3 (_mm512_mask_extractf32x4_ps, __m128, __m128, __mmask8, __m512, 1) 379 test_3 (_mm512_mask_extractf64x4_pd, __m256d, __m256d, __mmask8, __m512d, 1) 380 test_3 (_mm512_mask_extracti32x4_epi32, __m128i, __m128i, __mmask8, __m512i, 1) 381 test_3 (_mm512_mask_extracti64x4_epi64, __m256i, __m256i, __mmask8, __m512i, 1) 382 test_3 (_mm512_mask_getexp_round_pd, __m512d, __m512d, __mmask8, __m512d, 8) 383 test_4 (_mm_mask_getexp_round_sd, __m128d, __m128d, __mmask8, __m128d, __m128d, 8) 384 test_3 (_mm512_mask_getexp_round_ps, __m512, __m512, __mmask16, __m512, 8) 385 test_4 (_mm_mask_getexp_round_ss, __m128, __m128, __mmask8, __m128, __m128, 8) 386 test_3y (_mm512_mask_getmant_round_pd, __m512d, __m512d, __mmask8, __m512d, 1, 1, 8) 387 test_3y (_mm512_mask_getmant_round_ps, __m512, __m512, __mmask16, __m512, 1, 1, 8) 388 test_3 (_mm512_mask_permute_pd, __m512d, __m512d, __mmask8, __m512d, 1) 389 test_3 (_mm512_mask_permute_ps, __m512, __m512, __mmask16, __m512, 1) 390 test_3 (_mm512_mask_permutex_epi64, __m512i, __m512i, __mmask8, __m512i, 1) 391 test_3 (_mm512_mask_permutex_pd, __m512d, __m512d, __mmask8, __m512d, 1) 392 test_3 (_mm512_mask_rol_epi32, __m512i, __m512i, __mmask16, __m512i, 1) 393 test_3 (_mm512_mask_rol_epi64, __m512i, __m512i, __mmask8, __m512i, 1) 394 test_3 (_mm512_mask_ror_epi32, __m512i, __m512i, __mmask16, __m512i, 1) 395 test_3 (_mm512_mask_ror_epi64, __m512i, __m512i, __mmask8, __m512i, 1) 396 test_3 (_mm512_mask_shuffle_epi32, __m512i, __m512i, __mmask16, __m512i, 1) 397 test_3 (_mm512_mask_slli_epi32, __m512i, __m512i, __mmask16, __m512i, 1) 398 test_3 (_mm512_mask_slli_epi64, __m512i, __m512i, __mmask8, __m512i, 1) 399 test_3 (_mm512_mask_sqrt_round_pd, __m512d, __m512d, __mmask8, __m512d, 9) 400 test_3 (_mm512_mask_sqrt_round_ps, __m512, __m512, __mmask16, __m512, 9) 401 test_3 (_mm512_mask_srai_epi32, __m512i, __m512i, __mmask16, __m512i, 1) 402 test_3 (_mm512_mask_srai_epi64, __m512i, __m512i, __mmask8, __m512i, 1) 403 test_3 (_mm512_mask_srli_epi32, __m512i, __m512i, __mmask16, __m512i, 1) 404 test_3 (_mm512_mask_srli_epi64, __m512i, __m512i, __mmask8, __m512i, 1) 405 test_3 (_mm512_maskz_add_round_pd, __m512d, __mmask8, __m512d, __m512d, 9) 406 test_3 (_mm_maskz_add_round_sd, __m128d, __mmask8, __m128d, __m128d, 9) 407 test_3 (_mm512_maskz_add_round_ps, __m512, __mmask16, __m512, __m512, 9) 408 test_3 (_mm_maskz_add_round_ss, __m128, __mmask8, __m128, __m128, 9) 409 test_3 (_mm512_maskz_alignr_epi32, __m512i, __mmask16, __m512i, __m512i, 1) 410 test_3 (_mm512_maskz_alignr_epi64, __m512i, __mmask8, __m512i, __m512i, 1) 411 test_3 (_mm512_maskz_div_round_pd, __m512d, __mmask8, __m512d, __m512d, 9) 412 test_3 (_mm_maskz_div_round_sd, __m128d, __mmask8, __m128d, __m128d, 9) 413 test_3 (_mm512_maskz_div_round_ps, __m512, __mmask16, __m512, __m512, 9) 414 test_3 (_mm_maskz_div_round_ss, __m128, __mmask8, __m128, __m128, 9) 415 test_3 (_mm512_maskz_insertf32x4, __m512, __mmask16, __m512, __m128, 1) 416 test_3 (_mm512_maskz_insertf64x4, __m512d, __mmask8, __m512d, __m256d, 1) 417 test_3 (_mm512_maskz_inserti32x4, __m512i, __mmask16, __m512i, __m128i, 1) 418 test_3 (_mm512_maskz_inserti64x4, __m512i, __mmask8, __m512i, __m256i, 1) 419 test_3 (_mm512_maskz_max_round_pd, __m512d, __mmask8, __m512d, __m512d, 8) 420 test_3 (_mm_maskz_max_round_sd, __m128d, __mmask8, __m128d, __m128d, 8) 421 test_3 (_mm512_maskz_max_round_ps, __m512, __mmask16, __m512, __m512, 8) 422 test_3 (_mm_maskz_max_round_ss, __m128, __mmask8, __m128, __m128, 8) 423 test_3 (_mm512_maskz_min_round_pd, __m512d, __mmask8, __m512d, __m512d, 8) 424 test_3 (_mm_maskz_min_round_sd, __m128d, __mmask8, __m128d, __m128d, 8) 425 test_3 (_mm512_maskz_min_round_ps, __m512, __mmask16, __m512, __m512, 8) 426 test_3 (_mm_maskz_min_round_ss, __m128, __mmask8, __m128, __m128, 8) 427 test_3 (_mm512_maskz_mul_round_pd, __m512d, __mmask8, __m512d, __m512d, 9) 428 test_3 (_mm_maskz_mul_round_sd, __m128d, __mmask8, __m128d, __m128d, 9) 429 test_3 (_mm512_maskz_mul_round_ps, __m512, __mmask16, __m512, __m512, 9) 430 test_3 (_mm_maskz_mul_round_ss, __m128, __mmask8, __m128, __m128, 9) 431 test_3 (_mm512_maskz_scalef_round_pd, __m512d, __mmask8, __m512d, __m512d, 9) 432 test_3 (_mm512_maskz_scalef_round_ps, __m512, __mmask16, __m512, __m512, 9) 433 test_3 (_mm512_maskz_shuffle_f32x4, __m512, __mmask16, __m512, __m512, 1) 434 test_3 (_mm512_maskz_shuffle_f64x2, __m512d, __mmask8, __m512d, __m512d, 1) 435 test_3 (_mm512_maskz_shuffle_i32x4, __m512i, __mmask16, __m512i, __m512i, 1) 436 test_3 (_mm512_maskz_shuffle_i64x2, __m512i, __mmask8, __m512i, __m512i, 1) 437 test_3 (_mm512_maskz_shuffle_pd, __m512d, __mmask8, __m512d, __m512d, 1) 438 test_3 (_mm512_maskz_shuffle_ps, __m512, __mmask16, __m512, __m512, 1) 439 test_3 (_mm512_maskz_sub_round_pd, __m512d, __mmask8, __m512d, __m512d, 9) 440 test_3 (_mm_maskz_sub_round_sd, __m128d, __mmask8, __m128d, __m128d, 9) 441 test_3 (_mm512_maskz_sub_round_ps, __m512, __mmask16, __m512, __m512, 9) 442 test_3 (_mm_maskz_sub_round_ss, __m128, __mmask8, __m128, __m128, 9) 443 test_3 (_mm512_ternarylogic_epi32, __m512i, __m512i, __m512i, __m512i, 1) 444 test_3 (_mm512_ternarylogic_epi64, __m512i, __m512i, __m512i, __m512i, 1) 445 test_3 (_mm_fmadd_round_sd, __m128d, __m128d, __m128d, __m128d, 9) 446 test_3 (_mm_fmadd_round_ss, __m128, __m128, __m128, __m128, 9) 447 test_3 (_mm_fmsub_round_sd, __m128d, __m128d, __m128d, __m128d, 9) 448 test_3 (_mm_fmsub_round_ss, __m128, __m128, __m128, __m128, 9) 449 test_3 (_mm_fnmadd_round_sd, __m128d, __m128d, __m128d, __m128d, 9) 450 test_3 (_mm_fnmadd_round_ss, __m128, __m128, __m128, __m128, 9) 451 test_3 (_mm_fnmsub_round_sd, __m128d, __m128d, __m128d, __m128d, 9) 452 test_3 (_mm_fnmsub_round_ss, __m128, __m128, __m128, __m128, 9) 453 test_3 (_mm_mask_cmp_sd_mask, __mmask8, __mmask8, __m128d, __m128d, 1) 454 test_3 (_mm_mask_cmp_ss_mask, __mmask8, __mmask8, __m128, __m128, 1) 455 test_3 (_mm512_maskz_shrdi_epi16, __m512i, __mmask32, __m512i, __m512i, 1) 456 test_3 (_mm512_maskz_shrdi_epi32, __m512i, __mmask16, __m512i, __m512i, 1) 457 test_3 (_mm512_maskz_shrdi_epi64, __m512i, __mmask8, __m512i,__m512i, 1) 458 test_3 (_mm256_maskz_shrdi_epi16, __m256i, __mmask16, __m256i, __m256i, 1) 459 test_3 (_mm256_maskz_shrdi_epi32, __m256i, __mmask8, __m256i,__m256i, 1) 460 test_3 (_mm256_maskz_shrdi_epi64, __m256i, __mmask8, __m256i,__m256i, 1) 461 test_3 (_mm_maskz_shrdi_epi16, __m128i, __mmask8, __m128i, __m128i, 1) 462 test_3 (_mm_maskz_shrdi_epi32, __m128i, __mmask8, __m128i, __m128i, 1) 463 test_3 (_mm_maskz_shrdi_epi64, __m128i, __mmask8, __m128i, __m128i, 1) 464 test_3 (_mm512_maskz_shldi_epi16, __m512i, __mmask32, __m512i, __m512i, 1) 465 test_3 (_mm512_maskz_shldi_epi32, __m512i, __mmask16, __m512i, __m512i, 1) 466 test_3 (_mm512_maskz_shldi_epi64, __m512i, __mmask8, __m512i, __m512i, 1) 467 test_3 (_mm256_maskz_shldi_epi16, __m256i, __mmask16, __m256i, __m256i, 1) 468 test_3 (_mm256_maskz_shldi_epi32, __m256i, __mmask8, __m256i, __m256i, 1) 469 test_3 (_mm256_maskz_shldi_epi64, __m256i, __mmask8, __m256i, __m256i, 1) 470 test_3 (_mm_maskz_shldi_epi16, __m128i, __mmask8, __m128i, __m128i, 1) 471 test_3 (_mm_maskz_shldi_epi32, __m128i, __mmask8, __m128i, __m128i, 1) 472 test_3 (_mm_maskz_shldi_epi64, __m128i, __mmask8, __m128i, __m128i, 1) 473 test_3v (_mm512_i32scatter_epi32, void *, __m512i, __m512i, 1) 474 test_3v (_mm512_i32scatter_epi64, void *, __m256i, __m512i, 1) 475 test_3v (_mm512_i32scatter_pd, void *, __m256i, __m512d, 1) 476 test_3v (_mm512_i32scatter_ps, void *, __m512i, __m512, 1) 477 test_3v (_mm512_i64scatter_epi32, void *, __m512i, __m256i, 1) 478 test_3v (_mm512_i64scatter_epi64, void *, __m512i, __m512i, 1) 479 test_3v (_mm512_i64scatter_pd, void *, __m512i, __m512d, 1) 480 test_3v (_mm512_i64scatter_ps, void *, __m512i, __m256, 1) 481 test_3x (_mm512_mask_roundscale_round_pd, __m512d, __m512d, __mmask8, __m512d, 1, 8) 482 test_3x (_mm512_mask_roundscale_round_ps, __m512, __m512, __mmask16, __m512, 1, 8) 483 test_3x (_mm_fixupimm_round_sd, __m128d, __m128d, __m128d, __m128i, 1, 8) 484 test_3x (_mm_fixupimm_round_ss, __m128, __m128, __m128, __m128i, 1, 8) 485 test_3x (_mm_mask_cmp_round_sd_mask, __mmask8, __mmask8, __m128d, __m128d, 1, 8) 486 test_3x (_mm_mask_cmp_round_ss_mask, __mmask8, __mmask8, __m128, __m128, 1, 8) 487 test_4 (_mm512_mask3_fmadd_round_pd, __m512d, __m512d, __m512d, __m512d, __mmask8, 9) 488 test_4 (_mm512_mask3_fmadd_round_ps, __m512, __m512, __m512, __m512, __mmask16, 9) 489 test_4 (_mm512_mask3_fmaddsub_round_pd, __m512d, __m512d, __m512d, __m512d, __mmask8, 9) 490 test_4 (_mm512_mask3_fmaddsub_round_ps, __m512, __m512, __m512, __m512, __mmask16, 9) 491 test_4 (_mm512_mask3_fmsub_round_pd, __m512d, __m512d, __m512d, __m512d, __mmask8, 9) 492 test_4 (_mm512_mask3_fmsub_round_ps, __m512, __m512, __m512, __m512, __mmask16, 9) 493 test_4 (_mm512_mask3_fmsubadd_round_pd, __m512d, __m512d, __m512d, __m512d, __mmask8, 9) 494 test_4 (_mm512_mask3_fmsubadd_round_ps, __m512, __m512, __m512, __m512, __mmask16, 9) 495 test_4 (_mm512_mask3_fnmadd_round_pd, __m512d, __m512d, __m512d, __m512d, __mmask8, 9) 496 test_4 (_mm512_mask3_fnmadd_round_ps, __m512, __m512, __m512, __m512, __mmask16, 9) 497 test_4 (_mm512_mask3_fnmsub_round_pd, __m512d, __m512d, __m512d, __m512d, __mmask8, 9) 498 test_4 (_mm512_mask3_fnmsub_round_ps, __m512, __m512, __m512, __m512, __mmask16, 9) 499 test_4 (_mm512_mask_add_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 9) 500 test_4 (_mm_mask_add_round_sd, __m128d, __m128d, __mmask8, __m128d, __m128d, 9) 501 test_4 (_mm512_mask_add_round_ps, __m512, __m512, __mmask16, __m512, __m512, 9) 502 test_4 (_mm_mask_add_round_ss, __m128, __m128, __mmask8, __m128, __m128, 9) 503 test_4 (_mm512_mask_alignr_epi32, __m512i, __m512i, __mmask16, __m512i, __m512i, 1) 504 test_4 (_mm512_mask_alignr_epi64, __m512i, __m512i, __mmask8, __m512i, __m512i, 1) 505 test_4 (_mm512_mask_div_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 9) 506 test_4 (_mm_mask_div_round_sd, __m128d, __m128d, __mmask8, __m128d, __m128d, 9) 507 test_4 (_mm512_mask_div_round_ps, __m512, __m512, __mmask16, __m512, __m512, 9) 508 test_4 (_mm_mask_div_round_ss, __m128, __m128, __mmask8, __m128, __m128, 9) 509 test_4 (_mm512_mask_fmadd_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 9) 510 test_4 (_mm512_mask_fmadd_round_ps, __m512, __m512, __mmask16, __m512, __m512, 9) 511 test_4 (_mm512_mask_fmaddsub_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 9) 512 test_4 (_mm512_mask_fmaddsub_round_ps, __m512, __m512, __mmask16, __m512, __m512, 9) 513 test_4 (_mm512_mask_fmsub_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 9) 514 test_4 (_mm512_mask_fmsub_round_ps, __m512, __m512, __mmask16, __m512, __m512, 9) 515 test_4 (_mm512_mask_fmsubadd_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 9) 516 test_4 (_mm512_mask_fmsubadd_round_ps, __m512, __m512, __mmask16, __m512, __m512, 9) 517 test_4 (_mm512_mask_fnmadd_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 9) 518 test_4 (_mm512_mask_fnmadd_round_ps, __m512, __m512, __mmask16, __m512, __m512, 9) 519 test_4 (_mm512_mask_fnmsub_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 9) 520 test_4 (_mm512_mask_fnmsub_round_ps, __m512, __m512, __mmask16, __m512, __m512, 9) 521 test_4 (_mm512_mask_i32gather_epi32, __m512i, __m512i, __mmask16, __m512i, void const *, 1) 522 test_4 (_mm512_mask_i32gather_epi64, __m512i, __m512i, __mmask8, __m256i, void const *, 1) 523 test_4 (_mm512_mask_i32gather_pd, __m512d, __m512d, __mmask8, __m256i, void const *, 1) 524 test_4 (_mm512_mask_i32gather_ps, __m512, __m512, __mmask16, __m512i, void const *, 1) 525 test_4 (_mm512_mask_i64gather_epi32, __m256i, __m256i, __mmask8, __m512i, void const *, 1) 526 test_4 (_mm512_mask_i64gather_epi64, __m512i, __m512i, __mmask8, __m512i, void const *, 1) 527 test_4 (_mm512_mask_i64gather_pd, __m512d, __m512d, __mmask8, __m512i, void const *, 1) 528 test_4 (_mm512_mask_i64gather_ps, __m256, __m256, __mmask8, __m512i, void const *, 1) 529 test_4 (_mm512_mask_insertf32x4, __m512, __m512, __mmask16, __m512, __m128, 1) 530 test_4 (_mm512_mask_insertf64x4, __m512d, __m512d, __mmask8, __m512d, __m256d, 1) 531 test_4 (_mm512_mask_inserti32x4, __m512i, __m512i, __mmask16, __m512i, __m128i, 1) 532 test_4 (_mm512_mask_inserti64x4, __m512i, __m512i, __mmask8, __m512i, __m256i, 1) 533 test_4 (_mm512_mask_max_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 8) 534 test_4 (_mm_mask_max_round_sd, __m128d, __m128d, __mmask8, __m128d, __m128d, 8) 535 test_4 (_mm512_mask_max_round_ps, __m512, __m512, __mmask16, __m512, __m512, 8) 536 test_4 (_mm_mask_max_round_ss, __m128, __m128, __mmask8, __m128, __m128, 8) 537 test_4 (_mm512_mask_min_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 8) 538 test_4 (_mm_mask_min_round_sd, __m128d, __m128d, __mmask8, __m128d, __m128d, 8) 539 test_4 (_mm512_mask_min_round_ps, __m512, __m512, __mmask16, __m512, __m512, 8) 540 test_4 (_mm_mask_min_round_ss, __m128, __m128, __mmask8, __m128, __m128, 8) 541 test_4 (_mm512_mask_mul_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 9) 542 test_4 (_mm_mask_mul_round_sd, __m128d, __m128d, __mmask8, __m128d, __m128d, 9) 543 test_4 (_mm512_mask_mul_round_ps, __m512, __m512, __mmask16, __m512, __m512, 9) 544 test_4 (_mm_mask_mul_round_ss, __m128, __m128, __mmask8, __m128, __m128, 9) 545 test_4 (_mm512_mask_scalef_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 9) 546 test_4 (_mm512_mask_scalef_round_ps, __m512, __m512, __mmask16, __m512, __m512, 9) 547 test_4 (_mm512_mask_shuffle_f32x4, __m512, __m512, __mmask16, __m512, __m512, 1) 548 test_4 (_mm512_mask_shuffle_f64x2, __m512d, __m512d, __mmask8, __m512d, __m512d, 1) 549 test_4 (_mm512_mask_shuffle_i32x4, __m512i, __m512i, __mmask16, __m512i, __m512i, 1) 550 test_4 (_mm512_mask_shuffle_i64x2, __m512i, __m512i, __mmask8, __m512i, __m512i, 1) 551 test_4 (_mm512_mask_shuffle_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 1) 552 test_4 (_mm512_mask_shuffle_ps, __m512, __m512, __mmask16, __m512, __m512, 1) 553 test_4 (_mm512_mask_sub_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 9) 554 test_4 (_mm_mask_sub_round_sd, __m128d, __m128d, __mmask8, __m128d, __m128d, 9) 555 test_4 (_mm512_mask_sub_round_ps, __m512, __m512, __mmask16, __m512, __m512, 9) 556 test_4 (_mm_mask_sub_round_ss, __m128, __m128, __mmask8, __m128, __m128, 9) 557 test_4 (_mm512_mask_ternarylogic_epi32, __m512i, __m512i, __mmask16, __m512i, __m512i, 1) 558 test_4 (_mm512_mask_ternarylogic_epi64, __m512i, __m512i, __mmask8, __m512i, __m512i, 1) 559 test_4 (_mm512_maskz_fmadd_round_pd, __m512d, __mmask8, __m512d, __m512d, __m512d, 9) 560 test_4 (_mm512_maskz_fmadd_round_ps, __m512, __mmask16, __m512, __m512, __m512, 9) 561 test_4 (_mm512_maskz_fmaddsub_round_pd, __m512d, __mmask8, __m512d, __m512d, __m512d, 9) 562 test_4 (_mm512_maskz_fmaddsub_round_ps, __m512, __mmask16, __m512, __m512, __m512, 9) 563 test_4 (_mm512_maskz_fmsub_round_pd, __m512d, __mmask8, __m512d, __m512d, __m512d, 9) 564 test_4 (_mm512_maskz_fmsub_round_ps, __m512, __mmask16, __m512, __m512, __m512, 9) 565 test_4 (_mm512_maskz_fmsubadd_round_pd, __m512d, __mmask8, __m512d, __m512d, __m512d, 9) 566 test_4 (_mm512_maskz_fmsubadd_round_ps, __m512, __mmask16, __m512, __m512, __m512, 9) 567 test_4 (_mm512_maskz_fnmadd_round_pd, __m512d, __mmask8, __m512d, __m512d, __m512d, 9) 568 test_4 (_mm512_maskz_fnmadd_round_ps, __m512, __mmask16, __m512, __m512, __m512, 9) 569 test_4 (_mm512_maskz_fnmsub_round_pd, __m512d, __mmask8, __m512d, __m512d, __m512d, 9) 570 test_4 (_mm512_maskz_fnmsub_round_ps, __m512, __mmask16, __m512, __m512, __m512, 9) 571 test_4 (_mm512_maskz_ternarylogic_epi32, __m512i, __mmask16, __m512i, __m512i, __m512i, 1) 572 test_4 (_mm512_maskz_ternarylogic_epi64, __m512i, __mmask8, __m512i, __m512i, __m512i, 1) 573 test_4 (_mm512_mask_shrdi_epi16, __m512i, __m512i, __mmask32, __m512i, __m512i, 1) 574 test_4 (_mm512_mask_shrdi_epi32, __m512i, __m512i, __mmask16, __m512i, __m512i, 1) 575 test_4 (_mm512_mask_shrdi_epi64, __m512i, __m512i, __mmask8, __m512i, __m512i, 1) 576 test_4 (_mm256_mask_shrdi_epi16, __m256i, __m256i, __mmask16, __m256i, __m256i, 1) 577 test_4 (_mm256_mask_shrdi_epi32, __m256i, __m256i, __mmask8, __m256i, __m256i, 1) 578 test_4 (_mm256_mask_shrdi_epi64, __m256i, __m256i, __mmask8, __m256i, __m256i, 1) 579 test_4 (_mm_mask_shrdi_epi16, __m128i, __m128i, __mmask8, __m128i, __m128i, 1) 580 test_4 (_mm_mask_shrdi_epi32, __m128i, __m128i, __mmask8, __m128i, __m128i, 1) 581 test_4 (_mm_mask_shrdi_epi64, __m128i, __m128i, __mmask8, __m128i, __m128i, 1) 582 test_4 (_mm512_mask_shldi_epi16, __m512i, __m512i, __mmask32, __m512i, __m512i, 1) 583 test_4 (_mm512_mask_shldi_epi32, __m512i, __m512i, __mmask16, __m512i, __m512i, 1) 584 test_4 (_mm512_mask_shldi_epi64, __m512i, __m512i, __mmask8, __m512i, __m512i, 1) 585 test_4 (_mm256_mask_shldi_epi16, __m256i, __m256i, __mmask16, __m256i, __m256i, 1) 586 test_4 (_mm256_mask_shldi_epi32, __m256i, __m256i, __mmask8, __m256i, __m256i, 1) 587 test_4 (_mm256_mask_shldi_epi64, __m256i, __m256i, __mmask8, __m256i, __m256i, 1) 588 test_4 (_mm_mask_shldi_epi16, __m128i, __m128i, __mmask8, __m128i, __m128i, 1) 589 test_4 (_mm_mask_shldi_epi32, __m128i, __m128i, __mmask8, __m128i, __m128i, 1) 590 test_4 (_mm_mask_shldi_epi64, __m128i, __m128i, __mmask8, __m128i, __m128i, 1) 591 test_4v (_mm512_mask_i32scatter_epi32, void *, __mmask16, __m512i, __m512i, 1) 592 test_4v (_mm512_mask_i32scatter_epi64, void *, __mmask8, __m256i, __m512i, 1) 593 test_4v (_mm512_mask_i32scatter_pd, void *, __mmask8, __m256i, __m512d, 1) 594 test_4v (_mm512_mask_i32scatter_ps, void *, __mmask16, __m512i, __m512, 1) 595 test_4v (_mm512_mask_i64scatter_epi32, void *, __mmask8, __m512i, __m256i, 1) 596 test_4v (_mm512_mask_i64scatter_epi64, void *, __mmask8, __m512i, __m512i, 1) 597 test_4v (_mm512_mask_i64scatter_pd, void *, __mmask8, __m512i, __m512d, 1) 598 test_4v (_mm512_mask_i64scatter_ps, void *, __mmask8, __m512i, __m256, 1) 599 test_4x (_mm512_mask_fixupimm_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512i, 1, 8) 600 test_4x (_mm512_mask_fixupimm_round_ps, __m512, __m512, __mmask16, __m512, __m512i, 1, 8) 601 test_4x (_mm512_maskz_fixupimm_round_pd, __m512d, __mmask8, __m512d, __m512d, __m512i, 1, 8) 602 test_4x (_mm512_maskz_fixupimm_round_ps, __m512, __mmask16, __m512, __m512, __m512i, 1, 8) 603 test_4x (_mm_mask_fixupimm_round_sd, __m128d, __m128d, __mmask8, __m128d, __m128i, 1, 8) 604 test_4x (_mm_mask_fixupimm_round_ss, __m128, __m128, __mmask8, __m128, __m128i, 1, 8) 605 test_4x (_mm_maskz_fixupimm_round_sd, __m128d, __mmask8, __m128d, __m128d, __m128i, 1, 8) 606 test_4x (_mm_maskz_fixupimm_round_ss, __m128, __mmask8, __m128, __m128, __m128i, 1, 8) 607 608 /* avx512pfintrin.h */ 609 test_2vx (_mm512_prefetch_i32gather_ps, __m512i, void const *, 1, _MM_HINT_T0) 610 test_2vx (_mm512_prefetch_i32scatter_ps, void const *, __m512i, 1, _MM_HINT_T0) 611 test_2vx (_mm512_prefetch_i64gather_ps, __m512i, void const *, 1, _MM_HINT_T0) 612 test_2vx (_mm512_prefetch_i64scatter_ps, void const *, __m512i, 1, _MM_HINT_T0) 613 test_2vx (_mm512_prefetch_i32gather_pd, __m256i, void const *, 1, _MM_HINT_T0) 614 test_2vx (_mm512_prefetch_i32scatter_pd, void const *, __m256i, 1, _MM_HINT_T0) 615 test_2vx (_mm512_prefetch_i64gather_pd, __m512i, void const *, 1, _MM_HINT_T0) 616 test_2vx (_mm512_prefetch_i64scatter_pd, void const *, __m512i, 1, _MM_HINT_T0) 617 test_3vx (_mm512_mask_prefetch_i32gather_ps, __m512i, __mmask16, void const *, 1, _MM_HINT_T0) 618 test_3vx (_mm512_mask_prefetch_i32scatter_ps, void const *, __mmask16, __m512i, 1, _MM_HINT_T0) 619 test_3vx (_mm512_mask_prefetch_i64gather_ps, __m512i, __mmask8, void const *, 1, _MM_HINT_T0) 620 test_3vx (_mm512_mask_prefetch_i64scatter_ps, void const *, __mmask8, __m512i, 1, _MM_HINT_T0) 621 test_3vx (_mm512_mask_prefetch_i32gather_pd, __m256i, __mmask8, void const *, 1, _MM_HINT_T0) 622 test_3vx (_mm512_mask_prefetch_i32scatter_pd, void const *, __mmask8, __m256i, 1, _MM_HINT_T0) 623 test_3vx (_mm512_mask_prefetch_i64gather_pd, __m512i, __mmask8, void const *, 1, _MM_HINT_T0) 624 test_3vx (_mm512_mask_prefetch_i64scatter_pd, void const *, __mmask8, __m512i, 1, _MM_HINT_T0) 625 626 /* avx512erintrin.h */ 627 test_1 (_mm512_exp2a23_round_pd, __m512d, __m512d, 8) 628 test_1 (_mm512_exp2a23_round_ps, __m512, __m512, 8) 629 test_1 (_mm512_rcp28_round_pd, __m512d, __m512d, 8) 630 test_1 (_mm512_rcp28_round_ps, __m512, __m512, 8) 631 test_1 (_mm512_rsqrt28_round_pd, __m512d, __m512d, 8) 632 test_1 (_mm512_rsqrt28_round_ps, __m512, __m512, 8) 633 test_2 (_mm512_maskz_exp2a23_round_pd, __m512d, __mmask8, __m512d, 8) 634 test_2 (_mm512_maskz_exp2a23_round_ps, __m512, __mmask16, __m512, 8) 635 test_2 (_mm512_maskz_rcp28_round_pd, __m512d, __mmask8, __m512d, 8) 636 test_2 (_mm512_maskz_rcp28_round_ps, __m512, __mmask16, __m512, 8) 637 test_2 (_mm512_maskz_rsqrt28_round_pd, __m512d, __mmask8, __m512d, 8) 638 test_2 (_mm512_maskz_rsqrt28_round_ps, __m512, __mmask16, __m512, 8) 639 test_3 (_mm512_mask_exp2a23_round_pd, __m512d, __m512d, __mmask8, __m512d, 8) 640 test_3 (_mm512_mask_exp2a23_round_ps, __m512, __m512, __mmask16, __m512, 8) 641 test_3 (_mm512_mask_rcp28_round_pd, __m512d, __m512d, __mmask8, __m512d, 8) 642 test_3 (_mm512_mask_rcp28_round_ps, __m512, __m512, __mmask16, __m512, 8) 643 test_3 (_mm512_mask_rsqrt28_round_pd, __m512d, __m512d, __mmask8, __m512d, 8) 644 test_3 (_mm512_mask_rsqrt28_round_ps, __m512, __m512, __mmask16, __m512, 8) 645 646 /* shaintrin.h */ 647 test_2 (_mm_sha1rnds4_epu32, __m128i, __m128i, __m128i, 1) 648 649 /* wmmintrin.h */ 650 test_1 (_mm_aeskeygenassist_si128, __m128i, __m128i, 1) 651 test_2 (_mm_clmulepi64_si128, __m128i, __m128i, __m128i, 1) 652 653 /* smmintrin.h */ 654 test_1 (_mm_round_pd, __m128d, __m128d, 9) 655 test_1 (_mm_round_ps, __m128, __m128, 9) 656 test_2 (_mm_round_sd, __m128d, __m128d, __m128d, 9) 657 test_2 (_mm_round_ss, __m128, __m128, __m128, 9) 658 659 test_2 (_mm_blend_epi16, __m128i, __m128i, __m128i, 1) 660 test_2 (_mm_blend_ps, __m128, __m128, __m128, 1) 661 test_2 (_mm_blend_pd, __m128d, __m128d, __m128d, 1) 662 test_2 (_mm_dp_ps, __m128, __m128, __m128, 1) 663 test_2 (_mm_dp_pd, __m128d, __m128d, __m128d, 1) 664 test_2 (_mm_insert_ps, __m128, __m128, __m128, 1) 665 test_1 (_mm_extract_ps, int, __m128, 1) 666 test_2 (_mm_insert_epi8, __m128i, __m128i, int, 1) 667 test_2 (_mm_insert_epi32, __m128i, __m128i, int, 1) 668 #ifdef __x86_64__ 669 test_2 (_mm_insert_epi64, __m128i, __m128i, long long, 1) 670 #endif 671 test_1 (_mm_extract_epi8, int, __m128i, 1) 672 test_1 (_mm_extract_epi32, int, __m128i, 1) 673 #ifdef __x86_64__ 674 test_1 (_mm_extract_epi64, long long, __m128i, 1) 675 #endif 676 test_2 (_mm_mpsadbw_epu8, __m128i, __m128i, __m128i, 1) 677 test_2 (_mm_cmpistrm, __m128i, __m128i, __m128i, 1) 678 test_2 (_mm_cmpistri, int, __m128i, __m128i, 1) 679 test_4 (_mm_cmpestrm, __m128i, __m128i, int, __m128i, int, 1) 680 test_4 (_mm_cmpestri, int, __m128i, int, __m128i, int, 1) 681 test_2 (_mm_cmpistra, int, __m128i, __m128i, 1) 682 test_2 (_mm_cmpistrc, int, __m128i, __m128i, 1) 683 test_2 (_mm_cmpistro, int, __m128i, __m128i, 1) 684 test_2 (_mm_cmpistrs, int, __m128i, __m128i, 1) 685 test_2 (_mm_cmpistrz, int, __m128i, __m128i, 1) 686 test_4 (_mm_cmpestra, int, __m128i, int, __m128i, int, 1) 687 test_4 (_mm_cmpestrc, int, __m128i, int, __m128i, int, 1) 688 test_4 (_mm_cmpestro, int, __m128i, int, __m128i, int, 1) 689 test_4 (_mm_cmpestrs, int, __m128i, int, __m128i, int, 1) 690 test_4 (_mm_cmpestrz, int, __m128i, int, __m128i, int, 1) 691 692 /* tmmintrin.h */ 693 test_2 (_mm_alignr_epi8, __m128i, __m128i, __m128i, 1) 694 test_2 (_mm_alignr_pi8, __m64, __m64, __m64, 1) 695 696 /* emmintrin.h */ 697 test_2 (_mm_shuffle_pd, __m128d, __m128d, __m128d, 1) 698 test_1 (_mm_bsrli_si128, __m128i, __m128i, 1) 699 test_1 (_mm_bslli_si128, __m128i, __m128i, 1) 700 test_1 (_mm_srli_si128, __m128i, __m128i, 1) 701 test_1 (_mm_slli_si128, __m128i, __m128i, 1) 702 test_1 (_mm_extract_epi16, int, __m128i, 1) 703 test_2 (_mm_insert_epi16, __m128i, __m128i, int, 1) 704 test_1 (_mm_shufflehi_epi16, __m128i, __m128i, 1) 705 test_1 (_mm_shufflelo_epi16, __m128i, __m128i, 1) 706 test_1 (_mm_shuffle_epi32, __m128i, __m128i, 1) 707 708 /* xmmintrin.h */ 709 test_2 (_mm_shuffle_ps, __m128, __m128, __m128, 1) 710 test_1 (_mm_extract_pi16, int, __m64, 1) 711 test_1 (_m_pextrw, int, __m64, 1) 712 test_2 (_mm_insert_pi16, __m64, __m64, int, 1) 713 test_2 (_m_pinsrw, __m64, __m64, int, 1) 714 test_1 (_mm_shuffle_pi16, __m64, __m64, 1) 715 test_1 (_m_pshufw, __m64, __m64, 1) 716 test_1 (_mm_prefetch, void, void *, _MM_HINT_NTA) 717 718 /* xopintrin.h */ 719 test_1 ( _mm_roti_epi8, __m128i, __m128i, 1) 720 test_1 ( _mm_roti_epi16, __m128i, __m128i, 1) 721 test_1 ( _mm_roti_epi32, __m128i, __m128i, 1) 722 test_1 ( _mm_roti_epi64, __m128i, __m128i, 1) 723 test_3 (_mm_permute2_pd, __m128d, __m128d, __m128d, __m128d, 1) 724 test_3 (_mm256_permute2_pd, __m256d, __m256d, __m256d, __m256d, 1) 725 test_3 (_mm_permute2_ps, __m128, __m128, __m128, __m128, 1) 726 test_3 (_mm256_permute2_ps, __m256, __m256, __m256, __m256, 1) 727 728 /* lwpintrin.h */ 729 test_2 ( __lwpval32, void, unsigned int, unsigned int, 1) 730 test_2 ( __lwpins32, unsigned char, unsigned int, unsigned int, 1) 731 #ifdef __x86_64__ 732 test_2 ( __lwpval64, void, unsigned long long, unsigned int, 1) 733 test_2 ( __lwpins64, unsigned char, unsigned long long, unsigned int, 1) 734 #endif 735 736 /* tbmintrin.h */ 737 test_1 ( __bextri_u32, unsigned int, unsigned int, 1) 738 #ifdef __x86_64__ 739 test_1 ( __bextri_u64, unsigned long long, unsigned long long, 1) 740 #endif 741 742 /* gfniintrin.h */ 743 test_2 (_mm_gf2p8affineinv_epi64_epi8, __m128i, __m128i, __m128i, 1) 744 test_2 (_mm256_gf2p8affineinv_epi64_epi8, __m256i, __m256i, __m256i, 1) 745 test_2 (_mm512_gf2p8affineinv_epi64_epi8, __m512i, __m512i, __m512i, 1) 746 test_2 (_mm_gf2p8affine_epi64_epi8, __m128i, __m128i, __m128i, 1) 747 test_2 (_mm256_gf2p8affine_epi64_epi8, __m256i, __m256i, __m256i, 1) 748 test_2 (_mm512_gf2p8affine_epi64_epi8, __m512i, __m512i, __m512i, 1) 749