5 void do_fld1 ( void* p
)
7 asm __volatile__("fninit");
8 asm __volatile__("fld1");
9 asm __volatile__("fstpl (%0)" : : "r" (p
) : "memory" );
12 void do_fldl2t ( void* p
)
14 asm __volatile__("fninit");
15 asm __volatile__("fldl2t");
16 asm __volatile__("fstpl (%0)" : : "r" (p
) : "memory" );
19 void do_fldl2e ( void* p
)
21 asm __volatile__("fninit");
22 asm __volatile__("fldl2e");
23 asm __volatile__("fstpl (%0)" : : "r" (p
) : "memory" );
26 void do_fldpi ( void* p
)
28 asm __volatile__("fninit");
29 asm __volatile__("fldpi");
30 asm __volatile__("fstpl (%0)" : : "r" (p
) : "memory" );
33 void do_fldlg2 ( void* p
)
35 asm __volatile__("fninit");
36 asm __volatile__("fldlg2");
37 asm __volatile__("fstpl (%0)" : : "r" (p
) : "memory" );
40 void do_fldln2 ( void* p
)
42 asm __volatile__("fninit");
43 asm __volatile__("fldln2");
44 asm __volatile__("fstpl (%0)" : : "r" (p
) : "memory" );
47 void do_fldz ( void* p
)
49 asm __volatile__("fninit");
50 asm __volatile__("fldz");
51 asm __volatile__("fstpl (%0)" : : "r" (p
) : "memory" );
54 typedef unsigned char UChar
;
56 void foo ( void (*f
)(void*), char* name
)
61 printf("%s IRConst_F64i(0x", name
);
62 for (i
= 7; i
>= 0; i
--)
63 printf("%02x", (int)b
[i
]);
69 foo( do_fld1
, "fld1 ");
70 foo( do_fldl2t
, "fldl2t");
71 foo( do_fldl2e
, "fldl2e");
72 foo( do_fldpi
, "fldpi ");
73 foo( do_fldlg2
, "fldlg2");
74 foo( do_fldln2
, "fldln2");
75 foo( do_fldz
, "fldz ");