(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
pr91824-2.c
       1  /* PR target/91824 */
       2  /* { dg-do compile } */
       3  /* { dg-options "-O2 -mavx2" } */
       4  /* { dg-final { scan-assembler-not "cltq" } } */
       5  /* { dg-final { scan-assembler-not "movl\t%eax, %eax" } } */
       6  
       7  #include <x86intrin.h>
       8  
       9  unsigned long long
      10  f1 (__m128i x)
      11  {
      12    return _mm_movemask_epi8 (x);
      13  }
      14  
      15  unsigned long long
      16  f2 (__m128i x)
      17  {
      18    return (unsigned) _mm_movemask_epi8 (x);
      19  }
      20  
      21  unsigned long long
      22  f3 (__m128 x)
      23  {
      24    return _mm_movemask_ps (x);
      25  }
      26  
      27  unsigned long long
      28  f4 (__m128 x)
      29  {
      30    return (unsigned) _mm_movemask_ps (x);
      31  }
      32  
      33  unsigned long long
      34  f5 (__m128d x)
      35  {
      36    return _mm_movemask_pd (x);
      37  }
      38  
      39  unsigned long long
      40  f6 (__m128d x)
      41  {
      42    return (unsigned) _mm_movemask_pd (x);
      43  }
      44  
      45  unsigned long long
      46  f7 (__m256 x)
      47  {
      48    return _mm256_movemask_ps (x);
      49  }
      50  
      51  unsigned long long
      52  f8 (__m256 x)
      53  {
      54    return (unsigned) _mm256_movemask_ps (x);
      55  }
      56  
      57  unsigned long long
      58  f9 (__m256d x)
      59  {
      60    return _mm256_movemask_pd (x);
      61  }
      62  
      63  unsigned long long
      64  f10 (__m256d x)
      65  {
      66    return (unsigned) _mm256_movemask_pd (x);
      67  }
      68  
      69  unsigned long long
      70  f11 (__m256i x)
      71  {
      72    return (unsigned) _mm256_movemask_epi8 (x);
      73  }