(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
arm/
bics_3.c
       1  /* { dg-do run } */
       2  /* { dg-options "-O2 --save-temps -fno-inline" } */
       3  /* { dg-require-effective-target arm32 } */
       4  
       5  extern void abort (void);
       6  
       7  int
       8  bics_si_test (int a, int b)
       9  {
      10    if (a & ~b)
      11      return 1;
      12    else
      13      return 0;
      14  }
      15  
      16  int
      17  bics_si_test2 (int a, int b)
      18  {
      19    if (a & ~ (b << 2))
      20      return 1;
      21    else
      22      return 0;
      23  }
      24  
      25  int
      26  main (void)
      27  {
      28    int a = 5;
      29    int b = 5;
      30    int c = 20;
      31    if (bics_si_test (a, b))
      32      abort ();
      33    if (bics_si_test2 (c, b))
      34      abort ();
      35    return 0;
      36  }
      37  
      38  /* { dg-final { scan-assembler-times "bics\tr\[0-9\]+, r\[0-9\]+, r\[0-9\]+" 2 } } */
      39  /* { dg-final { scan-assembler-times "bics\tr\[0-9\]+, r\[0-9\]+, r\[0-9\]+, .sl #2" 1 } } */
      40