| #include <stdio.h> | |
| #include <math.h> | |
| #include <stdlib.h> | |
| /* marks FPU stack as empty */ | |
| void empty_fpu_stack() | |
| { | |
| asm ("ffree %st(1) \n\t" | |
| "ffree %st(2) \n\t" | |
| "ffree %st(3) \n\t" | |
| "ffree %st(4) \n\t" | |
| "ffree %st(5) \n\t" | |
| "ffree %st(6) \n\t" | |
| "ffree %st(7)"); | |
| } | |
| /* tests floating point arithmetic */ | |
| void test_arith_floats() | |
| { | |
| } | |
| int main() | |
| { | |
| empty_fpu_stack(); /* BEGIN I387-FLOAT-REVERSE */ | |
| asm ("fld1"); /* test st0 register */ | |
| asm ("fldl2t"); /* test st0, st1 */ | |
| asm ("fldl2e"); /* test st0, st1, st2 */ | |
| asm ("fldpi"); /* test st0, st1, st2, st3 */ | |
| asm ("fldlg2"); /* test st0, st1, st2, st3, st4 */ | |
| asm ("fldln2"); /* test st0, st1, st2, st3, st4, st5 */ | |
| asm ("fldz"); /* test st0, st1, st2, st3, st4, st5, st6 */ | |
| asm ("fld1"); /* test st0, st1, st2, st3, st4, st5, st6, st7 */ | |
| asm ("nop"); | |
| return 1; /* END I387-FLOAT-REVERSE */ | |
| } |