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