1/* PR tree-optimization/59014 */ 2 3__attribute__((noinline, noclone)) long long int 4foo (long long int x, long long int y) 5{ 6 if (((int) x | (int) y) != 0) 7 return 6; 8 return x + y; 9} 10 11int 12main () 13{ 14 if (sizeof (long long) == sizeof (int)) 15 return 0; 16 int shift_half = sizeof (int) * __CHAR_BIT__ / 2; 17 long long int x = (3LL << shift_half) << shift_half; 18 long long int y = (5LL << shift_half) << shift_half; 19 long long int z = foo (x, y); 20 if (z != ((8LL << shift_half) << shift_half)) 21 __builtin_abort (); 22 return 0; 23} 24