1 /* PR middle-end/40057 */ 2 3 extern void abort (void); 4 5 __attribute__((noinline)) int foo(unsigned long long x)6foo (unsigned long long x) 7 { 8 unsigned long long y = (x >> 31ULL) & 1ULL; 9 if (y == 0ULL) 10 return 0; 11 return -1; 12 } 13 14 __attribute__((noinline)) int bar(long long x)15bar (long long x) 16 { 17 long long y = (x >> 31LL) & 1LL; 18 if (y == 0LL) 19 return 0; 20 return -1; 21 } 22 23 int main(void)24main (void) 25 { 26 if (sizeof (long long) != 8) 27 return 0; 28 if (foo (0x1682a9aaaULL)) 29 abort (); 30 if (!foo (0x1882a9aaaULL)) 31 abort (); 32 if (bar (0x1682a9aaaLL)) 33 abort (); 34 if (!bar (0x1882a9aaaLL)) 35 abort (); 36 return 0; 37 } 38