1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -march=k8" } */
       3  /* { dg-final { scan-assembler "sbb" } } */
       4  
       5  extern void abort (void);
       6  
       7  /* Conditional increment is best done using sbb $-1, val.  */
       8  int t[]={0,0,0,0,1,1,1,1,1,1};
       9  void
      10  q()
      11  {
      12    int sum=0;
      13    int i;
      14    for (i=0;i<10;i++)
      15      if (t[i])
      16         sum++;
      17    if (sum != 6)
      18      abort ();
      19  }
      20  int
      21  main()
      22  {
      23    int i;
      24    for (i=0;i<10000000;i++)
      25      q();
      26  }