1  /* PR middle-end/19084, rtl-optimization/19348 */
       2  /* { dg-do compile } */
       3  /* { dg-options "-O2" } */
       4  /* { dg-options "-O2 -march=i686" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */
       5  
       6  unsigned int
       7  foo (unsigned long long x)
       8  {
       9    unsigned int u;
      10  
      11    if (x == 0)
      12      return 0;
      13    u = (unsigned int) (x >> 32);
      14    return u;
      15  }
      16  
      17  unsigned long long
      18  bar (unsigned short x)
      19  {
      20    return (unsigned long long) x << 32;
      21  }