1 /* { dg-do compile } */ 2 /* { dg-options "-O2 -ftree-loop-distribution -fdump-tree-ldist-all" } */ 3 foo(int * __restrict__ ia,int * __restrict__ ib,int * __restrict__ oxa,int * __restrict__ oxb)4int foo (int * __restrict__ ia, 5 int * __restrict__ ib, 6 int * __restrict__ oxa, 7 int * __restrict__ oxb) 8 { 9 int i; 10 int oya[52], oyb[52]; 11 12 for (i=0; i < 52; i++) 13 { 14 oya[i] = (ia[i] * oxa[i]) >> 10; 15 oyb[i] = (ib[i] * oxb[i]) >> 10; 16 } 17 18 return oya[22] + oyb[21]; 19 } 20 21 /* Distributing the loop doesn't expose more parallelism. */ 22 /* { dg-final { scan-tree-dump-times "distributed: split to 2 loops" 0 "ldist" } } */ 23