/* PR target/91824 */ /* { dg-do compile } */ /* { dg-options "-O2 -mavx2" } */ /* { dg-final { scan-assembler-not "cltq" } } */ /* { dg-final { scan-assembler-not "movl\t%eax, %eax" } } */ #include unsigned long long f1 (__m128i x) { return _mm_movemask_epi8 (x); } unsigned long long f2 (__m128i x) { return (unsigned) _mm_movemask_epi8 (x); } unsigned long long f3 (__m128 x) { return _mm_movemask_ps (x); } unsigned long long f4 (__m128 x) { return (unsigned) _mm_movemask_ps (x); } unsigned long long f5 (__m128d x) { return _mm_movemask_pd (x); } unsigned long long f6 (__m128d x) { return (unsigned) _mm_movemask_pd (x); } unsigned long long f7 (__m256 x) { return _mm256_movemask_ps (x); } unsigned long long f8 (__m256 x) { return (unsigned) _mm256_movemask_ps (x); } unsigned long long f9 (__m256d x) { return _mm256_movemask_pd (x); } unsigned long long f10 (__m256d x) { return (unsigned) _mm256_movemask_pd (x); } unsigned long long f11 (__m256i x) { return (unsigned) _mm256_movemask_epi8 (x); }