blob: 2c6360b946b3d602c4a47ea6f911d4c0c2715928 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-O2 -march=k8" } */
/* { dg-final { scan-assembler "sbb" } } */
extern void abort (void);
/* 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();
}
|