1 /* PR tree-optimization/59014 */ 2 3 __attribute__((noinline, noclone)) long long int foo(long long int x,long long int y)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 11 int main()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