(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
tree-ssa/
pr84436-5.c
       1  /* PR tree-optimization/84436 */
       2  /* { dg-options "-O2 -fdump-tree-switchconv -fdump-tree-optimized" } */
       3  /* { dg-do run } */
       4  
       5  signed char
       6  __attribute__ ((noipa))
       7  foo (signed char how)
       8  {
       9    switch (how) {
      10      case -4: how = 96; break;
      11      case -3: how = -120; break;
      12      case -2: how = -80; break;
      13      case -1: how = -40; break;
      14      case 0: how = 0; break;
      15      case 1: how = 40; break;
      16    }
      17    return how;
      18  }
      19  
      20  int main()
      21  {
      22    if (foo (-4) != 96)
      23    __builtin_abort ();
      24  
      25    if (foo (-3) != -120)
      26    __builtin_abort ();
      27  
      28    if (foo (0) != 0)
      29    __builtin_abort ();
      30  
      31    if (foo (123) != 123)
      32    __builtin_abort ();
      33  
      34    return 0;
      35  }
      36  
      37  /* { dg-final { scan-tree-dump-times "40 *\\*" 1 "switchconv" } } */
      38  /* { dg-final { scan-tree-dump-not "switch" "optimized" } } */