gcc/
[official-gcc.git] / gcc / testsuite / gcc.target / powerpc / pr51513.c
blob1c72a75502a1e22cc30cfde6913dda27163663da
1 /* { dg-do compile { target { powerpc*-*-linux* } } } */
2 /* { dg-options "-O2 -fjump-tables --param case-values-threshold=1" } */
3 /* Verify we created a jump table. */
4 /* { dg-final { scan-assembler-times "mtctr " 1 } } */
5 /* { dg-final { scan-assembler-times "bctr" 1 } } */
6 /* Verify we eliminated the range check. */
7 /* { dg-final { scan-assembler-not "cmpldi" } } */
8 /* { dg-final { scan-assembler-not "cmplwi" } } */
10 long
11 bug (long cond, long v0, long v1, long v2)
13 switch (cond)
15 case 0:
16 return v0;
17 case 1:
18 return v1;
19 case 2:
20 return v2;
21 default:
22 __builtin_unreachable ();
24 __builtin_abort ();