(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
tree-ssa/
minmax-11.c
       1  /* { dg-do run } */
       2  /* { dg-options "-O -fdump-tree-optimized" } */
       3  
       4  #include <stdint.h>
       5  
       6  
       7  __attribute__ ((noipa, noinline))
       8  uint8_t three_minmax1 (uint8_t xc, uint8_t xm, uint8_t xy) {
       9  	uint8_t	 xk;
      10      xc=~xc;
      11      xm=~xm;
      12      xy=~xy;
      13      if (xc > xm) {
      14          xk = (uint8_t) (xc < xy ? xc : xy);
      15      } else {
      16          xk = (uint8_t) (xm < xy ? xm : xy);
      17      }
      18      return xk;
      19  }
      20  
      21  int
      22  main (void)
      23  {
      24    volatile uint8_t xy = 255;
      25    volatile uint8_t xm = 0;
      26    volatile uint8_t xc = 127;
      27    if (three_minmax1 (xc, xm, xy) != 0)
      28      __builtin_abort ();
      29    return 0;
      30  }
      31  
      32  /* { dg-final { scan-tree-dump-times "MIN_EXPR" 1 "optimized" } } */
      33  /* { dg-final { scan-tree-dump-times "MAX_EXPR" 1 "optimized" } } */
      34  /* { dg-final { scan-tree-dump-times "= ~" 1 "optimized" } } */