1#include <stdio.h> 2#include <math.h> 3#include <stdlib.h> 4 5/* marks FPU stack as empty */ 6void empty_fpu_stack() 7{ 8 asm ("ffree %st(1) \n\t" 9 "ffree %st(2) \n\t" 10 "ffree %st(3) \n\t" 11 "ffree %st(4) \n\t" 12 "ffree %st(5) \n\t" 13 "ffree %st(6) \n\t" 14 "ffree %st(7)"); 15} 16 17/* tests floating point arithmetic */ 18void test_arith_floats() 19{ 20 21} 22 23int main() 24{ 25 empty_fpu_stack(); /* BEGIN I387-FLOAT-REVERSE */ 26 27 asm ("fld1"); /* test st0 register */ 28 asm ("fldl2t"); /* test st0, st1 */ 29 asm ("fldl2e"); /* test st0, st1, st2 */ 30 asm ("fldpi"); /* test st0, st1, st2, st3 */ 31 asm ("fldlg2"); /* test st0, st1, st2, st3, st4 */ 32 asm ("fldln2"); /* test st0, st1, st2, st3, st4, st5 */ 33 asm ("fldz"); /* test st0, st1, st2, st3, st4, st5, st6 */ 34 asm ("fld1"); /* test st0, st1, st2, st3, st4, st5, st6, st7 */ 35 asm ("nop"); 36 37 return 1; /* END I387-FLOAT-REVERSE */ 38} 39