Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.c-torture/compile/pr46248.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
/* PR rtl-optimization/46248 */ struct S { int s; }; void foo (unsigned char *x, int y, struct S *z) { const int l1 = y; const int l2 = y + l1; const int l3 = y + l2; const int l4 = y + l3; const int l5 = y + l4; const int l6 = y + l5; const int l7 = y + l6; int i; for (i = 0; i < 8; i++) { int a = x[l3] - x[l4]; int b = x[l4] - x[l5]; int c = x[l5] - x[l6]; int d = (b >= 0 ? b : -b) - (((a >= 0 ? a : -a) + (c >= 0 ? c : -c)) >> 1); if (d < z->s * 2) { int v = d * (-b > 0 ? 1 : -1); x[l2] += v >> 3; x[l7] -= v >> 3; } } }