1  /* { dg-options "-O2 -fdump-ipa-profile-blocks-details -fdump-tree-switchlower1-blocks-details" } */
       2  int max = 33333;
       3  int a[8];
       4  int
       5  main ()
       6  {
       7    int i;
       8    for (i = 0; i < max; i++)
       9      {
      10        a[i % 8]++;
      11      }
      12    return 0;
      13  }
      14  /* Loop header copying will peel away the initial conditional, so the loop body
      15     is once reached directly from entry point of function, rest via loopback
      16     edge.  */
      17  /* autofdo cannot do that precise counts */
      18  /* { dg-final-use-not-autofdo { scan-ipa-dump "loop depth 1, count 33334" "profile"} } */
      19  /* { dg-final-use-not-autofdo { scan-tree-dump "loop depth 1, count 33333" "switchlower1"} } */
      20  /* { dg-final-use-not-autofdo { scan-tree-dump-not "loop depth 1, count 33332" "switchlower1"} } */
      21  /* { dg-final-use { scan-tree-dump-not "Invalid sum" "switchlower1"} } */