1  /* { dg-do compile { target int128 } } */
       2  /* { dg-options "-msse4 -O2 -fno-tree-loop-im -Wno-shift-count-overflow" } */
       3  
       4  unsigned __int128 n;
       5  
       6  int
       7  foo (int x)
       8  {
       9    __int128 a = 0;
      10    int b = !!(n * 2);
      11  
      12    while (x < 2)
      13      {
      14        if (a)
      15          {
      16            if (n)
      17              n ^= 1;
      18            else
      19              x <<= 32;
      20          }
      21  
      22        a = 1;
      23      }
      24  
      25    return b;
      26  }