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 -mclwb -mpcommit -mmwaitx" } */ 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 and mm_malloc.h that reference the proper 11 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 _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 int _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 */ 106test_1x (_mm_extracti_si64, __m128i, __m128i, 1, 1) 107test_2x (_mm_inserti_si64, __m128i, __m128i, __m128i, 1, 1) 108 109/* immintrin.h */ 110test_2 (_mm256_blend_pd, __m256d, __m256d, __m256d, 1) 111test_2 (_mm256_blend_ps, __m256, __m256, __m256, 1) 112test_2 (_mm256_dp_ps, __m256, __m256, __m256, 1) 113test_2 (_mm256_shuffle_pd, __m256d, __m256d, __m256d, 1) 114test_2 (_mm256_shuffle_ps, __m256, __m256, __m256, 1) 115test_2 (_mm_cmp_sd, __m128d, __m128d, __m128d, 1) 116test_2 (_mm_cmp_ss, __m128, __m128, __m128, 1) 117test_2 (_mm_cmp_pd, __m128d, __m128d, __m128d, 1) 118test_2 (_mm_cmp_ps, __m128, __m128, __m128, 1) 119test_2 (_mm256_cmp_pd, __m256d, __m256d, __m256d, 1) 120test_2 (_mm256_cmp_ps, __m256, __m256, __m256, 1) 121test_1 (_mm256_extractf128_pd, __m128d, __m256d, 1) 122test_1 (_mm256_extractf128_ps, __m128, __m256, 1) 123test_1 (_mm256_extractf128_si256, __m128i, __m256i, 1) 124test_1 (_mm256_extract_epi8, int, __m256i, 20) 125test_1 (_mm256_extract_epi16, int, __m256i, 13) 126test_1 (_mm256_extract_epi32, int, __m256i, 6) 127#ifdef __x86_64__ 128test_1 (_mm256_extract_epi64, long long, __m256i, 2) 129#endif 130test_1 (_mm_permute_pd, __m128d, __m128d, 1) 131test_1 (_mm256_permute_pd, __m256d, __m256d, 1) 132test_1 (_mm_permute_ps, __m128, __m128, 1) 133test_1 (_mm256_permute_ps, __m256, __m256, 1) 134test_2 (_mm256_permute2f128_pd, __m256d, __m256d, __m256d, 1) 135test_2 (_mm256_permute2f128_ps, __m256, __m256, __m256, 1) 136test_2 (_mm256_permute2f128_si256, __m256i, __m256i, __m256i, 1) 137test_2 (_mm256_insertf128_pd, __m256d, __m256d, __m128d, 1) 138test_2 (_mm256_insertf128_ps, __m256, __m256, __m128, 1) 139test_2 (_mm256_insertf128_si256, __m256i, __m256i, __m128i, 1) 140test_2 (_mm256_insert_epi8, __m256i, __m256i, int, 30) 141test_2 (_mm256_insert_epi16, __m256i, __m256i, int, 7) 142test_2 (_mm256_insert_epi32, __m256i, __m256i, int, 3) 143#ifdef __x86_64__ 144test_2 (_mm256_insert_epi64, __m256i, __m256i, long long, 1) 145#endif 146test_1 (_mm256_round_pd, __m256d, __m256d, 9) 147test_1 (_mm256_round_ps, __m256, __m256, 9) 148test_1 (_cvtss_sh, unsigned short, float, 1) 149test_1 (_mm_cvtps_ph, __m128i, __m128, 1) 150test_1 (_mm256_cvtps_ph, __m128i, __m256, 1) 151test_0 (_xabort, void, 1) 152test_1 (_mm512_cvt_roundepi32_ps, __m512, __m512i, 9) 153test_1 (_mm512_cvt_roundepu32_ps, __m512, __m512i, 9) 154test_1 (_mm512_cvt_roundpd_epi32, __m256i, __m512d, 9) 155test_1 (_mm512_cvt_roundpd_epu32, __m256i, __m512d, 9) 156test_1 (_mm512_cvt_roundpd_ps, __m256, __m512d, 9) 157test_1 (_mm512_cvt_roundph_ps, __m512, __m256i, 8) 158test_1 (_mm512_cvt_roundps_epi32, __m512i, __m512, 9) 159test_1 (_mm512_cvt_roundps_epu32, __m512i, __m512, 9) 160test_1 (_mm512_cvt_roundps_pd, __m512d, __m256, 8) 161test_1 (_mm512_cvtps_ph, __m256i, __m512, 1) 162test_1 (_mm512_cvtt_roundpd_epi32, __m256i, __m512d, 8) 163test_1 (_mm512_cvtt_roundpd_epu32, __m256i, __m512d, 8) 164test_1 (_mm512_cvtt_roundps_epi32, __m512i, __m512, 8) 165test_1 (_mm512_cvtt_roundps_epu32, __m512i, __m512, 8) 166test_1 (_mm512_extractf32x4_ps, __m128, __m512, 1) 167test_1 (_mm512_extractf64x4_pd, __m256d, __m512d, 1) 168test_1 (_mm512_extracti32x4_epi32, __m128i, __m512i, 1) 169test_1 (_mm512_extracti64x4_epi64, __m256i, __m512i, 1) 170test_1 (_mm512_getexp_round_pd, __m512d, __m512d, 8) 171test_1 (_mm512_getexp_round_ps, __m512, __m512, 8) 172test_1y (_mm512_getmant_round_pd, __m512d, __m512d, 1, 1, 8) 173test_1y (_mm512_getmant_round_ps, __m512, __m512, 1, 1, 8) 174test_1 (_mm512_permute_pd, __m512d, __m512d, 1) 175test_1 (_mm512_permute_ps, __m512, __m512, 1) 176test_1 (_mm512_permutex_epi64, __m512i, __m512i, 1) 177test_1 (_mm512_permutex_pd, __m512d, __m512d, 1) 178test_1 (_mm512_rol_epi32, __m512i, __m512i, 1) 179test_1 (_mm512_rol_epi64, __m512i, __m512i, 1) 180test_1 (_mm512_ror_epi32, __m512i, __m512i, 1) 181test_1 (_mm512_ror_epi64, __m512i, __m512i, 1) 182test_1 (_mm512_shuffle_epi32, __m512i, __m512i, 1) 183test_1 (_mm512_slli_epi32, __m512i, __m512i, 1) 184test_1 (_mm512_slli_epi64, __m512i, __m512i, 1) 185test_1 (_mm512_sqrt_round_pd, __m512d, __m512d, 9) 186test_1 (_mm512_sqrt_round_ps, __m512, __m512, 9) 187test_1 (_mm512_srai_epi32, __m512i, __m512i, 1) 188test_1 (_mm512_srai_epi64, __m512i, __m512i, 1) 189test_1 (_mm512_srli_epi32, __m512i, __m512i, 1) 190test_1 (_mm512_srli_epi64, __m512i, __m512i, 1) 191test_1 (_mm_cvt_roundsd_i32, int, __m128d, 9) 192test_1 (_mm_cvt_roundsd_u32, unsigned, __m128d, 9) 193test_1 (_mm_cvt_roundss_i32, int, __m128, 9) 194test_1 (_mm_cvt_roundss_u32, unsigned, __m128, 9) 195test_1 (_mm_cvtt_roundsd_i32, int, __m128d, 8) 196test_1 (_mm_cvtt_roundsd_u32, unsigned, __m128d, 8) 197test_1 (_mm_cvtt_roundss_i32, int, __m128, 8) 198test_1 (_mm_cvtt_roundss_u32, unsigned, __m128, 8) 199test_1x (_mm512_getmant_pd, __m512d, __m512d, 1, 1) 200test_1x (_mm512_getmant_ps, __m512, __m512, 1, 1) 201test_1x (_mm512_roundscale_round_pd, __m512d, __m512d, 1, 8) 202test_1x (_mm512_roundscale_round_ps, __m512, __m512, 1, 8) 203test_1x (_mm_cvt_roundi32_ss, __m128, __m128, 1, 9) 204test_2 (_mm512_add_round_pd, __m512d, __m512d, __m512d, 9) 205test_2 (_mm512_add_round_ps, __m512, __m512, __m512, 9) 206test_2 (_mm512_alignr_epi32, __m512i, __m512i, __m512i, 1) 207test_2 (_mm512_alignr_epi64, __m512i, __m512i, __m512i, 1) 208test_2 (_mm512_cmp_epi32_mask, __mmask16, __m512i, __m512i, 1) 209test_2 (_mm512_cmp_epi64_mask, __mmask8, __m512i, __m512i, 1) 210test_2 (_mm512_cmp_epu32_mask, __mmask16, __m512i, __m512i, 1) 211test_2 (_mm512_cmp_epu64_mask, __mmask8, __m512i, __m512i, 1) 212test_2 (_mm512_cmp_pd_mask, __mmask8, __m512d, __m512d, 1) 213test_2 (_mm512_cmp_ps_mask, __mmask16, __m512, __m512, 1) 214test_2 (_mm512_div_round_pd, __m512d, __m512d, __m512d, 9) 215test_2 (_mm512_div_round_ps, __m512, __m512, __m512, 9) 216test_2 (_mm512_i32gather_epi32, __m512i, __m512i, void const *, 1) 217test_2 (_mm512_i32gather_epi64, __m512i, __m256i, void const *, 1) 218test_2 (_mm512_i32gather_pd, __m512d, __m256i, void const *, 1) 219test_2 (_mm512_i32gather_ps, __m512, __m512i, void const *, 1) 220test_2 (_mm512_i64gather_epi32, __m256i, __m512i, void const *, 1) 221test_2 (_mm512_i64gather_epi64, __m512i, __m512i, void const *, 1) 222test_2 (_mm512_i64gather_pd, __m512d, __m512i, void const *, 1) 223test_2 (_mm512_i64gather_ps, __m256, __m512i, void const *, 1) 224test_2 (_mm512_insertf32x4, __m512, __m512, __m128, 1) 225test_2 (_mm512_insertf64x4, __m512d, __m512d, __m256d, 1) 226test_2 (_mm512_inserti32x4, __m512i, __m512i, __m128i, 1) 227test_2 (_mm512_inserti64x4, __m512i, __m512i, __m256i, 1) 228test_2 (_mm512_maskz_cvt_roundepi32_ps, __m512, __mmask16, __m512i, 9) 229test_2 (_mm512_maskz_cvt_roundepu32_ps, __m512, __mmask16, __m512i, 9) 230test_2 (_mm512_maskz_cvt_roundpd_epi32, __m256i, __mmask8, __m512d, 9) 231test_2 (_mm512_maskz_cvt_roundpd_epu32, __m256i, __mmask8, __m512d, 9) 232test_2 (_mm512_maskz_cvt_roundpd_ps, __m256, __mmask8, __m512d, 9) 233test_2 (_mm512_maskz_cvt_roundph_ps, __m512, __mmask16, __m256i, 8) 234test_2 (_mm512_maskz_cvt_roundps_epi32, __m512i, __mmask16, __m512, 9) 235test_2 (_mm512_maskz_cvt_roundps_epu32, __m512i, __mmask16, __m512, 9) 236test_2 (_mm512_maskz_cvt_roundps_pd, __m512d, __mmask8, __m256, 8) 237test_2 (_mm512_maskz_cvtps_ph, __m256i, __mmask16, __m512, 1) 238test_2 (_mm512_maskz_cvtt_roundpd_epi32, __m256i, __mmask8, __m512d, 8) 239test_2 (_mm512_maskz_cvtt_roundpd_epu32, __m256i, __mmask8, __m512d, 8) 240test_2 (_mm512_maskz_cvtt_roundps_epi32, __m512i, __mmask16, __m512, 8) 241test_2 (_mm512_maskz_cvtt_roundps_epu32, __m512i, __mmask16, __m512, 8) 242test_2 (_mm512_maskz_extractf32x4_ps, __m128, __mmask8, __m512, 1) 243test_2 (_mm512_maskz_extractf64x4_pd, __m256d, __mmask8, __m512d, 1) 244test_2 (_mm512_maskz_extracti32x4_epi32, __m128i, __mmask8, __m512i, 1) 245test_2 (_mm512_maskz_extracti64x4_epi64, __m256i, __mmask8, __m512i, 1) 246test_2 (_mm512_maskz_getexp_round_pd, __m512d, __mmask8, __m512d, 8) 247test_2 (_mm512_maskz_getexp_round_ps, __m512, __mmask16, __m512, 8) 248test_2y (_mm512_maskz_getmant_round_pd, __m512d, __mmask8, __m512d, 1, 1, 8) 249test_2y (_mm512_maskz_getmant_round_ps, __m512, __mmask16, __m512, 1, 1, 8) 250test_2 (_mm512_maskz_permute_pd, __m512d, __mmask8, __m512d, 1) 251test_2 (_mm512_maskz_permute_ps, __m512, __mmask16, __m512, 1) 252test_2 (_mm512_maskz_permutex_epi64, __m512i, __mmask8, __m512i, 1) 253test_2 (_mm512_maskz_permutex_pd, __m512d, __mmask8, __m512d, 1) 254test_2 (_mm512_maskz_rol_epi32, __m512i, __mmask16, __m512i, 1) 255test_2 (_mm512_maskz_rol_epi64, __m512i, __mmask8, __m512i, 1) 256test_2 (_mm512_maskz_ror_epi32, __m512i, __mmask16, __m512i, 1) 257test_2 (_mm512_maskz_ror_epi64, __m512i, __mmask8, __m512i, 1) 258test_2 (_mm512_maskz_shuffle_epi32, __m512i, __mmask16, __m512i, 1) 259test_2 (_mm512_maskz_slli_epi32, __m512i, __mmask16, __m512i, 1) 260test_2 (_mm512_maskz_slli_epi64, __m512i, __mmask8, __m512i, 1) 261test_2 (_mm512_maskz_sqrt_round_pd, __m512d, __mmask8, __m512d, 9) 262test_2 (_mm512_maskz_sqrt_round_ps, __m512, __mmask16, __m512, 9) 263test_2 (_mm512_maskz_srai_epi32, __m512i, __mmask16, __m512i, 1) 264test_2 (_mm512_maskz_srai_epi64, __m512i, __mmask8, __m512i, 1) 265test_2 (_mm512_maskz_srli_epi32, __m512i, __mmask16, __m512i, 1) 266test_2 (_mm512_maskz_srli_epi64, __m512i, __mmask8, __m512i, 1) 267test_2 (_mm512_max_round_pd, __m512d, __m512d, __m512d, 8) 268test_2 (_mm512_max_round_ps, __m512, __m512, __m512, 8) 269test_2 (_mm512_min_round_pd, __m512d, __m512d, __m512d, 8) 270test_2 (_mm512_min_round_ps, __m512, __m512, __m512, 8) 271test_2 (_mm512_mul_round_pd, __m512d, __m512d, __m512d, 9) 272test_2 (_mm512_mul_round_ps, __m512, __m512, __m512, 9) 273test_2 (_mm512_scalef_round_pd, __m512d, __m512d, __m512d, 9) 274test_2 (_mm512_scalef_round_ps, __m512, __m512, __m512, 9) 275test_2 (_mm512_shuffle_f32x4, __m512, __m512, __m512, 1) 276test_2 (_mm512_shuffle_f64x2, __m512d, __m512d, __m512d, 1) 277test_2 (_mm512_shuffle_i32x4, __m512i, __m512i, __m512i, 1) 278test_2 (_mm512_shuffle_i64x2, __m512i, __m512i, __m512i, 1) 279test_2 (_mm512_shuffle_pd, __m512d, __m512d, __m512d, 1) 280test_2 (_mm512_shuffle_ps, __m512, __m512, __m512, 1) 281test_2 (_mm512_sub_round_pd, __m512d, __m512d, __m512d, 9) 282test_2 (_mm512_sub_round_ps, __m512, __m512, __m512, 9) 283test_2 (_mm_add_round_sd, __m128d, __m128d, __m128d, 9) 284test_2 (_mm_add_round_ss, __m128, __m128, __m128, 9) 285test_2 (_mm_cmp_sd_mask, __mmask8, __m128d, __m128d, 1) 286test_2 (_mm_cmp_ss_mask, __mmask8, __m128, __m128, 1) 287#ifdef __x86_64__ 288test_2 (_mm_cvt_roundi64_sd, __m128d, __m128d, long long, 9) 289test_2 (_mm_cvt_roundi64_ss, __m128, __m128, long long, 9) 290#endif 291test_2 (_mm_cvt_roundsd_ss, __m128, __m128, __m128d, 9) 292test_2 (_mm_cvt_roundss_sd, __m128d, __m128d, __m128, 8) 293test_2 (_mm_cvt_roundu32_ss, __m128, __m128, unsigned, 9) 294#ifdef __x86_64__ 295test_2 (_mm_cvt_roundu64_sd, __m128d, __m128d, unsigned long long, 9) 296test_2 (_mm_cvt_roundu64_ss, __m128, __m128, unsigned long long, 9) 297#endif 298test_2 (_mm_div_round_sd, __m128d, __m128d, __m128d, 9) 299test_2 (_mm_div_round_ss, __m128, __m128, __m128, 9) 300test_2 (_mm_getexp_round_sd, __m128d, __m128d, __m128d, 8) 301test_2 (_mm_getexp_round_ss, __m128, __m128, __m128, 8) 302test_2y (_mm_getmant_round_sd, __m128d, __m128d, __m128d, 1, 1, 8) 303test_2y (_mm_getmant_round_ss, __m128, __m128, __m128, 1, 1, 8) 304test_2 (_mm_mul_round_sd, __m128d, __m128d, __m128d, 9) 305test_2 (_mm_mul_round_ss, __m128, __m128, __m128, 9) 306test_2 (_mm_scalef_round_sd, __m128d, __m128d, __m128d, 9) 307test_2 (_mm_scalef_round_ss, __m128, __m128, __m128, 9) 308test_2 (_mm_sqrt_round_sd, __m128d, __m128d, __m128d, 9) 309test_2 (_mm_sqrt_round_ss, __m128, __m128, __m128, 9) 310test_2 (_mm_sub_round_sd, __m128d, __m128d, __m128d, 9) 311test_2 (_mm_sub_round_ss, __m128, __m128, __m128, 9) 312test_2x (_mm512_cmp_round_pd_mask, __mmask8, __m512d, __m512d, 1, 8) 313test_2x (_mm512_cmp_round_ps_mask, __mmask16, __m512, __m512, 1, 8) 314test_2x (_mm512_maskz_roundscale_round_pd, __m512d, __mmask8, __m512d, 1, 8) 315test_2x (_mm512_maskz_roundscale_round_ps, __m512, __mmask16, __m512, 1, 8) 316test_2x (_mm_cmp_round_sd_mask, __mmask8, __m128d, __m128d, 1, 8) 317test_2x (_mm_cmp_round_ss_mask, __mmask8, __m128, __m128, 1, 8) 318test_2x (_mm_comi_round_sd, int, __m128d, __m128d, 1, 8) 319test_2x (_mm_comi_round_ss, int, __m128, __m128, 1, 8) 320test_2x (_mm_roundscale_round_sd, __m128d, __m128d, __m128d, 1, 8) 321test_2x (_mm_roundscale_round_ss, __m128, __m128, __m128, 1, 8) 322test_3 (_mm512_fmadd_round_pd, __m512d, __m512d, __m512d, __m512d, 9) 323test_3 (_mm512_fmadd_round_ps, __m512, __m512, __m512, __m512, 9) 324test_3 (_mm512_fmaddsub_round_pd, __m512d, __m512d, __m512d, __m512d, 9) 325test_3 (_mm512_fmaddsub_round_ps, __m512, __m512, __m512, __m512, 9) 326test_3 (_mm512_fmsub_round_pd, __m512d, __m512d, __m512d, __m512d, 9) 327test_3 (_mm512_fmsub_round_ps, __m512, __m512, __m512, __m512, 9) 328test_3 (_mm512_fmsubadd_round_pd, __m512d, __m512d, __m512d, __m512d, 9) 329test_3 (_mm512_fmsubadd_round_ps, __m512, __m512, __m512, __m512, 9) 330test_3 (_mm512_fnmadd_round_pd, __m512d, __m512d, __m512d, __m512d, 9) 331test_3 (_mm512_fnmadd_round_ps, __m512, __m512, __m512, __m512, 9) 332test_3 (_mm512_fnmsub_round_pd, __m512d, __m512d, __m512d, __m512d, 9) 333test_3 (_mm512_fnmsub_round_ps, __m512, __m512, __m512, __m512, 9) 334test_3 (_mm512_mask_cmp_epi32_mask, __mmask16, __mmask16, __m512i, __m512i, 1) 335test_3 (_mm512_mask_cmp_epi64_mask, __mmask8, __mmask8, __m512i, __m512i, 1) 336test_3 (_mm512_mask_cmp_epu32_mask, __mmask16, __mmask16, __m512i, __m512i, 1) 337test_3 (_mm512_mask_cmp_epu64_mask, __mmask8, __mmask8, __m512i, __m512i, 1) 338test_3 (_mm512_mask_cmp_pd_mask, __mmask8, __mmask8, __m512d, __m512d, 1) 339test_3 (_mm512_mask_cmp_ps_mask, __mmask16, __mmask16, __m512, __m512, 1) 340test_3 (_mm512_mask_cvt_roundepi32_ps, __m512, __m512, __mmask16, __m512i, 9) 341test_3 (_mm512_mask_cvt_roundepu32_ps, __m512, __m512, __mmask16, __m512i, 9) 342test_3 (_mm512_mask_cvt_roundpd_epi32, __m256i, __m256i, __mmask8, __m512d, 9) 343test_3 (_mm512_mask_cvt_roundpd_epu32, __m256i, __m256i, __mmask8, __m512d, 9) 344test_3 (_mm512_mask_cvt_roundpd_ps, __m256, __m256, __mmask8, __m512d, 9) 345test_3 (_mm512_mask_cvt_roundph_ps, __m512, __m512, __mmask16, __m256i, 8) 346test_3 (_mm512_mask_cvt_roundps_epi32, __m512i, __m512i, __mmask16, __m512, 9) 347test_3 (_mm512_mask_cvt_roundps_epu32, __m512i, __m512i, __mmask16, __m512, 9) 348test_3 (_mm512_mask_cvt_roundps_pd, __m512d, __m512d, __mmask8, __m256, 8) 349test_3 (_mm512_mask_cvtps_ph, __m256i, __m256i, __mmask16, __m512, 1) 350test_3 (_mm512_mask_cvtt_roundpd_epi32, __m256i, __m256i, __mmask8, __m512d, 8) 351test_3 (_mm512_mask_cvtt_roundpd_epu32, __m256i, __m256i, __mmask8, __m512d, 8) 352test_3 (_mm512_mask_cvtt_roundps_epi32, __m512i, __m512i, __mmask16, __m512, 8) 353test_3 (_mm512_mask_cvtt_roundps_epu32, __m512i, __m512i, __mmask16, __m512, 8) 354test_3 (_mm512_mask_extractf32x4_ps, __m128, __m128, __mmask8, __m512, 1) 355test_3 (_mm512_mask_extractf64x4_pd, __m256d, __m256d, __mmask8, __m512d, 1) 356test_3 (_mm512_mask_extracti32x4_epi32, __m128i, __m128i, __mmask8, __m512i, 1) 357test_3 (_mm512_mask_extracti64x4_epi64, __m256i, __m256i, __mmask8, __m512i, 1) 358test_3 (_mm512_mask_getexp_round_pd, __m512d, __m512d, __mmask8, __m512d, 8) 359test_3 (_mm512_mask_getexp_round_ps, __m512, __m512, __mmask16, __m512, 8) 360test_3y (_mm512_mask_getmant_round_pd, __m512d, __m512d, __mmask8, __m512d, 1, 1, 8) 361test_3y (_mm512_mask_getmant_round_ps, __m512, __m512, __mmask16, __m512, 1, 1, 8) 362test_3 (_mm512_mask_permute_pd, __m512d, __m512d, __mmask8, __m512d, 1) 363test_3 (_mm512_mask_permute_ps, __m512, __m512, __mmask16, __m512, 1) 364test_3 (_mm512_mask_permutex_epi64, __m512i, __m512i, __mmask8, __m512i, 1) 365test_3 (_mm512_mask_permutex_pd, __m512d, __m512d, __mmask8, __m512d, 1) 366test_3 (_mm512_mask_rol_epi32, __m512i, __m512i, __mmask16, __m512i, 1) 367test_3 (_mm512_mask_rol_epi64, __m512i, __m512i, __mmask8, __m512i, 1) 368test_3 (_mm512_mask_ror_epi32, __m512i, __m512i, __mmask16, __m512i, 1) 369test_3 (_mm512_mask_ror_epi64, __m512i, __m512i, __mmask8, __m512i, 1) 370test_3 (_mm512_mask_shuffle_epi32, __m512i, __m512i, __mmask16, __m512i, 1) 371test_3 (_mm512_mask_slli_epi32, __m512i, __m512i, __mmask16, __m512i, 1) 372test_3 (_mm512_mask_slli_epi64, __m512i, __m512i, __mmask8, __m512i, 1) 373test_3 (_mm512_mask_sqrt_round_pd, __m512d, __m512d, __mmask8, __m512d, 9) 374test_3 (_mm512_mask_sqrt_round_ps, __m512, __m512, __mmask16, __m512, 9) 375test_3 (_mm512_mask_srai_epi32, __m512i, __m512i, __mmask16, __m512i, 1) 376test_3 (_mm512_mask_srai_epi64, __m512i, __m512i, __mmask8, __m512i, 1) 377test_3 (_mm512_mask_srli_epi32, __m512i, __m512i, __mmask16, __m512i, 1) 378test_3 (_mm512_mask_srli_epi64, __m512i, __m512i, __mmask8, __m512i, 1) 379test_3 (_mm512_maskz_add_round_pd, __m512d, __mmask8, __m512d, __m512d, 9) 380test_3 (_mm512_maskz_add_round_ps, __m512, __mmask16, __m512, __m512, 9) 381test_3 (_mm512_maskz_alignr_epi32, __m512i, __mmask16, __m512i, __m512i, 1) 382test_3 (_mm512_maskz_alignr_epi64, __m512i, __mmask8, __m512i, __m512i, 1) 383test_3 (_mm512_maskz_div_round_pd, __m512d, __mmask8, __m512d, __m512d, 9) 384test_3 (_mm512_maskz_div_round_ps, __m512, __mmask16, __m512, __m512, 9) 385test_3 (_mm512_maskz_insertf32x4, __m512, __mmask16, __m512, __m128, 1) 386test_3 (_mm512_maskz_insertf64x4, __m512d, __mmask8, __m512d, __m256d, 1) 387test_3 (_mm512_maskz_inserti32x4, __m512i, __mmask16, __m512i, __m128i, 1) 388test_3 (_mm512_maskz_inserti64x4, __m512i, __mmask8, __m512i, __m256i, 1) 389test_3 (_mm512_maskz_max_round_pd, __m512d, __mmask8, __m512d, __m512d, 8) 390test_3 (_mm512_maskz_max_round_ps, __m512, __mmask16, __m512, __m512, 8) 391test_3 (_mm512_maskz_min_round_pd, __m512d, __mmask8, __m512d, __m512d, 8) 392test_3 (_mm512_maskz_min_round_ps, __m512, __mmask16, __m512, __m512, 8) 393test_3 (_mm512_maskz_mul_round_pd, __m512d, __mmask8, __m512d, __m512d, 9) 394test_3 (_mm512_maskz_mul_round_ps, __m512, __mmask16, __m512, __m512, 9) 395test_3 (_mm512_maskz_scalef_round_pd, __m512d, __mmask8, __m512d, __m512d, 9) 396test_3 (_mm512_maskz_scalef_round_ps, __m512, __mmask16, __m512, __m512, 9) 397test_3 (_mm512_maskz_shuffle_f32x4, __m512, __mmask16, __m512, __m512, 1) 398test_3 (_mm512_maskz_shuffle_f64x2, __m512d, __mmask8, __m512d, __m512d, 1) 399test_3 (_mm512_maskz_shuffle_i32x4, __m512i, __mmask16, __m512i, __m512i, 1) 400test_3 (_mm512_maskz_shuffle_i64x2, __m512i, __mmask8, __m512i, __m512i, 1) 401test_3 (_mm512_maskz_shuffle_pd, __m512d, __mmask8, __m512d, __m512d, 1) 402test_3 (_mm512_maskz_shuffle_ps, __m512, __mmask16, __m512, __m512, 1) 403test_3 (_mm512_maskz_sub_round_pd, __m512d, __mmask8, __m512d, __m512d, 9) 404test_3 (_mm512_maskz_sub_round_ps, __m512, __mmask16, __m512, __m512, 9) 405test_3 (_mm512_ternarylogic_epi32, __m512i, __m512i, __m512i, __m512i, 1) 406test_3 (_mm512_ternarylogic_epi64, __m512i, __m512i, __m512i, __m512i, 1) 407test_3 (_mm_fmadd_round_sd, __m128d, __m128d, __m128d, __m128d, 9) 408test_3 (_mm_fmadd_round_ss, __m128, __m128, __m128, __m128, 9) 409test_3 (_mm_fmsub_round_sd, __m128d, __m128d, __m128d, __m128d, 9) 410test_3 (_mm_fmsub_round_ss, __m128, __m128, __m128, __m128, 9) 411test_3 (_mm_fnmadd_round_sd, __m128d, __m128d, __m128d, __m128d, 9) 412test_3 (_mm_fnmadd_round_ss, __m128, __m128, __m128, __m128, 9) 413test_3 (_mm_fnmsub_round_sd, __m128d, __m128d, __m128d, __m128d, 9) 414test_3 (_mm_fnmsub_round_ss, __m128, __m128, __m128, __m128, 9) 415test_3 (_mm_mask_cmp_sd_mask, __mmask8, __mmask8, __m128d, __m128d, 1) 416test_3 (_mm_mask_cmp_ss_mask, __mmask8, __mmask8, __m128, __m128, 1) 417test_3v (_mm512_i32scatter_epi32, void *, __m512i, __m512i, 1) 418test_3v (_mm512_i32scatter_epi64, void *, __m256i, __m512i, 1) 419test_3v (_mm512_i32scatter_pd, void *, __m256i, __m512d, 1) 420test_3v (_mm512_i32scatter_ps, void *, __m512i, __m512, 1) 421test_3v (_mm512_i64scatter_epi32, void *, __m512i, __m256i, 1) 422test_3v (_mm512_i64scatter_epi64, void *, __m512i, __m512i, 1) 423test_3v (_mm512_i64scatter_pd, void *, __m512i, __m512d, 1) 424test_3v (_mm512_i64scatter_ps, void *, __m512i, __m256, 1) 425test_3x (_mm512_mask_roundscale_round_pd, __m512d, __m512d, __mmask8, __m512d, 1, 8) 426test_3x (_mm512_mask_roundscale_round_ps, __m512, __m512, __mmask16, __m512, 1, 8) 427test_3x (_mm_fixupimm_round_sd, __m128d, __m128d, __m128d, __m128i, 1, 8) 428test_3x (_mm_fixupimm_round_ss, __m128, __m128, __m128, __m128i, 1, 8) 429test_3x (_mm_mask_cmp_round_sd_mask, __mmask8, __mmask8, __m128d, __m128d, 1, 8) 430test_3x (_mm_mask_cmp_round_ss_mask, __mmask8, __mmask8, __m128, __m128, 1, 8) 431test_4 (_mm512_mask3_fmadd_round_pd, __m512d, __m512d, __m512d, __m512d, __mmask8, 9) 432test_4 (_mm512_mask3_fmadd_round_ps, __m512, __m512, __m512, __m512, __mmask16, 9) 433test_4 (_mm512_mask3_fmaddsub_round_pd, __m512d, __m512d, __m512d, __m512d, __mmask8, 9) 434test_4 (_mm512_mask3_fmaddsub_round_ps, __m512, __m512, __m512, __m512, __mmask16, 9) 435test_4 (_mm512_mask3_fmsub_round_pd, __m512d, __m512d, __m512d, __m512d, __mmask8, 9) 436test_4 (_mm512_mask3_fmsub_round_ps, __m512, __m512, __m512, __m512, __mmask16, 9) 437test_4 (_mm512_mask3_fmsubadd_round_pd, __m512d, __m512d, __m512d, __m512d, __mmask8, 9) 438test_4 (_mm512_mask3_fmsubadd_round_ps, __m512, __m512, __m512, __m512, __mmask16, 9) 439test_4 (_mm512_mask3_fnmadd_round_pd, __m512d, __m512d, __m512d, __m512d, __mmask8, 9) 440test_4 (_mm512_mask3_fnmadd_round_ps, __m512, __m512, __m512, __m512, __mmask16, 9) 441test_4 (_mm512_mask3_fnmsub_round_pd, __m512d, __m512d, __m512d, __m512d, __mmask8, 9) 442test_4 (_mm512_mask3_fnmsub_round_ps, __m512, __m512, __m512, __m512, __mmask16, 9) 443test_4 (_mm512_mask_add_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 9) 444test_4 (_mm512_mask_add_round_ps, __m512, __m512, __mmask16, __m512, __m512, 9) 445test_4 (_mm512_mask_alignr_epi32, __m512i, __m512i, __mmask16, __m512i, __m512i, 1) 446test_4 (_mm512_mask_alignr_epi64, __m512i, __m512i, __mmask8, __m512i, __m512i, 1) 447test_4 (_mm512_mask_div_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 9) 448test_4 (_mm512_mask_div_round_ps, __m512, __m512, __mmask16, __m512, __m512, 9) 449test_4 (_mm512_mask_fmadd_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 9) 450test_4 (_mm512_mask_fmadd_round_ps, __m512, __m512, __mmask16, __m512, __m512, 9) 451test_4 (_mm512_mask_fmaddsub_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 9) 452test_4 (_mm512_mask_fmaddsub_round_ps, __m512, __m512, __mmask16, __m512, __m512, 9) 453test_4 (_mm512_mask_fmsub_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 9) 454test_4 (_mm512_mask_fmsub_round_ps, __m512, __m512, __mmask16, __m512, __m512, 9) 455test_4 (_mm512_mask_fmsubadd_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 9) 456test_4 (_mm512_mask_fmsubadd_round_ps, __m512, __m512, __mmask16, __m512, __m512, 9) 457test_4 (_mm512_mask_fnmadd_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 9) 458test_4 (_mm512_mask_fnmadd_round_ps, __m512, __m512, __mmask16, __m512, __m512, 9) 459test_4 (_mm512_mask_fnmsub_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 9) 460test_4 (_mm512_mask_fnmsub_round_ps, __m512, __m512, __mmask16, __m512, __m512, 9) 461test_4 (_mm512_mask_i32gather_epi32, __m512i, __m512i, __mmask16, __m512i, void const *, 1) 462test_4 (_mm512_mask_i32gather_epi64, __m512i, __m512i, __mmask8, __m256i, void const *, 1) 463test_4 (_mm512_mask_i32gather_pd, __m512d, __m512d, __mmask8, __m256i, void const *, 1) 464test_4 (_mm512_mask_i32gather_ps, __m512, __m512, __mmask16, __m512i, void const *, 1) 465test_4 (_mm512_mask_i64gather_epi32, __m256i, __m256i, __mmask8, __m512i, void const *, 1) 466test_4 (_mm512_mask_i64gather_epi64, __m512i, __m512i, __mmask8, __m512i, void const *, 1) 467test_4 (_mm512_mask_i64gather_pd, __m512d, __m512d, __mmask8, __m512i, void const *, 1) 468test_4 (_mm512_mask_i64gather_ps, __m256, __m256, __mmask8, __m512i, void const *, 1) 469test_4 (_mm512_mask_insertf32x4, __m512, __m512, __mmask16, __m512, __m128, 1) 470test_4 (_mm512_mask_insertf64x4, __m512d, __m512d, __mmask8, __m512d, __m256d, 1) 471test_4 (_mm512_mask_inserti32x4, __m512i, __m512i, __mmask16, __m512i, __m128i, 1) 472test_4 (_mm512_mask_inserti64x4, __m512i, __m512i, __mmask8, __m512i, __m256i, 1) 473test_4 (_mm512_mask_max_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 8) 474test_4 (_mm512_mask_max_round_ps, __m512, __m512, __mmask16, __m512, __m512, 8) 475test_4 (_mm512_mask_min_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 8) 476test_4 (_mm512_mask_min_round_ps, __m512, __m512, __mmask16, __m512, __m512, 8) 477test_4 (_mm512_mask_mul_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 9) 478test_4 (_mm512_mask_mul_round_ps, __m512, __m512, __mmask16, __m512, __m512, 9) 479test_4 (_mm512_mask_scalef_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 9) 480test_4 (_mm512_mask_scalef_round_ps, __m512, __m512, __mmask16, __m512, __m512, 9) 481test_4 (_mm512_mask_shuffle_f32x4, __m512, __m512, __mmask16, __m512, __m512, 1) 482test_4 (_mm512_mask_shuffle_f64x2, __m512d, __m512d, __mmask8, __m512d, __m512d, 1) 483test_4 (_mm512_mask_shuffle_i32x4, __m512i, __m512i, __mmask16, __m512i, __m512i, 1) 484test_4 (_mm512_mask_shuffle_i64x2, __m512i, __m512i, __mmask8, __m512i, __m512i, 1) 485test_4 (_mm512_mask_shuffle_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 1) 486test_4 (_mm512_mask_shuffle_ps, __m512, __m512, __mmask16, __m512, __m512, 1) 487test_4 (_mm512_mask_sub_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512d, 9) 488test_4 (_mm512_mask_sub_round_ps, __m512, __m512, __mmask16, __m512, __m512, 9) 489test_4 (_mm512_mask_ternarylogic_epi32, __m512i, __m512i, __mmask16, __m512i, __m512i, 1) 490test_4 (_mm512_mask_ternarylogic_epi64, __m512i, __m512i, __mmask8, __m512i, __m512i, 1) 491test_4 (_mm512_maskz_fmadd_round_pd, __m512d, __mmask8, __m512d, __m512d, __m512d, 9) 492test_4 (_mm512_maskz_fmadd_round_ps, __m512, __mmask16, __m512, __m512, __m512, 9) 493test_4 (_mm512_maskz_fmaddsub_round_pd, __m512d, __mmask8, __m512d, __m512d, __m512d, 9) 494test_4 (_mm512_maskz_fmaddsub_round_ps, __m512, __mmask16, __m512, __m512, __m512, 9) 495test_4 (_mm512_maskz_fmsub_round_pd, __m512d, __mmask8, __m512d, __m512d, __m512d, 9) 496test_4 (_mm512_maskz_fmsub_round_ps, __m512, __mmask16, __m512, __m512, __m512, 9) 497test_4 (_mm512_maskz_fmsubadd_round_pd, __m512d, __mmask8, __m512d, __m512d, __m512d, 9) 498test_4 (_mm512_maskz_fmsubadd_round_ps, __m512, __mmask16, __m512, __m512, __m512, 9) 499test_4 (_mm512_maskz_fnmadd_round_pd, __m512d, __mmask8, __m512d, __m512d, __m512d, 9) 500test_4 (_mm512_maskz_fnmadd_round_ps, __m512, __mmask16, __m512, __m512, __m512, 9) 501test_4 (_mm512_maskz_fnmsub_round_pd, __m512d, __mmask8, __m512d, __m512d, __m512d, 9) 502test_4 (_mm512_maskz_fnmsub_round_ps, __m512, __mmask16, __m512, __m512, __m512, 9) 503test_4 (_mm512_maskz_ternarylogic_epi32, __m512i, __mmask16, __m512i, __m512i, __m512i, 1) 504test_4 (_mm512_maskz_ternarylogic_epi64, __m512i, __mmask8, __m512i, __m512i, __m512i, 1) 505test_4v (_mm512_mask_i32scatter_epi32, void *, __mmask16, __m512i, __m512i, 1) 506test_4v (_mm512_mask_i32scatter_epi64, void *, __mmask8, __m256i, __m512i, 1) 507test_4v (_mm512_mask_i32scatter_pd, void *, __mmask8, __m256i, __m512d, 1) 508test_4v (_mm512_mask_i32scatter_ps, void *, __mmask16, __m512i, __m512, 1) 509test_4v (_mm512_mask_i64scatter_epi32, void *, __mmask8, __m512i, __m256i, 1) 510test_4v (_mm512_mask_i64scatter_epi64, void *, __mmask8, __m512i, __m512i, 1) 511test_4v (_mm512_mask_i64scatter_pd, void *, __mmask8, __m512i, __m512d, 1) 512test_4v (_mm512_mask_i64scatter_ps, void *, __mmask8, __m512i, __m256, 1) 513test_4x (_mm512_mask_fixupimm_round_pd, __m512d, __m512d, __mmask8, __m512d, __m512i, 1, 8) 514test_4x (_mm512_mask_fixupimm_round_ps, __m512, __m512, __mmask16, __m512, __m512i, 1, 8) 515test_4x (_mm512_maskz_fixupimm_round_pd, __m512d, __mmask8, __m512d, __m512d, __m512i, 1, 8) 516test_4x (_mm512_maskz_fixupimm_round_ps, __m512, __mmask16, __m512, __m512, __m512i, 1, 8) 517test_4x (_mm_mask_fixupimm_round_sd, __m128d, __m128d, __mmask8, __m128d, __m128i, 1, 8) 518test_4x (_mm_mask_fixupimm_round_ss, __m128, __m128, __mmask8, __m128, __m128i, 1, 8) 519test_4x (_mm_maskz_fixupimm_round_sd, __m128d, __mmask8, __m128d, __m128d, __m128i, 1, 8) 520test_4x (_mm_maskz_fixupimm_round_ss, __m128, __mmask8, __m128, __m128, __m128i, 1, 8) 521 522/* avx512pfintrin.h */ 523test_3vx (_mm512_mask_prefetch_i32gather_ps, __m512i, __mmask16, void const *, 1, _MM_HINT_T0) 524test_3vx (_mm512_mask_prefetch_i32scatter_ps, void const *, __mmask16, __m512i, 1, _MM_HINT_T0) 525test_3vx (_mm512_mask_prefetch_i64gather_ps, __m512i, __mmask8, void const *, 1, _MM_HINT_T0) 526test_3vx (_mm512_mask_prefetch_i64scatter_ps, void const *, __mmask8, __m512i, 1, _MM_HINT_T0) 527test_3vx (_mm512_mask_prefetch_i32gather_pd, __m256i, __mmask8, void const *, 1, _MM_HINT_T0) 528test_3vx (_mm512_mask_prefetch_i32scatter_pd, void const *, __mmask8, __m256i, 1, _MM_HINT_T0) 529test_3vx (_mm512_mask_prefetch_i64gather_pd, __m512i, __mmask8, void const *, 1, _MM_HINT_T0) 530test_3vx (_mm512_mask_prefetch_i64scatter_pd, void const *, __mmask8, __m512i, 1, _MM_HINT_T0) 531 532/* avx512erintrin.h */ 533test_1 (_mm512_exp2a23_round_pd, __m512d, __m512d, 8) 534test_1 (_mm512_exp2a23_round_ps, __m512, __m512, 8) 535test_1 (_mm512_rcp28_round_pd, __m512d, __m512d, 8) 536test_1 (_mm512_rcp28_round_ps, __m512, __m512, 8) 537test_1 (_mm512_rsqrt28_round_pd, __m512d, __m512d, 8) 538test_1 (_mm512_rsqrt28_round_ps, __m512, __m512, 8) 539test_2 (_mm512_maskz_exp2a23_round_pd, __m512d, __mmask8, __m512d, 8) 540test_2 (_mm512_maskz_exp2a23_round_ps, __m512, __mmask16, __m512, 8) 541test_2 (_mm512_maskz_rcp28_round_pd, __m512d, __mmask8, __m512d, 8) 542test_2 (_mm512_maskz_rcp28_round_ps, __m512, __mmask16, __m512, 8) 543test_2 (_mm512_maskz_rsqrt28_round_pd, __m512d, __mmask8, __m512d, 8) 544test_2 (_mm512_maskz_rsqrt28_round_ps, __m512, __mmask16, __m512, 8) 545test_3 (_mm512_mask_exp2a23_round_pd, __m512d, __m512d, __mmask8, __m512d, 8) 546test_3 (_mm512_mask_exp2a23_round_ps, __m512, __m512, __mmask16, __m512, 8) 547test_3 (_mm512_mask_rcp28_round_pd, __m512d, __m512d, __mmask8, __m512d, 8) 548test_3 (_mm512_mask_rcp28_round_ps, __m512, __m512, __mmask16, __m512, 8) 549test_3 (_mm512_mask_rsqrt28_round_pd, __m512d, __m512d, __mmask8, __m512d, 8) 550test_3 (_mm512_mask_rsqrt28_round_ps, __m512, __m512, __mmask16, __m512, 8) 551 552/* shaintrin.h */ 553test_2 (_mm_sha1rnds4_epu32, __m128i, __m128i, __m128i, 1) 554 555/* wmmintrin.h */ 556test_1 (_mm_aeskeygenassist_si128, __m128i, __m128i, 1) 557test_2 (_mm_clmulepi64_si128, __m128i, __m128i, __m128i, 1) 558 559/* smmintrin.h */ 560test_1 (_mm_round_pd, __m128d, __m128d, 9) 561test_1 (_mm_round_ps, __m128, __m128, 9) 562test_2 (_mm_round_sd, __m128d, __m128d, __m128d, 9) 563test_2 (_mm_round_ss, __m128, __m128, __m128, 9) 564 565test_2 (_mm_blend_epi16, __m128i, __m128i, __m128i, 1) 566test_2 (_mm_blend_ps, __m128, __m128, __m128, 1) 567test_2 (_mm_blend_pd, __m128d, __m128d, __m128d, 1) 568test_2 (_mm_dp_ps, __m128, __m128, __m128, 1) 569test_2 (_mm_dp_pd, __m128d, __m128d, __m128d, 1) 570test_2 (_mm_insert_ps, __m128, __m128, __m128, 1) 571test_1 (_mm_extract_ps, int, __m128, 1) 572test_2 (_mm_insert_epi8, __m128i, __m128i, int, 1) 573test_2 (_mm_insert_epi32, __m128i, __m128i, int, 1) 574#ifdef __x86_64__ 575test_2 (_mm_insert_epi64, __m128i, __m128i, long long, 1) 576#endif 577test_1 (_mm_extract_epi8, int, __m128i, 1) 578test_1 (_mm_extract_epi32, int, __m128i, 1) 579#ifdef __x86_64__ 580test_1 (_mm_extract_epi64, long long, __m128i, 1) 581#endif 582test_2 (_mm_mpsadbw_epu8, __m128i, __m128i, __m128i, 1) 583test_2 (_mm_cmpistrm, __m128i, __m128i, __m128i, 1) 584test_2 (_mm_cmpistri, int, __m128i, __m128i, 1) 585test_4 (_mm_cmpestrm, __m128i, __m128i, int, __m128i, int, 1) 586test_4 (_mm_cmpestri, int, __m128i, int, __m128i, int, 1) 587test_2 (_mm_cmpistra, int, __m128i, __m128i, 1) 588test_2 (_mm_cmpistrc, int, __m128i, __m128i, 1) 589test_2 (_mm_cmpistro, int, __m128i, __m128i, 1) 590test_2 (_mm_cmpistrs, int, __m128i, __m128i, 1) 591test_2 (_mm_cmpistrz, int, __m128i, __m128i, 1) 592test_4 (_mm_cmpestra, int, __m128i, int, __m128i, int, 1) 593test_4 (_mm_cmpestrc, int, __m128i, int, __m128i, int, 1) 594test_4 (_mm_cmpestro, int, __m128i, int, __m128i, int, 1) 595test_4 (_mm_cmpestrs, int, __m128i, int, __m128i, int, 1) 596test_4 (_mm_cmpestrz, int, __m128i, int, __m128i, int, 1) 597 598/* tmmintrin.h */ 599test_2 (_mm_alignr_epi8, __m128i, __m128i, __m128i, 1) 600test_2 (_mm_alignr_pi8, __m64, __m64, __m64, 1) 601 602/* emmintrin.h */ 603test_2 (_mm_shuffle_pd, __m128d, __m128d, __m128d, 1) 604test_1 (_mm_bsrli_si128, __m128i, __m128i, 1) 605test_1 (_mm_bslli_si128, __m128i, __m128i, 1) 606test_1 (_mm_srli_si128, __m128i, __m128i, 1) 607test_1 (_mm_slli_si128, __m128i, __m128i, 1) 608test_1 (_mm_extract_epi16, int, __m128i, 1) 609test_2 (_mm_insert_epi16, __m128i, __m128i, int, 1) 610test_1 (_mm_shufflehi_epi16, __m128i, __m128i, 1) 611test_1 (_mm_shufflelo_epi16, __m128i, __m128i, 1) 612test_1 (_mm_shuffle_epi32, __m128i, __m128i, 1) 613 614/* xmmintrin.h */ 615test_2 (_mm_shuffle_ps, __m128, __m128, __m128, 1) 616test_1 (_mm_extract_pi16, int, __m64, 1) 617test_1 (_m_pextrw, int, __m64, 1) 618test_2 (_mm_insert_pi16, __m64, __m64, int, 1) 619test_2 (_m_pinsrw, __m64, __m64, int, 1) 620test_1 (_mm_shuffle_pi16, __m64, __m64, 1) 621test_1 (_m_pshufw, __m64, __m64, 1) 622test_1 (_mm_prefetch, void, void *, _MM_HINT_NTA) 623 624/* xopintrin.h */ 625test_1 ( _mm_roti_epi8, __m128i, __m128i, 1) 626test_1 ( _mm_roti_epi16, __m128i, __m128i, 1) 627test_1 ( _mm_roti_epi32, __m128i, __m128i, 1) 628test_1 ( _mm_roti_epi64, __m128i, __m128i, 1) 629test_3 (_mm_permute2_pd, __m128d, __m128d, __m128d, __m128d, 1) 630test_3 (_mm256_permute2_pd, __m256d, __m256d, __m256d, __m256d, 1) 631test_3 (_mm_permute2_ps, __m128, __m128, __m128, __m128, 1) 632test_3 (_mm256_permute2_ps, __m256, __m256, __m256, __m256, 1) 633 634/* lwpintrin.h */ 635test_2 ( __lwpval32, void, unsigned int, unsigned int, 1) 636test_2 ( __lwpins32, unsigned char, unsigned int, unsigned int, 1) 637#ifdef __x86_64__ 638test_2 ( __lwpval64, void, unsigned long long, unsigned int, 1) 639test_2 ( __lwpins64, unsigned char, unsigned long long, unsigned int, 1) 640#endif 641 642/* tbmintrin.h */ 643test_1 ( __bextri_u32, unsigned int, unsigned int, 1) 644#ifdef __x86_64__ 645test_1 ( __bextri_u64, unsigned long long, unsigned long long, 1) 646#endif 647