1*74a4d8c2SCharles.Forsyth #include "cc.h"
2*74a4d8c2SCharles.Forsyth
3*74a4d8c2SCharles.Forsyth /*
4*74a4d8c2SCharles.Forsyth * this is machine depend, but it is totally
5*74a4d8c2SCharles.Forsyth * common on all of the 64-bit symulating machines.
6*74a4d8c2SCharles.Forsyth */
7*74a4d8c2SCharles.Forsyth
8*74a4d8c2SCharles.Forsyth /*
9*74a4d8c2SCharles.Forsyth * more machine depend stuff.
10*74a4d8c2SCharles.Forsyth * this is common for 8,16,32,64 bit machines.
11*74a4d8c2SCharles.Forsyth * this is common for ieee machines.
12*74a4d8c2SCharles.Forsyth */
13*74a4d8c2SCharles.Forsyth double
convvtof(vlong v)14*74a4d8c2SCharles.Forsyth convvtof(vlong v)
15*74a4d8c2SCharles.Forsyth {
16*74a4d8c2SCharles.Forsyth double d;
17*74a4d8c2SCharles.Forsyth
18*74a4d8c2SCharles.Forsyth d = v; /* BOTCH */
19*74a4d8c2SCharles.Forsyth return d;
20*74a4d8c2SCharles.Forsyth }
21*74a4d8c2SCharles.Forsyth
22*74a4d8c2SCharles.Forsyth vlong
convftov(double d)23*74a4d8c2SCharles.Forsyth convftov(double d)
24*74a4d8c2SCharles.Forsyth {
25*74a4d8c2SCharles.Forsyth vlong v;
26*74a4d8c2SCharles.Forsyth
27*74a4d8c2SCharles.Forsyth
28*74a4d8c2SCharles.Forsyth v = d; /* BOTCH */
29*74a4d8c2SCharles.Forsyth return v;
30*74a4d8c2SCharles.Forsyth }
31*74a4d8c2SCharles.Forsyth
32*74a4d8c2SCharles.Forsyth double
convftox(double d,int et)33*74a4d8c2SCharles.Forsyth convftox(double d, int et)
34*74a4d8c2SCharles.Forsyth {
35*74a4d8c2SCharles.Forsyth
36*74a4d8c2SCharles.Forsyth if(!typefd[et])
37*74a4d8c2SCharles.Forsyth diag(Z, "bad type in castftox %s", tnames[et]);
38*74a4d8c2SCharles.Forsyth return d;
39*74a4d8c2SCharles.Forsyth }
40*74a4d8c2SCharles.Forsyth
41*74a4d8c2SCharles.Forsyth vlong
convvtox(vlong c,int et)42*74a4d8c2SCharles.Forsyth convvtox(vlong c, int et)
43*74a4d8c2SCharles.Forsyth {
44*74a4d8c2SCharles.Forsyth int n;
45*74a4d8c2SCharles.Forsyth
46*74a4d8c2SCharles.Forsyth n = 8 * ewidth[et];
47*74a4d8c2SCharles.Forsyth c &= MASK(n);
48*74a4d8c2SCharles.Forsyth if(!typeu[et])
49*74a4d8c2SCharles.Forsyth if(c & SIGN(n))
50*74a4d8c2SCharles.Forsyth c |= ~MASK(n);
51*74a4d8c2SCharles.Forsyth return c;
52*74a4d8c2SCharles.Forsyth }
53