Mercurial > hg > CbC > CbC_gcc
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-*-* } } } */ |