1/* PR middle-end/19084, rtl-optimization/19348 */ 2 3unsigned int 4foo (unsigned long long x) 5{ 6 unsigned int u; 7 8 if (x == 0) 9 return 0; 10 u = (unsigned int) (x >> 32); 11 return u; 12} 13 14unsigned long long 15bar (unsigned short x) 16{ 17 return (unsigned long long) x << 32; 18} 19 20extern void abort (void); 21 22int 23main (void) 24{ 25 if (sizeof (long long) != 8) 26 return 0; 27 28 if (foo (0) != 0) 29 abort (); 30 if (foo (0xffffffffULL) != 0) 31 abort (); 32 if (foo (0x25ff00ff00ULL) != 0x25) 33 abort (); 34 if (bar (0) != 0) 35 abort (); 36 if (bar (0x25) != 0x2500000000ULL) 37 abort (); 38 return 0; 39} 40