#include <stdio.h> double zzz; int main ( void ) { zzz = 1.234; printf("zzz = %f\n", zzz); __asm__ __volatile__( "finit\n\t" "fldpi\n\t" "fldl2e\n\t" "pushq %r15\n\t" "movq $0,%r15\n\t" "add %r15,%r15\n\t" "fcmovnu %st(1), %st(0)\n\t" "fstl zzz\n\t" "finit\n\t" "popq %r15\n\t" ); printf("zzz = %f\n", zzz); return 0; }