annotate gcc/testsuite/gcc.dg/tree-prof/pr59003.c @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* PR target/59003 */
kono
parents:
diff changeset
2 /* { dg-options "-O2" } */
kono
parents:
diff changeset
3 /* { dg-options "-O2 -mtune=amdfam10" { target i?86-*-* x86_64-*-* } } */
kono
parents:
diff changeset
4 /* { dg-options "-O2 -fno-common" { target hppa*-*-hpux* } } */
kono
parents:
diff changeset
5
kono
parents:
diff changeset
6 __attribute__((noinline, noclone)) void *
kono
parents:
diff changeset
7 foo (void *p, unsigned int q)
kono
parents:
diff changeset
8 {
kono
parents:
diff changeset
9 return __builtin_memset (p, 0, q * 4UL);
kono
parents:
diff changeset
10 }
kono
parents:
diff changeset
11
kono
parents:
diff changeset
12 char buf[128] __attribute__((aligned (32)));
kono
parents:
diff changeset
13
kono
parents:
diff changeset
14 int
kono
parents:
diff changeset
15 main ()
kono
parents:
diff changeset
16 {
kono
parents:
diff changeset
17 int i;
kono
parents:
diff changeset
18 for (i = 0; i < 100000; i++)
kono
parents:
diff changeset
19 foo (buf + 4, 1 + (i & 1));
kono
parents:
diff changeset
20 for (i = 0; i < 128; i++)
kono
parents:
diff changeset
21 {
kono
parents:
diff changeset
22 buf[i] = 'X';
kono
parents:
diff changeset
23 asm volatile ("" : : : "memory");
kono
parents:
diff changeset
24 }
kono
parents:
diff changeset
25 foo (buf + 32, 7);
kono
parents:
diff changeset
26 for (i = 0; i < 128; i++)
kono
parents:
diff changeset
27 if (buf[i] != ((i < 32 || i >= 32 + 28) ? 'X' : 0))
kono
parents:
diff changeset
28 __builtin_abort ();
kono
parents:
diff changeset
29 return 0;
kono
parents:
diff changeset
30 }