⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 predcom-2.c

📁 用于进行gcc测试
💻 C
字号:
/* { dg-do compile } *//* { dg-do run } *//* { dg-options "-O2 -fpredictive-commoning -fdump-tree-pcom-details" } */void abort (void);long int fib[1000];__attribute__ ((noinline))void count_fib(void){  int i;  fib[0] = 0;  fib[1] = 1;  for (i = 2; i < 1000; i++)    fib[i] = (fib[i-1] + fib[i - 2]) & 0xffff;}int avg[1000];__attribute__ ((noinline))void count_averages(void){  int i;  for (i = 1; i < 999; i++)    avg[i] = ((fib[i - 1] + fib[i] + fib[i + 1]) / 3) & 0xffff;}int main(void){  count_fib ();  count_averages ();  if (fib[19] != 4181 || avg[19] != 4510)    abort ();  if (fib[999] != 162 || avg[998] != 21953)    abort ();  return 0;}/* Verify that both loops were transformed and unrolled.  *//* { dg-final { scan-tree-dump-times "Unrolling 2 times." 2 "pcom"} } *//* { dg-final { cleanup-tree-dump "pcom" } } */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -