/* 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; | |
} |