(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
nvptx/
shift16.c
       1  /* { dg-do assemble } */
       2  /* { dg-options "-O2 -save-temps" } */
       3  
       4  void
       5  foo (unsigned short u)
       6  {
       7    volatile unsigned short u2 = u << 5;
       8  }
       9  
      10  void
      11  foo2 (short s)
      12  {
      13    volatile unsigned short s2 = s << 5;
      14  }
      15  
      16  void
      17  foo3 (unsigned short u)
      18  {
      19    volatile unsigned short u2 = u >> 5;
      20  }
      21  
      22  void
      23  foo4 (signed short s)
      24  {
      25    volatile signed short s2 = s >> 5;
      26  }
      27  
      28  /* { dg-final { scan-assembler-times "(?n)shl\\.b16.*%r" 2 } } */
      29  /* { dg-final { scan-assembler "(?n)shr\\.u16.*%r" } } */
      30  /* { dg-final { scan-assembler "(?n)shr\\.s16.*%r" } } */