1/* PR rtl-optimization/17581 */
2/* { dg-do run } */
3/* { dg-options "-O2" } */
4
5void abort (void);
6
7int foo(int x)
8{
9  unsigned long long tmp = 0;
10
11  switch(x) {
12    case 21:
13      tmp |= 1;
14      tmp |= 2;
15      tmp |= 8;
16      break;
17    default:
18      break;
19  }
20
21  return (int)tmp;
22}
23
24int main()
25{
26  if (foo(21) != 11)
27    abort ();
28  return 0;
29}
30
31