📄 no-scevccp-outer-13.c
字号:
/* { dg-require-effective-target vect_int } */#include <stdarg.h>#include "tree-vect.h"#define N 16unsigned short in[N];__attribute__ ((noinline)) unsigned intfoo (short scale){ int i; unsigned short j; unsigned int sum = 0; unsigned short sum_j; for (i = 0; i < N; i++) { sum_j = 0; for (j = 0; j < N; j++) { sum_j += j; } sum += ((unsigned int) in[i] * (unsigned int) sum_j) >> scale; } return sum;}__attribute__ ((noinline)) unsigned shortbar (void){ unsigned short j; unsigned short sum_j; sum_j = 0; for (j = 0; j < N; j++) { sum_j += j; } return sum_j;}int main (void){ int i; unsigned short j, sum_j; unsigned int sum = 0; unsigned int res; check_vect (); for (i=0; i<N; i++){ in[i] = i; } res = foo (2); /* check results: */ for (i=0; i<N; i++) { sum_j = bar (); sum += ((unsigned int) in[i] * (unsigned int) sum_j) >> 2; } if (res != sum) abort (); return 0;}/* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED." 1 "vect" { target vect_widen_mult_hi_to_si } } } *//* { dg-final { cleanup-tree-dump "vect" } } */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -