(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
cris/
peep2-xsrand.c
       1  /* { dg-do compile } */
       2  /* { dg-final { scan-assembler "and.w " } } */
       3  /* { dg-final { scan-assembler "and.b " } } */
       4  /* { dg-final { scan-assembler-not "and.d" } } */
       5  /* { dg-options "-O2" } */
       6  
       7  /* Test the "asrandb", "asrandw", "lsrandb" and "lsrandw" peephole2:s
       8     trivially.  */
       9  
      10  unsigned int
      11  andwlsr (unsigned int x)
      12  {
      13    return (x >> 17) & 0x7ff;
      14  }
      15  
      16  unsigned int
      17  andblsr (unsigned int x)
      18  {
      19    return (x >> 25) & 0x5f;
      20  }
      21  
      22  int
      23  andwasr (int x)
      24  {
      25    return (x >> 17) & 0x7ff;
      26  }
      27  
      28  int
      29  andbasr (int x)
      30  {
      31    return (x >> 25) & 0x5f;
      32  }