Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.dg/tree-ssa/loop-35.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
line wrap: on
line source
/* { dg-do compile } */ /* { dg-options "-O2 -fdump-tree-lim2-details" } */ int x; int a[100]; struct a { int X; int Y; }; /* Word size is long long for 64-bit mingw target. */ #ifdef _WIN64 #define LONG long long #else #define LONG long #endif struct a arr[100]; void test1(int b) { unsigned i; /* And here. */ for (i = 0; i < 100; i++) { arr[b+8].X += i; arr[b+9].X += i; } } void test2(struct a *A, int b) { unsigned i; /* And here as well. */ for (i = 0; i < 100; i++) { A[b].X += i; A[b+1].Y += i; } } void test3(unsigned LONG b) { unsigned i; /* And here. */ for (i = 0; i < 100; i++) { arr[b+8].X += i; arr[b+9].X += i; } } void test4(struct a *A, unsigned LONG b) { unsigned i; /* And here as well. */ for (i = 0; i < 100; i++) { A[b].X += i; A[b+1].Y += i; } } /* long index not hoisted for avr target PR 36561 */ /* { dg-final { scan-tree-dump-times "Executing store motion of" 8 "lim2" { xfail { "avr-*-*" } } } } */ /* { dg-final { scan-tree-dump-times "Executing store motion of" 6 "lim2" { target { "avr-*-*" } } } } */