(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
tree-prof/
pr59003.c
       1  /* PR target/59003 */
       2  /* { dg-options "-O2" } */
       3  /* { dg-options "-O2 -mtune=amdfam10" { target i?86-*-* x86_64-*-* } } */
       4  /* { dg-options "-O2 -fno-common" { target hppa*-*-hpux* } } */
       5  
       6  __attribute__((noinline, noclone)) void *
       7  foo (void *p, unsigned int q)
       8  {
       9    return __builtin_memset (p, 0, q * 4UL);
      10  }
      11  
      12  char buf[128] __attribute__((aligned (32)));
      13  
      14  int
      15  main ()
      16  {
      17    int i;
      18    for (i = 0; i < 100000; i++)
      19      foo (buf + 4, 1 + (i & 1));
      20    for (i = 0; i < 128; i++)
      21      {
      22        buf[i] = 'X';
      23        asm volatile ("" : : : "memory");
      24      }
      25    foo (buf + 32, 7);
      26    for (i = 0; i < 128; i++)
      27      if (buf[i] != ((i < 32 || i >= 32 + 28) ? 'X' : 0))
      28        __builtin_abort ();
      29    return 0;
      30  }