Commit | Line | Data |
---|---|---|
0fa6cf1b MS |
1 | #include <stdio.h> |
2 | #include <math.h> | |
3 | #include <stdlib.h> | |
4 | ||
5 | /* marks FPU stack as empty */ | |
6 | void 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 | ||
30baf67b | 17 | /* tests floating point arithmetic */ |
0fa6cf1b MS |
18 | void test_arith_floats() |
19 | { | |
20 | ||
21 | } | |
22 | ||
23 | int 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 | } |