view gcc/testsuite/gcc.dg/tree-ssa/pr84436-1.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents
children
line wrap: on
line source

/* PR tree-optimization/84436 */
/* { dg-options "-O2 -fdump-tree-switchconv -fdump-tree-optimized" } */
/* { dg-do run } */

int
__attribute__ ((noipa))
foo (int how)
{
  switch (how) {
    case 2: how = 205; break; /* how = 100 * index + 5 */
    case 3: how = 305; break;
    case 4: how = 405; break;
    case 5: how = 505; break;
    case 6: how = 605; break;
  }
  return how;
}

int main()
{
  if (foo (2) != 205)
  __builtin_abort ();

  if (foo (6) != 605)
  __builtin_abort ();

  if (foo (123) != 123)
  __builtin_abort ();

  return 0;
}


/* { dg-final { scan-tree-dump-times "100 \\*" 1 "switchconv" } } */
/* { dg-final { scan-tree-dump-times ".* \\+ 5" 1 "switchconv" } } */
/* { dg-final { scan-tree-dump-not "switch" "optimized" } } */