Mercurial > hg > CbC > CbC_gcc
diff gcc/testsuite/gcc.dg/tree-ssa/pr94125.c @ 152:2b5abeee2509
update gcc11
author | anatofuz |
---|---|
date | Mon, 25 May 2020 07:50:57 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr94125.c Mon May 25 07:50:57 2020 +0900 @@ -0,0 +1,41 @@ +/* { dg-do run } */ +/* { dg-options "-O3" } */ + +unsigned char b, f; +short d[1][8][1], *g = &d[0][3][0]; + +void __attribute__((noinline)) foo () +{ + int k[256] = { 0, 0, 0, 4, 0, 0 }; + for (int c = 252; c >= 0; c--) + { + b = f; + *g = k[c + 3]; + k[c + 1] = 0; + } + for (int i = 0; i < 8; i++) + if (d[0][i][0] != 0) + __builtin_abort (); +} + +void __attribute__((noinline)) bar () +{ + int k[256] = { 0, 0, 0, 4, 0, 0 }; + k[255] = 4; + for (int c = 0; c <=252; c++) + { + b = f; + *g = k[c + 3]; + k[c + 1] = 0; + } + for (int i = 0; i < 8; i++) + if ((i == 3 && d[0][i][0] != 4) || (i != 3 && d[0][i][0] != 0)) + __builtin_abort (); +} + +int main () +{ + foo (); + bar (); + return 0; +}