(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
torture/
pr89794.c
       1  /* { dg-do run } */
       2  
       3  typedef unsigned short u16;
       4  typedef unsigned int u32;
       5  typedef unsigned long long u64;
       6  
       7  u32 a, b, c, d;
       8  
       9  u32 foo (u32 f, u32 g, u32 g2, u32 g3, u16 h, u16 i)
      10  {
      11    (void)g, (void)g2, (void)g3, (void)h;
      12    d = __builtin_bswap64 (i);
      13    __builtin_sub_overflow (0, d, &b);
      14    __builtin_memset (&i, c, 2);
      15    a = 0;
      16    return b + f + i + c;
      17  }
      18  
      19  int main (void)
      20  {
      21    u32 x = foo (0, 0, 0, 0, 0, 0);
      22    asm ("" :: "r" (x));
      23    return 0;
      24  }