(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
bmi2-bzhi-1.c
       1  /* PR target/57623 */
       2  /* { dg-do assemble { target bmi2 } } */
       3  /* { dg-options "-O2 -mbmi2" } */
       4  
       5  #include <x86intrin.h>
       6  
       7  unsigned int
       8  f1 (unsigned int x, unsigned int *y)
       9  {
      10    return _bzhi_u32 (x, *y);
      11  }
      12  
      13  unsigned int
      14  f2 (unsigned int *x, unsigned int y)
      15  {
      16    return _bzhi_u32 (*x, y);
      17  }
      18  
      19  #ifdef  __x86_64__
      20  unsigned long long
      21  f3 (unsigned long long x, unsigned long long *y)
      22  {
      23    return _bzhi_u64 (x, *y);
      24  }
      25  
      26  unsigned long long
      27  f4 (unsigned long long *x, unsigned long long y)
      28  {
      29    return _bzhi_u64 (*x, y);
      30  }
      31  #endif