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
q()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
main()21 main()
22 {
23   int i;
24   for (i=0;i<10000000;i++)
25     q();
26 }
27