1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -funroll-loops -fdump-tree-cunroll-optimized -fdump-tree-optimized" } */
       3  
       4  int Test(void)
       5  {
       6    int c = 0;
       7    const int in[4] = {4,3,4,4};
       8    for (unsigned i = 0; i < 4; i++) {
       9        for (unsigned j = 0; j < i; j++) {
      10  	  if (in[i] == in[j])
      11  	    break;
      12  	  else 
      13  	    ++c;
      14        }
      15    }
      16    return c;
      17  }
      18  
      19  /* { dg-final { scan-tree-dump-times "optimized:\[^\n\r\]*completely unrolled" 2 "cunroll" } } */
      20  /* When SLP vectorization is enabled the following will fail because DOM
      21     doesn't know how to deal with the vectorized initializer of in.  */
      22  /* DOM also doesn't know to CSE in[1] with in = *.LC0 thus the list of targets this fails.  */
      23  /* { dg-final { scan-tree-dump "return 1;" "optimized" { xfail { powerpc-*-* } } } } */