(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
pr107627-1.c
       1  /* PR target/107627 */
       2  /* { dg-do compile { target int128 } } */
       3  /* { dg-options "-O2 -masm=att" } */
       4  /* { dg-final { scan-assembler-not "\torq\t" } } */
       5  
       6  static inline unsigned __int128
       7  foo (unsigned long long x, unsigned long long y)
       8  {
       9    return ((unsigned __int128) x << 64) | y;
      10  }
      11  
      12  static inline unsigned long long
      13  bar (unsigned long long x, unsigned long long y, unsigned z)
      14  {
      15    return foo (x, y) >> (z % 64);
      16  }
      17  
      18  void
      19  baz (unsigned long long *x, const unsigned long long *y, unsigned z)
      20  {
      21    x[0] = bar (y[0], y[1], z);
      22  }