1  /* { dg-do compile } */
       2  /* { dg-options "-O3 -fdump-tree-ifcvt-blocks-details" } */
       3  
       4  void foo (long *a)
       5  {
       6    int i;
       7    for (i = 0; i < 100; i+=2)
       8      {
       9        long *p = &a[i+1];
      10        if (a[i] == 0)
      11  	{
      12  	  *p = 2;
      13  	  a[i] = 3;
      14  	}
      15        else
      16  	{
      17  	  *p = 3;
      18  	  a[i] = 4;
      19  	}
      20      }
      21  }
      22  
      23  /* { dg-final { scan-tree-dump "Applying if-conversion" "ifcvt" } } */
      24  /* We insert into code
      25     if (LOOP_VECTORIZED (...))
      26     which is folded by vectorizer.  Both outgoing edges must have probability
      27     100% so the resulting profile match after folding.  */
      28  /* { dg-final { scan-tree-dump-times "Invalid sum of outgoing probabilities 200.0" 1 "ifcvt" } } */
      29  /* { dg-final { scan-tree-dump-times "Invalid sum of incoming counts" 1 "ifcvt" } } */
      30