Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.dg/tree-ssa/ifc-20040816-1.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* { dg-do compile } */ /* { dg-options "-c -O2 -ftree-vectorize -fdump-tree-ifcvt-stats-blocks-details" { target *-*-* } } */ #include <stdarg.h> #define N 16 #define MAX 42 int A[N] = {36,39,42,45,43,32,21,12,23,34,45,56,67,78,89,11}; extern void abort(void); int main1 () { int i, j; for (i = 0; i < N; i++) { j = A[i]; A[i] = ( j >= MAX ? MAX : 0); } /* check results: */ for (i = 0; i < N; i++) { if (A[i] > MAX) abort (); } return 0; } /* { dg-final { scan-tree-dump-times "Applying if-conversion" 1 "ifcvt" } } */ /* We insert into code if (LOOP_VECTORIZED (...)) which is folded by vectorizer. Both outgoing edges must have probability 100% so the resulting profile match after folding. */ /* { dg-final { scan-tree-dump-times "Invalid sum of outgoing probabilities 200.0" 1 "ifcvt" } } */ /* { dg-final { scan-tree-dump-times "Invalid sum of incoming counts" 1 "ifcvt" } } */