6 float no1
,no2
,no3
,no4
,no5
,no6
,no7
;
7 float result
,resultd
,resultld
;
9 long double ldx
= 88888888888888888888.88, ldy
= 9999999999999999999.99;
10 double x
= 100.345, y
= 25.7789;
11 /* marks FPU stack as empty */
12 void empty_fpu_stack()
14 asm ("ffree %st(1) \n\t"
23 /* initialization of floats */
33 float_memory
= malloc(sizeof(float) * 4);
34 *float_memory
= 256.256;
35 *(float_memory
+ 1) = 356.356;
36 *(float_memory
+ 2) = 456.456;
37 *(float_memory
+ 3) = 556.556;
43 empty_fpu_stack(); /* BEGIN I387-FLOAT-REVERSE */
45 asm("nop"); /* TEST ENV */
46 asm ("fsave %0" : "=m"(*float_memory
) : );
47 asm ("frstor %0" : : "m"(*float_memory
));
48 asm ("fstsw %ax"); /* test eax register */
59 return 1; /* END I387-FLOAT-REVERSE */