1ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 2ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#include <stdio.h> 3ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 4ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Browndouble zzz; 5ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 6ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownint main ( void ) 7ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown{ 8ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown zzz = 1.234; 9ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown printf("zzz = %f\n", zzz); 10ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown __asm__ __volatile__( 11ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown "finit\n\t" 12ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown "fldpi\n\t" 13ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown "fldl2e\n\t" 14ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown "pushq %r15\n\t" 15ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown "movq $0,%r15\n\t" 16ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown "add %r15,%r15\n\t" 17ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown "fcmovnu %st(1), %st(0)\n\t" 18ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown "fstl zzz\n\t" 19ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown "finit\n\t" 20ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown "popq %r15\n\t" 21ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown ); 22ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown printf("zzz = %f\n", zzz); 23ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown return 0; 24ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown} 25