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