1  /* { dg-do compile { target int128 } } */
       2  /* { dg-options "-O2 -msse4.1 -mstv -mno-stackrealign" } */
       3  
       4  unsigned __int128 a, b;
       5  void rot1()  { a = (b >> 1) | (b << 127); }
       6  void rot4()  { a = (b >> 4) | (b << 124); }
       7  void rot8()  { a = (b >> 8) | (b << 120); }
       8  void rot32() { a = (b >> 32) | (b << 96); }
       9  void rot64() { a = (b >> 64) | (b << 64); }
      10  
      11  /* { dg-final { scan-assembler-not "shrdq" } } */
      12  /* { dg-final { scan-assembler "pshufd" } } */