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