/* PR target/79299 */ /* { dg-do assemble { target avx512vl } } */ /* { dg-require-effective-target masm_intel } */ /* { dg-options "-Ofast -mavx512vl -masm=intel" } */ #include __m512 f1 (__m512i x, void const *y) { return _mm512_i32gather_ps (x, y, 1); } __m512 f2 (__m512 x, __mmask16 y, __m512i z, void const *w) { return _mm512_mask_i32gather_ps (x, y, z, w, 1); } __m512d f3 (__m256i x, void const *y) { return _mm512_i32gather_pd (x, y, 1); } __m512d f4 (__m512d x, __mmask8 y, __m256i z, void const *w) { return _mm512_mask_i32gather_pd (x, y, z, w, 1); } __m256 f5 (__m512i x, void const *y) { return _mm512_i64gather_ps (x, y, 1); } __m256 f6 (__m256 x, __mmask16 y, __m512i z, void const *w) { return _mm512_mask_i64gather_ps (x, y, z, w, 1); } __m512d f7 (__m512i x, void const *y) { return _mm512_i64gather_pd (x, y, 1); } __m512d f8 (__m512d x, __mmask8 y, __m512i z, void const *w) { return _mm512_mask_i64gather_pd (x, y, z, w, 1); } __m512i f9 (__m512i x, void const *y) { return _mm512_i32gather_epi32 (x, y, 1); } __m512i f10 (__m512i x, __mmask16 y, __m512i z, void const *w) { return _mm512_mask_i32gather_epi32 (x, y, z, w, 1); } __m512i f11 (__m256i x, void const *y) { return _mm512_i32gather_epi64 (x, y, 1); } __m512i f12 (__m512i x, __mmask8 y, __m256i z, void const *w) { return _mm512_mask_i32gather_epi64 (x, y, z, w, 1); } __m256i f13 (__m512i x, void const *y) { return _mm512_i64gather_epi32 (x, y, 1); } __m256i f14 (__m256i x, __mmask16 y, __m512i z, void const *w) { return _mm512_mask_i64gather_epi32 (x, y, z, w, 1); } __m512i f15 (__m512i x, void const *y) { return _mm512_i64gather_epi64 (x, y, 1); } __m512i f16 (__m512i x, __mmask8 y, __m512i z, void const *w) { return _mm512_mask_i64gather_epi64 (x, y, z, w, 1); } __m256 f17 (__m256 x, __mmask8 y, __m256i z, void const *w) { return _mm256_mmask_i32gather_ps (x, y, z, w, 1); } __m128 f18 (__m128 x, __mmask8 y, __m128i z, void const *w) { return _mm_mmask_i32gather_ps (x, y, z, w, 1); } __m256d f19 (__m256d x, __mmask8 y, __m128i z, void const *w) { return _mm256_mmask_i32gather_pd (x, y, z, w, 1); } __m128d f20 (__m128d x, __mmask8 y, __m128i z, void const *w) { return _mm_mmask_i32gather_pd (x, y, z, w, 1); } __m128 f21 (__m128 x, __mmask8 y, __m256i z, void const *w) { return _mm256_mmask_i64gather_ps (x, y, z, w, 1); } __m128 f22 (__m128 x, __mmask8 y, __m128i z, void const *w) { return _mm_mmask_i64gather_ps (x, y, z, w, 1); } __m256d f23 (__m256d x, __mmask8 y, __m256i z, void const *w) { return _mm256_mmask_i64gather_pd (x, y, z, w, 1); } __m128d f24 (__m128d x, __mmask8 y, __m128i z, void const *w) { return _mm_mmask_i64gather_pd (x, y, z, w, 1); } __m256i f25 (__m256i x, __mmask8 y, __m256i z, void const *w) { return _mm256_mmask_i32gather_epi32 (x, y, z, w, 1); } __m128i f26 (__m128i x, __mmask8 y, __m128i z, void const *w) { return _mm_mmask_i32gather_epi32 (x, y, z, w, 1); } __m256i f27 (__m256i x, __mmask8 y, __m128i z, void const *w) { return _mm256_mmask_i32gather_epi64 (x, y, z, w, 1); } __m128i f28 (__m128i x, __mmask8 y, __m128i z, void const *w) { return _mm_mmask_i32gather_epi64 (x, y, z, w, 1); } __m128i f29 (__m128i x, __mmask8 y, __m256i z, void const *w) { return _mm256_mmask_i64gather_epi32 (x, y, z, w, 1); } __m128i f30 (__m128i x, __mmask8 y, __m128i z, void const *w) { return _mm_mmask_i64gather_epi32 (x, y, z, w, 1); } __m256i f31 (__m256i x, __mmask8 y, __m256i z, void const *w) { return _mm256_mmask_i64gather_epi64 (x, y, z, w, 1); } __m128i f32 (__m128i x, __mmask8 y, __m128i z, void const *w) { return _mm_mmask_i64gather_epi64 (x, y, z, w, 1); } __m256 f33 (__m256 x, __m256i z, void const *w) { return _mm256_mmask_i32gather_ps (x, -1, z, w, 1); } __m128 f34 (__m128 x, __m128i z, void const *w) { return _mm_mmask_i32gather_ps (x, -1, z, w, 1); } __m256d f35 (__m256d x, __m128i z, void const *w) { return _mm256_mmask_i32gather_pd (x, -1, z, w, 1); } __m128d f36 (__m128d x, __m128i z, void const *w) { return _mm_mmask_i32gather_pd (x, -1, z, w, 1); } __m128 f37 (__m128 x, __m256i z, void const *w) { return _mm256_mmask_i64gather_ps (x, -1, z, w, 1); } __m128 f38 (__m128 x, __m128i z, void const *w) { return _mm_mmask_i64gather_ps (x, -1, z, w, 1); } __m256d f39 (__m256d x, __m256i z, void const *w) { return _mm256_mmask_i64gather_pd (x, -1, z, w, 1); } __m128d f40 (__m128d x, __m128i z, void const *w) { return _mm_mmask_i64gather_pd (x, -1, z, w, 1); } __m256i f41 (__m256i x, __m256i z, void const *w) { return _mm256_mmask_i32gather_epi32 (x, -1, z, w, 1); } __m128i f42 (__m128i x, __m128i z, void const *w) { return _mm_mmask_i32gather_epi32 (x, -1, z, w, 1); } __m256i f43 (__m256i x, __m128i z, void const *w) { return _mm256_mmask_i32gather_epi64 (x, -1, z, w, 1); } __m128i f44 (__m128i x, __m128i z, void const *w) { return _mm_mmask_i32gather_epi64 (x, -1, z, w, 1); } __m128i f45 (__m128i x, __m256i z, void const *w) { return _mm256_mmask_i64gather_epi32 (x, -1, z, w, 1); } __m128i f46 (__m128i x, __m128i z, void const *w) { return _mm_mmask_i64gather_epi32 (x, -1, z, w, 1); } __m256i f47 (__m256i x, __m256i z, void const *w) { return _mm256_mmask_i64gather_epi64 (x, -1, z, w, 1); } __m128i f48 (__m128i x, __m128i z, void const *w) { return _mm_mmask_i64gather_epi64 (x, -1, z, w, 1); }