/* PR rtl-optimization/17581 */ | |
/* { dg-do run } */ | |
/* { dg-options "-O2" } */ | |
void abort (void); | |
int foo(int x) | |
{ | |
unsigned long long tmp = 0; | |
switch(x) { | |
case 21: | |
tmp |= 1; | |
tmp |= 2; | |
tmp |= 8; | |
break; | |
default: | |
break; | |
} | |
return (int)tmp; | |
} | |
int main() | |
{ | |
if (foo(21) != 11) | |
abort (); | |
return 0; | |
} | |