/* Test case for http://bugs.kde.org/show_bug.cgi?id=157748 */
#include <stdio.h>
int arr[3];
int main ( void )
{
/* eax points at arr[0] */
__asm__ __volatile__(
"movl %%esp,0(%%eax)\n\t"
"pushfw\n\t"
"movl %%esp,4(%%eax)\n\t"
"popfw\n\t"
"movl %%esp,8(%%eax)\n"
: /*out*/ : /*in*/ "a"(&arr) : /*trash*/ "memory","cc"
);
printf("%x %x %x\n", arr[0]-arr[0], arr[0]-arr[1], arr[0]-arr[2]);
return 0;
}