/* { dg-do compile { target i?86-*-* } } */ | |
/* { dg-options "-O2" } */ | |
int foo (int s) | |
{ | |
for (;;) | |
{ | |
int a[32]; | |
int y, z; | |
__asm__ __volatile__ ("" : "=c" (y), "=D" (z) | |
: "a" (0), "0" (32), "1" (a) : "memory"); | |
if (({ register char r; | |
__asm__ __volatile__ ("" : "=q" (r) | |
: "r" (s % 32), "m" (a[s / 32]) | |
: "cc"); r; })) | |
continue; | |
else if (({ register char r; | |
__asm__ __volatile__ ("" : "=q" (r) | |
: "r" (0), "m" (a[0]) | |
: "cc"); r; })) | |
continue; | |
} | |
return 0; | |
} |