Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.dg/tree-ssa/reassoc-28.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 run} */ /* { dg-options "-O2" } */ #define LENGTH 4 void abort (void); unsigned __attribute__ ((noinline)) foo (unsigned char *buf, int n) { unsigned sum = 0, i = 0; do { sum +=(buf)[n-1]; /* Split the BB to test statements are correctly moved to satisfy dependences. */ if (n > LENGTH) i++; sum += buf[n-2]; sum += buf[n-3]; sum += buf[n-4]; n = n-4; } while (n > 0); return sum + i; } unsigned char a[] = {1, 1, 1, 1}; int main() { int sum = foo (a, LENGTH); if (sum != 4) abort (); return 0; }