/* immintrin.h (AVX/AVX2/RDRND/FSGSBASE/F16C) */
#ifdef DIFFERENT_PRAGMAS
-#pragma GCC target ("avx,rdrnd,fsgsbase,f16c")
+#pragma GCC target ("avx,avx2,rdrnd,fsgsbase,f16c")
#endif
#include <immintrin.h>
+test_1 (_cvtss_sh, unsigned short, float, 1)
+test_1 (_mm_cvtps_ph, __m128i, __m128, 1)
+test_1 (_mm256_cvtps_ph, __m128i, __m256, 1)
+
+/* avxintrin.h */
test_2 (_mm256_blend_pd, __m256d, __m256d, __m256d, 1)
test_2 (_mm256_blend_ps, __m256, __m256, __m256, 1)
test_2 (_mm256_dp_ps, __m256, __m256, __m256, 1)
#endif
test_1 (_mm256_round_pd, __m256d, __m256d, 1)
test_1 (_mm256_round_ps, __m256, __m256, 1)
-test_1 (_cvtss_sh, unsigned short, float, 1)
-test_1 (_mm_cvtps_ph, __m128i, __m128, 1)
-test_1 (_mm256_cvtps_ph, __m128i, __m256, 1)
+
+/* avx2intrin.h */
+test_2 ( _mm256_mpsadbw_epu8, __m256i, __m256i, __m256i, 1)
+test_2 ( _mm256_alignr_epi8, __m256i, __m256i, __m256i, 1)
+test_2 ( _mm256_blend_epi16, __m256i, __m256i, __m256i, 1)
+test_1 ( _mm256_shuffle_epi32, __m256i, __m256i, 1)
+test_1 ( _mm256_shufflehi_epi16, __m256i, __m256i, 1)
+test_1 ( _mm256_shufflelo_epi16, __m256i, __m256i, 1)
+test_1 ( _mm256_slli_si256, __m256i, __m256i, 8)
+test_1 ( _mm256_srli_si256, __m256i, __m256i, 8)
+test_2 ( _mm_blend_epi32, __m128i, __m128i, __m128i, 1)
+test_2 ( _mm256_blend_epi32, __m256i, __m256i, __m256, 1)
+test_1 ( _mm256_permute4x64_pd, __m256d, __m256d, 1)
+test_1 ( _mm256_permute4x64_epi64, __m256i, __m256i, 1)
+test_2 ( _mm256_permute2x128_si256, __m256i, __m256i, __m256i, 1)
+test_1 ( _mm256_extracti128_si256, __m128i, __m256i, 1)
+test_2 ( _mm256_inserti128_si256, __m256i, __m256i, __m128i, 1)
+test_2 ( _mm_i32gather_pd, __m128d, double const *, __m128i, 1)
+test_2 ( _mm256_i32gather_pd, __m256d, double const *, __m128i, 1)
+test_2 ( _mm_i64gather_pd, __m128d, double const *, __m128i, 1)
+test_2 ( _mm256_i64gather_pd, __m256d, double const *, __m256i, 1)
+test_2 ( _mm_i32gather_ps, __m128, float const *, __m128i, 1)
+test_2 ( _mm256_i32gather_ps, __m256, float const *, __m256i, 1)
+test_2 ( _mm_i64gather_ps, __m128, float const *, __m128i, 1)
+test_2 ( _mm256_i64gather_ps, __m128, float const *, __m256i, 1)
+test_2 ( _mm_i32gather_epi64, __m128i, long long int const *, __m128i, 1)
+test_2 ( _mm256_i32gather_epi64, __m256i, long long int const *, __m128i, 1)
+test_2 ( _mm_i64gather_epi64, __m128i, long long int const *, __m128i, 1)
+test_2 ( _mm256_i64gather_epi64, __m256i, long long int const *, __m256i, 1)
+test_2 ( _mm_i32gather_epi32, __m128i, int const *, __m128i, 1)
+test_2 ( _mm256_i32gather_epi32, __m256i, int const *, __m256i, 1)
+test_2 ( _mm_i64gather_epi32, __m128i, int const *, __m128i, 1)
+test_2 ( _mm256_i64gather_epi32, __m128i, int const *, __m256i, 1)
/* wmmintrin.h (AES/PCLMUL). */
#ifdef DIFFERENT_PRAGMAS
#ifdef __x86_64__
test_1 ( __bextri_u64, unsigned long long, unsigned long long, 1)
#endif
-
-/* avx2intrin.h */
-test_2 ( _mm256_mpsadbw_epu8, __m256i, __m256i, __m256i, 1)
-test_2 ( _mm256_alignr_epi8, __m256i, __m256i, __m256i, 1)
-test_2 ( _mm256_blend_epi16, __m256i, __m256i, __m256i, 1)
-test_1 ( _mm256_shuffle_epi32, __m256i, __m256i, 1)
-test_1 ( _mm256_shufflehi_epi16, __m256i, __m256i, 1)
-test_1 ( _mm256_shufflelo_epi16, __m256i, __m256i, 1)
-test_1 ( _mm256_slli_si256, __m256i, __m256i, 8)
-test_1 ( _mm256_srli_si256, __m256i, __m256i, 8)
-test_2 ( _mm_blend_epi32, __m128i, __m128i, __m128i, 1)
-test_2 ( _mm256_blend_epi32, __m256i, __m256i, __m256, 1)
-test_1 ( _mm256_permute4x64_pd, __m256d, __m256d, 1)
-test_1 ( _mm256_permute4x64_epi64, __m256i, __m256i, 1)
-test_2 ( _mm256_permute2x128_si256, __m256i, __m256i, __m256i, 1)
-test_1 ( _mm256_extracti128_si256, __m128i, __m256i, 1)
-test_2 ( _mm256_inserti128_si256, __m256i, __m256i, __m128i, 1)
-test_2 ( _mm_i32gather_pd, __m128d, double const *, __m128i, 1)
-test_2 ( _mm256_i32gather_pd, __m256d, double const *, __m128i, 1)
-test_2 ( _mm_i64gather_pd, __m128d, double const *, __m128i, 1)
-test_2 ( _mm256_i64gather_pd, __m256d, double const *, __m256i, 1)
-test_2 ( _mm_i32gather_ps, __m128, float const *, __m128i, 1)
-test_2 ( _mm256_i32gather_ps, __m256, float const *, __m256i, 1)
-test_2 ( _mm_i64gather_ps, __m128, float const *, __m128i, 1)
-test_2 ( _mm256_i64gather_ps, __m128, float const *, __m256i, 1)
-test_2 ( _mm_i32gather_epi64, __m128i, long long int const *, __m128i, 1)
-test_2 ( _mm256_i32gather_epi64, __m256i, long long int const *, __m128i, 1)
-test_2 ( _mm_i64gather_epi64, __m128i, long long int const *, __m128i, 1)
-test_2 ( _mm256_i64gather_epi64, __m256i, long long int const *, __m256i, 1)
-test_2 ( _mm_i32gather_epi32, __m128i, int const *, __m128i, 1)
-test_2 ( _mm256_i32gather_epi32, __m256i, int const *, __m256i, 1)
-test_2 ( _mm_i64gather_epi32, __m128i, int const *, __m128i, 1)
-test_2 ( _mm256_i64gather_epi32, __m128i, int const *, __m256i, 1)