2017-08-28 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / gcc.target / powerpc / ppc-switch-1.c
blobac1dac9faa9190004e7f24a78efbf98a63e297bb
1 /* { dg-do compile { target { powerpc*-*-* } } } */
2 /* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */
3 /* { dg-options "-O2 --param case-values-threshold=2" } */
4 /* { dg-final { scan-assembler "mtctr" } } */
5 /* { dg-final { scan-assembler "bctr" } } */
7 /* Force using a dispatch table even though by default we would generate
8 ifs. */
10 extern long call (long);
12 long
13 test_switch (long a, long b)
15 long c;
17 switch (a)
19 case 0: c = -b; break;
20 case 1: c = ~b; break;
21 case 2: c = b+1; break;
22 default: c = b & 9; break;
25 return call (c) + 1;