/* { dg-do compile { target { { x86_64-*-* aarch64-*-* ia64-*-* powerpc64-*-* } && lp64 } } } */ /* { dg-options "-Os --param jump-table-max-growth-ratio-for-size=200 --param case-values-threshold=5 -fdump-tree-switchlower1" } */ int a; int foo(char c) { switch (c) { case 'c': return a; case 's': return 3; case 'n': return 1; case '%': return -2; case 'o': return a + 2; break; case 'X': case 'x': return 2222; case 'd': case 'i': case 'u': return 3333; default: return 0; } } /* { dg-final { scan-tree-dump ";; GIMPLE switch case clusters: 37 88 99 100 105 110 111 115 117 120" "switchlower1" } } */