comparison gcc/testsuite/gcc.dg/tree-prof/pr59521-3.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents
children
comparison
equal deleted inserted replaced
111:04ced10e8804 131:84e7813d76e9
1 /* { dg-options "-O2 -save-temps" } */
2
3 #include <stdio.h>
4
5 __attribute__((noinline,noclone)) void
6 sink(const char *s) {
7 asm("" :: "r"(s));
8 }
9
10 void
11 foo(int ch) {
12 switch (ch) {
13 case 100: sink("100"); break;
14 case 10: sink("10"); break;
15 case 1: sink("1"); break;
16 }
17 }
18
19 int main()
20 {
21 for (int i = 0; i < 10000; i++)
22 {
23 int v;
24 if (i % 100 == 0)
25 v = 100;
26 else if(i % 10 == 0)
27 v = 10;
28 else
29 v = 1;
30 foo(v);
31 }
32 }
33
34 /* { dg-final-use-not-autofdo { scan-assembler "\n_?foo:\n.*cmp.*1,.*cmp.*10,.*cmp.*100" { target i?86-*-* x86_64-*-* } } } */