Home
last modified time | relevance | path

Searched refs:xm (Results 1 – 25 of 48) sorted by relevance

12

/Linux-v4.19/arch/mips/math-emu/
Dieee754dp.c68 static u64 ieee754dp_get_rounding(int sn, u64 xm) in ieee754dp_get_rounding() argument
72 if (xm & (DP_MBIT(3) - 1)) { in ieee754dp_get_rounding()
77 xm += 0x3 + ((xm >> 3) & 1); in ieee754dp_get_rounding()
82 xm += 0x8; in ieee754dp_get_rounding()
86 xm += 0x8; in ieee754dp_get_rounding()
90 return xm; in ieee754dp_get_rounding()
99 union ieee754dp ieee754dp_format(int sn, int xe, u64 xm) in ieee754dp_format() argument
101 assert(xm); /* we don't gen exact zeros (probably should) */ in ieee754dp_format()
103 assert((xm >> (DP_FBITS + 1 + 3)) == 0); /* no excess */ in ieee754dp_format()
104 assert(xm & (DP_HIDDEN_BIT << 3)); in ieee754dp_format()
[all …]
Dieee754sp.c68 static unsigned int ieee754sp_get_rounding(int sn, unsigned int xm) in ieee754sp_get_rounding() argument
72 if (xm & (SP_MBIT(3) - 1)) { in ieee754sp_get_rounding()
77 xm += 0x3 + ((xm >> 3) & 1); in ieee754sp_get_rounding()
82 xm += 0x8; in ieee754sp_get_rounding()
86 xm += 0x8; in ieee754sp_get_rounding()
90 return xm; in ieee754sp_get_rounding()
99 union ieee754sp ieee754sp_format(int sn, int xe, unsigned int xm) in ieee754sp_format() argument
101 assert(xm); /* we don't gen exact zeros (probably should) */ in ieee754sp_format()
103 assert((xm >> (SP_FBITS + 1 + 3)) == 0); /* no excess */ in ieee754sp_format()
104 assert(xm & (SP_HIDDEN_BIT << 3)); in ieee754sp_format()
[all …]
Dsp_tlong.c57 if (xe == 63 && xs && xm == SP_HIDDEN_BIT) in ieee754sp_tlong()
66 xm <<= xe - SP_FBITS; in ieee754sp_tlong()
69 residue = xm; in ieee754sp_tlong()
72 xm = 0; in ieee754sp_tlong()
74 residue = xm << (32 - SP_FBITS + xe); in ieee754sp_tlong()
77 xm >>= SP_FBITS - xe; in ieee754sp_tlong()
79 odd = (xm & 0x1) != 0x0; in ieee754sp_tlong()
83 xm++; in ieee754sp_tlong()
89 xm++; in ieee754sp_tlong()
93 xm++; in ieee754sp_tlong()
[all …]
Ddp_tint.c63 xm <<= xe - DP_FBITS; in ieee754dp_tint()
66 residue = xm; in ieee754dp_tint()
69 xm = 0; in ieee754dp_tint()
71 residue = xm << (64 - DP_FBITS + xe); in ieee754dp_tint()
74 xm >>= DP_FBITS - xe; in ieee754dp_tint()
78 odd = (xm & 0x1) != 0x0; in ieee754dp_tint()
82 xm++; in ieee754dp_tint()
88 xm++; in ieee754dp_tint()
92 xm++; in ieee754dp_tint()
96 if ((xm >> 31) != 0 && (xs == 0 || xm != 0x80000000)) { in ieee754dp_tint()
[all …]
Ddp_tlong.c57 if (xe == 63 && xs && xm == DP_HIDDEN_BIT) in ieee754dp_tlong()
66 xm <<= xe - DP_FBITS; in ieee754dp_tlong()
69 residue = xm; in ieee754dp_tlong()
72 xm = 0; in ieee754dp_tlong()
77 residue = xm << (xe + 1); in ieee754dp_tlong()
81 xm >>= DP_FBITS - xe; in ieee754dp_tlong()
83 odd = (xm & 0x1) != 0x0; in ieee754dp_tlong()
87 xm++; in ieee754dp_tlong()
93 xm++; in ieee754dp_tlong()
97 xm++; in ieee754dp_tlong()
[all …]
Dsp_tint.c57 if (xe == 31 && xs && xm == SP_HIDDEN_BIT) in ieee754sp_tint()
66 xm <<= xe - SP_FBITS; in ieee754sp_tint()
69 residue = xm; in ieee754sp_tint()
72 xm = 0; in ieee754sp_tint()
77 residue = xm << (xe + 1); in ieee754sp_tint()
81 xm >>= SP_FBITS - xe; in ieee754sp_tint()
83 odd = (xm & 0x1) != 0x0; in ieee754sp_tint()
87 xm++; in ieee754sp_tint()
93 xm++; in ieee754sp_tint()
97 xm++; in ieee754sp_tint()
[all …]
Ddp_add.c120 assert(xm & DP_HIDDEN_BIT); in ieee754dp_add()
126 xm <<= 3; in ieee754dp_add()
141 xm = XDPSRS(xm, s); in ieee754dp_add()
152 xm = xm + ym; in ieee754dp_add()
154 if (xm >> (DP_FBITS + 1 + 3)) { /* carry out */ in ieee754dp_add()
155 xm = XDPSRS1(xm); in ieee754dp_add()
159 if (xm >= ym) { in ieee754dp_add()
160 xm = xm - ym; in ieee754dp_add()
162 xm = ym - xm; in ieee754dp_add()
165 if (xm == 0) in ieee754dp_add()
[all …]
Ddp_sub.c127 assert(xm & DP_HIDDEN_BIT); in ieee754dp_sub()
132 xm <<= 3; in ieee754dp_sub()
147 xm = XDPSRS(xm, s); in ieee754dp_sub()
156 xm = xm + ym; in ieee754dp_sub()
158 if (xm >> (DP_FBITS + 1 + 3)) { /* carry out */ in ieee754dp_sub()
159 xm = XDPSRS1(xm); /* shift preserving sticky */ in ieee754dp_sub()
163 if (xm >= ym) { in ieee754dp_sub()
164 xm = xm - ym; in ieee754dp_sub()
166 xm = ym - xm; in ieee754dp_sub()
169 if (xm == 0) { in ieee754dp_sub()
[all …]
Dsp_add.c120 assert(xm & SP_HIDDEN_BIT); in ieee754sp_add()
126 xm <<= 3; in ieee754sp_add()
141 xm = XSPSRS(xm, s); in ieee754sp_add()
152 xm = xm + ym; in ieee754sp_add()
154 if (xm >> (SP_FBITS + 1 + 3)) { /* carry out */ in ieee754sp_add()
158 if (xm >= ym) { in ieee754sp_add()
159 xm = xm - ym; in ieee754sp_add()
161 xm = ym - xm; in ieee754sp_add()
164 if (xm == 0) in ieee754sp_add()
170 while ((xm >> (SP_FBITS + 3)) == 0) { in ieee754sp_add()
[all …]
Dsp_sub.c125 assert(xm & SP_HIDDEN_BIT); in ieee754sp_sub()
130 xm <<= 3; in ieee754sp_sub()
145 xm = XSPSRS(xm, s); in ieee754sp_sub()
154 xm = xm + ym; in ieee754sp_sub()
156 if (xm >> (SP_FBITS + 1 + 3)) { /* carry out */ in ieee754sp_sub()
160 if (xm >= ym) { in ieee754sp_sub()
161 xm = xm - ym; in ieee754sp_sub()
163 xm = ym - xm; in ieee754sp_sub()
166 if (xm == 0) { in ieee754sp_sub()
174 while ((xm >> (SP_FBITS + 3)) == 0) { in ieee754sp_sub()
[all …]
Dsp_fint.c26 unsigned int xm; in ieee754sp_fint() local
42 xm = ((unsigned) 1 << 31); /* max neg can't be safely negated */ in ieee754sp_fint()
44 xm = -x; in ieee754sp_fint()
46 xm = x; in ieee754sp_fint()
50 if (xm >> (SP_FBITS + 1 + 3)) { in ieee754sp_fint()
53 while (xm >> (SP_FBITS + 1 + 3)) { in ieee754sp_fint()
59 while ((xm >> (SP_FBITS + 3)) == 0) { in ieee754sp_fint()
60 xm <<= 1; in ieee754sp_fint()
64 return ieee754sp_format(xs, xe, xm); in ieee754sp_fint()
Ddp_flong.c26 u64 xm; in ieee754dp_flong() local
42 xm = (1ULL << 63); /* max neg can't be safely negated */ in ieee754dp_flong()
44 xm = -x; in ieee754dp_flong()
46 xm = x; in ieee754dp_flong()
51 if (xm >> (DP_FBITS + 1 + 3)) { in ieee754dp_flong()
53 while (xm >> (DP_FBITS + 1 + 3)) { in ieee754dp_flong()
58 while ((xm >> (DP_FBITS + 3)) == 0) { in ieee754dp_flong()
59 xm <<= 1; in ieee754dp_flong()
64 return ieee754dp_format(xs, xe, xm); in ieee754dp_flong()
Dsp_flong.c26 u64 xm; /* <--- need 64-bit mantissa temp */ in ieee754sp_flong() local
42 xm = (1ULL << 63); /* max neg can't be safely negated */ in ieee754sp_flong()
44 xm = -x; in ieee754sp_flong()
46 xm = x; in ieee754sp_flong()
50 if (xm >> (SP_FBITS + 1 + 3)) { in ieee754sp_flong()
53 while (xm >> (SP_FBITS + 1 + 3)) { in ieee754sp_flong()
58 while ((xm >> (SP_FBITS + 3)) == 0) { in ieee754sp_flong()
59 xm <<= 1; in ieee754sp_flong()
63 return ieee754sp_format(xs, xe, xm); in ieee754sp_flong()
Ddp_rint.c52 residue = xm; in ieee754dp_rint()
55 xm = 0; in ieee754dp_rint()
57 residue = xm << (64 - DP_FBITS + xe); in ieee754dp_rint()
60 xm >>= DP_FBITS - xe; in ieee754dp_rint()
63 odd = (xm & 0x1) != 0x0; in ieee754dp_rint()
68 xm++; in ieee754dp_rint()
74 xm++; in ieee754dp_rint()
78 xm++; in ieee754dp_rint()
85 ret = ieee754dp_flong(xm); in ieee754dp_rint()
Dsp_rint.c52 residue = xm; in ieee754sp_rint()
55 xm = 0; in ieee754sp_rint()
57 residue = xm << (xe + 1); in ieee754sp_rint()
61 xm >>= SP_FBITS - xe; in ieee754sp_rint()
64 odd = (xm & 0x1) != 0x0; in ieee754sp_rint()
69 xm++; in ieee754sp_rint()
75 xm++; in ieee754sp_rint()
79 xm++; in ieee754sp_rint()
86 ret = ieee754sp_flong(xm); in ieee754sp_rint()
Ddp_fsp.c25 static inline union ieee754dp ieee754dp_nan_fsp(int xs, u64 xm) in ieee754dp_nan_fsp() argument
28 xm << (DP_FBITS - SP_FBITS)); in ieee754dp_nan_fsp()
43 return ieee754dp_nanxcpt(ieee754dp_nan_fsp(xs, xm)); in ieee754dp_fsp()
46 return ieee754dp_nan_fsp(xs, xm); in ieee754dp_fsp()
56 while ((xm >> SP_FBITS) == 0) { in ieee754dp_fsp()
57 xm <<= 1; in ieee754dp_fsp()
71 xm &= ~SP_HIDDEN_BIT; in ieee754dp_fsp()
74 (u64) xm << (DP_FBITS - SP_FBITS)); in ieee754dp_fsp()
Ddp_fint.c26 u64 xm; in ieee754dp_fint() local
42 xm = ((unsigned) 1 << 31); /* max neg can't be safely negated */ in ieee754dp_fint()
44 xm = -x; in ieee754dp_fint()
46 xm = x; in ieee754dp_fint()
51 while ((xm >> DP_FBITS) == 0) { in ieee754dp_fint()
52 xm <<= 1; in ieee754dp_fint()
55 return builddp(xs, xe + DP_EBIAS, xm & ~DP_HIDDEN_BIT); in ieee754dp_fint()
Ddp_div.c119 assert(xm & DP_HIDDEN_BIT); in ieee754dp_div()
123 xm <<= 3; in ieee754dp_div()
132 if (xm >= ym) { in ieee754dp_div()
133 xm -= ym; in ieee754dp_div()
135 if (xm == 0) in ieee754dp_div()
138 xm <<= 1; in ieee754dp_div()
142 if (xm) in ieee754dp_div()
Dsp_div.c119 assert(xm & SP_HIDDEN_BIT); in ieee754sp_div()
123 xm <<= 3; in ieee754sp_div()
132 if (xm >= ym) { in ieee754sp_div()
133 xm -= ym; in ieee754sp_div()
135 if (xm == 0) in ieee754sp_div()
138 xm <<= 1; in ieee754sp_div()
142 if (xm) in ieee754sp_div()
Dsp_fdp.c25 static inline union ieee754sp ieee754sp_nan_fdp(int xs, u64 xm) in ieee754sp_nan_fdp() argument
28 xm >> (DP_FBITS - SP_FBITS)); in ieee754sp_nan_fdp()
52 y = ieee754sp_nan_fdp(xs, xm); in ieee754sp_fdp()
82 rm = (xm >> (DP_FBITS - (SP_FBITS + 3))) | in ieee754sp_fdp()
83 ((xm << (64 - (DP_FBITS - (SP_FBITS + 3)))) != 0); in ieee754sp_fdp()
Dieee754dp.h53 (xe++, (xm = (xm >> 1) | (xm & 1)))
64 #define DPDNORMX DPDNORMx(xm, xe)
Dieee754int.h57 unsigned int xm; int xe; int xs __maybe_unused; int xc
89 #define EXPLODEXSP EXPLODESP(x, xc, xs, xe, xm)
95 u64 xm; int xe; int xs __maybe_unused; int xc
127 #define EXPLODEXDP EXPLODEDP(x, xc, xs, xe, xm)
153 #define FLUSHXDP FLUSHDP(x, xc, xs, xe, xm)
156 #define FLUSHXSP FLUSHSP(x, xc, xs, xe, xm)
Ddp_fmin.c111 assert(xm & DP_HIDDEN_BIT); in ieee754dp_fmin()
138 if (xm <= ym) in ieee754dp_fmin()
143 if (xm <= ym) in ieee754dp_fmin()
240 assert(xm & DP_HIDDEN_BIT); in ieee754dp_fmina()
250 if (xm < ym) in ieee754dp_fmina()
252 else if (xm > ym) in ieee754dp_fmina()
Dsp_fmax.c111 assert(xm & SP_HIDDEN_BIT); in ieee754sp_fmax()
138 if (xm <= ym) in ieee754sp_fmax()
143 if (xm <= ym) in ieee754sp_fmax()
240 assert(xm & SP_HIDDEN_BIT); in ieee754sp_fmaxa()
250 if (xm < ym) in ieee754sp_fmaxa()
252 else if (xm > ym) in ieee754sp_fmaxa()
Dsp_fmin.c111 assert(xm & SP_HIDDEN_BIT); in ieee754sp_fmin()
138 if (xm <= ym) in ieee754sp_fmin()
143 if (xm <= ym) in ieee754sp_fmin()
240 assert(xm & SP_HIDDEN_BIT); in ieee754sp_fmina()
250 if (xm < ym) in ieee754sp_fmina()
252 else if (xm > ym) in ieee754sp_fmina()

12